:root{--bg: #f1f3f8;--surface: #ffffff;--surface-2: #f6f7fb;--line: #e0e4ee;--line-2: #c9d0de;--fg: #121a2d;--muted: #56607c;--faint: #8790aa;--accent: #0a8581;--accent-strong: #066966;--accent-soft: #ddf1f0;--on-accent: #ffffff;--brass: #a87a22;--brass-soft: #f7eedb;--ok: #1b7c45;--ok-soft: #e0f2e8;--warn: #9d6410;--warn-soft: #fbefd6;--bad: #b9382a;--bad-soft: #fbe4e0;--info: #2c58b8;--info-soft: #e3ebfb;--side: #0d1530;--side-fg: #c4cce4;--side-dim: #7480a6;--side-line: rgba(255,255,255,.08);--side-active: rgba(255,255,255,.07);--shadow: 0 1px 2px rgba(15,23,48,.05), 0 10px 28px -14px rgba(15,23,48,.22);--f-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--r: 12px;color-scheme:light}:root[data-theme=dark]{--bg: #0a0f1e;--surface: #11192c;--surface-2: #0e1527;--line: #212b45;--line-2: #2e3a5b;--fg: #e6eaf5;--muted: #99a3c2;--faint: #6c7698;--accent: #33bdb6;--accent-strong: #6dd8d2;--accent-soft: #0f3536;--on-accent: #03201f;--brass: #e2b45c;--brass-soft: #352910;--ok: #52c98a;--ok-soft: #10301f;--warn: #e9b250;--warn-soft: #37280d;--bad: #f17c6a;--bad-soft: #3b1712;--info: #83a8f6;--info-soft: #152346;--side: #060a17;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 30px -14px rgba(0,0,0,.7);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-family:var(--f-display);font-weight:800;font-size:clamp(26px,3vw,34px);letter-spacing:-.025em;line-height:1.1;margin:4px 0 6px}h2{font-family:var(--f-display);font-weight:700;font-size:19px;letter-spacing:-.015em;margin:0}h3{font-family:var(--f-display);font-weight:700;font-size:15.5px;margin:0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono{font-family:var(--f-mono);font-size:12.5px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.page{max-width:1380px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head p{margin:0;color:var(--muted);max-width:64ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.card-head p{margin:2px 0 0;color:var(--muted);font-size:12.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-weight:600;font-size:13.5px;border:1px solid var(--line-2);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ok{background:var(--ok);border-color:var(--ok);color:var(--surface)}.btn.bad{color:var(--bad);border-color:var(--bad);background:var(--surface)}.btn .cnt{font-size:11px;font-weight:700;min-width:18px;padding:0 5px;border-radius:9px;background:var(--surface-2);color:var(--fg);border:1px solid var(--line-2)}.linkbtn{border:0;background:none;padding:0;color:var(--accent-strong);font-weight:600;font-size:12.5px;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted);border:0}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.pend{background:var(--brass-soft);color:var(--brass)}.chip.info{background:var(--info-soft);color:var(--info)}button.chip{cursor:pointer}.tag{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;padding:2px 7px;border-radius:5px;border:1px solid var(--line-2);color:var(--muted)}.tag.Create{color:var(--ok)}.tag.Update{color:var(--info)}.tag.Delete{color:var(--bad)}.actionbar{display:flex;align-items:center;gap:12px 16px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.actionbar .sel{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;font-size:12.5px;color:var(--muted)}.actionbar .sel b{font-size:14px;color:var(--fg)}.abtns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.abtns .sep{width:1px;height:22px;background:var(--line-2);margin:0 4px}.filters{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center}.fbtn{border:0;background:none;padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer}.fbtn.on{background:var(--accent-soft);color:var(--accent-strong)}.table-wrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;min-width:860px}table.grid th{text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}table.grid td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.grid tbody tr{cursor:pointer}table.grid tbody tr:hover td{background:var(--surface-2)}table.grid tbody tr.sel td{background:var(--accent-soft)}table.grid tr.locked td:first-child{box-shadow:inset 3px 0 0 var(--brass)}table.grid tr.returned td:first-child{box-shadow:inset 3px 0 0 var(--bad)}table.grid tr.ghost td{background-image:repeating-linear-gradient(135deg,transparent 0 8px,rgba(168,122,34,.07) 8px 9px)}.who b{display:block;font-weight:600}.who span{font-size:12px;color:var(--muted)}.empty{padding:28px 18px;text-align:center;color:var(--muted)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}dialog.modal{width:min(720px,calc(100% - 32px));max-height:calc(100% - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--fg);box-shadow:0 30px 80px -20px #060a178c}dialog.modal::backdrop{background:#060a1773;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog.modal form{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}dialog.modal header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}dialog.modal .fields{padding:18px 22px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}dialog.modal .full{grid-column:1 / -1}dialog.modal label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted)}dialog.modal input:not([type=checkbox]),dialog.modal select,dialog.modal textarea{height:40px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;background:var(--surface-2);width:100%}dialog.modal textarea{height:auto;min-height:80px;padding:10px 11px;resize:vertical}dialog.modal footer{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;align-items:center}.note{display:flex;gap:10px;padding:11px 13px;border-radius:10px;background:var(--accent-soft);font-size:12.5px}.note.bad{background:var(--bad-soft)}.err{color:var(--bad);font-size:12.5px;font-weight:600;margin-right:auto}@media(max-width:620px){dialog.modal{width:100%;max-width:100%;margin:auto 0 0;border-radius:20px 20px 0 0}dialog.modal .fields{grid-template-columns:1fr}dialog.modal footer .btn{flex:1}}dialog.modal.wide{width:min(900px,calc(100% - 32px))}.docview{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.docview header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.docview header p{margin:6px 0 0;font-size:13px;line-height:1.7}.docview .body{padding:18px 22px;overflow:auto;display:flex;flex-direction:column;gap:14px}.docview footer{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.docmeta{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:13px}.docmeta dt{color:var(--muted)}.docmeta dd{margin:0;white-space:pre-line}@media print{body *{visibility:hidden}dialog[open],dialog[open] *{visibility:visible}dialog[open]{position:absolute;inset:0;width:100%;max-height:none;border:0;box-shadow:none}dialog[open] footer,dialog[open] header .btn{display:none}}
