:root{--bg: #ffffff;--fg: #161616;--muted: #5d5b56;--line: #e3e0d8;--line-strong: #c9c5ba;--soft: #f6f4ee;--gold: #c6a96a;--gold-ink: #7a5f24;--accent: #7a5f24;--on: #161616;--on-fg: #ffffff;--cash: #a61e2d;--ok: #1d6b3a;--warn: #8a5a00;--danger: #a61e2d;--ink-dark: #0d0d0d;--radius: 8px;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--gutter: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #121313;--fg: #ecebe6;--muted: #a9a79f;--line: #2d2e2e;--line-strong: #4a4b4a;--soft: #1b1c1c;--gold-ink: #d8bd83;--accent: #d8bd83;--on: #ecebe6;--on-fg: #121313;--cash: #ff8f98;--ok: #7fd39b;--warn: #f0c060;--danger: #ff8f98;color-scheme:dark}}:root[data-theme=dark]{--bg: #121313;--fg: #ecebe6;--muted: #a9a79f;--line: #2d2e2e;--line-strong: #4a4b4a;--soft: #1b1c1c;--gold-ink: #d8bd83;--accent: #d8bd83;--on: #ecebe6;--on-fg: #121313;--cash: #ff8f98;--ok: #7fd39b;--warn: #f0c060;--danger: #ff8f98;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans);font-variant-numeric:tabular-nums;overflow-x:hidden}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip{position:absolute;left:8px;top:-60px;background:var(--on);color:var(--on-fg);padding:8px 12px;border-radius:6px;z-index:50}.skip:focus{top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:var(--fg)}.btn.primary{background:var(--on);color:var(--on-fg);border-color:var(--on)}.btn.primary:hover{opacity:.92}.btn.gold{background:var(--gold);color:#141414;border-color:var(--gold)}.btn.danger{color:var(--danger);border-color:currentColor}.btn.ghost{border-color:transparent;background:transparent}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.btn.block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius);border:1px solid transparent;background:transparent;cursor:pointer;color:inherit}.icon-btn:hover{border-color:var(--line-strong)}.linklike{border:0;background:none;padding:6px 0;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-weight:500}.field{display:grid;gap:6px;min-width:0}.field>span,.label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.01em}.input,.select,textarea.input{width:100%;min-width:0;height:44px;padding:0 12px;font-size:16px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--fg)}textarea.input{height:auto;min-height:88px;padding:10px 12px}.input:focus-visible,.select:focus-visible{outline-offset:0}.hint{font-size:13px;color:var(--muted);margin:0}.status{font-size:14px;margin:0;padding:10px 12px;border-radius:var(--radius);border:1px solid currentColor}.status[data-kind=error]{color:var(--danger)}.status[data-kind=ok]{color:var(--ok)}.check{display:flex;align-items:center;gap:10px;min-height:40px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--on)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg);cursor:pointer;font-size:14px}.chip small{color:var(--muted);font-size:12px}.chip[aria-pressed=true]{background:var(--on);color:var(--on-fg);border-color:var(--on)}.chip[aria-pressed=true] small{color:inherit;opacity:.8}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;max-width:100%}.seg button{border:0;background:var(--bg);min-height:40px;padding:0 12px;cursor:pointer;font-size:14px}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--on);color:var(--on-fg)}.card{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:16px;display:grid;gap:12px;min-width:0}.card h2,.card h3{margin:0;font-size:17px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.danger{color:var(--danger)}.badge.muted{color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th,table.data td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.data th{font-size:12px;color:var(--muted);font-weight:600;background:var(--soft);position:sticky;top:0}table.data td.num,table.data th.num{text-align:right}.topbar{position:sticky;top:0;z-index:10;background:var(--ink-dark);color:#f2efe8;padding:8px var(--gutter-r) 8px var(--gutter);padding-top:max(8px,env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;min-height:56px}.topbar .brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.topbar .brand img{height:26px;width:auto}.topbar .who{font-size:13px;color:#cfcabe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar .spacer{flex:1 1 auto}.topbar .icon-btn{color:#f2efe8}.topbar .icon-btn:hover{border-color:#5a574f}.topbar :focus-visible{outline-color:var(--gold)}.page{padding:16px var(--gutter-r) 48px var(--gutter);max-width:1180px;margin-inline:auto;display:grid;gap:16px}.page-title{margin:4px 0 0;font-size:22px;font-family:var(--serif);font-weight:600}dialog.sheet{border:0;padding:0;width:min(560px,100%);max-width:100%;max-height:92vh;max-height:92dvh;border-radius:14px;background:var(--bg);color:var(--fg);box-shadow:0 20px 60px #00000059}dialog.sheet::backdrop{background:#0a0a0a8c}@media(max-width:599px){dialog.sheet{margin:auto 0 0;width:100%;border-radius:14px 14px 0 0;max-height:90vh;max-height:90dvh}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 8px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:1}.sheet-head h2{margin:0;font-size:17px}.sheet-body{padding:16px;display:grid;gap:14px}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:var(--bg)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--on);color:var(--on-fg);padding:10px 16px;border-radius:var(--radius);z-index:100;max-width:calc(100% - 32px);box-shadow:0 6px 24px #00000040;font-size:14px}.toast[data-kind=error]{background:var(--danger);color:#fff}details>summary{list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";flex:none;width:7px;height:7px;margin:0 10px 0 2px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;display:inline-block;vertical-align:2px}details[open]>summary:before{transform:rotate(45deg)}.empty{padding:32px 8px;color:var(--muted);text-align:center}.muted{color:var(--muted)}.row-flex{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grid-2{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:600px){.grid-2{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
