/* 회사 테마: 차콜 메뉴, 슬레이트 배경, 블루 강조색. */
@font-face{font-family:Pretendard;src:url('./fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{font-family:Pretendard,'Malgun Gothic',sans-serif;font-size:16px;color:#1e293b;background:#f8fafc;--blue:#2563eb;--border:#e2e8f0;--muted:#64748b;line-height:1.7}
h1{font-size:26px;font-weight:600;letter-spacing:0;line-height:1.45;overflow-wrap:anywhere}h2,h3{letter-spacing:0;font-weight:600}small{font-size:13px}
.sidebar{background:#202733;color:#cbd5e1;border-color:#374151;overflow-y:auto}.brand{color:#fff;font-weight:650}.brand-icon{background:transparent;color:#60a5fa;border-radius:0}.brand small{color:#a7b4c8;font-size:11px;letter-spacing:.3px}.workspace-label{font-size:11px;letter-spacing:1px;color:#a7b4c8}.nav-item{color:#cbd5e1;font-size:15px;font-weight:450;padding:12px;border-radius:8px}.nav-item:hover{background:#2b3544;color:#fff}.nav-item.active{background:#293d60;color:#93c5fd;font-weight:600}.nav-item em{background:#be123c;color:white;font-size:12px;font-style:normal;border-radius:12px;min-width:22px;text-align:center}.nav-separator{background:#3b4656}.sidebar-bottom{border-color:#3b4656;color:#cbd5e1}.sidebar-bottom small,.sidebar .version{color:#a7b4c8}
.topbar{height:72px}.breadcrumb{color:#475569;font-size:14px}.user-control strong{font-size:14px}.user-control small{font-size:12px;color:#64748b}.demo-banner{background:#f1f5f9;color:#475569;border-color:#e2e8f0;font-size:12px}.demo-banner .chip{font-size:11px}.page-heading p{font-size:15px;color:#64748b}.eyebrow{font-family:Consolas,monospace;font-weight:500;font-size:12px;letter-spacing:.7px;color:#64748b}.page-heading{gap:24px}.page-heading>div{min-width:0}.heading-actions{flex-shrink:0}
.btn{font-size:14px;font-weight:600;border-radius:8px;min-height:40px}.primary{box-shadow:none}.primary:hover{background:#1d4ed8}.secondary{color:#334155;border-color:#cbd5e1}.secondary:hover{background:#f1f5f9;border-color:#94a3b8}.compact{min-height:34px;font-size:13px}.chip{font-size:12px}.green{color:#047857;background:#d1fae5}.gray{color:#475569;background:#e2e8f0}.amber{color:#92400e}.blue{color:#1d4ed8;background:#dbeafe}
.panel,.filter-panel,.project-card,.category-card{border-radius:8px;box-shadow:none}.panel-heading{border-color:#e2e8f0}.home-search{background:#fff;border-color:#e2e8f0;border-radius:8px}.home-search input::placeholder,input::placeholder,textarea::placeholder{color:#64748b;opacity:1}.home-search input{color:#1e293b}.project-strip{background:#f1f5f9;border-color:#e2e8f0}.category-card:hover{transform:none;box-shadow:none;background:#f8fafc}.category-card strong{font-size:15px}.category-card small,.category-count span,.compact-list small,.doc-cell small,.mini-stats span{font-size:13px;color:#64748b}.category-count,.mini-stats strong{color:#334155}.compact-list strong,.doc-title{font-size:15px;font-weight:600;color:#1e293b}.project-card p,.project-strip p,.project-card-bottom{color:#64748b}
th{font-size:13px;color:#475569;background:#f8fafc}td{font-size:14px;color:#334155}.file-badge{font-size:10px}.xls{background:#15803d}.table-scroll .doc-title{white-space:normal;overflow-wrap:anywhere}.doc-cell{min-width:210px}
select,input,textarea{color:#1e293b;border-color:#cbd5e1}.field>span,.field legend{color:#334155;font-size:14px}.field input,.field select,.field textarea,.select-wrap select{font-size:15px}.select-wrap span,.field small{font-size:13px;color:#64748b}.notice{font-size:14px}.notice.subtle{background:#eff6ff;color:#475569}.extracted-preview,.document-text{color:#334155}.extracted-preview{font-size:14px}.upload-type,.upload-guide p,.dropzone p,.sticky-actions>span{color:#64748b}.info-panel dt{color:#64748b;font-size:13px}.info-panel dd{font-size:14px}.document-meta{color:#64748b}.tabs a{font-size:15px;color:#475569}.original-panel{background:#f1f5f9}.original-panel .panel-heading{background:#fff}.original-panel .muted{font-size:13px;overflow-wrap:anywhere;min-width:0}.ask-card{background:#eff6ff;color:#2563eb}.ask-card p{color:#475569}.tabs{border-color:#e2e8f0}.info-panel dl{padding-bottom:12px;border-bottom:1px solid #f1f5f9}.info-panel dl:last-of-type{border:0}
.chat-toolbar label,.chat-welcome p,.chat-footnote{color:#64748b}.chat-toolbar select{font-size:14px}.message>div{font-size:16px;line-height:1.7}.preline{line-height:1.7}.assistant-message>div{background:#f8fafc;border:1px solid #e2e8f0}.user-message>div{background:#eff6ff}.answer-label{font-size:12px;color:#64748b}.source-link{font-size:14px;color:#1d4ed8;border-color:#bfdbfe}.chat-footnote{font-size:12px}.stat-card>div>span,.empty p,.readable-list,.guide-grid p{color:#475569}.app-footer{color:#64748b;font-size:12px}.login-screen{background:#f1f5f9}.login-card>p{color:#475569}.login-brand{font-size:13px}.search-hints{color:#64748b}.hint{color:#475569}
@media(max-width:1100px){.page-heading{align-items:flex-start;flex-wrap:wrap}.heading-actions{flex-shrink:1}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){h1{font-size:23px}.brand{font-size:16px}.brand small{font-size:11px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message>div{font-size:15px;max-width:95%}.chat-toolbar select{max-width:100%;margin:6px 0 0}.chat-toolbar label{min-width:0;max-width:100%}.demo-banner{font-size:12px}.heading-actions .btn{font-size:13px}.detail-grid>.stack{display:flex}.pdf-preview{height:65vh;min-height:400px}.topbar-right{gap:8px}.user-control{gap:6px}.user-control small{font-size:11px}}
.sidebar{scrollbar-width:thin;scrollbar-color:#4b5563 #202733;padding-top:24px}.sidebar .workspace-label{margin:26px 12px 10px}.sidebar .admin-label{margin-top:18px}.sidebar .nav-item{padding:10px 12px;margin:3px 0}.sidebar .nav-separator{margin:16px 12px}.sidebar-bottom{padding-top:14px;padding-bottom:0}
@font-face{font-family:D2Coding;src:url('./fonts/D2Coding-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}.eyebrow{font-family:D2Coding,Consolas,monospace}
.info-panel dl{display:grid;grid-template-columns:85px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;margin:0}.info-panel dt{margin:0}.info-panel dd{overflow-wrap:anywhere}.info-panel h2{margin-bottom:12px}.detail-grid .original-panel{align-self:start}
/* 반응형 작업 영역: 화면 너비를 활용하되 본문 가독성을 유지합니다. */
main{max-width:none;width:100%;margin:0;padding:28px clamp(16px,2vw,36px) 36px}
.topbar,.demo-banner{padding-left:clamp(16px,2vw,36px);padding-right:clamp(16px,2vw,36px)}
.detail-grid{grid-template-columns:minmax(0,1fr) clamp(260px,20vw,320px);gap:20px}
.chat-panel{max-width:none}.chat-messages .message>div{max-width:min(85%,900px)}
.pdf-preview{display:block;height:max(520px,calc(100dvh - 340px))}
.image-preview{max-height:calc(100dvh - 220px)}
.page-heading>div:first-child{flex:1;min-width:0}.page-heading .heading-actions{flex:0 1 auto}
@media(min-width:1800px){.home-columns{grid-template-columns:minmax(0,1fr) 340px}.category-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:1000px){.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-grid>.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.history-grid,.upload-detail,.review-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){main{padding:20px 16px 28px}.topbar{padding:0 12px}.demo-banner{padding:8px 16px}.detail-grid>.stack{display:flex}.page-heading{gap:14px;margin-bottom:20px}.heading-actions{width:100%;gap:8px}.heading-actions .btn{flex:1 1 auto;min-height:44px}.tabs{gap:22px;margin-bottom:16px}.panel-heading{padding:16px;flex-wrap:wrap}.pdf-preview{height:70dvh;min-height:380px}.chat-messages .message>div{max-width:95%}.chat-messages{height:60dvh;min-height:320px}.chat-toolbar{padding:16px;align-items:flex-start}.search-row{flex-wrap:wrap}.search-input{min-width:0;flex-basis:100%}.department-form{flex-wrap:wrap}.department-form select{min-width:0;max-width:100%}.btn{min-height:44px}.topbar .compact{min-height:36px}.sidebar{padding-bottom:env(safe-area-inset-bottom,12px)}.document-meta{gap:8px}.source-link{align-items:flex-start}}
/* 상단 간격을 줄여 문서 본문과 작업 영역을 우선 표시합니다. */
.topbar{height:56px}.demo-banner{padding-top:5px;padding-bottom:5px;line-height:1.5}
main{padding-top:18px}.page-heading{margin-bottom:14px;gap:16px}.eyebrow{margin-bottom:4px;line-height:1.4}.page-heading p{margin-top:5px}
.document-meta{margin-bottom:10px;gap:10px}.tabs{margin-bottom:14px;gap:24px}.tabs a{padding-top:9px;padding-bottom:9px}
.panel-heading{padding:14px 20px}.original-panel .panel-heading h2{font-size:16px}.info-panel{padding:20px}.ask-card{padding:20px}
.pdf-preview{height:max(520px,calc(100dvh - 270px))}
@media(max-width:680px){.topbar{height:56px}.demo-banner{padding-top:5px;padding-bottom:5px}main{padding-top:14px}.page-heading{margin-bottom:12px;gap:10px}.document-meta{margin-bottom:8px;gap:6px}.tabs{margin-bottom:12px}.tabs a{padding-top:8px;padding-bottom:8px}.panel-heading{padding:12px 16px}.pdf-preview{height:70dvh;min-height:380px}}
.document-row{cursor:pointer}.document-row:hover td{background:#eff6ff}.document-row:focus-within td{background:#eff6ff}
/* 기본 브라우저 선택창 대신 사용하는 공통 선택 목록 */
.choice-native{display:none!important}.choice-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b;font:inherit;font-size:14px;line-height:1.4;padding:9px 11px;max-width:100%;min-width:0;text-align:left;overflow-wrap:anywhere;cursor:pointer}.choice-trigger:after{content:'⌄';color:#64748b;flex-shrink:0}.field .choice-trigger,.select-wrap .choice-trigger{width:100%}.chat-toolbar .choice-trigger{margin-left:8px;max-width:320px}.choice-trigger:disabled{opacity:.5;cursor:default}.choice-trigger[aria-expanded=true],.choice-input[aria-expanded=true]{border-color:#2563eb;outline:2px solid #dbeafe}.choice-popup{position:fixed;z-index:200;width:max-content;min-width:0;overflow-y:auto;overflow-x:hidden;padding:4px;background:#fff;color:#1e293b;border:1px solid #cbd5e1;border-radius:7px;box-shadow:0 6px 20px #0f172a26;font-family:Pretendard,sans-serif;font-size:13px;line-height:1.4;scrollbar-width:thin;scrollbar-color:#94a3b8 #f8fafc}.choice-option{padding:5px 9px;min-height:28px;border-radius:4px;cursor:pointer;overflow-wrap:anywhere}.choice-option:hover,.choice-option.is-active{background:#eff6ff;color:#1d4ed8}.choice-option[aria-selected=true]{background:#dbeafe;color:#1d4ed8;font-weight:600}.choice-option[aria-disabled=true]{opacity:.5;cursor:default}.choice-empty{padding:7px 9px;color:#64748b;font-size:13px}.choice-input{background:#fff}.choice-trigger:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
@media(pointer:coarse){.choice-option{min-height:36px;padding-top:8px;padding-bottom:8px}.choice-trigger{min-height:44px}}
@media(max-width:680px){.chat-toolbar .choice-trigger{margin:6px 0 0;max-width:100%}}
.portal-pdf{background:#e2e8f0}.pdf-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #cbd5e1;color:#334155;font-size:13px}.pdf-tools button{padding:5px 9px;border:1px solid #cbd5e1;border-radius:5px;background:white;color:#334155;font-size:13px}.pdf-tools button:hover{background:#dbeafe}.pdf-tools input[type=number]{width:64px;font-size:13px;padding:5px}.pdf-tools input[type=search]{width:160px;font-size:13px;padding:5px}.pdf-viewport{position:relative}.pdf-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain}.pdf-scroll .pdfViewer{padding:8px 0}.pdf-feedback{font-size:12px;color:#64748b}

/* IVW login: midnight document illustration and responsive white form. */
.ivw-login{min-height:100svh;padding:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,0.8fr);background:#fff}
.login-hero{align-self:stretch;position:relative;overflow:hidden;min-height:720px;background:radial-gradient(ellipse at 95% 95%,#174b98 0,transparent 55%),linear-gradient(135deg,#030f22,#102c59);color:#fff;padding:64px 9%}
.hero-brand{font-size:22px;font-weight:750;letter-spacing:2px}.hero-brand span{font-size:13px;font-weight:450;letter-spacing:0;margin-left:12px;color:#c8d9f0}.hero-copy{position:relative;z-index:2;margin-top:76px}.hero-copy h2{font-size:clamp(36px,3.7vw,62px);line-height:1.3;letter-spacing:-1.8px;font-weight:700}.hero-copy h2 span{color:#63a4ff}.hero-copy p{font-size:16px;line-height:1.9;color:#c4d2e6;margin-top:24px}
.document-art{position:absolute;inset:42% -5% -5% 8%;pointer-events:none}.art-paper{position:absolute;width:160px;height:210px;border:1px solid #83b8ff;border-radius:12px;transform:skewY(21deg);background:linear-gradient(140deg,#e1efff,#8eb8f7);box-shadow:0 25px 65px #0003;padding:30px 22px}.art-paper i{display:block;height:6px;background:#5d93d8;margin:14px 0}.art-paper i:nth-child(2){width:70%}.art-paper i:nth-child(4){width:80%}.art-paper.back{right:12%;top:0;opacity:.45;background:#1357b4}.art-paper.blue{right:32%;top:27%;background:linear-gradient(140deg,#357fe9,#083e9d)}.art-paper.blue i{background:#8cbcff}.art-paper.front{right:53%;top:50%}.art-paper.small{right:6%;top:56%;opacity:.22;width:130px;height:170px}.flow{position:absolute;left:-20%;top:30%;width:130%;height:210px;border:1px solid #4b9eff;border-radius:50%;transform:rotate(-24deg);box-shadow:0 -2px 8px #498cff33}.flow-two{top:61%;transform:rotate(-24deg);opacity:.45}.spark{position:absolute;width:9px;height:9px;border-radius:50%;background:#a4dcff;box-shadow:0 0 18px 5px #2689ff}.spark-one{left:12%;top:55%}.spark-two{right:15%;top:18%}
.login-panel{padding:64px 48px;display:flex;align-items:center;justify-content:center;min-width:0}.login-content{width:100%;max-width:400px}.ivw-logo{display:block;width:178px;height:auto;object-fit:contain}.login-product{font-size:14px;color:#34455f;margin:8px 0 46px}.login-content h1{font-size:32px;color:#0b1d39;letter-spacing:-.7px;margin:0 0 32px}.login-content form{display:flex;flex-direction:column;gap:24px}.login-content .field{gap:10px}.login-content .field>span{font-size:14px;font-weight:600;color:#162641}.login-content input{width:100%;height:54px;border:1px solid #cfdaea;border-radius:8px;background:#fff;color:#132440;font-size:16px;padding:0 16px}.login-content input::placeholder{color:#8290a6}.login-content input:focus{outline:3px solid #1768f222;border-color:#1768f2}.login-content .btn{height:54px;margin-top:8px;background:#0752d6;border:0;border-radius:8px;font-size:16px;justify-content:center}.login-content .btn:hover{background:#0644b4}.login-content .login-error:empty{display:none}.login-support{font-size:12px;line-height:1.8;color:#65758e;margin:28px 0 0}.support-break{display:none}
@media(min-width:1600px){.login-hero{padding-left:14%}.document-art{inset:38% 1% 0 15%}.art-paper{width:190px;height:250px}}
@media(max-width:900px){.ivw-login{grid-template-columns:1fr}.login-hero{min-height:200px;height:200px;padding:24px 28px}.hero-brand,.hero-copy{display:none}.document-art{inset:-80px 8% -150px 8%;max-width:550px;margin:auto}.art-paper{width:115px;height:155px;padding:16px}.art-paper.front{top:35%}.art-paper.blue{top:20%}.login-panel{position:relative;border-radius:24px 24px 0 0;background:white;margin-top:-24px;padding:30px 24px 36px;z-index:3}.login-content{max-width:400px}.ivw-logo{width:125px;margin:auto}.login-product{text-align:center;font-size:13px;margin:5px 0 26px}.login-content h1{font-size:27px;margin-bottom:24px}.login-content form{gap:20px}.login-support{text-align:center}.support-break{display:initial}}
@media(max-height:720px) and (max-width:900px){.login-hero{height:115px;min-height:115px}.login-panel{padding-top:20px}.ivw-logo{width:100px}.login-product{margin-bottom:16px}.login-content h1{margin-bottom:16px}.login-content form{gap:16px}.login-support{margin-top:20px}}
main.ivw-login{width:100%;max-width:none;margin:0;place-items:stretch}.hero-brand span{margin-left:0}.login-hero .document-art{z-index:0}
/* Match the approved logo + caption lockup. Keep the supplied logo intact. */
.hero-logo{display:block;width:160px;height:auto;object-fit:contain}.hero-brand{position:relative;z-index:2}.hero-brand span{display:block;font-size:13px;margin-top:8px;letter-spacing:0}.hero-copy{margin-top:42px}.login-product{margin-bottom:28px}
@media(max-width:900px){.login-product{margin-bottom:26px}}
.hero-logo{filter:url(#ivw-white-key)}
.hero-logo{mix-blend-mode:screen}
.account-panel{margin-bottom:24px}.account-panel>p{color:#64748b;font-size:14px;line-height:1.7;margin:10px 0}.account-create{margin:24px 0;padding:18px;border:1px solid #dce4ef;border-radius:10px}.account-create summary{cursor:pointer;font-weight:600}.account-create form{margin-top:20px}.account-role-form{display:flex;gap:8px;align-items:center}.account-role-form select{min-width:170px}.account-panel td{vertical-align:middle}
@media(max-width:680px){.account-role-form{flex-wrap:wrap}.account-panel{padding:18px}.account-create{padding:14px}}
