:root{--ink: #1C2321;--ink2: #3A4340;--mute: #5B6461;--line: #E1E3DF;--soft: #ECEDEA;--bg: #F3F4F1;--card: #FFFFFF;--acc: #1F6F66;--acc-dark: #165249;--acc-soft: #E2F0EC;--acc-pale: #D6ECE7;--warn: #8A4310;--warn-soft: #FFF1E2;--bad: #A3291F;--bad-soft: #FBE7E4}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--acc)}.app{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;padding:20px 16px 96px;display:flex;flex-direction:column;gap:12px}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.eyebrow{font-size:13px;color:var(--mute);font-weight:600}h1{margin:2px 0 0;font-size:24px;font-weight:800;letter-spacing:-.3px}h2{margin:0;font-size:15px;font-weight:800}.card{background:var(--card);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.card.dark{background:var(--ink);color:#fff}.card.accent{background:var(--acc);color:#fff}.card.outline{border:2px solid var(--acc)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.row.top-align{align-items:flex-start}.wrap{display:flex;flex-wrap:wrap;gap:6px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tile{background:var(--card);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.tile.soft{background:var(--bg)}.tile .k{font-size:12px;color:var(--mute);font-weight:600}.tile .v{font-size:19px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.big{font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1.1}.muted{color:var(--mute)}.small{font-size:12px}.s13{font-size:13px}.b{font-weight:800}.ok{color:var(--acc)}.warn{color:var(--warn)}.bad{color:var(--bad)}.on-dark{color:#b9c2bf}.on-acc{color:var(--acc-pale)}.sep{border-top:1px solid var(--soft);padding-top:8px}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--soft);color:var(--ink2)}.chip.ok{background:var(--acc-soft);color:var(--acc-dark)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.btn{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #C9CDC8;background:#fff;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:var(--ink)}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.danger{color:var(--bad);border-color:#e6b8b2}.btn.small{min-height:36px;padding:0 10px;font-size:13px;border-radius:10px}.btn.block{width:100%}.btn.sel{background:var(--ink);color:#fff;border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.pill{padding:6px 12px;border-radius:999px;background:#fff;font-size:13px;font-weight:600;border:0;cursor:pointer;min-height:36px}.pill.sel{background:var(--ink);color:#fff;font-weight:700}label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700}input.in,select.in,textarea.in{height:44px;border:1px solid #C9CDC8;border-radius:10px;padding:0 12px;font-size:16px;font-weight:600;background:#fff;width:100%}textarea.in{height:72px;padding:10px 12px}.found{background:var(--acc-soft);border-radius:10px;padding:10px 12px;color:var(--acc-dark);display:flex;flex-direction:column;gap:2px}.alert{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700}.note{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}.bar{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}.bar>div{height:100%;background:var(--acc)}.card.dark .bar{background:var(--ink2)}nav.tabs{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);z-index:10}nav.tabs>div{max-width:560px;width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}nav.tabs a{min-height:60px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--mute);text-decoration:none}nav.tabs a.active{color:var(--acc);font-weight:800}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181673;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;overflow:auto;border-radius:18px 18px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.day{height:48px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;cursor:pointer;background:var(--acc-soft);color:var(--acc-dark);padding:0}.day .n{font-size:13px;font-weight:800}.day .a{font-size:10px;font-weight:600}.day.zero{background:var(--bg);color:var(--mute)}.day.future{background:transparent;color:#a4aaa7;cursor:default}.day.sel{background:var(--ink);color:#fff}.bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end;height:100px}.bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100px}.bars .lbl{font-size:10px;font-weight:700;color:var(--ink2)}.bars .col{width:100%;border-radius:4px;background:var(--acc)}.bars .col.none{background:#e8c9a8}.demo{background:var(--warn-soft);color:var(--warn);font-size:12px;font-weight:700;text-align:center;padding:6px}.list-btn{all:unset;cursor:pointer;display:block}.list-btn:focus-visible,.btn:focus-visible,.pill:focus-visible,.day:focus-visible{outline:3px solid #7FB8AF;outline-offset:2px}.spin{padding:40px;text-align:center;color:var(--mute)}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t td,table.t th{padding:6px 4px;border-bottom:1px solid var(--soft);text-align:left}table.t th{color:var(--mute);font-weight:700;font-size:12px}table.t td.n,table.t th.n{text-align:right;white-space:nowrap}.scroll-x{overflow-x:auto}.acc{color:var(--acc)}a.linkrow,button.linkrow{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;color:inherit;padding:6px 0;background:none;border:0;width:100%;font:inherit;text-align:left;cursor:pointer}.linkrow>:last-child:after{content:" ›";color:var(--mute);font-weight:700}.linkrow:active{background:var(--soft)}.plus{color:#237a35}.minus{color:var(--bad)}.bal{color:#1f5fbf}.month-h{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--mute);text-transform:uppercase}.tile.link{text-decoration:none;color:inherit}.tile.link .k:after{content:" ›"}
