:root{--bg:#f5f6f8;--panel:#fff;--text:#1d232b;--muted:#6b7480;--line:#e2e5ea;--accent:#1a5fd0;--accent-soft:#e8f0fd;--ok:#1f7a3f;--warn:#9a6400;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h2{margin:0 0 12px;font-size:20px}h3{margin:8px 0;font-size:16px}h4{text-transform:uppercase;color:var(--muted);letter-spacing:.03em;margin:14px 0 6px;font-size:13px}input,select,button,textarea{font:inherit}input,select{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:6px 8px}button,.button{border:1px solid var(--line);cursor:pointer;color:var(--text);background:#fff;border-radius:6px;padding:6px 12px;display:inline-block}button:hover:not(:disabled),.button:hover{border-color:#b9bfc8;text-decoration:none}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:#c8102e}button.small,.small{font-size:12px}button.active{background:var(--accent-soft);border-color:var(--accent)}.muted{color:var(--muted)}.error{color:#c8102e;padding:6px 0}.ok{color:var(--ok)}.center{place-items:center;min-height:200px;display:grid}.grow{flex:1}.sep{background:var(--line);align-self:stretch;width:1px;margin:0 4px}.nowrap{white-space:nowrap}.break{word-break:break-word}.app{flex-direction:column;min-height:100vh;display:flex}.top{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:16px;height:48px;padding:0 16px;display:flex;position:sticky;top:0}.logo{font-size:16px}.logo b{color:var(--accent)}.top nav{flex-shrink:0;gap:4px;display:flex}.top{scrollbar-width:none;overflow-x:auto}.top>*{flex-shrink:0}.top nav a,.nav-disabled{color:var(--text);border-radius:6px;padding:6px 10px}.top nav a.active{background:var(--accent-soft);color:var(--accent)}.nav-disabled{color:#b4bac2;cursor:not-allowed}main{flex-direction:column;flex:1;display:flex}.page{width:100%;max-width:1400px;padding:16px 20px}.login{place-items:center;min-height:100vh;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px}.login .card{flex-direction:column;gap:12px;width:340px;display:flex}.login h1{margin:0 0 4px;font-size:20px}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}label.inline{color:var(--text);flex-direction:row;align-items:center;gap:4px;margin-right:10px;display:inline-flex}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:18px}.tile:hover{border-color:var(--accent);text-decoration:none}.tile-brand{color:var(--accent);font-size:18px;font-weight:600}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.crumbs span{gap:6px;display:inline-flex}.filter{width:320px;margin-bottom:10px}.folders{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;margin-bottom:14px;display:grid}.folder{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:4px;padding-right:6px;display:flex}.folder:hover{border-color:var(--accent)}.folder-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.folder-link:hover{text-decoration:none}table.files{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%}.files th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:500}.files td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}.files tr.click{cursor:pointer}.files tr.click:hover td{background:#fafbfc}.badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.unprocessed{color:#4b535e;background:#eceef1}.badge.proposed{color:var(--warn);background:#fff3d6}.badge.accepted{color:var(--ok);background:#e2f4e8}.badge.rejected{color:#c8102e;background:#fbe9ec}.tag{color:var(--muted);background:#eceef1;border-radius:4px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-block}.tag.warn{color:var(--warn);background:#fff3d6}.viewer{flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 360px;height:calc(100vh - 48px);min-height:0;display:grid;overflow:hidden}.pdf{background:#525659;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.pdf-bar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 10px;display:flex}.pdf-bar form{display:contents}.pdf-actions{align-items:center;gap:inherit;display:flex}.page-input{text-align:center;flex-shrink:0;width:64px;min-width:64px}.pdf-canvas{overscroll-behavior:contain;flex:1;min-height:0;padding:0 12px;position:relative;overflow:auto}.pdf-pages{margin:0 auto;position:relative}.pdf-page{background:#fff;margin-top:6px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0006}.pdf-page canvas{display:block}.pdf-mark{mix-blend-mode:multiply;pointer-events:none;background:#ffd50073;border-radius:2px;position:absolute}.pdf-canvas .error,.pdf-canvas .muted{color:#fff}.side{background:var(--panel);border-left:1px solid var(--line);overflow:auto}.docinfo{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.docinfo dl{grid-template-columns:90px 1fr;gap:4px 8px;margin:6px 0;display:grid}.docinfo dt{color:var(--muted)}.docinfo dd{margin:0}.docinfo .row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chips li{background:#eceef1;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.chips.editable button{color:var(--muted);background:0 0;border:0;padding:0 2px}.picker{border:1px solid var(--line);border-radius:6px;max-height:200px;margin:0;padding:0;list-style:none;overflow:auto}.picker button{text-align:left;border:0;border-radius:0;width:100%}.locs{word-break:break-word;margin:0;padding-left:16px;font-size:12px}.actions{gap:8px;margin-top:10px;display:flex}.stat-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.stat{align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.toolbar input{width:280px}.pager{justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:10px;max-width:1000px;display:grid}.button.download{background:var(--accent);border-color:var(--accent);color:#fff;text-align:center;padding:9px 14px;font-weight:600}.button.download:hover{background:#134aa6;border-color:#134aa6}@media (width<=760px){.hide-sm{display:none!important}.top{gap:8px;padding:0 8px;overflow-x:auto}.logo{white-space:nowrap;font-size:14px}.top nav a,.nav-disabled{white-space:nowrap;padding:6px}.page{padding:10px}.filter,.toolbar input{width:100%}.folders{grid-template-columns:1fr}.files td,.files th{padding:8px 6px}.files td{word-break:break-word}.viewer{flex-direction:column;height:auto;display:flex}.pdf{height:calc(100dvh - 48px)}.pdf-bar{gap:4px;padding:6px;overflow-x:auto}.pdf-bar button{padding:6px 9px}.pdf-bar .sep{display:none}.pdf-canvas{padding:0 4px}.side{border-left:0;border-top:1px solid var(--line)}.docinfo .button.download{width:100%}}.login h1 .brand{color:var(--accent)}.top button{white-space:nowrap}button.back{white-space:nowrap;font-weight:600}.crumbs{align-items:center}.pdf-bar>*{flex-shrink:0}.show-sm{display:none}@media (width<=760px){.show-sm{display:inline}.page-input{width:64px;min-width:64px;font-size:16px}}button.star{color:#9aa3ad;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}button.star.on,button.star:hover:not(:disabled){color:#f2a900}.star-label{color:var(--text);margin-left:4px;font-size:13px}.files td.star-cell,.files th:first-child:empty{width:32px;padding-right:0}.row-inline{align-items:center;gap:10px;display:flex}.search-layout{flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(380px,40%) 1fr;height:calc(100vh - 48px);min-height:0;display:grid;overflow:hidden}.search-pane{flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex;overflow:auto}.search-viewer{border-left:1px solid var(--line);background:#525659;flex-direction:column;min-width:0;min-height:0;display:flex}.search-viewer>.pdf{flex:1}.search-viewer .center{color:#dfe3e8}.search-form{gap:8px;display:flex}.search-form input{flex:1;padding:9px 12px;font-size:15px}.search-help code{background:#eceef1;border-radius:4px;padding:1px 5px}.facets{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:14px;padding:3px 10px;font-size:12px}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.model-filter{flex-direction:column;gap:6px;display:flex}.results{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.results>li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.results>li.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.result-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}button.link{color:var(--accent);text-align:left;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}button.link:hover{text-decoration:underline}.hit-page{text-align:left;border:0;border-top:1px dashed var(--line);background:0 0;border-radius:0;width:100%;margin-top:6px;padding:6px 0 2px;display:block}.hit-page:hover{background:#f7f9fc}.hit-page-no{color:var(--accent);margin-right:8px;font-size:12px;font-weight:600}.hit-section{color:var(--muted);font-size:12px}.snippet{word-break:break-word;margin-top:2px;font-size:13px;display:block}.snippet mark{background:#ffe58a;border-radius:2px;padding:0 1px}.result-count{margin-top:-4px}.fav-name{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}button.icon-btn{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:14px}button.icon-btn:hover{color:var(--accent)}.fav-rename{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fav-rename input{flex:1;min-width:180px}@media (width<=760px){.top{flex-wrap:wrap;row-gap:2px;height:auto;padding:6px 8px;overflow:visible}.top>.main-nav{flex-wrap:wrap;flex-shrink:1;order:3;gap:2px;width:100%}.top .grow{order:1}.top>button{order:2}.top nav a,.nav-disabled{padding:5px 8px}.pdf{height:calc(100dvh - 96px)}input,select,textarea,.search-form input{font-size:16px}html,body{overflow-x:hidden}table.stack,table.stack tbody,table.stack tr,table.stack td{width:100%;display:block}table.stack thead{display:none}table.stack tr{border-bottom:1px solid var(--line);padding:8px 4px}table.stack td{border:0;padding:2px 6px}table.stack td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:12px}table.stack td:empty{display:none}.toolbar>*{flex:auto}.toolbar>.sep{display:none}.form-grid{grid-template-columns:1fr}}.kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:6px 0 4px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.kpi-v{color:var(--accent);font-size:22px;font-weight:700}.bars{flex-direction:column;gap:4px;max-width:800px;display:flex}.bar-row{grid-template-columns:90px 1fr auto;align-items:center;gap:8px;display:grid}.bar{background:#eceef1;border-radius:5px;height:10px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.chat{flex-direction:column;gap:8px;min-width:0;min-height:0;padding:12px 16px;display:flex}.assistant-layout .chat{overflow:hidden}.assistant-mobile{flex-direction:column;height:calc(100dvh - 96px);display:flex}.assistant-mobile .chat{flex:1;padding:8px 10px}.chat-top{align-items:center;gap:8px;display:flex}.conv-list{border:1px solid var(--line);background:var(--panel);border-radius:8px;max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.conv-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 10px;display:flex}.conv-list li a{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.conv-list li.active a{color:var(--accent);font-weight:600}.messages{flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px 2px;display:flex;overflow:auto}.msg.user{align-self:flex-end;max-width:85%}.msg.user .bubble{background:var(--accent);color:#fff;white-space:pre-wrap;border-radius:14px 14px 2px;padding:8px 12px}.msg.assistant .answer{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.md p{margin:6px 0}.md ol,.md ul{margin:6px 0;padding-left:22px}.md li{margin:3px 0}.md h4{text-transform:none;color:var(--text);letter-spacing:0;margin:10px 0 4px;font-size:14px}button.cite,span.cite{color:var(--accent);background:var(--accent-soft);vertical-align:1px;cursor:pointer;border:0;border-radius:4px;margin:0 2px;padding:0 5px;font-size:11px;font-weight:700;display:inline-block}.citations{border-top:1px dashed var(--line);margin:10px 0 0;padding:8px 0 0 18px;font-size:13px}.citations li{margin:3px 0}.citations button.link{font-size:13px;font-weight:500}.steps{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.steps li:last-child{color:var(--accent)}.cursor{color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.msg-actions{align-items:center;gap:10px;margin-top:8px;display:flex}.feedback{align-items:center;gap:4px;display:inline-flex}.feedback button{filter:grayscale();opacity:.7;padding:2px 8px}.feedback button.on{filter:none;opacity:1;border-color:var(--accent)}.chat-input{align-items:flex-end;gap:8px;display:flex}.chat-input textarea{resize:none;border:1px solid var(--line);font:inherit;border-radius:10px;flex:1;padding:9px 12px}.chat-input button{height:42px}.chat-empty{flex-direction:column;gap:8px;max-width:560px;margin:auto 0;display:flex}.chat-empty .example{text-align:left}.trace-steps{padding-left:18px}.trace-steps pre,.answer-raw{border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;background:#f7f8fa;border-radius:6px;max-height:340px;padding:8px;font-size:12px;overflow:auto}@media (width<=760px){.chat-input textarea{font-size:16px}}.bar-cell{grid-template-columns:minmax(80px,220px) auto;align-items:center;gap:8px;display:grid}.qa-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.qa{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;padding:8px 12px}.qa.up{border-left-color:#2e9e5b}.qa.down{border-left-color:#c8102e}.qa-head{text-align:left;background:0 0;border:0;grid-template-columns:26px 1fr;gap:2px 8px;width:100%;padding:0;display:grid}.qa-fb{text-align:center;grid-row:span 2;font-size:18px}.qa-q{word-break:break-word;font-weight:600}.qa-meta{grid-column:2}.qa-reason{color:#c8102e;margin:6px 0 0 34px;font-size:13px}.qa-body{border-top:1px dashed var(--line);margin:8px 0 0 34px;padding-top:8px}.qa-actions{gap:14px;margin:6px 0 0 34px;display:flex}.superseded{color:#7a5200;background:#fff3d6;border-radius:6px;padding:6px 8px;font-size:13px}.feedback-wrap{flex-direction:column;flex:1;gap:6px;display:flex}.feedback-form{flex-direction:column;gap:6px;max-width:520px;display:flex}.feedback-form textarea{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;padding:6px 8px}.hit-drawing{margin-left:8px;font-size:12px}.gallery{margin-top:10px}.gallery-strip{scroll-snap-type:x mandatory;gap:10px;padding:8px 2px 4px;display:flex;overflow-x:auto}.thumb{border:1px solid var(--line);scroll-snap-align:start;cursor:zoom-in;background:#fff;border-radius:6px;flex:none;padding:0;position:relative;overflow:hidden}.thumb:hover{border-color:var(--accent)}.thumb canvas{display:block}.thumb-placeholder{color:var(--muted);place-items:center;font-size:12px;display:grid}.thumb-label{background:var(--accent);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:6px;left:6px}@media (width<=760px){.gallery-strip .thumb{width:78vw!important}.gallery-strip .thumb canvas{width:100%!important;height:auto!important}}.modal-backdrop{z-index:50;background:#0006;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:8px;width:min(520px,100%);max-height:90dvh;display:flex;overflow:auto}.modal h3{margin:0}.share-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.share-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 4px;display:flex}.share-list.pick{border:1px solid var(--line);border-radius:6px;max-height:240px;padding:0 6px;overflow:auto}.modal textarea{border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;padding:8px}.shared-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;padding:8px 10px;font-size:13px}.shared-note{margin-top:2px;font-style:italic}.budget{flex-direction:column;gap:1px;min-width:150px;font-size:11px;line-height:1.25;display:flex}.budget-line{grid-template-columns:52px 1fr 32px;align-items:center;gap:6px;display:grid}.budget-label{color:var(--muted)}.budget-bar{background:#eceef1;border-radius:3px;height:6px;overflow:hidden}.budget-bar>span{border-radius:3px;height:100%;display:block}.budget-bar.green>span{background:#2e9e5b}.budget-bar.orange>span{background:#e08a00}.budget-bar.red>span{background:#c8102e}.budget-pct{text-align:right;font-weight:600}.budget-pct.green{color:#2e9e5b}.budget-pct.orange{color:#b06c00}.budget-pct.red{color:#c8102e}.budget-blocked{color:#8a0b20;background:#fbe9ec;border:1px solid #f1b9c3;border-radius:8px;padding:8px 10px;font-size:13px}@media (width<=760px){.budget{min-width:120px}.budget-line{grid-template-columns:50px 1fr 30px}}.share-row{align-items:flex-start;gap:10px;display:flex}.share-icon{font-size:20px;line-height:1.2}.share-title{word-break:break-word;font-weight:600}.mini-select{padding:1px 4px;font-size:11px}@media (width<=760px){.mini-select{font-size:16px}}.tiers{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:6px 12px}.tiers ul{gap:6px;margin:6px 0;padding:0;list-style:none;display:grid}.tier-price{color:var(--ok);font-weight:700}.login .button.sso{text-align:center;margin-top:4px;display:block}
