:root{color-scheme:dark light;--bg:#0e1512;--fg:#eef2ee;--mut:#9aa8a0;--card:#17211c;--card2:#1e2b25;--line:#26352d;--a:#e0b100;--on-a:#1d2420;--g:#3fbf8a;--bad:#ff7a6b;--sh:0 10px 30px rgba(0,0,0,.35)}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f7f6f2;--fg:#1d2420;--mut:#5b665f;--card:#fff;--card2:#f0eee6;--line:#e3e1d8;--a:#d9a800;--g:#1f9a6a;--bad:#c9402f;--sh:0 10px 30px rgba(40,50,40,.14)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overscroll-behavior-y:none;touch-action:manipulation}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
svg{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
#app{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}
.top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.01em}
.brand img{width:34px;height:34px;border-radius:9px}
.ib{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;font-size:22px}
.view{flex:1;padding:8px 16px calc(96px + env(safe-area-inset-bottom))}
.month{display:flex;align-items:center;justify-content:space-between;margin:6px 0 4px}
.month .ib{width:40px;height:40px;font-size:20px}
.month h1{font-size:18px;margin:0;font-weight:600;text-transform:capitalize}
.total{background:linear-gradient(135deg,#1b3a2d,#102119);color:#eef2ee;border:1px solid #2c5a45;border-radius:20px;padding:18px 20px;margin:10px 0 14px;box-shadow:var(--sh);position:relative;overflow:hidden}
.total:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(224,177,0,.35),transparent 70%)}
.total small{display:block;color:#a8c7b8;font-size:13px}
.total b{font-size:34px;letter-spacing:-.02em;color:#ffd75e;font-variant-numeric:tabular-nums}
.total span{display:block;color:#a8c7b8;font-size:13px}
.search{width:100%;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);padding:0 14px;margin-bottom:6px}
.day{margin:16px 0 6px;color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.05em;display:flex;justify-content:space-between}
.rc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:8px;min-height:60px}
.rc:active{background:var(--card2)}
.ci{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:21px;color:var(--on-a);flex:none}
.rc .m{flex:1;min-width:0}.rc .m b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc .m small{color:var(--mut)}
.rc .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.rc img{width:36px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.empty{text-align:center;color:var(--mut);padding:40px 12px}.empty img{width:120px;height:120px;border-radius:28px;margin-bottom:12px}.empty b{display:block;color:var(--fg);font-size:18px;margin-bottom:4px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 16px calc(8px + env(safe-area-inset-bottom))}
.tabs div{max-width:560px;margin:0 auto;display:grid;grid-template-columns:1fr 72px 1fr;align-items:center}
.tab{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--mut);font-size:12px;min-height:48px;justify-content:center}
.tab svg{font-size:24px}.tab[aria-current=page]{color:var(--a)}
.fab{width:60px;height:60px;border-radius:50%;border:0;background:var(--a);color:var(--on-a);display:grid;place-items:center;font-size:30px;margin:-24px auto 0;box-shadow:0 8px 20px rgba(224,177,0,.4)}
.fab svg{stroke-width:2.4}
h2{font-size:17px;margin:20px 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px}
.bar{display:grid;grid-template-columns:28px 1fr 88px;gap:4px 10px;align-items:center;margin:10px 0}
.bar .ci{width:28px;height:28px;border-radius:8px;font-size:16px}
.bar .t{height:8px;border-radius:4px;background:var(--card2);overflow:hidden;grid-column:2}.bar .t i{display:block;height:100%;border-radius:4px}
.bar .n{grid-column:2;display:flex;justify-content:space-between;font-size:14px}.bar .v{grid-column:3;grid-row:1/3;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;font-size:14px}
.cols{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;height:130px;margin-top:6px}
.cols div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-size:11px;color:var(--mut);gap:4px}
.cols i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:var(--card2);min-height:3px}.cols .cur i{background:var(--a)}.cols .cur{color:var(--fg)}
.btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn{height:46px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px}
.btn.pri{background:var(--a);color:var(--on-a);border-color:var(--a);font-weight:700}
.btn.bad{color:var(--bad)}
.btn svg{font-size:18px}
.ed{padding-top:4px}
.ed .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ed h1{font-size:20px;margin:0}
label.f{display:block;margin:14px 0 6px;color:var(--mut);font-size:13px}
.in{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--card);padding:0 14px}
textarea.in{height:auto;padding:12px 14px;min-height:72px;resize:vertical}
.in:focus,.btn:focus-visible,.ib:focus-visible,.tab:focus-visible,.fab:focus-visible,.chip:focus-visible,.rc:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.amt-in{font-size:28px;font-weight:700;height:60px;font-variant-numeric:tabular-nums}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.chip{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;min-height:64px}
.chip .ci{width:30px;height:30px;font-size:17px;border-radius:9px}
.chip[aria-pressed=true]{border-color:var(--a);box-shadow:0 0 0 1px var(--a) inset}
.photo{display:flex;gap:10px;align-items:stretch}
.photo .pv{width:84px;height:104px;border-radius:12px;border:1px dashed var(--line);background:var(--card);overflow:hidden;display:grid;place-items:center;color:var(--mut);font-size:30px;padding:0;flex:none}
.photo .pv img{width:100%;height:100%;object-fit:cover}
.photo .pb{flex:1;display:grid;gap:8px}
.actions{display:grid;gap:10px;margin-top:20px}
.err{color:var(--bad);font-size:13px;min-height:18px;margin-top:4px}
dialog{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:20px;padding:18px;width:min(92vw,420px);box-shadow:var(--sh)}
dialog::backdrop{background:rgba(0,0,0,.55)}
dialog h2{margin:0 0 8px}
dialog img.big{width:100%;max-height:70vh;object-fit:contain;border-radius:10px;display:block}
.foot{color:var(--mut);font-size:12px;text-align:center;padding:12px 16px 0}.foot a{color:var(--a)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(92px + env(safe-area-inset-bottom));background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:12px;z-index:20;font-size:14px;max-width:90vw}
#report{display:none}
@media print{
 body{background:#fff;color:#000}
 #app,.toast,dialog{display:none!important}
 #report{display:block;font:12pt/1.4 system-ui,sans-serif;padding:0}
 #report h1{font-size:20pt;margin:0}#report .sub{color:#555;margin:0 0 12px}
 #report table{width:100%;border-collapse:collapse;margin:10px 0}#report td,#report th{border-bottom:1px solid #ccc;padding:5px 4px;text-align:left}
 #report td.r,#report th.r{text-align:right}#report .tot{font-size:16pt;font-weight:700;margin:6px 0}
}
@media(prefers-reduced-motion:no-preference){.view{animation:in .18s ease-out}@keyframes in{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}}
.h0{margin-top:0}.foot.l{text-align:left;padding:14px 0 0}
