:root{color-scheme:dark;--bg:#07101d;--surface:#101b2c;--surface2:#16243a;--line:rgba(255,255,255,.09);--text:#f7f9fc;--muted:#91a0b6;--mint:#59e2b5;--mint2:#0d5e4a;--coral:#ff827a;--amber:#ffc96b;--blue:#70b7ff}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 82% 0,#152c49 0,var(--bg) 32rem);color:var(--text);font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:1.75rem;letter-spacing:-.045em}h2{font-size:1.28rem;letter-spacing:-.03em}h3{font-size:1rem}.eyebrow{color:var(--muted);font-size:.69rem;font-weight:780;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.24rem}.muted{color:#bdc8d8;font-size:.8rem}[hidden]{display:none!important}
.gate{min-height:100vh;padding:max(2rem,env(safe-area-inset-top)) 1rem max(2rem,env(safe-area-inset-bottom));display:grid;place-items:center}.gate-card{width:min(100%,430px);padding:1.35rem;border:1px solid var(--line);border-radius:28px;background:rgba(16,27,44,.95);box-shadow:0 28px 80px rgba(0,0,0,.35)}.gate-card.compact{max-width:380px}.brand-mark{width:54px;height:54px;display:grid;place-items:center;margin-bottom:1.15rem;border-radius:18px;background:var(--mint);color:#05251a;font-size:1.55rem;font-weight:900}.gate-copy{color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:.45rem}.security-note{color:#74839a;text-align:center;font-size:.66rem;line-height:1.4;margin-top:1rem}
.form-stack,.sheet-form{display:grid}.form-stack{margin-top:1.15rem}.sheet-form{padding:.65rem 1rem calc(1rem + env(safe-area-inset-bottom))}label{display:grid;gap:.4rem;color:#c3ccda;font-size:.76rem;margin-top:.82rem}input,select{width:100%;min-height:46px;padding:.75rem .8rem;color:var(--text);background:#0a1524;border:1px solid var(--line);border-radius:13px;outline:none}input:focus,select:focus{border-color:rgba(89,226,181,.65);box-shadow:0 0 0 3px rgba(89,226,181,.07)}.form-error{min-height:1.1rem;color:#ffaaa4;font-size:.7rem;margin-top:.6rem}.form-hint{color:var(--muted);font-size:.68rem;line-height:1.4;margin-top:.65rem}.primary-button,.secondary-button{width:100%;border:0;border-radius:14px;padding:.86rem;margin-top:.7rem;font-weight:850}.primary-button{background:var(--mint);color:#042219}.secondary-button{background:rgba(89,226,181,.1);color:var(--mint);border:1px solid rgba(89,226,181,.22)}.text-button{width:100%;border:0;background:transparent;color:var(--mint);padding:.8rem;margin-top:.35rem;font-size:.78rem}
.app-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:max(1.35rem,env(safe-area-inset-top)) 1rem calc(6.6rem + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.top-actions{display:flex;gap:.45rem}.icon-button,.close-button{width:41px;height:41px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.055)}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-card{padding:1.2rem;border:1px solid rgba(89,226,181,.22);border-radius:26px;background:linear-gradient(145deg,rgba(25,64,69,.95),rgba(14,30,49,.97));box-shadow:0 22px 55px rgba(0,0,0,.2)}.hero-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.hero-value{font-size:clamp(2rem,9vw,2.7rem);font-weight:820;letter-spacing:-.06em;margin-top:.16rem}.status-pill{border:1px solid rgba(89,226,181,.2);border-radius:99px;padding:.35rem .55rem;background:rgba(89,226,181,.09);color:#9ef1d4;font-size:.64rem;font-weight:760;white-space:nowrap}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.2rem}.hero-grid div{padding:.78rem;border-radius:15px;background:rgba(4,13,24,.27)}.hero-grid span,.hero-grid strong{display:block}.hero-grid span{color:#aab8c8;font-size:.69rem;margin-bottom:.2rem}.hero-grid strong{font-size:.94rem}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.8rem}.quick-action{border:1px solid var(--line);border-radius:16px;background:rgba(16,27,44,.92);padding:.65rem .25rem;color:#b9c4d3;font-size:.65rem;font-weight:700}.quick-action span{width:29px;height:29px;display:grid;place-items:center;margin:0 auto .35rem;border-radius:10px;background:rgba(89,226,181,.1);color:var(--mint);font-size:1rem}.section-block{margin-top:1.4rem}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 .2rem .68rem}.small-button,.primary-mini{border:0;border-radius:10px;padding:.45rem .65rem;background:rgba(89,226,181,.1);color:var(--mint);font-size:.7rem;font-weight:780;text-decoration:none}.primary-mini{background:var(--mint);color:#05241a}.flow-card,.empty-card,.movement-item,.account-card,.budget-card,.fixed-card{border:1px solid var(--line);border-radius:19px;background:rgba(16,27,44,.92)}.flow-card{padding:1rem}.flow-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;color:#c0cad8;font-size:.84rem}.flow-row strong{color:var(--text);white-space:nowrap}.flow-row.total{font-size:.94rem;color:var(--text)}.positive-text{color:var(--mint)!important}.negative-text{color:var(--coral)!important}.divider{height:1px;background:var(--line);margin:.3rem 0}.stack{display:grid;gap:.58rem}
.page-heading{padding:.2rem .2rem 1rem}.page-heading h2{font-size:1.7rem}.action-heading{display:flex;justify-content:space-between;align-items:end}.summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.1rem}.summary-strip div{padding:.8rem;border-radius:16px;background:rgba(16,27,44,.8);border:1px solid var(--line)}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--muted);font-size:.66rem;margin-bottom:.2rem}.summary-strip strong{font-size:.92rem}.account-groups{display:grid;gap:1.15rem}.group-title{margin:0 .2rem .52rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.group-stack{display:grid;gap:.52rem}.account-card{padding:.9rem .95rem}.account-main{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.account-name{display:flex;align-items:center;gap:.65rem;min-width:0}.account-name>div:last-child{min-width:0}.account-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-name small{display:block;color:var(--muted);font-size:.66rem;margin-top:.14rem}.account-badge{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#1a3045;color:var(--mint);font-weight:850}.account-balance{text-align:right;font-size:.9rem;white-space:nowrap}.account-detail{display:flex;justify-content:space-between;gap:.6rem;padding-top:.6rem;margin-top:.68rem;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}.account-progress{height:5px;overflow:hidden;border-radius:99px;background:#26364b;margin-top:.65rem}.account-progress span{display:block;height:100%;border-radius:inherit;background:var(--coral)}
.empty-card{text-align:center;padding:2rem 1.25rem}.empty-card.small{padding:1rem}.empty-card.small p{margin:0}.empty-card h3{margin:.7rem 0 .28rem}.empty-card p{color:var(--muted);font-size:.76rem;line-height:1.42}.empty-card .primary-button{width:auto;padding:.72rem 1rem;margin-top:1rem}.empty-icon{width:46px;height:46px;display:grid;place-items:center;margin:auto;border-radius:15px;background:rgba(89,226,181,.1);color:var(--mint);font-size:1.25rem}.movement-list{display:grid;gap:.55rem}.movement-item{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.8rem .9rem}.movement-info{display:flex;align-items:center;gap:.65rem;min-width:0}.movement-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#192c41;color:var(--blue)}.movement-info strong,.movement-info small{display:block}.movement-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movement-info small{color:var(--muted);font-size:.64rem;margin-top:.15rem}.movement-amount{text-align:right;font-size:.82rem;white-space:nowrap}.movement-amount small{display:block;color:var(--muted);font-size:.6rem;margin-top:.15rem}.filter-row{display:flex;gap:.42rem;overflow:auto;padding-bottom:.8rem;scrollbar-width:none}.filter-chip{border:1px solid var(--line);border-radius:99px;background:rgba(16,27,44,.75);color:var(--muted);font-size:.67rem;padding:.42rem .65rem;white-space:nowrap}.filter-chip.active{border-color:rgba(89,226,181,.25);background:rgba(89,226,181,.1);color:var(--mint)}.budget-card{padding:.9rem}.budget-top{display:flex;justify-content:space-between;gap:.7rem;font-size:.79rem}.budget-top span{color:#c2ccda}.budget-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.62rem;margin-top:.38rem}.progress{height:7px;overflow:hidden;border-radius:99px;background:#26364a;margin-top:.6rem}.progress span{display:block;height:100%;border-radius:inherit;background:var(--mint)}.progress.warning span{background:var(--amber)}.progress.over span{background:var(--coral)}
.fixed-stack{margin-top:.9rem}.reminder-note{margin-bottom:1rem}.reminder-note p{color:var(--muted);font-size:.74rem;line-height:1.45;margin-top:.35rem}.fixed-card{padding:.9rem}.fixed-card.overdue{border-color:rgba(255,130,122,.35);background:linear-gradient(145deg,rgba(48,24,31,.95),rgba(16,27,44,.92))}.fixed-card.due-today{border-color:rgba(255,201,107,.35)}.fixed-card.soon{border-color:rgba(89,226,181,.25)}.fixed-main{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start}.fixed-main strong,.fixed-main small{display:block}.fixed-main small{color:var(--muted);font-size:.64rem;margin-top:.18rem}.fixed-amount{text-align:right;white-space:nowrap}.fixed-amount span{display:block;color:var(--muted);font-size:.62rem;margin-top:.18rem}.fixed-card.overdue .fixed-amount span{color:#ffaaa4}.fixed-card.due-today .fixed-amount span{color:var(--amber)}.fixed-actions{display:flex;gap:.45rem;justify-content:flex-end;margin-top:.75rem}.fixed-actions .ghost{background:rgba(255,255,255,.055);color:#b9c4d3}
.security-action{width:100%;border:1px solid rgba(89,226,181,.18);border-radius:14px;background:rgba(89,226,181,.07);color:var(--mint);padding:.72rem .9rem;margin-top:.7rem;font-size:.72rem;font-weight:820}.security-action:disabled{opacity:.72;color:#a9e8d4}
.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);padding:.62rem .65rem calc(.55rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(7,16,29,.94);backdrop-filter:blur(22px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;color:#77869c;display:grid;justify-items:center;gap:.2rem;font-size:.58rem;font-weight:700}.nav-item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.nav-item.active{color:var(--mint)}.view{display:none}.view.active{display:block;animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(4px)}}
dialog{width:min(calc(100% - 1rem),500px);max-height:92vh;overflow:auto;padding:0;margin:auto auto 0;color:var(--text);background:#101b2c;border:1px solid var(--line);border-radius:26px 26px 0 0}dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}.sheet-handle{width:40px;height:4px;margin:0 auto 1rem;border-radius:99px;background:#46556a}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.close-button{font-size:1.45rem}.toast{position:fixed;z-index:20;left:50%;bottom:calc(5.6rem + env(safe-area-inset-bottom));transform:translate(-50%,18px);max-width:calc(100% - 2rem);padding:.72rem .9rem;border:1px solid var(--line);border-radius:13px;background:#18283c;color:var(--text);font-size:.74rem;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){.app-shell{padding-top:2rem}.bottom-nav{border-radius:22px 22px 0 0}dialog{margin:auto;border-radius:26px}}
