:root{--font-display:"Yantramanav", system-ui, sans-serif;--font-body:"Yantramanav", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--canvas:#f6f7f9;--surface:#fff;--surface-2:#f1f4f8;--ink:#0b0f19;--ink-2:#46536b;--ink-3:#8a96a8;--on-brand:#17120a;--brand:#f59e0b;--brand-hover:#d97706;--brand-active:#b45309;--brand-tint:#fef3c7;--in:#0f9d58;--in-tint:#e7f6ee;--out:#e5484d;--out-tint:#fdeceb;--warn:#f59e0b;--warn-tint:#fef3c7;--info:#3b82f6;--info-tint:#eaf1fe;--line:#e2e7ee;--line-strong:#cbd3de;--focus:#0b0f19;--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sh-1:0 1px 2px #0b0f190f, 0 1px 3px #0b0f190d;--sh-2:0 4px 12px #0b0f1914, 0 2px 4px #0b0f190d;--sh-3:0 12px 32px #0b0f1924, 0 4px 8px #0b0f190f;--sh-brand:0 6px 18px #f59e0b52;--shell:460px;--nav-h:66px;--sidebar-w:244px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.45;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--brand-tint)}.num{font-family:var(--font-mono);font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.01em}.display{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800;line-height:1.06}.app{min-height:100dvh}.content{max-width:var(--shell);padding:16px 16px calc(var(--nav-h) + 20px);margin:0 auto}.page-head{align-items:center;gap:12px;margin:4px 0 14px;display:flex}.page-head h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:800}.page-head .sub{color:var(--ink-2);margin-top:2px;font-size:13px}.sidebar{display:none}.brandmark{font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:800}.brandmark b{color:var(--brand)}.botnav{z-index:40;max-width:var(--shell);height:var(--nav-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#ffffffeb;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.botnav a{color:var(--ink-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex;position:relative}.botnav a .ic{font-size:21px;line-height:1}.botnav a.on{color:var(--ink)}.botnav a.on:before{content:"";background:var(--brand);border-radius:0 0 3px 3px;width:30px;height:3px;position:absolute;top:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:16px}.card+.card{margin-top:12px}.card.tap{cursor:pointer;transition:transform .12s,box-shadow .12s}.card.tap:active{transform:scale(.985)}.card.tap:hover{box-shadow:var(--sh-2)}.ribbon{padding-left:16px;position:relative}.ribbon:before{content:"";background:repeating-linear-gradient(180deg, var(--brand) 0 8px, transparent 8px 14px);border-radius:4px;width:4px;position:absolute;top:6px;bottom:6px;left:0}.stat-row{justify-content:space-between;align-items:baseline;display:flex}.amt{font-family:var(--font-mono);letter-spacing:-.02em;font-feature-settings:"tnum" 1;font-weight:700}.amt.in{color:var(--in)}.amt.out{color:var(--out)}.big-amt{font-family:var(--font-mono);letter-spacing:-.03em;font-size:30px;font-weight:800}.btn{font-family:var(--font-body);border-radius:var(--r);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:15px;font-weight:700;transition:transform .1s,background .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--sh-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:active{background:var(--brand-active)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--out);color:#fff}.btn-block{width:100%}.btn-sm{min-height:40px;padding:0 14px;font-size:14px}.spinner{border:2px solid #00000040;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{margin-top:14px}.field>label{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field .req{color:var(--out)}.input,.select,.textarea{width:100%;min-height:48px;font-size:16px;font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r);appearance:none;padding:0 14px;transition:border-color .15s,box-shadow .15s}.input.num,.input.amount{font-family:var(--font-mono);font-weight:600}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2346536b' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.textarea{resize:vertical;min-height:84px;padding:12px 14px;line-height:1.4}.input:focus,.select:focus,.textarea:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #0b0f1914}.field.err .input,.field.err .select{border-color:var(--out);box-shadow:0 0 0 3px var(--out-tint)}.field .msg{color:var(--out);min-height:1px;margin-top:5px;font-size:12.5px}.field .hint{color:var(--ink-3);margin-top:5px;font-size:12.5px}.input-prefix{position:relative}.input-prefix>span{color:var(--ink-3);font-family:var(--font-mono);pointer-events:none;font-weight:700;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-prefix .input{padding-left:30px}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;min-height:38px;padding:8px 16px;font-size:14px;font-weight:700}.seg button.on{background:var(--ink);color:#fff}.check{border:1.5px solid var(--line-strong);border-radius:var(--r);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.check input{width:20px;height:20px;accent-color:var(--brand)}.check.on{border-color:var(--brand);background:var(--brand-tint)}.pill{border-radius:var(--r-pill);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.pill.in{background:var(--in-tint);color:var(--in)}.pill.out{background:var(--out-tint);color:var(--out)}.pill.warn{background:var(--warn-tint);color:var(--brand-active)}.pill.muted{background:var(--surface-2);color:var(--ink-2)}.pill.brand{background:var(--brand-tint);color:var(--brand-active)}.row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.row:last-child{border-bottom:none}.empty{text-align:center;color:var(--ink-3);padding:40px 16px}.empty .em-ic{opacity:.5;font-size:40px}.empty p{margin-top:10px;font-size:14px}.toast-wrap{left:0;right:0;bottom:calc(var(--nav-h) + 14px);z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.toast{background:var(--ink);color:#fff;border-radius:var(--r);max-width:90%;box-shadow:var(--sh-3);padding:12px 16px;font-size:14px;font-weight:600;animation:.25s cubic-bezier(.2,.8,.2,1) toastin}.toast.ok{background:var(--in)}.toast.bad{background:var(--out)}@keyframes toastin{0%{opacity:0;transform:translateY(12px)}}.reveal>*{animation:.4s cubic-bezier(.2,.8,.2,1) backwards rise}.reveal>:first-child{animation-delay:20ms}.reveal>:nth-child(2){animation-delay:60ms}.reveal>:nth-child(3){animation-delay:.1s}.reveal>:nth-child(4){animation-delay:.14s}.reveal>:nth-child(5){animation-delay:.18s}.reveal>:nth-child(6){animation-delay:.22s}.reveal>:nth-child(n+7){animation-delay:.26s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.reveal>*,.btn,.card.tap{transition:none!important;animation:none!important}}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.muted{color:var(--ink-2)}.tiny{font-size:12.5px}@media (min-width:860px){:root{--shell:720px}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:4px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar .brandmark{padding:4px 10px 18px}.sidebar a{border-radius:var(--r);color:var(--ink-2);align-items:center;gap:12px;padding:11px 12px;font-size:14.5px;font-weight:600;display:flex}.sidebar a .ic{font-size:19px}.sidebar a:hover{background:var(--surface-2);color:var(--ink)}.sidebar a.on{background:var(--ink);color:#fff}.botnav{display:none}.content{max-width:900px;margin:0;padding:28px 36px 40px}.page-head h1{font-size:30px}.cols{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.toast-wrap{bottom:22px;left:var(--sidebar-w)}}@media (min-width:1200px){.content{max-width:1040px}.cols-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}}
