:root{--bg: #f6f7f9;--panel: #ffffff;--panel-2: #f1f3f6;--line: #e3e6eb;--text: #15181e;--muted: #6b7280;--accent: #5b6cf9;--accent-soft: #eef0ff;--ok: #16a34a;--warn: #d97706;--bad: #dc2626;--radius: 14px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 16px rgba(16, 24, 40, .04);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--line: #2a2f3a;--text: #e8eaef;--muted: #9097a5;--accent: #7383ff;--accent-soft: #232842;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,-apple-system,Segoe UI,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}input,textarea,select{font:inherit;color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2{margin:0 0 8px;font-weight:650;letter-spacing:-.01em}h2{font-size:17px}.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:12px}.shell{display:flex;height:100%}.nav{width:248px;flex:none;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px;gap:12px}.brand{display:flex;gap:10px;align-items:center;padding:0 6px}.brand-name{font-weight:700}.brand-sub{font-size:12px;color:var(--muted)}.org-select,.org-name{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);font-weight:550}nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border:0;background:none;border-radius:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:18px;text-align:center}.nav-foot{margin-top:auto}.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%}.topbar,.scrim{display:none}.page{padding:24px;overflow-y:auto;height:100%;display:flex;flex-direction:column;gap:16px;max-width:1180px;width:100%;margin:0 auto}.page.narrow{max-width:560px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.empty,.loading{padding:40px;color:var(--muted);display:flex;gap:12px;align-items:center}.btn{border:1px solid var(--line);background:var(--panel);padding:8px 14px;border-radius:10px;font-weight:550;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost{background:none}.btn.suggested{border-color:var(--accent);color:var(--accent)}.btn small{font-weight:400;opacity:.8}.block-btn{width:100%}.link{border:0;background:none;color:var(--accent);padding:6px 0}.chip{border:1px solid var(--line);background:var(--panel);padding:7px 12px;border-radius:999px;font-size:14px;text-align:left}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--accent-soft);color:var(--accent)}.badge.warn{background:#d9770624;color:var(--warn)}.error{color:var(--bad);background:#dc262614;border-radius:10px;padding:10px 12px}.ok{color:var(--ok)}.form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{height:100%;display:grid;place-items:center}.login{min-height:100%;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 30% 20%,var(--accent-soft),transparent 60%),var(--bg)}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.login-card h1{font-size:24px;margin:4px 0 0}.login-card p{margin:0}.chat{display:flex;height:100%;min-height:0}.conv-list{width:260px;flex:none;border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--panel)}.conv-items{overflow-y:auto;display:flex;flex-direction:column;gap:2px}.conv-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--muted);font-size:14px}.conv-item:hover{background:var(--panel-2);color:var(--text)}.conv-item.active{background:var(--accent-soft);color:var(--text)}.conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-del{border:0;background:none;opacity:0;font-size:16px;color:var(--muted);padding:0 4px}.conv-item:hover .conv-del{opacity:1}.conv-toggle{display:none}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;padding:24px max(16px,calc((100% - 860px)/2));display:flex;flex-direction:column;gap:18px}.welcome{margin:auto 0;text-align:center;padding:24px 0}.welcome h2{font-size:26px}.welcome p{max-width:560px;margin:0 auto 20px}.suggest{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:720px;margin:0 auto}.msg.user{display:flex;justify-content:flex-end}.bubble{background:var(--accent);color:#fff;padding:10px 14px;border-radius:16px 16px 4px;max-width:80%;white-space:pre-wrap}.msg.assistant{display:flex;flex-direction:column;gap:10px}.answer-text{line-height:1.6}.answer-text p{margin:0 0 8px}.answer-text ul,.answer-text ol{margin:4px 0 8px;padding-left:22px}.answer-text li{margin:3px 0}.answer-text strong{font-weight:650}.caret{display:inline-block;width:8px;height:16px;background:var(--accent);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite;border-radius:2px}@keyframes blink{50%{opacity:0}}.understood{font-size:13px;color:var(--muted);background:var(--panel-2);border-radius:10px;padding:6px 10px;align-self:flex-start}.status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.dots{display:inline-flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:bounce 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;align-self:stretch}.thinking-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;border:0;background:none;color:var(--muted);font-size:13px;text-align:left}.thinking-head .chev{margin-left:auto}.pulse{width:8px;height:8px;border-radius:50%;background:var(--muted)}.thinking.active .pulse{background:var(--accent);animation:pulse 1.2s infinite}@keyframes pulse{0%{box-shadow:0 0 #5b6cf980}to{box-shadow:0 0 0 8px #5b6cf900}}.thinking-body{padding:0 12px 10px;font-size:13px;color:var(--muted);white-space:pre-wrap;max-height:120px;overflow-y:auto;-webkit-mask-image:linear-gradient(transparent,#000 30%);mask-image:linear-gradient(transparent,#000 30%)}.thinking-body.open{max-height:420px;-webkit-mask-image:none;mask-image:none}.msg-actions{display:flex;gap:4px;align-items:center}.icon{border:0;background:none;padding:4px 6px;border-radius:8px;opacity:.55;filter:grayscale(1)}.icon:hover{opacity:1;background:var(--panel-2)}.icon.on{opacity:1;filter:none;background:var(--accent-soft)}.composer{padding:12px max(16px,calc((100% - 860px)/2)) 18px}.composer-box{display:flex;gap:8px;align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow)}.composer-box:focus-within{border-color:var(--accent)}.composer textarea{flex:1;border:0;resize:none;padding:8px;max-height:160px;field-sizing:content;background:none}.send{width:40px;height:40px;padding:0;border-radius:12px;font-size:18px}.offline{font-size:13px;color:var(--warn);margin-bottom:6px}.block{border:1px solid var(--line);border-radius:12px;background:var(--panel)}.block-title{font-size:13px;font-weight:600;color:var(--muted);padding:10px 14px 0}.block.chart{padding-bottom:8px}.chart-canvas{width:100%;padding:4px 8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}td:first-child{white-space:normal;min-width:160px}th{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--panel-2)}tfoot td{font-weight:650;border-bottom:0}.block.table .link{padding:6px 14px 10px}.block.notes{padding:10px 14px;background:#d9770614;border-color:#d9770640;font-size:14px;display:flex;flex-direction:column;gap:4px}.block.clarify{border:0;background:none;display:flex;gap:8px;flex-wrap:wrap}.provenance{background:none}.prov-toggle{width:100%;display:flex;justify-content:space-between;border:0;background:none;padding:8px 14px;font-size:13px;color:var(--muted)}.prov-body{padding:0 14px 12px;font-size:13px;display:flex;flex-direction:column;gap:4px;color:var(--muted)}.prov-body b{color:var(--text);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.kpi-label{font-size:13px;color:var(--muted)}.kpi-value{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:4px 0;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-sub{font-size:12px;color:var(--muted)}.insights{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:12px}.insight{border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:10px;padding:12px 14px}.insight-title{font-weight:600;margin-bottom:4px}.insight-body{font-size:14px;color:var(--muted)}.facts ul{margin:0 0 12px;padding-left:20px}.card .block{margin-top:12px}.questions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.question{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-2)}.q-text{font-weight:550}.q-evidence{font-size:13px;color:var(--muted);margin-top:4px}.q-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.q-other{display:flex;gap:6px;margin-top:8px}.q-other input{flex:1}.answered{margin-top:14px}.answered summary{cursor:pointer;color:var(--muted)}.answered-item{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0}.stats>div{display:flex;flex-direction:column;gap:2px;font-size:13px}.stats b{font-size:15px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.seg button{border:0;background:none;padding:4px 10px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--accent);color:#fff}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:4px 10px;border-radius:8px;background:var(--panel-2);font-size:13px}.status-pill{padding:3px 10px;border-radius:999px;font-size:13px;background:var(--panel-2);white-space:nowrap}.status-pill.ready{background:#16a34a1f;color:var(--ok)}.status-pill.syncing,.status-pill.new{background:var(--accent-soft);color:var(--accent)}.status-pill.error{background:#dc26261a;color:var(--bad)}.sync-progress{margin:10px 0;display:flex;flex-direction:column;gap:6px}.bar{height:6px;background:var(--panel-2);border-radius:99px;overflow:hidden}.bar>div{height:100%;background:var(--accent);transition:width .5s}.steps{padding-left:20px;margin:4px 0 14px;display:flex;flex-direction:column;gap:4px}@media (max-width: 860px){.nav{position:fixed;z-index:30;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s}.shell.menu-open .nav{transform:none}.shell.menu-open .scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20}.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.topbar-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.burger{border:0;background:none;font-size:20px;padding:2px 6px}.main{height:100%}.page{padding:16px}.conv-list{position:fixed;z-index:15;inset:0 auto 0 0;transform:translate(-100%);transition:transform .2s;width:82%;max-width:320px}.conv-list.show{transform:none;box-shadow:0 0 40px #0000004d}.conv-toggle{display:block;border:0;background:none;color:var(--muted);padding:8px 16px 0;text-align:left;font-size:14px}.messages{padding:12px 16px}.composer{padding:8px 12px 12px}.bubble{max-width:90%}.kpi-value{font-size:20px}}.small-btn{padding:3px 10px;font-size:13px}.fields-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px}.fields-bar select{max-width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text)}tr.clickable{cursor:pointer}.stage-bars{display:grid;gap:4px;margin:4px 0 6px}.stage-bar{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:8px;align-items:center;font-size:13px}.stage-bar .bar{height:8px;background:var(--panel-2);border-radius:4px;overflow:hidden}.stage-bar .bar>div{height:100%;background:var(--accent)}.stage-bar.start span:first-child{font-weight:600}.field-list{display:grid;gap:8px}.field-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.field-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.field-lines{margin-top:6px;display:grid;gap:3px;padding-left:12px;border-left:2px solid var(--line)}.field-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.field-line.clickable{cursor:pointer}.field-line.clickable:hover span:first-child{color:var(--accent)}
