@font-face{font-family:Sora;src:url('/sora.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#081c24;--ink-2:#12313b;--paper:#f4f1e9;--paper-2:#e8e4da;--mint:#79e0b6;--amber:#f0b45a;--red:#c34d4d;--muted:#668087;--line:rgba(8,28,36,.14);font-family:Sora,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body{margin:0;min-height:100vh;background:var(--paper)}button,input{font:inherit}button{cursor:pointer}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.17em;margin:0 0 .35rem;color:var(--muted)}
.login-shell{min-height:100vh;padding:32px 22px;display:grid;place-items:center;background:var(--ink);color:var(--paper)}.login-box{width:min(100%,390px)}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--mint);border-radius:16px;color:var(--mint);font-size:1.45rem;font-weight:800;margin-bottom:34px}.login-box .eyebrow{color:var(--mint)}.login-box h1{font-size:clamp(2.2rem,10vw,3.5rem);line-height:1.03;letter-spacing:-.06em;margin:.5rem 0 1rem}.login-box label{display:block;font-size:.75rem;font-weight:700;margin:2rem 0 .5rem}.login-box input{width:100%;height:54px;border:1px solid #36505a;border-radius:12px;background:#102b34;color:white;padding:0 15px;outline:none}.login-box input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(121,224,182,.12)}.error{min-height:1.5rem;color:#ff9e9e;font-size:.8rem}
.primary,.secondary,.danger{border:0;border-radius:12px;padding:15px 18px;font-weight:800}.primary{width:100%;margin-top:12px;background:var(--mint);color:var(--ink)}.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.danger{width:100%;margin-top:22px;background:transparent;color:var(--red);border:1px solid rgba(195,77,77,.3)}.compact{width:auto;margin:0;padding:11px 15px;font-size:.8rem}
.app-shell{width:min(100%,780px);min-height:100vh;margin:auto;padding-bottom:94px}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px;background:rgba(244,241,233,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:1.28rem;letter-spacing:-.04em}.live{font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:7px}.live i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(121,224,182,.2)}main{padding:18px 20px}.view{display:none}.view.active{display:block}.range-tabs{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px}.range-tabs button{flex:1;padding:9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:700}.range-tabs button.active{background:var(--ink);color:white}
.hero-total{padding:38px 2px 28px;border-bottom:1px solid var(--ink)}.hero-total p,.hero-total span{margin:0;color:var(--muted);font-size:.78rem}.hero-total strong{display:block;margin:7px 0 4px;font-size:clamp(2.55rem,12vw,5rem);line-height:1;letter-spacing:-.075em;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.metrics div{padding:18px 8px 18px 0}.metrics div+div{padding-left:14px;border-left:1px solid var(--line)}.metrics span{font-size:.64rem;color:var(--muted)}.metrics strong{display:block;margin-top:5px;font-size:1.2rem;font-variant-numeric:tabular-nums}.chart-section{padding:28px 0 26px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title h2{font-size:.92rem;margin:0;letter-spacing:-.02em}.section-title span,.text-button{font-size:.68rem;color:var(--muted)}.text-button{border:0;background:none;text-decoration:underline}.bar-chart{height:88px;display:flex;align-items:flex-end;gap:5px}.bar{flex:1;min-width:3px;background:var(--ink-2);border-radius:3px 3px 0 0;position:relative}.bar:last-child{background:var(--mint)}.bar:hover:after{content:attr(data-label);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:.55rem;background:var(--ink);color:white;padding:3px 5px;white-space:nowrap;border-radius:4px}
.ledger{border-top:1px solid var(--ink)}.ledger-empty{padding:38px 4px;text-align:center;color:var(--muted);font-size:.8rem}.sale-row{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:center;width:100%;padding:15px 3px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:inherit}.sale-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(121,224,182,.25);font-weight:900}.sale-mark.pending{background:rgba(240,180,90,.25)}.sale-main{min-width:0}.sale-main strong,.sale-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sale-main strong{font-size:.8rem}.sale-main small{font-size:.65rem;color:var(--muted);margin-top:4px}.sale-value{text-align:right}.sale-value strong,.sale-value small{display:block;font-variant-numeric:tabular-nums}.sale-value strong{font-size:.82rem}.sale-value small{font-size:.6rem;color:var(--muted);margin-top:4px}.page-heading{padding:18px 0 24px}.page-heading h2{font-size:1.75rem;letter-spacing:-.055em;margin:0}.setting-block{padding:20px 0;border-top:1px solid var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setting-block>div:first-child{flex:1 0 100%}.setting-block h3{font-size:.9rem;margin:0 0 6px}.setting-block p{font-size:.72rem;color:var(--muted);line-height:1.5;margin:0}.setting-block small{display:block;width:100%;color:var(--muted)}.gateway-line{display:grid;grid-template-columns:1fr auto;gap:5px;width:100%;padding:9px 0;border-bottom:1px solid var(--line);font-size:.72rem}.gateway-line small{grid-column:1/-1;font-size:.6rem}
.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);height:78px;padding:8px max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);border-top:1px solid #28424a}.bottom-nav button{border:0;background:none;color:#769097;font-size:.58rem;font-weight:700}.bottom-nav span{display:block;font-size:1.18rem;margin-bottom:3px}.bottom-nav button.active{color:var(--mint)}dialog{width:min(calc(100% - 36px),430px);border:0;border-radius:18px;padding:25px;background:var(--paper);color:var(--ink);box-shadow:0 18px 70px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(8,28,36,.72)}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:1.7rem}.detail-total{font-size:2.3rem;letter-spacing:-.06em;margin:12px 0 25px}.detail-line{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid var(--line);font-size:.7rem}.detail-line span:first-child{color:var(--muted)}.toast{position:fixed;z-index:20;left:50%;bottom:96px;transform:translate(-50%,20px);width:max-content;max-width:calc(100% - 40px);background:var(--ink);color:white;padding:11px 15px;border-radius:10px;font-size:.7rem;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){body{background:#d8d5cd}.app-shell{background:var(--paper);box-shadow:0 0 60px rgba(8,28,36,.12)}main{padding-left:36px;padding-right:36px}.topbar{padding-left:36px;padding-right:36px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.bar-chart{justify-content:flex-end}.bar{flex:1 1 12px;max-width:36px}
.bar-h1{height:10%}.bar-h2{height:20%}.bar-h3{height:30%}.bar-h4{height:40%}.bar-h5{height:50%}.bar-h6{height:60%}.bar-h7{height:70%}.bar-h8{height:80%}.bar-h9{height:90%}.bar-h10{height:100%}
