:root{color:#1b1f24;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}a{color:#176b87;font-weight:700;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.auth-layout{place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:24px;width:min(100%,440px);padding:32px;display:grid;box-shadow:0 18px 45px #1b1f2417}.auth-copy{gap:8px;display:grid}.eyebrow{color:#7a4f01;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1,h2,p{margin:0}h1{color:#111827;letter-spacing:0;font-size:clamp(2rem,6vw,3.25rem);line-height:1.05}h2{color:#111827;letter-spacing:0;font-size:1.05rem;line-height:1.25}.muted,.module-card p{color:#596171}.auth-form{gap:16px;display:grid}.field{color:#2d3440;gap:7px;font-size:.92rem;font-weight:700;display:grid}.field input,.field select,.field textarea{color:#121821;background:#fbfcfe;border:1px solid #cbd3df;border-radius:6px;outline:none;width:100%;min-height:46px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#176b87;box-shadow:0 0 0 3px #176b8729}.primary-button,.secondary-button,.danger-button{cursor:pointer;letter-spacing:0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:800;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.primary-button{color:#fff;background:#176b87;width:100%}.primary-button:hover:not(:disabled){background:#12556d}.secondary-button{color:#25313f;background:#fff;border-color:#cbd3df}.secondary-button:hover{background:#f0f3f7}.danger-button{color:#8a1f1b;background:#fff1ef;border-color:#f0beb8}.danger-button:hover:not(:disabled){background:#ffe4e0}.primary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.65}.inline-button{width:fit-content}.compact-button{min-height:36px;padding:0 12px;font-size:.88rem}.nav-button{text-decoration:none}.form-error{color:#8a1f1b;background:#fff1ef;border:1px solid #f0beb8;border-radius:6px;padding:10px 12px;font-size:.92rem;font-weight:700}.auth-switch{color:#596171;text-align:center;font-size:.94rem}.app-shell{gap:24px;width:min(100%,1160px);margin:0 auto;padding:28px 18px 48px;display:grid}.topbar{border-bottom:1px solid #d9dee7;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding-bottom:20px;display:flex}.topbar h1{margin-top:4px}.status-band{background:#fff;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.status-band>div{border-right:1px solid #d9dee7;gap:7px;min-width:0;padding:18px;display:grid}.status-band>div:last-child{border-right:0}.metric-label{color:#697386;letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.status-band strong{color:#167153;font-size:1.2rem}code{color:#26313d;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;overflow:hidden}.workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{background:#fff;border:1px solid #d9dee7;border-radius:8px;align-content:space-between;gap:24px;min-height:190px;padding:20px;display:grid}.module-card div{gap:10px;display:grid}.module-card span,.module-card a{color:#543c00;background:#fff5ce;border:1px solid #ead58d;border-radius:999px;width:fit-content;padding:6px 10px;font-size:.78rem;font-weight:800}@media (width<=760px){.auth-panel{padding:24px}.topbar{flex-direction:column;align-items:flex-start}.secondary-button{width:100%}.status-band,.workspace-grid{grid-template-columns:1fr}.status-band>div{border-bottom:1px solid #d9dee7;border-right:0}.status-band>div:last-child{border-bottom:0}}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading p{color:#697386;margin-top:4px;font-size:.9rem}.kb-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.kb-sidebar,.kb-detail,.create-panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:18px;padding:20px;display:grid}.kb-list{gap:10px;display:grid}.kb-list-item{color:#283443;background:#fbfcfe;border:1px solid #d9dee7;border-radius:7px;gap:5px;padding:13px;text-decoration:none;display:grid}.kb-list-item:hover,.kb-list-item.active{background:#edf7fa;border-color:#8fc8d8;text-decoration:none}.kb-list-item span{color:#596171;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.kb-list-item small,.visibility-badge{color:#315d4e;text-transform:uppercase;background:#e8f5ef;border:1px solid #b9ddcd;border-radius:999px;width:fit-content;padding:4px 8px;font-size:.76rem;font-weight:800}.detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-header div{gap:8px;display:grid}.detail-header p,.empty-state,.empty-detail p{color:#596171}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.metadata-grid div{background:#f6f7f9;border:1px solid #dfe4ec;border-radius:7px;min-width:0;padding:12px}.metadata-grid dt{color:#697386;text-transform:uppercase;font-size:.76rem;font-weight:800}.metadata-grid dd{color:#202936;min-width:0;margin:4px 0 0}.resource-form{gap:16px;display:grid}.two-column-form{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:end}.wide-field{grid-column:1/-1}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.empty-detail{text-align:center;place-content:center;gap:8px;min-height:320px;display:grid}@media (width<=900px){.kb-layout,.two-column-form,.metadata-grid{grid-template-columns:1fr}}@media (width<=760px){.detail-header,.section-heading{flex-direction:column}.inline-button,.compact-button,.form-actions .danger-button{width:100%}}.upload-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.file-drop{color:#283443;cursor:pointer;background:#fbfcfe;border:1px dashed #9aa8ba;border-radius:8px;gap:4px;min-height:76px;padding:14px;display:grid;position:relative}.file-drop span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.file-drop small{color:#697386}.file-drop input{cursor:pointer;opacity:0;position:absolute;inset:0}.table-panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:18px;padding:20px;display:grid;overflow-x:auto}.document-table{border:1px solid #d9dee7;border-radius:8px;min-width:900px;display:grid;overflow:hidden}.document-row{border-bottom:1px solid #e5e9f0;grid-template-columns:minmax(220px,1.7fr) 100px 120px 90px 170px 220px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:grid}.document-row:last-child{border-bottom:0}.table-head{color:#697386;text-transform:uppercase;background:#f6f7f9;min-height:44px;font-size:.78rem;font-weight:800}.filename-cell{gap:4px;min-width:0;display:grid}.filename-cell strong,.filename-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filename-cell small{color:#8a1f1b}.status-pill{border-radius:999px;width:fit-content;padding:5px 9px;font-size:.78rem;font-weight:800}.status-uploaded,.status-parsing,.status-chunking,.status-embedding{color:#543c00;background:#fff5ce;border:1px solid #ead58d}.status-completed{color:#167153;background:#e8f5ef;border:1px solid #b9ddcd}.status-failed{color:#8a1f1b;background:#fff1ef;border:1px solid #f0beb8}.row-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=760px){.upload-form{grid-template-columns:1fr}.upload-form .inline-button{width:100%}}.chat-shell{width:min(100%,1280px)}.chat-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.conversation-sidebar,.chat-panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:16px;min-height:680px;padding:20px;display:grid}.conversation-sidebar{align-content:start}.conversation-list{gap:10px;display:grid}.conversation-item{color:#283443;text-align:left;background:#fbfcfe;border:1px solid #d9dee7;border-radius:7px;gap:5px;width:100%;padding:12px;display:grid}.conversation-item:hover,.conversation-item.active{background:#edf7fa;border-color:#8fc8d8}.conversation-item span,.conversation-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item small{color:#697386;font-size:.78rem}.chat-panel{grid-template-rows:minmax(0,1fr) auto auto}.message-list{align-content:start;gap:14px;min-height:420px;max-height:62vh;padding-right:4px;display:grid;overflow-y:auto}.message-card{border:1px solid #d9dee7;border-radius:8px;gap:10px;width:min(100%,780px);padding:15px;display:grid}.message-card.user{background:#edf7fa;border-color:#b7d8e2;justify-self:end}.message-card.assistant{background:#fff;justify-self:start}.message-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.message-card p{color:#26313d;white-space:pre-wrap}.message-meta{color:#697386;font-size:.82rem}.source-grid{gap:8px;display:grid}.source-card{color:#26313d;text-align:left;background:#f6f7f9;border:1px solid #d9dee7;border-radius:7px;gap:5px;padding:10px;display:grid}.source-card:hover{border-color:#8fc8d8}.source-card span,.source-card small{color:#596171;font-size:.84rem}.source-card small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-input{border-top:1px solid #d9dee7;gap:12px;padding-top:14px;display:grid}.chat-input textarea{resize:vertical;color:#121821;background:#fbfcfe;border:1px solid #cbd3df;border-radius:7px;outline:none;width:100%;min-height:92px;padding:12px}.chat-input textarea:focus{border-color:#176b87;box-shadow:0 0 0 3px #176b8729}.modal-backdrop{z-index:20;background:#1118276b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.source-modal{background:#fff;border-radius:8px;gap:18px;width:min(100%,760px);max-height:min(720px,86vh);padding:22px;display:grid;overflow-y:auto;box-shadow:0 24px 80px #1118274d}.source-modal p{color:#26313d;white-space:pre-wrap}@media (width<=900px){.chat-layout{grid-template-columns:1fr}.conversation-sidebar,.chat-panel{min-height:auto}.message-list{max-height:none}}
