@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap');

:root { --bg:#0c111b; --surface:#101a27; --surface-2:#162231; --line:#243446; --text:#f0ede7; --muted:#94a1b0; --accent:#ed5b3d; --accent-dark:#b93f2b; --paper:#f0e8d8; --green:#80bd69; --blue:#7fa8d7; --radius:10px; font-family:Manrope, ui-sans-serif, system-ui, sans-serif; color:var(--text); background:var(--bg); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:radial-gradient(circle at 55% -20%, #162a3c 0, transparent 42%), var(--bg); }
.drop-overlay { position:fixed; z-index:100; inset:0; display:none; place-items:center; padding:24px; background:rgba(4,11,18,.76); backdrop-filter:blur(5px); pointer-events:none; }
.drop-overlay.visible { display:grid; }.drop-overlay.error .drop-card { border-color:#f07150; }.drop-overlay.success .drop-card { border-color:#82bd69; }
.drop-card { width:min(510px,100%); padding:36px; border:2px dashed var(--accent); border-radius:15px; color:var(--text); background:linear-gradient(145deg,rgba(27,45,63,.98),rgba(12,22,34,.98)); box-shadow:0 32px 90px rgba(0,0,0,.5); text-align:center; }.drop-card span { display:block; margin-bottom:10px; color:var(--accent); font-size:46px; line-height:1; }.drop-card strong { display:block; font-family:"Source Serif 4",serif; font-size:25px; }.drop-card small { display:block; margin-top:10px; color:#a7b5c4; line-height:1.5; }
.upload-dock { position:fixed; z-index:90; right:20px; bottom:20px; width:min(390px,calc(100vw - 28px)); display:none; overflow:hidden; border:1px solid #32485f; border-radius:11px; background:#101c2a; box-shadow:0 22px 60px rgba(0,0,0,.48); }.upload-dock.visible { display:block; animation:upload-dock-in .2s ease-out; }.upload-dock header { height:47px; padding:0 10px 0 15px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #2a3d51; background:#152434; }.upload-dock header strong { font-size:13px; }.upload-dock .icon-button { width:28px; height:28px; font-size:22px; }.upload-item { padding:13px 15px; border-bottom:1px solid rgba(42,61,81,.75); }.upload-item:last-child { border-bottom:0; }.upload-item-top { display:flex; align-items:flex-start; gap:9px; }.upload-item-icon { display:grid; flex:0 0 auto; place-items:center; width:26px; height:26px; border-radius:6px; background:#263a4e; color:#f07050; font-size:15px; }.upload-item-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:700; }.upload-item-status { margin:5px 0 7px 35px; color:#9eacba; font-size:11px; }.upload-item.error .upload-item-status { color:#ff8a68; }.upload-item.done .upload-item-status { color:#91c77b; }.upload-progress { height:4px; margin-left:35px; overflow:hidden; border-radius:99px; background:#263b4e; }.upload-progress i { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#e6583c,#ff8a5d); transition:width .15s linear; }.upload-item.processing .upload-progress i { width:100% !important; animation:processing-pulse 1.2s ease-in-out infinite; }.upload-item.done .upload-progress i { background:#82bd69; }.upload-item.error .upload-progress i { background:#f07150; }@keyframes upload-dock-in { from { opacity:0; transform:translateY(13px); } to { opacity:1; transform:none; } }@keyframes processing-pulse { 50% { opacity:.38; } }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.hidden { display:none !important; }
.app { min-height:100vh; display:grid; grid-template-columns:250px minmax(460px,1fr) minmax(360px, .73fr); overflow:hidden; }
.sidebar { min-height:100vh; display:flex; flex-direction:column; border-right:1px solid var(--line); background:rgba(7,13,22,.76); }
.logo { display:flex; align-items:center; gap:12px; height:74px; padding:0 17px; font-family:"Source Serif 4",serif; font-weight:700; font-size:22px; letter-spacing:.01em; border-bottom:1px solid var(--line); }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--accent); border-radius:5px; color:var(--accent); font-size:26px; font-family:"Source Serif 4",serif; line-height:1; }
.brand-mark.small { width:30px; height:30px; font-size:20px; }
.nav-list { padding:11px 7px; border-bottom:1px solid var(--line); }
.nav-list button { width:100%; display:grid; grid-template-columns:25px 1fr auto; align-items:center; gap:7px; border:0; border-radius:7px; padding:10px 10px; color:#c2cad3; background:transparent; text-align:left; font-size:13px; font-weight:600; }
.nav-list button:hover { background:#152334; color:var(--text); }
.nav-list button.active { color:var(--accent); background:#142334; box-shadow:inset 3px 0 var(--accent); }
.nav-list b { font-size:12px; color:#8d9aaa; font-weight:600; }
.section-title { padding:19px 17px 5px; color:#778697; text-transform:uppercase; font-size:10px; letter-spacing:.11em; font-weight:800; }
.collections { border:0; padding-top:3px; }
.collections button { grid-template-columns:20px 1fr; padding:8px 10px; }
.sidebar-bottom { margin-top:auto; padding:12px; border-top:1px solid var(--line); display:grid; gap:4px; }
.quiet,.secondary { border:0; border-radius:7px; padding:9px 10px; color:#aebac8; background:transparent; text-align:left; font-size:12px; }
.secondary { border:1px solid #304358; background:#101c2a; color:var(--text); font-weight:700; }
.quiet:hover,.secondary:hover { background:#172536; }
.workspace { min-width:0; border-right:1px solid var(--line); background:rgba(12,19,29,.54); }
.topbar { height:74px; padding:16px 20px; display:flex; gap:15px; align-items:center; border-bottom:1px solid var(--line); }
.search-wrap { flex:1; min-width:0; display:flex; align-items:center; gap:10px; height:43px; padding:0 12px; color:var(--muted); background:#121e2c; border:1px solid #26394c; border-radius:8px; }
.search-wrap span { font-size:24px; line-height:0; transform:rotate(-20deg); }
.search-wrap input { min-width:0; flex:1; border:0; outline:0; color:var(--text); background:transparent; font-size:14px; }
kbd { padding:3px 6px; border:1px solid #314257; border-bottom-color:#4c6078; border-radius:5px; color:#8796a7; font-size:10px; }
.primary { border:0; border-radius:7px; color:white; background:linear-gradient(135deg, #f26745, #d74a31); box-shadow:inset 0 1px rgba(255,255,255,.18), 0 4px 14px rgba(220,75,47,.2); font-weight:800; }
.primary:hover { filter:brightness(1.08); }
.upload-button { height:43px; padding:0 17px; white-space:nowrap; }
.results-header { height:53px; padding:0 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.results-header strong { font-family:"Source Serif 4",serif; font-size:18px; }
.results-header span { color:#8795a5; font-size:12px; }
.results { overflow:auto; max-height:calc(100vh - 127px); }
.result-row { width:100%; display:grid; grid-template-columns:45px minmax(0,1fr) 95px 88px; gap:12px; align-items:center; min-height:103px; padding:14px 20px; border:0; border-bottom:1px solid rgba(36,52,70,.78); color:var(--text); background:transparent; text-align:left; }
.result-row:hover,.result-row.active { background:linear-gradient(90deg, #132b41, #101c2a); }
.result-row.active { box-shadow:inset 3px 0 var(--accent); }
.ai-hit { display:inline-block; margin:5px 0 -1px 7px; padding:2px 5px; border:1px solid #44678b; border-radius:4px; color:#a9cce9; background:#102941; font:700 9px/1.15 ui-sans-serif,system-ui; font-style:normal; letter-spacing:.04em; text-transform:uppercase; }
.kind-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; font-size:17px; background:#29303c; color:var(--accent); }
.kind-invoice { background:#30352a; color:#e7c76f; }.kind-ticket { background:#392a2e; color:#fa6b47; }.kind-receipt { background:#34342d; color:#e7c76f; }.kind-correspondence { background:#292842; color:#a58aed; }.kind-file { background:#243540; color:#8cbed5; }
.row-main { min-width:0; }.row-main strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }.row-main p { margin:5px 0 0; color:#9ba8b6; font-size:12px; line-height:1.38; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }.row-source,.row-date { color:#a6b0bc; font-size:11px; }.row-date { text-align:right; }
.empty { padding:96px 34px; max-width:420px; margin:auto; text-align:center; }.empty>span { color:var(--accent); font-family:"Source Serif 4"; font-size:65px; }.empty h2 { margin:3px 0 10px; font-family:"Source Serif 4"; font-size:28px; }.empty p { color:var(--muted); line-height:1.6; font-size:14px; }.empty button { margin-top:14px; padding:12px 16px; }
.inspector { min-width:0; background:rgba(10,17,27,.84); }.inspector-head { height:74px; padding:0 20px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); color:#bbc6d2; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }.icon-button { width:30px; height:30px; border:0; background:transparent; color:#9cabbb; font-size:25px; line-height:1; border-radius:6px; }.icon-button:hover { background:#1d2a39; color:var(--text); }.detail-empty { max-width:260px; margin:130px auto; color:#718194; line-height:1.6; text-align:center; font-size:13px; }.inspector h2 { margin:20px 22px 14px; font-family:"Source Serif 4",serif; font-size:23px; line-height:1.15; }.preview { min-height:228px; margin:0 18px; padding:22px; display:flex; align-items:center; justify-content:center; border:1px solid #2e4052; border-radius:9px; background:linear-gradient(145deg,#1d2d3e,#12202e); overflow:hidden; }.preview .paper { width:88%; min-height:185px; padding:18px; color:#26303a; background:var(--paper); box-shadow:0 12px 28px rgba(0,0,0,.3); border-radius:4px; font-family:monospace; font-size:10px; overflow:hidden; }.rich-preview { max-height:245px; }.preview .file-glyph { font-size:60px; color:var(--accent); }.tabs { margin:20px 18px 0; display:flex; gap:22px; border-bottom:1px solid var(--line); }.tab { padding:0 0 10px; border:0; background:transparent; color:#8796a7; font-size:12px; }.tab.active { color:var(--text); box-shadow:inset 0 -2px var(--accent); }.metadata { padding:16px 22px; display:grid; gap:11px; }.meta-row { display:grid; grid-template-columns:116px 1fr; gap:9px; font-size:12px; }.meta-row dt { color:#8493a4; }.meta-row dd { margin:0; color:#d1d7df; overflow-wrap:anywhere; }.tags { display:flex; flex-wrap:wrap; gap:5px; }.tag { padding:4px 7px; border:1px solid #35506a; border-radius:5px; color:#aecdde; background:#122b45; font-size:10px; }.content { max-height:340px; overflow:auto; margin:16px 22px; padding:14px; border:1px solid #28394c; color:#c2ccd7; background:#101b28; font:12px/1.6 ui-monospace,monospace; }.content p { margin:0 0 12px; }.content h3 { margin:16px 0 7px; color:#f0ede7; font:700 13px/1.3 Manrope,ui-sans-serif,sans-serif; }.content-asset { display:inline-block; padding:3px 6px; border:1px solid #435a70; border-radius:4px; color:#9fb7cd; background:#142536; font:10px/1.3 Manrope,ui-sans-serif,sans-serif; }.content-table { display:grid; gap:1px; margin:11px 0; overflow:auto; border:1px solid #334a61; background:#334a61; }.content-table>div { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(130px,1fr); gap:1px; min-width:max-content; }.content-table span { padding:7px 8px; color:#dbe3eb; background:#172636; white-space:normal; }.download { display:block; margin:8px 22px 20px; color:#ff7958; font-size:12px; font-weight:700; }
.login-screen { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 15%, #1a3448 0, transparent 42%),var(--bg); }.login-card { width:min(400px,100%); padding:37px; border:1px solid #2b4055; border-radius:13px; background:rgba(14,25,38,.92); box-shadow:0 26px 80px rgba(0,0,0,.38); }.login-card .brand-mark { margin-bottom:20px; }.login-card h1 { margin:0; font-family:"Source Serif 4",serif; font-size:34px; }.login-card p { margin:9px 0 25px; color:var(--muted); font-size:13px; line-height:1.5; }.login-card label,.modal label { display:grid; gap:7px; color:#aeb9c5; font-size:12px; font-weight:700; }.login-card input,.modal input,.modal textarea,.modal select { width:100%; padding:11px 12px; border:1px solid #31455b; border-radius:7px; outline:0; background:#0c1724; color:var(--text); }.login-card input:focus,.modal input:focus,.modal textarea:focus { border-color:#df5c40; }.login-card .primary { width:100%; padding:12px; margin-top:20px; }.error { display:block; min-height:18px; margin-top:10px; color:#fa835f; font-size:12px; }
dialog { width:min(540px,calc(100vw - 30px)); padding:0; border:1px solid #31465b; border-radius:12px; color:var(--text); background:#101b29; box-shadow:0 30px 100px rgba(0,0,0,.58); }dialog::backdrop { background:rgba(1,5,10,.72); backdrop-filter:blur(3px); }.modal { padding:23px; display:grid; gap:15px; }.modal-head { display:flex; align-items:center; justify-content:space-between; }.modal h2 { margin:0; font-family:"Source Serif 4",serif; font-size:26px; }.modal p { margin:-4px 0 3px; color:var(--muted); font-size:12px; line-height:1.5; }.upload-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.dropzone { min-height:110px; display:grid !important; place-items:center; align-content:center; gap:7px; border:1px dashed #45617a; border-radius:8px; background:#0c1825; text-align:center; cursor:pointer; }.folder-dropzone { border-color:#765143; }.dropzone input { position:absolute; opacity:0; width:1px !important; }.dropzone span { color:#ff7655; font-size:14px; }.dropzone small { color:#8d9cac; font-weight:500; }.modal textarea { min-height:185px; resize:vertical; }.modal .primary { padding:12px; }.modal output { min-height:17px; color:#ff7a57; font-size:12px; }@media (max-width:520px) { .upload-choices { grid-template-columns:1fr; } }
.structure { max-height:345px; overflow:auto; margin:16px 22px; display:grid; gap:12px; }.structure-card { padding:12px; border:1px solid #2b4155; border-radius:8px; background:#101d2b; }.structure-card h3 { margin:0 0 7px; color:#dce5ec; font-size:12px; }.structure-card p { margin:0; color:#aebbc8; font-size:11px; line-height:1.55; }.structure-grid { display:grid; gap:7px; }.structure-field { display:grid; grid-template-columns:96px 1fr; gap:8px; font-size:11px; }.structure-field b { color:#8294a6; font-weight:600; }.structure-field span { color:#d7dfe6; overflow-wrap:anywhere; }.evidence { display:grid; gap:7px; }.evidence-item { padding:9px; border-left:2px solid #eb6848; background:#132235; }.evidence-item strong { display:block; margin-bottom:3px; color:#e8edf1; font-size:11px; }.evidence-item small { display:block; color:#9baaba; font:10px/1.42 ui-monospace,monospace; white-space:pre-wrap; }.artifact-links { display:flex; flex-wrap:wrap; gap:8px; }.artifact-links a { color:#9bc5e8; font-size:11px; }
@media (max-width:1050px) { .app { grid-template-columns:210px minmax(410px,1fr) 330px; }.result-row { grid-template-columns:40px minmax(0,1fr) 75px; }.row-source { display:none; } }
@media (max-width:780px) { .app { display:block; overflow:visible; }.sidebar { min-height:auto; position:sticky; top:0; z-index:4; flex-direction:row; align-items:center; overflow:auto; background:#0b121c; }.logo { height:56px; min-width:max-content; border:0; font-size:18px; }.sidebar .brand-mark { width:25px;height:25px;font-size:17px; }.sidebar .nav-list { display:flex; padding:6px; border:0; }.nav-list button { width:auto; min-width:max-content; display:flex; gap:5px; padding:8px; }.section-title,.collections,.sidebar-bottom { display:none; }.workspace { border:0; }.inspector { min-height:460px; border-top:1px solid var(--line); }.topbar { height:64px; padding:10px; }.upload-button { padding:0 10px; }.result-row { padding:12px; min-height:88px; grid-template-columns:38px minmax(0,1fr) 70px; }.results { max-height:none; }.preview { min-height:190px; }.inspector-head { height:55px; } }

.server-files-modal { width:min(760px,calc(100vw - 30px)); max-height:min(760px,calc(100vh - 30px)); overflow:auto; }.server-files-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:5px; padding:9px 10px; border:1px solid #2b4155; border-radius:7px; background:#0c1724; font-size:11px; }.server-files-breadcrumb button { border:0; padding:0; color:#a9cce9; background:transparent; cursor:pointer; }.server-files-breadcrumb span { color:#67798b; }.server-files-modal output { min-height:16px; color:#aebbc8; font-size:11px; }.server-files-list { display:grid; gap:5px; max-height:360px; overflow:auto; }.server-file-entry { display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:8px; width:100%; padding:9px 10px; border:1px solid #263b50; border-radius:6px; color:#dbe4eb; background:#111f2d; text-align:left; cursor:pointer; }.server-file-entry:hover { border-color:#d9684d; background:#172b3e; }.server-file-icon { color:#f07856; font-size:16px; text-align:center; }.server-file-entry span:nth-child(2) { display:grid; gap:3px; min-width:0; }.server-file-entry strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }.server-file-entry small { color:#8497a9; font-size:10px; }.server-file-download { padding:3px 6px; color:#9bc5e8; font-size:16px; text-decoration:none; }.server-files-empty { color:#8d9cac; font-size:12px; }.server-files-preview { margin-top:12px; padding:8px; border:1px solid #2b4155; border-radius:7px; background:#0c1724; }.server-files-preview img { display:block; max-width:100%; max-height:320px; margin:auto; object-fit:contain; }.server-files-preview iframe { display:block; width:100%; height:360px; border:0; background:#fff; }
