@import url('../../fonts.css');
:root{--paper:#f4f5fa;--panel:#fff;--ink:#1b2133;--muted:#646c86;--soft-text:#7a819a;--line:#e1e4ef;--soft:#eceefa;--accent:#c4ccff;--accent-2:#5b66c9;--accent-3:#3d4799;--mark:#dde2ff;--ok:#1f7a55;--ok-soft:#e1f3ea;--warn:#a9502a;--warn-soft:#fbebe3;--font:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font:13px var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button,a,input,textarea,select{touch-action:manipulation}
:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
svg.icon{width:18px;height:18px;display:block;flex:none}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:13px 20px;border-radius:12px}.skip:focus{top:15px}
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);max-width:1800px;margin:auto;min-height:100vh}

/* Sidebar */
.sidebar{position:sticky;top:0;height:100dvh;padding:34px 22px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#f7f8fc}
.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:800;letter-spacing:-1.4px}
.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--ink);color:var(--accent)}.brand-icon svg{width:24px;height:24px;stroke-width:2.1}
.brand-sub{display:block;font-size:8px;letter-spacing:1.5px;font-weight:700;color:var(--soft-text);margin-top:2px}
.sidebar-label{font-size:8px;letter-spacing:1.3px;color:var(--soft-text);margin:46px 0 14px 10px;font-weight:700}
.main-nav{display:flex;flex-direction:column;gap:6px}
.main-nav button{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 11px;border-radius:12px;color:#596079;font-size:12.5px;border:1px solid transparent}
.main-nav button:hover{background:#edeff8}.main-nav button.active{background:#e6e9fb;color:var(--accent-3);border-color:#dbe0f8}.main-nav button.active svg{color:var(--accent-2)}
.nav-count{margin-left:auto;font-size:10px;padding:2px 7px;border-radius:6px;background:#dde1f5;color:#4a5287}.nav-count.warn{background:var(--warn-soft);color:var(--warn)}
.sidebar-bottom{margin-top:auto;padding-top:30px}.local-note{display:flex;gap:8px;align-items:center;font-size:10.5px;font-weight:700}
.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent-2);border-radius:50%;flex:none;box-shadow:0 0 0 4px #5b66c91a}
.sidebar-bottom p{font-size:10.5px;line-height:1.75;color:var(--muted);margin:10px 0 18px}
.sidebar-bottom>a:not(.portfolio-home){display:flex;align-items:center;gap:8px;font-size:11px;color:var(--accent-3)}.sidebar-bottom svg{width:15px;height:15px}
.portfolio-home{font-size:10px;letter-spacing:.5px;color:var(--soft-text);display:block;margin-top:22px}

/* Topbar */
.workspace{min-width:0}
.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.breadcrumbs{font-size:9px;letter-spacing:1.2px;color:var(--soft-text);display:flex;align-items:center;gap:10px}.breadcrumbs>span:last-child{color:var(--ink);letter-spacing:.2px;font-weight:600}
.topbar-right{display:flex;align-items:center;gap:14px}.demo-tag{font-size:8px;letter-spacing:1.2px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:6px 8px}
.avatar{display:grid;place-items:center;width:31px;height:31px;background:#e2e5f6;color:#4b5488;font-size:11px;font-weight:700;border-radius:50%}
.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;flex:none}.icon-button:hover{color:var(--accent-3);border-color:#cfd4ee}.icon-button svg{width:16px;height:16px}
main{padding:0 4%;max-width:1400px;margin:auto}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:40px;padding:40px 0 30px}
.eyebrow{font-size:9px;letter-spacing:1.3px;font-weight:700;line-height:1.8;color:var(--accent-2);display:flex;align-items:center;gap:8px}.eyebrow svg{width:14px;height:14px}
h1{font-size:clamp(34px,3.5vw,56px);letter-spacing:-2.6px;font-weight:600;line-height:1.08;margin:16px 0}h1 em{font-style:normal;color:var(--accent-2);font-weight:500}
.hero p{font-size:13px;line-height:1.85;color:var(--muted);max-width:520px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.metrics>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
.metrics span{font-size:8px;letter-spacing:1.1px;color:var(--soft-text);display:block;font-weight:700;line-height:1.5}
.metrics strong{display:block;font-size:30px;font-weight:600;letter-spacing:-1.2px;margin-top:8px;line-height:1.1}
.metrics .metric-accent{background:var(--ink);border-color:var(--ink);color:#fff}.metric-accent span{color:#aab2dc}.metric-accent strong{color:var(--accent)}

/* Chat layout */
.chat-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:18px;align-items:start}
.chat-panel{background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.bot-avatar,.msg-avatar{width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--accent);display:grid;place-items:center;flex:none}.bot-avatar svg{width:21px;height:21px}
.chat-head strong{font-size:15px;font-weight:800;letter-spacing:-.4px;display:block}.chat-head div>span{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.small-tag{margin-left:auto;font-size:8px;letter-spacing:1px;font-weight:700;padding:5px 8px;border:1px solid #d9ddf3;border-radius:5px;color:var(--accent-2);white-space:nowrap}.small-tag.warn{color:var(--warn);border-color:#f0d3c5}
.messages{height:clamp(380px,56vh,600px);overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(#fafbfe,#f6f7fc);scroll-behavior:smooth;overscroll-behavior:contain}
.msg{display:flex;gap:10px;max-width:100%;animation:rise .25s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(6px)}}
.msg.user{justify-content:flex-end}.msg.user .bubble{background:var(--ink);color:#fff;border-radius:16px 16px 4px 16px;padding:12px 16px;font-size:13.5px;line-height:1.6;max-width:80%;overflow-wrap:anywhere}
.msg-avatar{width:30px;height:30px;border-radius:10px}.msg-avatar svg{width:16px;height:16px}
.msg.bot .bubble{background:#fff;border:1px solid var(--line);border-radius:4px 16px 16px 16px;padding:14px 16px;min-width:0;flex:1;max-width:620px;transition:border-color .2s,box-shadow .2s}
.msg.bot.selected .bubble{border-color:#c5cbf1;box-shadow:0 0 0 3px #5b66c914}
.answer{font-size:13.5px;line-height:1.75;color:#262c40;overflow-wrap:anywhere}
.refusal .answer{display:flex;gap:9px;align-items:flex-start;font-weight:600;color:var(--warn)}.refusal .answer svg{margin-top:2px}
.bubble-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.conf{font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px}.conf.ok{background:var(--ok-soft);color:var(--ok)}.conf.low{background:var(--warn-soft);color:var(--warn)}
.trace-btn{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--accent-2);padding:4px 6px;border-radius:6px}.trace-btn:hover{background:var(--soft)}.trace-btn svg{width:13px;height:13px}
.cite{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;margin:0 2px 0 3px;border-radius:6px;background:var(--mark);color:var(--accent-3);font-size:10px;font-weight:800;vertical-align:2px;line-height:1}.cite:hover{background:var(--accent-2);color:#fff}
.sources{display:grid;gap:7px;margin-top:12px}
.source{display:block;text-align:left;border:1px solid var(--line);background:#fafbfe;border-radius:10px;padding:10px 12px;width:100%}.source:hover{border-color:#c9cff2;background:#f5f6fd}
.source-head{display:flex;gap:7px;font-size:11px;font-weight:700;color:#3a4160;margin-bottom:5px}.source-head b{color:var(--accent-2)}
.source-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.65;color:var(--muted)}
mark{background:var(--mark);color:var(--accent-3);border-radius:3px;padding:0 2px;font-weight:600}
.bubble-hint{display:flex;gap:7px;align-items:flex-start;font-size:11px;line-height:1.65;color:var(--soft-text);margin-top:11px}.bubble-hint svg{width:14px;height:14px;margin-top:2px;color:var(--accent-2)}
.typing .bubble{display:flex;align-items:center;gap:10px;flex:0 1 auto}.typing-text{font-size:12px;color:var(--muted)}
.dots{display:flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--accent-2);opacity:.35;animation:blink 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:1}}
.ticket{margin-top:12px;border:1px dashed #e3c3b3;background:#fffaf7;border-radius:12px;padding:13px 14px}
.ticket-head{display:flex;align-items:center;gap:8px;color:var(--warn);font-size:12px}.ticket-head svg{width:17px;height:17px}.ticket-head .small-tag{color:var(--warn);border-color:#f0d3c5}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0;font-size:11.5px;line-height:1.55}.ticket dt{color:var(--soft-text)}.ticket dd{margin:0;color:#33394f;overflow-wrap:anywhere}
.text-button{font-size:11px;font-weight:600;color:var(--accent-2);padding:3px 0;border-bottom:1px solid #cfd4f3}.text-button:hover{color:var(--accent-3)}
.suggest-wrap{padding:14px 18px 4px;border-top:1px solid var(--line)}
.field-label{font-size:9px;letter-spacing:1px;color:var(--soft-text);display:block;font-weight:700;margin-bottom:9px}
.suggest{display:flex;gap:7px;flex-wrap:wrap}
.chip{font-size:11.5px;padding:8px 11px;border-radius:9px;background:var(--soft);color:#3e4670;border:1px solid #e1e5f8;text-align:left;line-height:1.4}.chip:hover{background:#e2e6fb;border-color:#cfd5f5}
.chip.outside{background:#fff;border-style:dashed;border-color:#e3c3b3;color:var(--warn)}.chip.outside:hover{background:var(--warn-soft)}
.composer{display:flex;gap:9px;align-items:flex-end;padding:12px 18px 6px}
.composer textarea{flex:1;min-width:0;resize:none;border:1px solid #dadef0;background:#fafbfe;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;max-height:120px;overflow-y:auto;scrollbar-width:thin}
.composer textarea:focus{border-color:#b8bfec;background:#fff;outline:none;box-shadow:0 0 0 3px #5b66c91f}
.send{width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--accent);display:grid;place-items:center;flex:none}.send:hover{background:#2b3350}
.composer-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.65;color:var(--muted);padding:6px 18px 16px}.composer-note svg{width:14px;height:14px;margin-top:2px;color:var(--accent-2)}

/* Inspector */
.inspector{background:var(--ink);color:#e8eaf6;border-radius:18px;padding:20px;position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow-y:auto;min-width:0}
.inspector-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.inspector .eyebrow{color:var(--accent)}
.total-ms{font-size:10px;color:#9aa2c8;font-variant-numeric:tabular-nums}
.inspector h3{font-size:16px;font-weight:600;letter-spacing:-.3px;line-height:1.45;margin:12px 0 16px;overflow-wrap:anywhere}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:s}
.step{border:1px solid #2e3650;border-radius:12px;padding:11px 13px;background:#212840}
.step.idle{opacity:.7}.step.pass{border-color:#2d6b54}.step.fail{border-color:#7a4430}
.step-head{display:flex;align-items:center;gap:9px}.step-n{font-size:9px;color:#8b93bd;font-weight:700}.step-head strong{font-size:12px;font-weight:700}
.step-ms{margin-left:auto;font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums}
.step-body{margin-top:7px;font-size:11px;line-height:1.65;color:#b9bfdb}.step-body p+p,.step-body .terms+p,.step-body .meter+p{margin-top:6px}
.step-body .mono{color:#9ea6cf}.step-body .muted{color:#858daf}.warn-text{color:#f2b49a}
.terms{display:flex;flex-wrap:wrap;gap:5px}
.term{display:inline-flex;gap:5px;align-items:center;font-size:10.5px;padding:3px 7px;border-radius:6px;background:#2c3452;color:#d8dcf3}.term i{font-style:normal;color:#7d86b3}.term b{color:var(--accent)}
.term.unknown{background:#4a2c25;color:#f6cdbb}.term.unknown b{color:#ffb595}
.meter{position:relative;height:8px;border-radius:5px;background:#2c3452;margin:4px 0 2px}.meter i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--accent)}.fail .meter i{background:#f09a76}.meter b{position:absolute;top:-4px;width:2px;height:16px;background:#fff;border-radius:1px}
.insp-chunks{margin-top:18px}.inspector .field-label{color:#8b93bd}
.chunk{display:block;width:100%;text-align:left;border:1px solid #2e3650;border-radius:12px;padding:11px 13px;margin-bottom:8px;background:#20273e;color:inherit}.chunk:hover{border-color:#4a5487}.chunk.cited{border-color:#6b75d6;background:#252d4b}
.chunk-head{display:flex;gap:8px;align-items:baseline;font-size:11px}.chunk-rank{color:#8b93bd;font-weight:700}.chunk-doc{font-weight:700;color:#e8eaf6;min-width:0}.chunk-cite{margin-left:auto;color:var(--accent);font-weight:800}
.chunk-bar{display:block;height:4px;border-radius:3px;background:#2c3452;margin:8px 0 5px}.chunk-bar i{display:block;height:100%;border-radius:3px;background:var(--accent-2)}.cited .chunk-bar i{background:var(--accent)}
.chunk-nums{display:block;font-size:10px;color:#8b93bd;font-variant-numeric:tabular-nums}
.chunk-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.6;color:#b9bfdb;margin-top:6px}
.inspector mark{background:#3d4680;color:#fff}
.prompt-box{margin-top:12px;border:1px solid #2e3650;border-radius:12px;padding:11px 13px}
.prompt-box summary{cursor:pointer;font-size:11.5px;font-weight:700;color:var(--accent)}
.prompt-box pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#b9bfdb;margin:10px 0 0;max-height:280px;overflow:auto}

/* Sections */
.view{min-height:350px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:40px 0 14px}
.section-heading h2{font-size:28px;letter-spacing:-1.1px;font-weight:600;margin-top:10px;line-height:1.2}
.result-count{font-size:11px;color:var(--muted);white-space:nowrap;padding-bottom:4px}
.section-intro{max-width:700px;font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 24px}
.docs-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.doc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;min-width:0}.doc-card.own{border-color:#c9cff2;background:#fbfbff}
.doc-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.doc-kind{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--accent-2);background:var(--soft);padding:4px 7px;border-radius:5px}.own .doc-kind{background:var(--accent);color:var(--ink)}
.doc-date{font-size:10px;color:var(--soft-text)}
.doc-card h3{font-size:15px;letter-spacing:-.3px;line-height:1.35;margin:12px 0 7px}.doc-card p{font-size:11.5px;line-height:1.65;color:var(--muted);flex:1}
.doc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #eef0f6;font-size:10.5px;color:var(--soft-text)}
.doc-actions{display:flex;gap:10px;align-items:center}.doc-actions .icon-button{width:30px;height:30px}
.add-doc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;position:sticky;top:18px}
.add-doc h3{display:flex;gap:9px;align-items:center;font-size:15px;margin-bottom:8px}.add-doc h3 svg{color:var(--accent-2)}
.add-doc>p{font-size:11.5px;line-height:1.65;color:var(--muted);margin-bottom:6px}
.add-doc .field-label{margin:14px 0 7px}
.add-doc input:not([type=file]),.add-doc textarea,.settings select{width:100%;min-width:0;border:1px solid #dadef0;background:#fafbfe;border-radius:10px;padding:11px 12px;font-size:13px}
.add-doc textarea{resize:vertical;line-height:1.6;min-height:140px}
.dropzone{display:flex;gap:11px;align-items:center;margin-top:10px;border:1px dashed #c9cff2;border-radius:11px;padding:12px;cursor:pointer;color:var(--accent-2)}.dropzone:hover{background:var(--soft)}
.dropzone strong{display:block;font-size:12px}.dropzone small{display:block;font-size:10.5px;color:var(--soft-text);margin-top:2px}
.dropzone:has(+input:focus-visible){outline:3px solid var(--accent-2);outline-offset:3px}
.form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border-radius:11px;font-size:12px;font-weight:700;min-height:44px}.button svg{width:16px;height:16px}
.primary{background:var(--ink);color:#fff}.primary svg{color:var(--accent)}.primary:hover{background:#2b3350}
.field-note{font-size:10.5px;line-height:1.7;color:var(--soft-text);margin-top:12px}

/* Admin */
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;min-width:0}.view>.panel{margin-bottom:16px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h3{font-size:16px;letter-spacing:-.3px}.panel-head .small-tag{margin-left:0}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.stat{background:#f7f8fc;border:1px solid #eceef6;border-radius:11px;padding:11px;min-width:0}.stat span{display:block;font-size:9.5px;color:var(--soft-text);line-height:1.4}.stat strong{display:block;font-size:20px;letter-spacing:-.6px;margin-top:5px;font-weight:650;overflow-wrap:anywhere}
.settings{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;margin-bottom:14px}.settings .field-label{grid-row:1}
input[type=range]{width:100%;accent-color:var(--accent-2);margin:4px 0}
.field-label output{color:var(--ink);font-size:11px;margin-left:6px}
.rules{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:7px}.rules li{display:flex;gap:8px;align-items:center;font-size:12px;color:#3a4160}.rules svg{width:15px;height:15px;color:var(--ok)}
.rate{display:flex;align-items:center;gap:12px;margin-bottom:16px}.rate-bar{flex:1;height:8px;border-radius:5px;background:var(--warn-soft);overflow:hidden}.rate-bar i{display:block;height:100%;background:var(--ok);border-radius:5px;transition:width .3s}
#rate-label{font-size:11px;color:var(--muted);max-width:55%}
.top-docs,.recent,.gaps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}
.top-docs li,.recent li,.gaps li{display:flex;align-items:center;gap:9px;font-size:12px;padding:8px 10px;border-radius:9px;background:#f7f8fc;min-width:0}
.top-docs b,.recent b,.gaps b{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
.q{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;flex:none}.dot.ok{background:var(--ok)}.dot.low{background:var(--warn)}
.gaps li{background:var(--warn-soft)}.gaps .text-button{color:var(--warn);border-color:#ecc8b6;flex:none}
.empty-line{color:var(--soft-text);font-size:11.5px!important;white-space:normal}
.table-wrap{overflow-x:auto}
.doc-table{width:100%;border-collapse:collapse;font-size:12px}.doc-table th{text-align:left;font-size:9px;letter-spacing:1px;color:var(--soft-text);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);text-transform:uppercase}.doc-table td{padding:10px;border-bottom:1px solid #f0f1f7;color:var(--muted);font-variant-numeric:tabular-nums}.doc-table td strong{color:var(--ink);font-weight:600}
.own-tag{font-size:9px;font-weight:700;background:var(--accent);color:var(--ink);padding:2px 6px;border-radius:4px;margin-left:7px}
.syn-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.syn{font-size:11px;padding:6px 9px;border-radius:7px;background:var(--soft);color:#454d78}

.workspace-footer{border-top:1px solid var(--line);margin-top:44px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9.5px;color:var(--soft-text);line-height:1.8}.workspace-footer>span:first-child{letter-spacing:1px}.workspace-footer a{color:var(--accent-2)}

/* Dialog */
dialog{width:calc(100% - 28px);max-width:640px;max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;color:var(--ink)}
dialog::backdrop{background:#121729a6;backdrop-filter:blur(5px)}
.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
dialog h2{font-size:22px;letter-spacing:-.7px;line-height:1.3}.src-meta{font-size:11px;color:var(--soft-text);margin:6px 0 16px;line-height:1.6}
.src-body h3{font-size:12px;letter-spacing:.3px;margin:16px 0 6px;color:var(--accent-3)}.src-body p{font-size:13px;line-height:1.85;color:var(--muted)}
.in-chunk{background:#eef0fd;box-shadow:0 0 0 3px #eef0fd;border-radius:3px;color:#262c40}
.toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:14px 20px;border-radius:12px;background:var(--ink);color:#f2f3fb;box-shadow:0 10px 30px #00000020;font-size:12px;line-height:1.6;text-align:center}

/* Responsive */
@media(max-width:1250px){.hero{grid-template-columns:1fr;gap:20px;align-items:start}.metrics{max-width:640px}}
@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-inline:16px}.chat-layout{grid-template-columns:1fr}.inspector{position:static;max-height:none}.docs-layout{grid-template-columns:1fr}.add-doc{position:static;order:-1}}
@media(max-width:850px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:24px 12px;align-items:center}.brand{font-size:0;gap:0}.brand>span:last-child{display:none}.sidebar-label{font-size:0;margin:30px 0 0}.main-nav{align-items:center;width:100%;gap:10px}.main-nav button{font-size:0;padding:12px;gap:0;position:relative}.main-nav svg{width:20px;height:20px}.nav-count{position:absolute;top:2px;right:0;font-size:8px;padding:1px 4px}.sidebar-bottom>*{display:none!important}.admin-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-footer>span:nth-child(2){display:none}}
@media(max-width:600px){
.app-shell{display:block}
.sidebar{position:fixed;z-index:30;bottom:0;top:auto;left:0;right:0;height:auto;background:#f7f8fcf2;backdrop-filter:blur(14px);border-right:0;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:block}
.sidebar>.brand,.sidebar-label,.sidebar-bottom{display:none}
.main-nav{flex-direction:row;justify-content:space-between;gap:4px}.main-nav button{flex:1;flex-direction:column;justify-content:center;gap:4px;font-size:10px;padding:8px 4px;min-width:0}.main-nav svg{width:19px;height:19px}.nav-count{top:3px;right:18%}
.topbar{height:60px;padding:0 16px}.breadcrumbs{font-size:8px}.demo-tag{display:none}.avatar{width:28px;height:28px}
main{padding:0 16px 84px}
.hero{padding:26px 0 20px;gap:18px}h1{font-size:clamp(31px,9vw,42px);letter-spacing:-1.6px;margin:14px 0 12px}.hero p{font-size:12.5px}.eyebrow{font-size:8px;letter-spacing:1px}
.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metrics>div{padding:12px 13px}.metrics strong{font-size:24px;margin-top:6px}
.chat-panel,.inspector{border-radius:15px}.chat-head{padding:13px 14px}.chat-head .small-tag{display:none}
.messages{height:auto;min-height:320px;max-height:62vh;padding:16px 12px;gap:14px}
.msg-avatar{display:none}.msg.bot .bubble{padding:13px}.msg.user .bubble{max-width:88%}
.answer{font-size:13.5px}.ticket dl{grid-template-columns:1fr;gap:2px}.ticket dd{margin-bottom:6px}
.suggest-wrap{padding:12px 12px 2px}.suggest{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;margin:0 -12px;padding-inline:12px}.suggest::-webkit-scrollbar{display:none}.chip{white-space:nowrap;flex:none}
.composer{padding:10px 12px 4px}.composer textarea{font-size:16px}.composer-note{padding:6px 12px 14px;font-size:10.5px}
.inspector{padding:16px}.inspector h3{font-size:15px}
.section-heading{flex-direction:column;align-items:flex-start;gap:6px;margin-top:28px}.section-heading h2{font-size:24px}.result-count{white-space:normal}
.doc-grid{grid-template-columns:1fr}.add-doc input:not([type=file]),.add-doc textarea,.settings select{font-size:16px}
.panel{padding:15px}.settings{grid-template-columns:1fr}.settings .field-label{grid-row:auto;margin-top:8px}
.rate{flex-direction:column;align-items:stretch;gap:8px}#rate-label{max-width:none}
.doc-table th:nth-child(3),.doc-table td:nth-child(3),.doc-table th:nth-child(2),.doc-table td:nth-child(2){display:none}
.workspace-footer{flex-wrap:wrap;gap:8px 16px;font-size:9px}
dialog{padding:18px;border-radius:15px}dialog h2{font-size:19px}
.toast{bottom:86px;font-size:11.5px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
