:root{--bg:#f5f7fb;--surface:#ffffff;--surface-muted:#eef2f7;--border:#d8dee8;--text:#172033;--muted:#637083;--primary:#176b87;--primary-strong:#0f5268;--accent:#c2410c;--success:#15803d;--shadow:0 18px 45px rgba(25,35,55,0.08)}*{box-sizing:border-box}body,html{margin:0;height:100%;min-height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input,textarea{font:inherit}input:disabled,textarea:disabled{cursor:not-allowed;background:#f1f5f9;color:var(--muted)}button{cursor:pointer}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;min-height:0;overflow:hidden}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:#111827;color:#f8fafc;padding:24px 18px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.brandMark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#1f8a70;color:#ffffff;font-weight:800}.brand span,.brand strong{display:block}.brand span{margin-top:3px;color:#aeb8c8;font-size:13px}.nav{display:grid;grid-gap:8px;gap:8px}.nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;border:0;border-radius:8px;background:transparent;padding:0 12px;color:#cbd5e1;text-align:left}.nav button.active,.nav button:hover{background:rgba(255,255,255,.1);color:#ffffff}.nav button:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}.workspace{min-width:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;padding:28px}.activeWorkspace{display:grid;align-content:start;grid-gap:18px;gap:18px;padding-bottom:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2}h1,h2{margin-bottom:0}h2{font-size:19px;line-height:1.25}.statusPill,.tag{display:inline-flex;align-items:center;min-height:30px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);padding:0 12px;font-size:13px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{display:grid;grid-template-columns:auto 1fr;grid-gap:8px 10px;gap:8px 10px;min-height:92px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:16px}.stat svg{color:var(--primary)}.stat span{color:var(--muted);font-size:13px}.stat strong{grid-column:1/-1;font-size:24px}.dashboardStats{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboardGrid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);grid-gap:18px;gap:18px;align-items:start}.dashboardPanel{min-height:250px}.statusMatrix{display:grid;grid-gap:10px;gap:10px}.statusRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:42px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:0 12px}.controlList svg,.statusRow svg{color:var(--primary)}.controlList span,.dashboardDocItem span,.statusRow span{color:var(--muted);font-size:13px}.statusRow strong{font-size:13px}.controlList{display:grid;grid-gap:10px;gap:10px}.controlList div{grid-template-columns:auto minmax(0,.45fr) minmax(0,1fr);align-items:center;min-height:52px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:0 12px}.controlList div,.dashboardDocList{display:grid;grid-gap:10px;gap:10px}.dashboardDocItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:12px}.dashboardDocItem span,.dashboardDocItem strong{display:block;overflow-wrap:anywhere}.dashboardDocItem strong{margin-bottom:4px}.dashboardEmpty{display:flex;align-items:center;gap:10px;min-height:92px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:18px;color:var(--muted)}.dashboardEmpty svg{color:var(--primary)}.grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);grid-gap:18px;gap:18px;align-items:start}.panel,.timeline{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.panel{padding:18px}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.uploadBox{display:grid;grid-gap:14px;gap:14px}.dropZone{display:grid;min-height:162px;place-items:center;border:1px dashed #9aa8ba;border-radius:8px;background:#f8fafc;padding:20px;text-align:center}.dropZone input{width:100%;max-width:290px}.helper{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.asyncState{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:96px;border:1px dashed var(--border);border-radius:8px;background:#f8fafc;padding:16px}.asyncState-compact{min-height:64px;padding:11px 12px}.asyncStateIcon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#e8f5f8;color:var(--primary)}.asyncState-error{border-style:solid;border-color:#fecaca;background:#fff7f7}.asyncState-error .asyncStateIcon{background:#fee2e2;color:#b91c1c}.asyncState-restricted{border-style:solid;background:#f8fafc}.asyncStateContent p,.asyncStateContent strong{display:block}.asyncStateContent strong{margin-bottom:3px;font-size:14px}.asyncStateContent p{margin-bottom:0;color:var(--muted);font-size:12px;line-height:1.5}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fieldLabel{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.fieldLabel input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 11px}.compactField{max-width:420px}.iconButton,.primaryButton,.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;min-height:40px;padding:0 14px;font-weight:700}.primaryButton{background:var(--primary);color:#ffffff}.primaryButton:hover{background:var(--primary-strong)}.primaryButton:disabled{cursor:not-allowed;opacity:.55}.secondaryButton{background:var(--surface-muted);color:var(--text)}.authPanel,.loginPanel{display:grid;grid-gap:12px;gap:12px;max-width:720px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.loginPanel{max-width:520px}.loginExperience{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);grid-gap:18px;gap:18px;align-items:start;margin-bottom:18px}.loginExperience .loginPanel{max-width:none;margin-bottom:0}.demoGuidePanel{display:grid;grid-gap:16px;gap:16px;min-height:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.loginSectionHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:4px}.loginSectionHeader span{color:var(--muted);font-size:12px}.demoAccountGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.demoAccountCard{display:grid;grid-gap:6px;gap:6px;min-width:0;min-height:104px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;color:var(--text);padding:12px;text-align:left}.demoAccountCard:hover{border-color:rgba(23,107,135,.5);background:#edf7f9}.demoAccountCard:focus-visible{outline:2px solid rgba(23,107,135,.45);outline-offset:2px}.demoAccountCard:disabled{cursor:not-allowed;opacity:.55}.demoAccountCard>small,.demoAccountCard>span{overflow-wrap:anywhere}.demoAccountCard>span:not(.demoAccountTitle){color:#334155;font-size:13px;line-height:1.4}.demoAccountCard>small{color:var(--muted);font-size:11px}.demoAccountTitle{display:flex;align-items:center;justify-content:space-between;gap:8px}.demoAccountTitle small{border-radius:999px;background:#e0f2fe;color:#075985;padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap}.demoGuideList{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.demoGuideList li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;border-bottom:1px solid #e8edf3;padding:0 0 10px}.demoGuideList li:last-child{border-bottom:0;padding-bottom:0}.demoGuideIndex{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:#e8f5f8;color:var(--primary);font-size:12px;font-weight:800}.demoGuideList p,.demoGuideList strong{display:block}.demoGuideList strong{margin-bottom:3px;font-size:13px}.currentDemoCue p,.demoGuideList p,.demoGuideTip p{margin-bottom:0;color:var(--muted);font-size:12px;line-height:1.5}.demoGuideTip{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;border-left:3px solid var(--primary);background:#f0f9fa;padding:11px 12px}.demoGuideTip svg{color:var(--primary)}.demoGuideTip strong{display:block;margin-bottom:3px;font-size:13px}.currentDemoCue{display:grid;grid-gap:4px;gap:4px;border-left:3px solid var(--primary);background:#f0f9fa;padding:10px 12px}.currentDemoCue>span{color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase}.currentDemoCue strong{font-size:13px}.chipRow,.demoAccounts{display:flex;flex-wrap:wrap;gap:8px}.userCard{display:flex;align-items:center;gap:10px}.userCard span,.userCard strong{display:block}.userCard span{color:var(--muted);font-size:13px}.userAvatar{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#e8f5f8;color:var(--primary)}.chip{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#dbeafe;color:#1e40af;padding:0 10px;font-size:12px;font-weight:800}.mutedChip{background:#f1f5f9;color:var(--muted)}.authMeta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:13px;line-height:1.5}.iconButton{display:inline-grid;width:40px;height:40px;place-items:center;background:var(--surface-muted);color:var(--text);padding:0}.iconButton:hover{background:#e2e8f0}.iconButton:disabled,.secondaryButton:disabled{cursor:not-allowed;opacity:.55}.dangerButton{color:#b91c1c}.dangerButton:hover{background:#fee2e2}.docList,.messages{display:grid;grid-gap:10px;gap:10px}.docItem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:6px;gap:6px;border:1px solid var(--border);border-radius:8px;padding:12px}.docItem strong{overflow-wrap:anywhere}.docItem .meta{display:block;margin-top:6px}.documentErrorDetail{color:#991b1b;line-height:1.5}.docActions{display:flex;gap:8px}.meta{color:var(--muted);font-size:13px}.statusBadge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;margin-right:8px;padding:0 9px;font-size:12px;font-weight:800}.status-pending{background:#fef3c7;color:#92400e}.status-parsing{background:#dbeafe;color:#1d4ed8}.status-indexed{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.modalBackdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(15,23,42,.38);padding:18px}.documentDialog{display:grid;width:min(820px,100%);max-height:calc(100vh - 36px);grid-gap:16px;gap:16px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.dialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.detailGrid span,.detailGrid strong{display:block;min-width:0}.detailGrid span{color:var(--muted);font-size:12px;font-weight:700}.detailGrid strong{overflow-wrap:anywhere;font-size:14px}.errorText{border-left:3px solid #b91c1c;background:#fef2f2;color:#991b1b}.errorText,.warningText{margin:0;padding:10px 12px;line-height:1.55}.warningText{border-left:3px solid #d97706;background:#fffbeb;color:#92400e}.userManagementSection{margin-top:18px}.userManagementPanel{display:grid;grid-gap:14px;gap:14px}.managementToolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.managementToolbar h3{margin-bottom:4px}.userManagementGrid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(460px,1.28fr);grid-gap:14px;gap:14px;align-items:start}.userForm,.userList{display:grid;grid-gap:12px;gap:12px}.userForm,.userItem{border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:14px}.userItem{display:grid;grid-gap:12px;gap:12px}.userActions,.userHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.userHeader strong{display:block;overflow-wrap:anywhere}.inlineFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.checkboxLine{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--muted);font-size:13px;font-weight:700}.checkboxLine input{width:16px;height:16px;accent-color:var(--primary)}.chunkList{display:grid;grid-gap:10px;gap:10px}.chunkItem{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:12px}.chunkItem p{max-height:220px;margin-bottom:0;overflow:auto;color:#2a3446;line-height:1.6;white-space:pre-wrap}.auditPanel{display:grid;grid-gap:12px;gap:12px}.auditList{display:grid;grid-gap:10px;gap:10px}.auditItem{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:12px}.auditItem pre{grid-column:1/-1;max-height:160px;overflow:auto;margin:0;border-radius:8px;background:#111827;color:#e5e7eb;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}.chatPanel{display:grid;grid-gap:14px;gap:14px}.messages{min-height:250px;max-height:420px;overflow:auto;background:#f8fafc}.message,.messages{border:1px solid var(--border);border-radius:8px;padding:12px}.message{width:min(88%,680px);background:var(--surface);line-height:1.55}.message.user{justify-self:end;border-color:rgba(23,107,135,.35);background:#e8f5f8}.message.assistant{justify-self:start}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.composer textarea{min-height:76px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:11px 12px}.composer .primaryButton,.debugActions .primaryButton{display:grid;width:48px;height:48px;min-height:48px;place-items:center;padding:0}.citationList{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.citation{border-left:3px solid var(--accent);background:#fff7ed;padding:8px 10px;color:#7c2d12;font-size:13px}.securityTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.securityTag{display:inline-flex;align-items:center;min-height:22px;border:1px solid #fecaca;border-radius:999px;background:#fef2f2;color:#991b1b;padding:0 8px;font-size:12px;font-weight:800}.debugSection{margin-top:18px}.debugPanel{display:grid;grid-gap:14px;gap:14px}.debugControls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.debugControls textarea{min-height:82px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:11px 12px}.debugActions{display:grid;grid-template-columns:96px 48px;grid-gap:10px;gap:10px;align-items:end}.debugActions label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.debugActions input{width:100%;height:48px;min-height:48px;border:1px solid var(--border);border-radius:8px;padding:0 10px}.debugResults{display:grid;grid-gap:10px;gap:10px}.debugSummary{display:flex;flex-wrap:wrap;gap:8px}.debugSummary span:not(.securityTag){border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);padding:6px 10px;color:var(--muted);font-size:13px}.debugEmpty,.debugHit{border:1px solid var(--border);border-radius:8px;background:#f8fafc}.debugHit{display:grid;grid-gap:8px;gap:8px;padding:12px}.debugHitHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.debugHitHeader strong{overflow-wrap:anywhere}.debugHitHeader span{border-radius:999px;background:#e0f2fe;color:#075985;padding:5px 9px;font-size:13px;font-weight:800}.debugHit p{margin-bottom:0;color:#2a3446;line-height:1.6;white-space:pre-wrap}.debugEmpty{gap:10px;min-height:92px;color:var(--muted)}.debugEmpty,.timeline{display:flex;align-items:center;padding:18px}.timeline{justify-content:space-between;gap:18px;margin-top:18px}.timelineItems{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.timelineItems span{border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);padding:8px 11px;color:var(--muted);font-size:13px}@media (max-width:980px){body,html{overflow:auto}.shell{min-height:100vh;grid-template-columns:1fr}.shell,.sidebar{height:auto;overflow:visible}.sidebar{position:static}.workspace{height:auto;overflow:visible}.dashboardGrid,.dashboardStats,.grid,.loginExperience,.stats,.userManagementGrid{grid-template-columns:1fr}}@media (max-width:620px){.workspace{padding:18px}.managementToolbar,.panelHeader,.timeline,.topbar,.userActions,.userHeader{align-items:stretch;flex-direction:column}.stats{gap:10px}.asyncState,.controlList div,.dashboardDocItem,.statusRow{grid-template-columns:1fr;align-items:start;padding:12px}.composer,.debugControls,.docItem{grid-template-columns:1fr}.docActions{justify-content:flex-end}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.debugActions{grid-template-columns:minmax(0,1fr) 48px}.demoAccountGrid,.inlineFields{grid-template-columns:1fr}}