:root{--bg:#f6f5f1;--surface:#fff;--text:#1d2420;--muted:#66706a;--border:#e1ded6;--accent:#1f6f5c;--accent-text:#fff;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font:16px/1.6 system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#141816;--surface:#1d2320;--text:#e8ece9;--muted:#96a09a;--border:#2c3430;--accent:#4fb89d;--accent-text:#0c1411}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}#root{min-height:100dvh;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}.shell{max-width:560px;margin:0 auto;padding:48px 0}.shell h1{margin:0 0 20px;font-size:1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:16px;padding:20px;display:grid}.card p{margin:0}label{color:var(--muted);gap:6px;font-size:.9rem;display:grid}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:16px}button{font:inherit;color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:8px;padding:12px 16px}button:disabled{opacity:.6}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:16px}button.danger{color:#b3261e;border:1px solid var(--border);background:0 0}button.link{color:var(--muted);background:0 0;padding:4px 0;font-size:.85rem}.error{color:#b3261e}.bar{justify-content:space-between;align-items:baseline;display:flex}.monthnav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.monthnav button{width:48px;padding:8px}.total{margin-bottom:20px}.total strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.list{gap:8px;margin:0;padding:0 0 96px;list-style:none;display:grid}.list[hidden]{display:none}.empty{color:var(--muted);text-align:center;padding:32px 0}.row{text-align:left;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);grid-template-columns:3.2rem 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.row .date{color:var(--muted);font-variant-numeric:tabular-nums}.row .main{min-width:0;display:grid}.row .store{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row .amount{font-variant-numeric:tabular-nums;font-weight:600}.hint{color:var(--accent);font-size:.8rem}.notice{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:8px;padding:10px 12px;font-size:.9rem}.notice.warn{background:#d98e042e}label.check input{background:color-mix(in srgb, #d98e04 12%, var(--bg));border-color:#d98e04}label.check em{color:#b87500;margin-left:8px;font-style:normal;font-weight:600}.receipt-btn{color:inherit;background:0 0;justify-items:center;gap:6px;padding:0;display:grid}.receipt-img{object-fit:contain;border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:220px}.zoom{z-index:10;padding:env(safe-area-inset-top) 8px env(safe-area-inset-bottom);color:#fff;background:#000000eb;align-content:center;place-items:center;gap:8px;display:grid;position:fixed;inset:0;overflow:auto}.zoom img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 64px)}.fab.secondary-fab{color:var(--text);background:var(--surface);border:1px solid var(--border)}.cam{left:max(16px,50% - 280px);bottom:calc(16px + env(safe-area-inset-bottom));border-radius:999px;padding:14px 22px;position:fixed;box-shadow:0 4px 14px #00000040}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid}.tabs button{color:var(--muted);background:0 0;padding:8px}.tabs button[aria-selected=true]{color:var(--accent-text);background:var(--accent)}.section{margin-bottom:16px}.section h2{margin:0;font-size:1rem}.bars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.bar-head{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.num{font-variant-numeric:tabular-nums}.track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.fill{background:var(--accent);height:100%}.fab{right:max(16px,50% - 280px);bottom:calc(16px + env(safe-area-inset-bottom));border-radius:999px;padding:14px 22px;position:fixed;box-shadow:0 4px 14px #00000040}.meta{color:var(--muted);margin:0}
