:root{color-scheme:light dark;--accent: #0B7A6B;--accent-soft: #D6EFE9;--accent-strong: #075E52;--ink: #14181F;--muted: #586172;--line: #E5E7E3;--bg: #FBFBF9;--surface: #FFFFFF;--danger: #B4231C;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--accent: #37C9AC;--accent-soft: #113A33;--accent-strong: #5FD8C0;--ink: #EAECEA;--muted: #98A2B0;--line: #272D36;--bg: #0F1216;--surface: #161A20;--danger: #F0857D}button.primary{color:#06231e}}*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:.92em}.nav{display:flex;gap:1.25rem;align-items:baseline;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line)}.nav .brand{font-family:var(--font-mono);font-weight:700;color:var(--ink)}.nav .spacer{flex:1}.nav button{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit}.nav-menu{display:contents}.nav-toggle{display:none}@media(max-width:48rem){.nav{flex-wrap:wrap;align-items:center;row-gap:0}.nav .nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:.25rem;color:var(--ink)}.nav-menu{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.nav-menu[data-open=true]{display:flex}.nav-menu .spacer{display:none}}.page{max-width:64rem;margin:1.5rem auto;padding:0 1.5rem}.page h1{font-size:1.25rem;margin:0 0 1rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--line)}th{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:none}@media(max-width:48rem){.table-scroll table{min-width:38rem}}input,select{font:inherit;color:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:4px;background:var(--surface)}input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input.inline{width:100%;border-color:transparent;background:transparent}input.inline:hover{border-color:var(--line)}input.inline:focus{background:var(--surface)}button.primary{font:inherit;padding:.4rem .9rem;border:none;border-radius:4px;background:var(--accent);color:#fff;cursor:pointer}button.primary:disabled{opacity:.5;cursor:default}button.quiet{font:inherit;padding:.35rem .7rem;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer;color:var(--ink)}button.danger{color:var(--danger);border-color:currentColor}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1rem}.qr-chip{background:#fff;padding:.75rem;border-radius:6px;align-self:flex-start}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:1rem}.grid-2{display:grid;grid-template-columns:minmax(16rem,20rem) 1fr;gap:1.5rem;align-items:start}.muted{color:var(--muted)}.error{color:var(--danger)}.login{max-width:22rem;margin:6rem auto}label.field{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted)}label.field>input,label.field>select{font-size:.9rem;color:var(--ink)}tr.add-row td{background:color-mix(in srgb,var(--accent) 4%,transparent);border-bottom-width:2px}tr.add-row input{width:100%}.callout{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:8px;padding:.65rem .9rem;font-size:.9rem}.stat{display:flex;flex-direction:column;gap:.15rem;flex:1}.stat .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stat .stat-value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:48rem){.grid-2{grid-template-columns:1fr}}@media(max-width:48rem){input,select,textarea{font-size:16px}}@media(max-width:48rem){.stat{flex-basis:100%}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border-radius:10px;padding:1rem;width:min(28rem,92vw);display:flex;flex-direction:column;gap:.6rem}
