:root{--bg-app:#f1f1ef;--bg-panel:#f7f7f5;--bg-canvas:#fcfcfb;--bg-raised:#fff;--bg-hover:#eaeae7;--bg-sel:#e9f0ee;--line:#e2e2de;--line-2:#cfcfc9;--ink:#111218;--ink-2:#32343b;--ink-3:#6b6d76;--acc:#0e6e63;--acc-hi:#0b5a51;--acc-soft:#e4efed;--acc-line:#a9ccc6;--att:#a85b12;--att-soft:#faf1e4;--att-line:#e4cba4;--slate:#43536b;--radius:3px;--pilot-bg:#fff3b0;--pilot-line:#e0c341;--app:var(--bg-app);--panel:var(--bg-panel);--canvas:var(--bg-canvas);--raised:var(--bg-raised);--ink-muted:var(--ink-3);--accent:var(--acc);--attention:var(--att);--border:var(--line);--chip-contract:var(--acc);--chip-statute:var(--slate);--chip-research:var(--att);--font-body:"Instrument Sans", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-wordmark:"Orbitron", var(--font-body);--appbar-height:52px;--text-sm:.8125rem;--text-md:.875rem}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-canvas);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;line-height:1.5}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.shell{grid-template-rows:var(--appbar-height) 1fr;grid-template-columns:220px 1fr;height:100%;display:grid}.appbar{background:var(--bg-app);border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:15px;padding:0 18px;display:flex}.wordmark,button.wordmark{font-family:var(--font-wordmark);letter-spacing:.16em;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:13.5px;font-weight:600}button.wordmark:hover{color:var(--acc);background:0 0}.appbar-label{color:var(--ink);letter-spacing:-.01em;font-size:13px;font-weight:600}.appbar-logout{margin-left:auto}.rail{background:var(--bg-app);border-right:1px solid var(--line);padding:18px 14px;overflow-y:auto}.rail ul{margin:0;padding:0;list-style:none}.rail li{margin-bottom:2px}.main{background:var(--bg-canvas);padding:26px 34px 44px;overflow:auto}.main h1{letter-spacing:-.025em;margin:0 0 16px;font-size:22px;font-weight:600}.main h2{letter-spacing:-.015em;font-size:15px;font-weight:600}.card{background:var(--bg-raised);border:1px solid var(--line-2);border-radius:var(--radius);padding:16px}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.state-ok{color:var(--acc)}.state-bad{color:var(--att)}.notice{border:1px solid var(--att-line);border-left:2px solid var(--att);border-radius:var(--radius);background:var(--att-soft);margin-bottom:16px;padding:10px 14px}.pilot-banner{background:var(--pilot-bg);border:1px solid var(--pilot-line);border-radius:var(--radius);color:var(--ink);margin:0 0 20px;padding:10px 14px;font-weight:700}@media (width<=720px){.shell{grid-template-columns:1fr}.rail{display:none}.main{padding:18px 16px 32px}}.loading{padding:24px}.login{background:var(--bg-app);place-items:center;min-height:100%;padding:16px;display:grid}.login-card{background:var(--bg-raised);border:1px solid var(--line-2);border-radius:var(--radius);gap:8px;width:min(380px,100%);padding:24px;display:grid}.login-card h1{margin:0 0 8px;font-size:1.25rem}.login-card input,.directory-search input,.entity-form input,.field input,.field select,.field textarea,.row-actions input{font:inherit;color:var(--ink);background:var(--bg-raised);border:1px solid var(--line-2);border-radius:var(--radius);padding:7px 10px;font-size:13px}button{font:inherit;border-radius:var(--radius);border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer;padding:7px 15px;font-size:12.5px;font-weight:600}button:hover:not(:disabled){background:var(--acc-hi);border-color:var(--acc-hi)}button.secondary{background:var(--bg-raised);color:var(--ink-2);border-color:var(--line-2);font-weight:500}button.secondary:hover:not(:disabled){background:var(--bg-raised);border-color:var(--ink-3);color:var(--ink)}button:disabled{opacity:.6;cursor:default}.form-error{color:var(--att);margin:4px 0}.backdrop{background:#1112188c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--bg-raised);border-radius:var(--radius);border-top:4px solid var(--att);max-width:520px;padding:24px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.sections{border:1px solid var(--line-2);border-radius:var(--radius);flex-direction:column;margin-bottom:16px;display:flex;overflow:hidden}.sections>.card{border:none;border-bottom:1px solid var(--line);border-radius:0;padding:18px 20px}.sections>.card:last-child{border-bottom:none}.sections>.card:nth-child(odd){background:var(--bg-app)}.sections>.card:nth-child(2n){background:var(--bg-raised)}.sections h2{margin:0 0 10px}.muted{color:var(--ink-3)}button.nav-link{color:var(--ink-2);text-align:left;border-radius:var(--radius);background:0 0;border:none;border-left:2px solid #0000;width:100%;padding:7px 10px;font-size:13.5px;font-weight:400;display:block}button.nav-link:hover:not(:disabled){background:var(--bg-hover);color:var(--ink);border-color:#0000}button.nav-link.active{background:var(--bg-sel);color:var(--ink);border-left-color:var(--acc);border-radius:0 var(--radius) var(--radius) 0;font-weight:600}.directory-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.directory-search{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 16px;display:flex}.directory-body{display:block}.list-hint{text-align:right;margin:0 0 8px;font-size:13px}.entity-list,.directory-list ul{border:1px solid var(--line-2);border-radius:var(--radius);margin:0 0 12px;padding:0;list-style:none;overflow:hidden}.entity-list>li{border-bottom:1px solid var(--line)}.entity-list>li:last-child{border-bottom:none}button.entity-row{text-align:left;width:100%;color:var(--ink);background:var(--bg-raised);border:none;border-left:2px solid #0000;border-radius:0;gap:2px;padding:11px 14px;font-size:13.5px;font-weight:400;display:grid}.entity-list>li:nth-child(odd)>button.entity-row{background:var(--bg-app)}.entity-list>li:nth-child(2n)>button.entity-row{background:var(--bg-raised)}.entity-list>li>button.entity-row:hover:not(:disabled){background:var(--bg-hover);border-left-color:#0000}.entity-list>li>button.entity-row.selected,.entity-list>li>button.entity-row.selected:hover:not(:disabled){background:var(--bg-sel);border-left-color:var(--acc)}.entity-name{letter-spacing:-.01em;font-weight:600}.entity-detail{background:var(--bg-raised);border-top:1px solid var(--line);border-left:2px solid var(--acc);padding:16px 18px}.entity-detail.new-entry{border:1px solid var(--acc-line);border-left:2px solid var(--acc);border-radius:var(--radius);margin-bottom:12px}.entity-form{background:var(--bg-raised);border:1px solid var(--line-2);border-radius:var(--radius);gap:8px;padding:16px;display:grid}.field{gap:4px;display:grid}input[aria-invalid=true]{border-color:var(--att)}.badge{border:1px solid var(--line-2);border-radius:var(--radius);font-size:var(--text-sm);background:var(--bg-raised);padding:0 6px;display:inline-block}.scope-tenant{border-color:var(--chip-statute);color:var(--chip-statute)}.scope-user{border-color:var(--acc-line);color:var(--acc)}.tabs{border-bottom:1px solid var(--line-2);flex-wrap:wrap;gap:2px;margin:8px 0;display:flex}button.tab{color:var(--ink-3);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:9px 13px;font-weight:500}button.tab:hover:not(:disabled){color:var(--ink);background:0 0;border-color:#0000}button.tab.active,button.tab.active:hover:not(:disabled){color:var(--ink);border-bottom-color:var(--acc);font-weight:600}.grid-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;display:grid}fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);margin:12px 0;padding:12px}legend{padding:0 4px;font-weight:600}.hint{font-size:var(--text-sm)}.item-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-canvas);margin-bottom:8px;padding:10px}.row-actions{flex-wrap:wrap;align-items:end;gap:8px;margin:6px 0;display:flex}.grid-scroll{max-width:100%;overflow-x:auto}.period-grid{border-collapse:collapse}.period-grid th,.period-grid td{border:1px solid var(--line);white-space:nowrap;padding:2px 4px}.period-grid input.cell{background:0 0;border:none;width:7.5em}.period-grid tr.misaligned th{background:var(--att-soft)}.json,.json-view{width:100%;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word}.kv dt{font-weight:600}.kv dd{margin:0 0 6px}.findings{font-size:var(--text-sm)}.save-bar{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.picker{min-width:min(560px,100%)}.advanced{margin-top:12px}.dropzone{border:1px dashed var(--line-2);border-radius:var(--radius);text-align:center;background:var(--bg-raised);margin:16px 0;padding:22px}.dropzone.dragging{border-color:var(--acc);background:var(--acc-soft)}.chooser{cursor:pointer;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-raised);padding:6px 12px;display:inline-block}.chooser input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.chooser:focus-within{outline:2px solid var(--acc);outline-offset:2px}.progress{align-items:center;gap:12px;margin:8px 0;display:flex}.progress progress{flex:1}.pdf-preview{border:1px solid var(--line);border-radius:var(--radius);width:100%;height:70vh}.document-view .kv dd.mono{word-break:break-all}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.required-mark{color:var(--att);font-weight:600}.tab-panel{margin-top:0}.selection-badge .entity-name{font-weight:600}.field.checkbox{align-items:center;gap:8px;display:flex}.processing-row{display:contents}.query-history{padding:0;list-style:none}.creation-mode{align-items:center;gap:16px;display:flex}.creation-mode legend{font-weight:600}.creation-mode .radio{align-items:center;gap:6px;display:inline-flex}.field .label{font-weight:600}.advanced-overrides{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);margin:12px 0;padding:12px}.advanced-overrides summary{cursor:pointer;font-weight:600}.generated-from{border:1px solid var(--acc-line);border-left:2px solid var(--acc);border-radius:var(--radius);background:var(--acc-soft);margin:12px 0;padding:12px}.generated-from h3{margin:0 0 8px}
