:root{--color-ink:#100904;--color-text:#221a12;--color-text-secondary:#4a3f33;--color-text-tertiary:#5c5143;--color-text-muted:#8a7a66;--color-bg-root:#ede2cd;--color-bg-page:#f4ebdb;--color-bg-card:#fffdf7;--color-bg-tile:#ede2cd;--color-hairline:#10090429;--color-hairline-subtle:#1009041a;--color-hairline-subtle-alt:#1009041f;--color-hairline-on-dark:#ffedd72e;--color-hairline-on-dark-strong:#ffedd752;--color-accent:#e08e3c;--color-accent-hover:#c97c2f;--color-accent-tint:#e08e3c33;--color-accent-tint-strong:#e08e3c57;--color-accent-deep:#a05f17;--color-accent-deeper:#6e4512;--color-accent-pale-on-dark:#ffd9ae;--color-on-dark-text:#ffedd7;--color-on-dark-muted:#ffedd7bf;--color-on-dark-muted-strong:#ffedd7d1;--color-chip-bg:#10090414;--color-status-green:#7e9474;--color-status-amber:#bc9460;--color-status-salmon:#c0867b;--color-status-red:#a4534a;--color-selection-bg:#e08e3c;--color-selection-text:#100904;--color-arrow-dim:#5c5143;--color-bar-track:#10090414;--color-typing-dot:#10090459;--color-case-logo-stroke:#a08c70;--color-logo-stroke:#ffedd780;--radius-pill:99px;--radius-card:14px;--radius-block:16px;--radius-block-lg:18px;--radius-input:12px;--radius-chip:10px;--radius-button:9px;--hit-target-min:44px;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"DM Mono", "Courier New", monospace;--font-size-body:15px;--font-size-body-sm:14px;--font-weight-heading:800;--letter-spacing-heading:-.02em;--font-size-caption:12px;--letter-spacing-caption:.16em}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--color-bg-root);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}a{color:var(--color-accent-deep);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-ink);margin:0}.caption{font-family:var(--font-mono);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-caption);text-transform:uppercase;color:var(--color-text-muted)}.btn{appearance:none;border-radius:var(--radius-button);font:inherit;cursor:pointer;background:var(--color-ink);color:var(--color-on-dark-text);min-height:var(--hit-target-min);border:1px solid #0000;padding:9px 16px;font-weight:600}.btn:hover{background:color-mix(in srgb, var(--color-ink) 92%, white)}.btn--accent{background:var(--color-accent);color:var(--color-ink)}.btn--accent:hover{background:var(--color-accent-hover)}.btn--ghost{color:var(--color-text-secondary);border-color:var(--color-hairline);background:0 0}.btn--ghost:hover{background:var(--color-bg-tile)}.btn:disabled{opacity:.5;cursor:not-allowed}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-head__sub{color:var(--color-text-tertiary);margin:4px 0 0}.state{color:var(--color-text-tertiary)}.state--error{color:var(--color-status-red)}.card{background:var(--color-bg-card);border:1px solid var(--color-hairline);border-radius:var(--radius-card);overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-body-sm)}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-hairline);background:var(--color-bg-tile);padding:12px 16px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--color-hairline-subtle);color:var(--color-text-secondary);vertical-align:middle;padding:12px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-clickable:hover td{background:var(--color-bg-tile)}.mono{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:12px}.empty{text-align:center;color:var(--color-text-muted);padding:28px 16px}.sform{gap:16px;max-width:780px;display:grid}.sform__card{gap:14px;padding:20px 22px;display:grid}.sform__two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sform .field{align-content:start;gap:6px;display:grid}.sform .field__label{font-size:var(--font-size-body-sm);color:var(--color-text-muted)}.sform .field__label em{color:var(--color-accent-deep);font-style:normal}.sform input[type=text],.sform input[type=number],.sform textarea,.sform select{font:inherit;border:1px solid var(--color-hairline);border-radius:var(--radius-input);background:var(--color-bg-page);color:var(--color-text);resize:vertical;box-sizing:border-box;width:100%;padding:9px 12px}.sform .hint{font-size:var(--font-size-body-sm);color:var(--color-text-muted);margin:0}@media (width<=720px){.sform__two{grid-template-columns:1fr}}.grid-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-filter,.grid-search{font:inherit;border:1px solid var(--color-hairline);border-radius:var(--radius-input);background:var(--color-bg-card);color:var(--color-text);padding:8px 12px}.grid-search{min-width:200px}.btn--danger{background:var(--color-status-red);color:var(--color-bg-card)}.btn--danger:hover{background:color-mix(in srgb, var(--color-status-red) 85%, black)}
