:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#090a0f;color:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #090a0f;--panel: #11131b;--panel-2: #171a24;--panel-3: #1f2430;--text: #f7f8fb;--muted: #9ba3b4;--line: #282d3b;--green: #16c784;--red: #f43f5e;--orange: #f97316;--blue: #38bdf8;--shadow: 0 24px 60px rgba(0, 0, 0, .36);--app-top-padding: max(1.5rem, calc(env(safe-area-inset-top, 0px) + .75rem) )}*{box-sizing:border-box}html{background:var(--bg);overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 20% 0%,rgba(22,199,132,.13),transparent 34rem),linear-gradient(140deg,#090a0f,#10131b 48%,#090a0f)}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:disabled{cursor:progress;opacity:.7}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#0d0f16;color:var(--text);outline:none;padding:.8rem .9rem}input:focus,select:focus,textarea:focus{border-color:#16c784d9;box-shadow:0 0 0 3px #16c78421}label{display:grid;gap:.45rem;color:var(--muted)}label span{font-size:.84rem}.app-shell{display:grid;grid-template-columns:17rem minmax(0,1fr);max-width:100vw;min-height:100vh;overflow-x:hidden}.sidebar{position:sticky;top:0;align-self:start;height:100vh;border-right:1px solid rgba(255,255,255,.08);background:#090a0fc7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1.5rem}.brand{display:flex;gap:.85rem;align-items:center;min-height:3.5rem}.brand-mark{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:8px;background:linear-gradient(145deg,#19c886,#0d8d66);color:#fff;box-shadow:0 12px 30px #16c7843d}.brand strong{display:block;font-size:1.05rem}.brand span,.eyebrow,.section-header p,.muted,.transaction-body span,.transaction-money span,.row-meta,.hero-panel span{color:var(--muted)}.side-nav{display:grid;gap:.4rem;margin-top:2rem}.side-nav button,.bottom-nav button,.menu-list button,.icon-button,.row-actions button,.modal-header button,.danger-icon,.text-button{border:0;background:transparent}.side-nav button{display:flex;align-items:center;gap:.8rem;min-height:3rem;border-radius:8px;padding:0 .9rem;color:#cbd3e4}.side-nav button.active,.side-nav button:hover,.menu-list button.active,.menu-list button:hover{background:#ffffff12;color:var(--text)}.main{width:min(100%,1440px);max-width:100vw;margin:0 auto;padding:var(--app-top-padding) clamp(1rem,3vw,2.4rem) 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.6rem;margin-bottom:1rem}.topbar-title{flex:1 1 auto;width:100%;min-width:0}.topbar h1{margin:.15rem 0 0;text-transform:capitalize;font-size:clamp(1.6rem,3vw,2.6rem)}.title-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;width:100%;gap:.65rem}.title-row h1{grid-column:1;min-width:0;padding-right:.5rem}.eyebrow{margin:0;font-size:.78rem;text-transform:uppercase}.month-trigger,.icon-button{position:relative;display:grid;place-items:center;width:2.55rem;height:2.55rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:#cbd3e4;align-self:start}.month-trigger{grid-column:2;cursor:pointer;overflow:hidden}.month-trigger svg{pointer-events:none}.title-row>.icon-button{grid-column:3}.native-month-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;color:transparent;cursor:pointer;font-size:16px;opacity:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.error-banner{display:flex;align-items:center;gap:.8rem;border:1px solid rgba(244,63,94,.36);border-radius:8px;background:#f43f5e1f;padding:.85rem 1rem;margin-bottom:1rem}.error-banner button{margin-left:auto;border:0;background:transparent;color:var(--text)}.page-grid,.analytics-grid,.menu-layout,.skeleton-grid{display:grid;gap:1rem;min-width:0;max-width:100%}.month-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.hero-panel{grid-column:span 12;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:12rem;border-radius:8px;background:linear-gradient(135deg,#16c78438,#38bdf81a),#11131b;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow);padding:clamp(1.1rem,3vw,2rem)}.hero-panel>div:first-child{min-width:0;max-width:100%}.hero-panel span{display:block;overflow-wrap:anywhere}.hero-panel strong{display:block;margin:.35rem 0;font-size:clamp(2.05rem,5vw,4.6rem)}.safe-ring{--daily-progress: 100%;--daily-color: var(--green);--daily-track: #242a36;display:grid;place-items:center;width:clamp(11rem,24vw,16rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,#11131b 0 54%,transparent 55%),conic-gradient(from 180deg,var(--daily-color) 0 var(--daily-progress),var(--daily-track) var(--daily-progress) 100%)}.safe-ring-wrap{position:relative;display:grid;justify-items:center;gap:.7rem;flex:0 0 auto}.safe-ring.exceeded{--daily-color: var(--red);--daily-track: var(--red)}.safe-ring-content{display:grid;place-items:center;gap:.2rem;text-align:center}.safe-ring span{color:#d6dce8;font-weight:800}.safe-ring small{color:var(--muted)}.safe-ring.exceeded span{color:#fecdd3}.daily-result{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:2rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;padding:.35rem .7rem}.daily-result span{color:var(--muted);font-size:.8rem}.daily-result strong{margin:0;font-size:.92rem}.daily-result.positive strong{color:var(--green)}.daily-result.negative strong{color:var(--red)}.report-pulse-button{position:absolute;top:.25rem;right:.25rem;z-index:2;display:grid;place-items:center;width:2.65rem;height:2.65rem;border:1px solid rgba(22,199,132,.28);border-radius:50%;background:#16c78426;color:#a7f3d0;box-shadow:0 0 26px #16c78447}.report-pulse-button.unread{animation:reportPulse 1.6s ease-in-out infinite}@keyframes reportPulse{0%,to{transform:translate(35%,-35%) scale(1)}50%{transform:translate(35%,-35%) scale(1.08)}}.stats-grid{grid-column:span 12;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.card{min-width:0;max-width:100%;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#11131bdb;box-shadow:0 12px 40px #0003;padding:1rem}.stat-card{min-height:8.4rem;display:grid;align-content:space-between}.clickable-card{width:100%;border:1px solid rgba(255,255,255,.08);color:inherit;text-align:left}.clickable-card:hover{border-color:#16c78452;background:#16c7840f}.stat-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem}.stat-card strong{font-size:1.35rem}.stat-card .stat-icon{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:0;background:transparent;color:#38bdf8;box-shadow:none;filter:drop-shadow(0 0 10px rgba(56,189,248,.38))}.stat-heading span{min-width:0;overflow-wrap:anywhere}.stat-card.positive .stat-icon,.stat-card.positive strong{color:var(--green)}.stat-card.positive .stat-icon{filter:drop-shadow(0 0 10px rgba(22,199,132,.42))}.stat-card.negative .stat-icon,.stat-card.negative strong{color:var(--red)}.stat-card.negative .stat-icon{filter:drop-shadow(0 0 10px rgba(244,63,94,.42))}.chart-card,.budget-card,.fixed-card,.recent-card{grid-column:span 6}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.section-header h2{margin:0;font-size:1.05rem}.section-header p{margin:.2rem 0 0;font-size:.86rem}.echart{width:100%;height:20rem}.donut-shell{position:relative;width:min(100%,22rem);margin:0 auto;aspect-ratio:1}.donut-chart{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.donut-icons{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.donut-icon{position:absolute;display:grid;place-items:center;width:2.25rem;height:2.25rem;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.08);border-radius:50%;background:#171a24;box-shadow:0 10px 24px #00000042}.budget-list,.stack,.settings-list,.date-groups{display:grid;gap:.75rem}.budget-row{display:grid;gap:.55rem;width:100%;border:1px solid var(--line);border-radius:8px;background:#ffffff08;padding:.85rem;color:inherit;text-align:left}.budget-row.interactive{cursor:pointer}.budget-row.interactive:hover{border-color:#16c7845c;background:#16c7840f}.budget-row.exceeded{border-color:#f43f5e8c;background:#f43f5e17}.row-main,.row-meta,.fixed-summary,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.row-meta{font-size:.84rem}.progress-track{width:100%;height:.55rem;border-radius:999px;overflow:hidden;background:#272c3a}.progress-track span{display:block;height:100%;border-radius:inherit}.category-badge{--accent: #64748b;display:inline-flex;align-items:center;gap:.5rem;min-width:0;color:var(--text)}.category-badge>svg{flex:0 0 auto;color:var(--accent)}.category-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-row,.fixed-row{position:relative;display:grid;grid-template-columns:1fr;align-items:stretch;gap:.65rem;min-height:4.4rem;border:1px solid var(--line);border-radius:8px;background:#ffffff08;padding:.75rem;overflow:hidden}.transaction-row:before,.fixed-row:before{content:"";position:absolute;z-index:0;top:0;right:0;left:0;height:4.2rem;border-radius:8px 8px 0 0;background:#ffffff0b;pointer-events:none}.transaction-row>*,.fixed-row>*{position:relative;z-index:1}.transaction-row.has-actions,.fixed-row{padding-right:5.35rem}.fixed-row.has-actions{padding-right:8rem}.slot-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;min-height:2.75rem}.transaction-body{min-width:0}.transaction-body strong,.transaction-body span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-money{min-width:max-content;justify-self:start;padding-block:.65rem;text-align:left}.transaction-money strong{display:block}.income{color:var(--green)}.expense{color:var(--red)}.fixed-row.paid{opacity:.76}.fixed-row button,.small-action,.primary-button,.compact-form button,.inline-edit button{border:0;border-radius:8px;background:var(--green);color:#06110c;font-weight:800;padding:.7rem .85rem}.header-icon-button{display:grid;place-items:center;width:2.35rem;height:2.35rem;border:0;border-radius:8px;background:var(--panel-3);color:#cbd3e4}.slot-actions,.row-actions{position:absolute;top:.7rem;right:.7rem;display:flex;gap:.35rem}.slot-actions button,.row-actions button,.fixed-pay-button{display:grid;place-items:center;width:2.15rem;height:2.15rem;border:0;border-radius:8px;background:var(--panel-3);color:#cbd3e4;padding:0}.fixed-pay-button{position:absolute;top:.7rem;right:.7rem;border:1px solid rgba(148,163,184,.18);background:#1f2430db;color:#9ba3b4}.fixed-pay-button.paid{border-color:#16c78447;background:#16c78429;color:var(--green);box-shadow:0 0 14px #16c78429}.fixed-pay-button svg{display:block}.fixed-row .slot-actions{right:3.15rem}.fixed-summary{margin-bottom:.85rem}.content-column{display:grid;gap:1rem}.segmented{display:inline-grid;grid-auto-flow:column;gap:.25rem;width:fit-content;border:1px solid var(--line);border-radius:8px;background:#0d0f16;padding:.25rem}.segmented.wide{width:100%;grid-template-columns:1fr 1fr}.segmented button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:.65rem 1rem}.segmented button.active{background:var(--panel-3);color:var(--text)}.date-group h3{margin:1rem 0 .5rem;color:var(--muted);font-size:.9rem;font-weight:700}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-layout{grid-template-columns:minmax(0,54rem);align-items:start}.menu-root{max-width:42rem}.menu-section-page{max-width:58rem}.menu-list{display:grid;gap:.35rem;position:sticky;top:1rem}.menu-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:3.1rem;border-radius:8px;color:#cbd3e4;padding:0 .75rem;text-align:left}.menu-detail{min-height:28rem}.back-button{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;border:0;border-radius:8px;background:var(--panel-3);color:#cbd3e4;padding:.65rem .8rem;margin-bottom:1rem}.compact-form{display:grid;grid-template-columns:minmax(10rem,1fr) 9rem 3.5rem auto;gap:.6rem;margin-bottom:1rem}.setting-row{min-height:3.7rem;border:1px solid var(--line);border-radius:8px;background:#ffffff08;padding:.75rem}.inline-edit{display:grid;grid-template-columns:minmax(6rem,8rem) auto;gap:.45rem}.add-budget-panel{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(8rem,12rem) auto;gap:.6rem;margin-bottom:1rem}.category-group{display:grid;gap:.65rem;margin-top:1rem}.category-group h3{margin:0;color:#d8deea;font-size:.98rem}.category-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem}.category-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.7rem;border:1px solid var(--line);border-radius:8px;background:#ffffff08;color:inherit;padding:.75rem;text-align:left}.category-card:hover{border-color:#16c7845c;background:#16c7840f}.managed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem}.info-panel,.support-card,.notification-permission-card,.todo-panel,.empty-state,.empty-mini{border:1px solid var(--line);border-radius:8px;background:#ffffff08}.info-panel,.support-card{display:flex;gap:1rem;padding:1rem}.info-panel p,.support-card p,.notification-permission-card p,.todo-panel p,.empty-state p{color:var(--muted);margin:.4rem 0 0}.todo-panel,.empty-state{display:grid;place-items:center;text-align:center;min-height:14rem;padding:1.4rem}.notifications-panel{display:grid;gap:1rem}.support-card{align-items:flex-start}.support-card.ready{border-color:#16c7844d}.support-card.blocked{border-color:#f43f5e42}.support-card>svg{flex:0 0 auto;color:var(--green);filter:drop-shadow(0 0 12px rgba(22,199,132,.22))}.support-card.blocked>svg{color:var(--orange);filter:drop-shadow(0 0 12px rgba(249,115,22,.18))}.support-grid{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.support-grid span{border:1px solid rgba(148,163,184,.18);border-radius:999px;color:var(--muted);font-size:.78rem;padding:.28rem .55rem}.support-grid span.ok{border-color:#16c78447;background:#16c78414;color:#8ee9c0}.support-grid span.bad{border-color:#f43f5e47;background:#f43f5e14;color:#fecdd3}.notification-settings-list{gap:.65rem}.notification-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}.notification-setting-row strong,.notification-permission-card strong{display:block}.notification-setting-row span,.notification-permission-card span{display:block;margin-top:.18rem;color:var(--muted);font-size:.86rem}.notification-setting-row input[type=time],.notification-setting-row select{width:min(9rem,100%)}.switch-control{display:inline-grid;width:3.25rem;height:1.85rem;cursor:pointer}.switch-control input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.switch-control>span{position:relative;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:#242936;transition:background .18s ease,border-color .18s ease}.switch-control>span:after{content:"";position:absolute;top:50%;left:.23rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#cbd3e4;transform:translateY(-50%);transition:transform .18s ease,background .18s ease}.switch-control input:checked+span{border-color:#16c78480;background:#16c78447}.switch-control input:checked+span:after{background:var(--green);transform:translate(1.35rem,-50%);box-shadow:0 0 14px #16c78461}.notification-permission-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem}.report-modal{width:min(100%,32rem)}.report-hero{display:flex;align-items:center;gap:.85rem;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a;padding:1rem}.report-hero.positive{border-color:#16c78440;background:#16c78414}.report-hero.negative{border-color:#f43f5e40;background:#f43f5e14}.report-hero svg{flex:0 0 auto}.report-hero.positive svg,.report-hero.positive strong{color:var(--green)}.report-hero.negative svg,.report-hero.negative strong{color:var(--red)}.report-hero span,.report-metric span{color:var(--muted);font-size:.84rem}.report-hero strong{display:block;margin-top:.2rem;font-size:1.35rem}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.report-metric{display:grid;gap:.2rem;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff08;padding:.85rem}.report-metric svg{color:#38bdf8}.report-metric strong{overflow-wrap:anywhere}.report-insights{display:grid;gap:.6rem}.compact-echart{height:17rem}.month-grid>.empty-state{grid-column:span 12}.detail-page{max-width:56rem}.category-detail-hero{position:relative;display:grid;gap:.5rem;padding-right:4rem}.category-detail-hero strong{font-size:clamp(2rem,5vw,3.4rem)}.category-add-button{position:absolute;top:1rem;right:1rem}.budget-detail-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;margin-top:.45rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.8rem}.budget-detail-toggle strong{display:block;margin:0;font-size:.95rem}.budget-detail-toggle span{display:block;margin-top:.2rem;color:var(--muted);font-size:.84rem}.empty-mini{display:grid;place-items:center;min-height:9rem;color:var(--muted);padding:1rem}.skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-card{min-height:9rem;border-radius:8px;background:linear-gradient(90deg,#11131b,#1b1f2b,#11131b);background-size:200% 100%;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{to{background-position:-200% 0}}.fab{position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.2rem,env(safe-area-inset-bottom));display:grid;place-items:center;width:4rem;height:4rem;border:0;border-radius:50%;background:linear-gradient(145deg,#16c784,#38bdf8);color:#06110c;box-shadow:0 20px 45px #16c78452;z-index:20}.bottom-nav{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000009e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:max(.75rem,calc(env(safe-area-inset-top,0px) + .75rem)) .75rem max(.75rem,calc(env(safe-area-inset-bottom,0px) + .75rem));overflow:hidden;overscroll-behavior:contain;z-index:50}.modal{display:grid;gap:.9rem;width:min(100%,34rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#11131b;box-shadow:var(--shadow);padding:1rem}.transaction-modal{grid-template-rows:minmax(0,1fr) auto;gap:0;width:min(100%,31rem);padding:0;overflow:hidden}.modal-scroll{display:grid;gap:.75rem;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.85rem}.modal-footer{position:sticky;bottom:0;display:grid;gap:.65rem;border-top:1px solid var(--line);background:#11131bf5;padding:.75rem;box-shadow:0 -12px 26px #00000038}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-header h2{margin:0}.category-preview-card{display:grid;place-items:center;min-height:5rem;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.7rem,1fr));gap:.45rem}.icon-picker button{display:grid;place-items:center;min-height:2.7rem;border:1px solid var(--line);border-radius:8px;background:#0d0f16;color:#cbd3e4}.icon-picker button.active{border-color:var(--green);color:var(--green);box-shadow:0 0 18px #16c78438}.color-field{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:.75rem}.color-field input{height:3rem;padding:.25rem}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.danger-action{display:inline-flex;align-items:center;gap:.45rem;border:0;border-radius:8px;background:#f43f5e21;color:#fecdd3;font-weight:800;padding:.85rem 1rem}.comparison-tabs{width:100%;grid-auto-flow:unset;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.comparison-tabs button{min-width:0;white-space:normal;line-height:1.2}.comparison-stack{display:grid;gap:1rem}.comparison-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.compact-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem}.transaction-modal label{min-width:0}.date-fixed-row{width:100%;grid-template-columns:minmax(0,9.5rem) minmax(0,1fr)}.compact-pair input,.compact-pair select,.transaction-modal input,.transaction-modal select,.transaction-modal textarea{min-width:0;max-width:100%}.income-date-row{grid-template-columns:minmax(0,1fr)}.transaction-modal input[type=date]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline:.65rem;font-size:.92rem}.daily-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-color:#323849 transparent;-webkit-overflow-scrolling:touch}.daily-chart-canvas{flex:0 0 auto;min-width:100%}.single-line-comment{min-height:2.85rem;max-height:2.85rem;resize:none}.conversion-preview{display:flex;align-items:center;justify-content:space-between;border-radius:8px;background:#16c7841a;padding:.9rem}.primary-button{min-height:3rem}.toggle-row{display:flex;align-items:center;gap:.65rem}.toggle-row input{width:auto}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding-bottom:6.5rem}.fab{right:max(1rem,env(safe-area-inset-right));bottom:calc(5.6rem + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:calc(4.65rem + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);background:#090a0fe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:.45rem .4rem calc(.45rem + env(safe-area-inset-bottom));z-index:19}.bottom-nav button{display:grid;place-items:center;gap:.2rem;min-width:0;border-radius:8px;color:var(--muted);font-size:.72rem}.bottom-nav button.active{color:var(--text);background:#ffffff12}}@media (max-width: 900px){.stats-grid,.analytics-grid,.menu-layout{grid-template-columns:1fr}.chart-card,.budget-card,.fixed-card,.recent-card{grid-column:span 12}.menu-list{position:static}.compact-form{grid-template-columns:1fr}}@media (max-width: 620px){.main{padding:var(--app-top-padding) .75rem 6.5rem}.topbar{align-items:flex-start}.title-row{gap:.55rem}.topbar h1{max-width:100%;overflow-wrap:anywhere}.hero-panel{align-items:center;flex-direction:column;min-height:18rem;text-align:center}.hero-panel>div:first-child{width:100%}.hero-panel span{max-width:18rem;margin-inline:auto}.safe-ring{width:min(15rem,74vw);align-self:center}.stats-grid,.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:7rem}.stat-heading{gap:.5rem}.stat-heading span{font-size:.94rem;line-height:1.2}.stat-card strong{font-size:1.2rem}.fixed-row,.transaction-row{grid-template-columns:1fr;align-items:stretch}.transaction-money{justify-self:start;text-align:left}.managed-row,.add-budget-panel{grid-template-columns:1fr}.slot-actions,.row-actions,.fixed-pay-button{top:.55rem;right:.55rem}.fixed-row .slot-actions{right:2.95rem}.transaction-row.has-actions,.fixed-row{padding-right:5.4rem}.fixed-row.has-actions{padding-right:8rem}.form-grid{grid-template-columns:1fr}.transaction-modal{width:min(100%,29rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem)}.modal-scroll{gap:.62rem;padding:.75rem}.compact-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem}.date-fixed-row,.income-date-row{grid-template-columns:minmax(0,1fr)}.comparison-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.echart{height:18rem}.donut-shell{width:min(100%,20rem)}.comparison-summary{grid-template-columns:1fr}.notification-setting-row,.notification-permission-card{grid-template-columns:minmax(0,1fr) auto}.notification-setting-row input[type=time],.notification-setting-row select{width:7.6rem}.notification-permission-card{align-items:stretch;grid-template-columns:1fr}}
