:root{color:#17202a;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef2f3;--line: #d8dee4;--text: #17202a;--muted: #65717d;--primary: #166a63;--primary-strong: #0f4d49;--accent: #ca5b38;--danger: #bd2f2f;--warning: #a46b00;--radius: 8px;--shadow: 0 18px 50px rgba(26, 34, 43, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:grid;min-height:100vh;grid-template-columns:272px minmax(0,1fr);background:var(--bg)}.sidebar{display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--line);background:#fff;padding:22px 18px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand.large{align-items:flex-start}.brand-mark{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:var(--radius);background:#dcefed;color:var(--primary-strong)}.brand-mark img{width:40px;height:40px;object-fit:contain}.brand strong,.brand span{display:block;overflow-wrap:anywhere}.brand strong{font-size:.98rem}.brand span{margin-top:3px;color:var(--muted);font-size:.8rem}.nav-list,.sidebar-footer,.content-stack,.chat-rail{display:flex;flex-direction:column}.nav-list{gap:6px}.sidebar-footer{margin-top:auto;gap:10px}.nav-button,.ghost-button,.secondary-button,.primary-button,.danger-button,.icon-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:var(--radius);padding:0 13px;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.nav-button,.ghost-button{width:100%;justify-content:flex-start;background:transparent;color:var(--muted)}.nav-button svg,.ghost-button svg{width:19px;height:19px}.nav-button.active,.nav-button:hover,.ghost-button:hover{background:#eaf2f1;color:var(--primary-strong)}.primary-button{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700}.primary-button:not(:disabled):hover{background:var(--primary-strong)}.secondary-button{border-color:var(--line);background:#fff;color:var(--text);font-weight:650}.secondary-button:not(:disabled):hover{border-color:#9eb8b5;background:#f0f6f5}.danger-button{border-color:#f0cccc;background:#fff5f5;color:var(--danger);font-weight:700}.danger-button:not(:disabled):hover{border-color:var(--danger)}.icon-button{width:36px;min-height:36px;border-color:var(--line);background:#fff;padding:0}.full-width{width:100%}.main-surface{min-width:0;padding:28px}.workspace{display:flex;min-height:calc(100vh - 56px);flex-direction:column;gap:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.page-header h1{margin:0;font-size:clamp(1.55rem,2.3vw,2.35rem);line-height:1.08;letter-spacing:0}.page-header p,.tool-band p,.upload-band p,.chat-header p,.auth-copy p{margin:7px 0 0;color:var(--muted)}.header-actions,.action-group,.metric-row,.auth-tools,.table-toolbar,.section-title-row{display:flex;align-items:center;gap:10px}.dataset-layout,.chat-layout{display:grid;min-height:0;gap:18px}.dataset-layout{grid-template-columns:minmax(260px,330px) minmax(0,1fr)}.chat-layout{grid-template-columns:minmax(270px,340px) minmax(0,1fr);flex:1}.dataset-rail,.content-stack,.chat-rail{min-width:0;gap:16px}.form-panel,.list-panel,.table-panel,.chat-surface,.auth-card,.settings-form>.form-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 1px #17202a05}.form-panel,.list-panel,.table-panel,.auth-card{padding:16px}.form-panel h2,.list-panel h2,.table-panel h2,.tool-band h2,.upload-band h2,.chat-header h2,.compact-panel h2{margin:0 0 12px;font-size:1rem;letter-spacing:0}.field{display:grid;gap:6px;margin-bottom:12px}.field>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.84rem;font-weight:700}.field input,.field select,.field textarea,.composer textarea,.language-switcher select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);outline:none}.field input,.field select,.language-switcher select{min-height:41px;padding:0 11px}.field textarea,.composer textarea{resize:vertical;padding:10px 11px}.field input:focus,.field select:focus,.field textarea:focus,.composer textarea:focus,.language-switcher select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #166a6324}.dataset-list{display:grid;gap:8px}.dataset-item{display:grid;width:100%;gap:5px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:11px;color:var(--text);text-align:left}.dataset-item.active,.dataset-item:hover{border-color:#92aaa7;background:#eef7f6}.dataset-item span{overflow-wrap:anywhere;font-weight:750}.dataset-item small,.doc-name+small,.help-text{color:var(--muted)}.tool-band,.upload-band{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px}.metric-row{flex-wrap:wrap}.metric{display:grid;min-width:96px;gap:2px;border-left:3px solid #d9a035;padding:4px 0 4px 10px}.metric strong{font-size:1.18rem}.metric span{color:var(--muted);font-size:.78rem;font-weight:700}.upload-band{flex-wrap:wrap}.file-picker{display:inline-flex;min-height:42px;align-items:center;gap:9px;border:1px dashed #9eb8b5;border-radius:var(--radius);background:#f5fbfa;padding:0 14px;color:var(--primary-strong);font-weight:750;cursor:pointer}.file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-toolbar{justify-content:space-between;gap:12px;margin-bottom:12px}.responsive-table{overflow-x:auto}table{width:100%;min-width:720px;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.doc-name{display:flex;align-items:center;gap:8px;min-width:220px}.doc-name span{overflow-wrap:anywhere;font-weight:700}.status-pill{display:inline-flex;min-width:78px;justify-content:center;border-radius:999px;padding:5px 8px;background:var(--surface-2);color:var(--muted);font-size:.76rem;font-weight:800}.status-pill.done{background:#e4f3e5;color:#256c2f}.status-pill.running{background:#fff3d8;color:var(--warning)}.status-pill.failed{background:#ffe5e2;color:var(--danger)}.progress-wrap{position:relative;width:140px;height:20px;overflow:hidden;border-radius:999px;background:#e8edf0}.progress-wrap span{position:absolute;inset:0 auto 0 0;background:var(--primary)}.progress-wrap small{position:relative;z-index:1;display:grid;height:100%;place-items:center;color:#10231f;font-size:.72rem;font-weight:800}.status-line{border-radius:var(--radius);padding:11px 13px;font-weight:700}.status-line.error{border:1px solid #efc4c4;background:#fff4f4;color:var(--danger)}.status-line.notice{border:1px solid #b9dbd4;background:#effaf7;color:var(--primary-strong)}.empty-state{display:grid;min-height:128px;place-items:center;gap:8px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}.empty-state svg{color:#78918d}.auth-shell{display:grid;min-height:100vh;place-items:center;background:linear-gradient(120deg,#166a631c,#d9a0351a),#f7f8f9;padding:28px}.auth-panel{display:grid;width:min(1040px,100%);grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:24px;align-items:stretch}.auth-copy,.auth-card{min-width:0}.auth-copy{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:clamp(26px,4vw,52px);box-shadow:var(--shadow)}.auth-copy h1{margin:34px 0 0;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.98;letter-spacing:0}.pipeline-strip{display:grid;gap:4px;margin-top:34px;border-left:4px solid var(--accent);padding-left:14px}.pipeline-strip span{color:var(--muted);font-size:.84rem;font-weight:700}.pipeline-strip strong{max-width:580px}.auth-card{align-self:center;box-shadow:var(--shadow)}.auth-tools{justify-content:space-between;margin-bottom:16px}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.segmented button{min-height:38px;border:0;background:#fff;padding:0 13px;color:var(--muted);font-weight:750}.segmented button.active{background:var(--primary);color:#fff}.language-switcher{display:flex;align-items:center;gap:8px;color:var(--muted)}.language-switcher select{min-width:132px}.language-switcher.compact select{min-width:112px}.chat-rail{min-height:0}.check-list{display:grid;max-height:170px;gap:8px;overflow:auto;margin-bottom:12px}.check-list>span{color:var(--muted);font-size:.84rem;font-weight:700}.check-list label{display:flex;gap:8px;line-height:1.35}.section-title-row{justify-content:space-between}.chat-surface{display:grid;min-height:640px;grid-template-rows:auto minmax(0,1fr) auto}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:16px 18px}.messages{display:flex;min-height:0;flex-direction:column;gap:16px;overflow:auto;padding:18px}.message{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:11px;row-gap:7px}.message-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#eaf2f1;color:var(--primary-strong);font-weight:850}.message.user .message-avatar{background:#f4e7dc;color:#7b3e24}.message-body{max-width:min(860px,100%);border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px 14px}.message.user .message-body{background:#fffaf6}.message-body p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.citations{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:min(860px,100%);min-height:34px}.citation-file{display:inline-flex;max-width:min(360px,100%);min-height:32px;align-items:center;gap:7px;border:1px solid #d5dbe2;border-radius:6px;background:#f3f5f7;padding:5px 9px;color:#52616f;font-size:.82rem;font-weight:750}.citation-file svg{flex:0 0 auto;color:#c24b2a}.citation-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid var(--line);padding:14px}.send-button{align-self:end;min-width:106px}.settings-form{display:grid;grid-template-columns:minmax(320px,560px) minmax(260px,340px);gap:16px;align-items:start}.compact-panel{display:grid;gap:16px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1040px){.app-shell,.dataset-layout,.chat-layout,.auth-panel,.settings-form{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;flex-direction:row;align-items:center;overflow-x:auto;padding:12px}.nav-list{flex-direction:row}.nav-button{width:auto}.sidebar-footer{flex-direction:row;align-items:center;margin-left:auto;margin-top:0}}@media(max-width:700px){.main-surface,.auth-shell{padding:14px}.page-header,.tool-band,.upload-band,.table-toolbar,.auth-tools,.composer{align-items:stretch;flex-direction:column}.composer{display:flex}.action-group,.header-actions,.metric-row{flex-wrap:wrap}.auth-copy h1{font-size:2.3rem}.brand span{display:none}.sidebar-footer{gap:6px}.language-switcher select{min-width:104px}}
