:root{--bg:#f4f1ec;--surface:#fffdf9;--surface-2:#f0ebe3;--fg:#1d1a16;--muted:#6a625a;--line:#dcd4c9;--line-2:#c9bfb2;--accent:#c2410c;--accent-fg:#fff;--accent-soft:#fbe7dc;--primary:#1f2a37;--primary-fg:#fff;--good:#1a7f4b;--warn:#a85d00;--crit:#b42318;--shade-light:#f7f3e8;--shade-light-fg:#5d5134;--shade-medium:#e5edf7;--shade-medium-fg:#1e4d8a;--shade-dark:#2b2b2e;--shade-dark-fg:#f2f2f2;--font-display:"Archivo",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--radius:6px;--shadow:0 1px 2px rgba(0,0,0,.06),0 4px 14px rgba(0,0,0,.05)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141210;--surface:#1d1a16;--surface-2:#26221d;--fg:#f1ece4;--muted:#a79d90;--line:#36302a;--line-2:#4a4239;--accent:#f0804a;--accent-fg:#1a0d06;--accent-soft:#3a2317;--primary:#0f1620;--primary-fg:#e8eef6;--good:#4ade80;--warn:#fbbf24;--crit:#f87171;--shade-light:#f2ecdc;--shade-light-fg:#4a4022;--shade-medium:#2b4668;--shade-medium-fg:#dbe8ff;--shade-dark:#0e0e10;--shade-dark-fg:#e8e8e8;color-scheme:dark}}:root[data-theme=dark]{--bg:#141210;--surface:#1d1a16;--surface-2:#26221d;--fg:#f1ece4;--muted:#a79d90;--line:#36302a;--line-2:#4a4239;--accent:#f0804a;--accent-fg:#1a0d06;--accent-soft:#3a2317;--primary:#0f1620;--primary-fg:#e8eef6;--good:#4ade80;--warn:#fbbf24;--crit:#f87171;--shade-light:#f2ecdc;--shade-light-fg:#4a4022;--shade-medium:#2b4668;--shade-medium-fg:#dbe8ff;--shade-dark:#0e0e10;--shade-dark-fg:#e8e8e8;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 var(--font-body)}a{color:inherit}.topbar{background:var(--primary);color:var(--primary-fg);display:flex;align-items:center;gap:18px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));position:sticky;top:0;z-index:9}.topbar .brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.topbar .logo{width:38px;height:38px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #ffffff2e}.topbar .mark{width:32px;height:32px;border-radius:4px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font:800 13px var(--font-display);flex:none}.topbar h1{font:700 15px/1.1 var(--font-display);margin:0;white-space:nowrap}.topbar nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:8px}.topbar nav a{text-decoration:none;font:600 12.5px var(--font-body);padding:6px 10px;border-radius:4px;opacity:.85;letter-spacing:.2px}.topbar nav a:hover,.topbar nav a[aria-current=page]{background:#ffffff1f;opacity:1}.topbar nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}.topbar .spacer{flex:1}.topbar .cta{background:var(--accent);color:var(--accent-fg);text-decoration:none;font:700 12.5px var(--font-body);padding:7px 12px;border-radius:4px}main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 48px;max-width:1440px;margin:0 auto}h2.page{font:700 20px var(--font-display);margin:0 0 14px;letter-spacing:.2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0}.card h3{font:700 12px var(--font-display);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}label.f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:0}label.f>span{font-weight:500}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line-2);border-radius:4px;padding:6px 8px;min-width:0}input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button,a.button{display:inline-block;text-decoration:none;line-height:1.2;font:600 12.5px var(--font-body);border:1px solid var(--line-2);background:var(--surface-2);color:var(--fg);padding:7px 11px;border-radius:4px;cursor:pointer}button:hover,a.button:hover{border-color:var(--accent);color:var(--fg)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.ghost{background:transparent;border-color:transparent;color:var(--muted);padding:4px 6px}button.ghost:hover{color:var(--crit)}.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{font:600 11px var(--font-body);letter-spacing:.4px;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}.pill{display:inline-block;font:600 10.5px var(--font-body);letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.pill.stage{background:var(--surface-2);color:var(--fg);border:1px solid var(--line-2)}.pill.quote{background:var(--shade-medium);color:var(--shade-medium-fg)}.pill.invoice{background:var(--shade-light);color:var(--shade-light-fg)}.pill.urgent{background:#fde2e1;color:var(--crit)}.pill.express{background:#fff1d6;color:var(--warn)}.shade{display:inline-flex;align-items:center;font:600 10.5px var(--font-body);letter-spacing:.4px;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap}.shade.light{background:var(--shade-light);color:var(--shade-light-fg)}.shade.medium{background:var(--shade-medium);color:var(--shade-medium-fg)}.shade.dark{background:var(--shade-dark);color:var(--shade-dark-fg)}.shade.default{outline:1px dashed var(--warn)}.kv{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}.kv:last-child{border-bottom:0}.kv .k{color:var(--muted)}.kv .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kv.sub .k{padding-left:12px;font-size:12px}.kv.total{border-top:2px solid var(--fg);border-bottom:0;margin-top:6px;padding-top:10px}.kv.total .k{color:var(--fg);font:700 14px var(--font-display)}.kv.total .v{font:700 20px var(--font-display)}.note{font-size:11.5px;color:var(--muted);padding:2px 0 2px 12px;line-height:1.35}.hint{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat .l{font:600 11px var(--font-body);letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}.stat .v{font:700 22px var(--font-display);font-variant-numeric:tabular-nums;margin-top:2px}.good{color:var(--good)}.warn{color:var(--warn)}.crit{color:var(--crit)}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:12.5px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}label.check{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;white-space:nowrap}label.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
