@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#090f1a;--sidebar:#0d1422;--panel:#111b2b;--surface:#172337;--surface2:#1b2b40;--border:#283449;--text:#f0f5fb;--muted:#8e9aaf;--teal:#4be2ba;--teal-dark:#0d5f55;--blue:#6d97fa;--orange:#f9b768;--red:#ff8493;--radius:19px;--shadow:0 14px 48px #00000025;font-family:'DM Sans',system-ui,-apple-system,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}h1{font-size:27px;letter-spacing:-1.1px;font-weight:800;margin-bottom:0}h2{font-size:17px;letter-spacing:-.35px;font-weight:800;margin-bottom:3px}h3{font-size:14px}p{line-height:1.6}small{font-size:12px}input,select,textarea{color:var(--text);background:var(--surface);border:1px solid #324057;outline:none;border-radius:11px;padding:12px 13px;width:100%;min-height:43px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #4be2ba1d}input[type=color]{padding:4px;min-width:58px;cursor:pointer}input[type=file]{font-size:12px}input[type=month],input[type=date]{color-scheme:dark}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#bec9da}label small{font-weight:400;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:800;color:var(--teal);margin-bottom:10px}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:11px;min-height:41px;font-weight:800;font-size:13px;white-space:nowrap;transition:transform .12s,background .15s}.btn:active{transform:scale(.97)}.btn.primary{background:var(--teal);color:#072019;box-shadow:0 6px 20px #39d5ac20}.btn.primary:hover{background:#72f2cf}.btn.ghost{background:transparent;border-color:var(--border);color:#d9e2ef}.btn.ghost:hover,.btn.subtle:hover{background:#26354b}.btn.subtle{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.chip{background:var(--surface);border:1px solid var(--border);min-height:32px;padding:5px 12px;color:var(--muted);font-size:12px}.text-action{background:none;border:none;color:var(--teal);font-size:12px;font-weight:800;padding:6px 0}.text-action:hover{text-decoration:underline}.icon-btn{border:1px solid var(--border);background:#192539;color:#dde7f6;width:36px;height:36px;border-radius:11px;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:#24344b}.app-shell{display:grid;grid-template-columns:247px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);border-right:1px solid #1c2738;padding:31px 18px 21px;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;margin-bottom:58px}.brand strong{display:block;font-family:Manrope;font-size:16px;font-weight:800;letter-spacing:-.55px}.brand small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.logo-mark{display:flex;align-items:center;justify-content:center;flex:none;width:39px;height:39px;background:linear-gradient(135deg,#72efc8,#1fbfa4);border-radius:13px;color:#0a302a;font-size:26px;font-weight:800;box-shadow:0 8px 25px #4be2ba1d}.nav-caption{color:#66758d;letter-spacing:1.6px;font-size:10px;font-weight:800;padding:0 16px;margin-bottom:13px}.side-nav{display:flex;flex-direction:column;gap:6px}.nav-link{border:0;background:none;color:#91a0b7;border-radius:11px;padding:12px 15px;text-align:left;font-weight:700;display:flex;align-items:center;gap:14px;min-height:45px;transition:background .12s,color .12s}.nav-link:hover{background:#1b293d;color:var(--text)}.nav-link.active{background:#183c3c;color:var(--teal)}.nav-icon{font-size:19px;width:21px;text-align:center;font-weight:500}.sidebar-bottom{margin-top:auto}.side-note{border:1px solid #205044;background:radial-gradient(circle at 95% 5%,#195348,#14283a 62%);border-radius:15px;padding:17px;margin:20px 3px 23px}.side-note-icon{font-size:24px;color:var(--teal);margin-bottom:14px}.side-note strong{font-weight:800;font-size:13px}.side-note p{font-size:11px;color:#a4b7c5;margin:6px 0 11px;line-height:1.55}.settings-nav{width:100%;margin-bottom:13px}.user-card{display:flex;gap:9px;align-items:center;border-top:1px solid #253147;padding:19px 3px 0}.avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#364270;color:#d2e1ff;font-weight:800}.user-details{min-width:0;flex:1}.user-details strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-details small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#72849d;font-size:10px;margin-top:3px}.logout{font-size:22px;padding:5px;color:#8798b3}.main-area{min-width:0;max-width:1700px;width:100%;margin:auto}.topbar{padding:35px 45px 27px;display:flex;justify-content:space-between;align-items:center;gap:12px}.top-actions{display:flex;gap:9px;align-items:center}.page-content{padding:0 45px 70px}.view{display:none;animation:fade .22s ease}.view.active{display:block}@keyframes fade{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.month-toolbar{display:flex;justify-content:space-between;align-items:center;margin:7px 0 21px;gap:8px}.month-controls{display:flex;align-items:center;gap:11px}.month-controls strong{min-width:147px;text-align:center;font-family:Manrope;font-weight:800;font-size:15px;text-transform:capitalize}.month-right{color:#718096;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{min-height:152px;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:23px 22px}.metric.emphasis{background:linear-gradient(130deg,#134e48,#10353e 78%);border-color:#247e6b}.metric-label{font-size:10px;letter-spacing:1.05px;font-weight:800;color:#9cacc3;display:block}.metric.emphasis .metric-label{color:#a5e1d2}.metric-number{font-family:Manrope;font-size:clamp(21px,2.2vw,30px);font-weight:800;letter-spacing:-1.3px;margin:19px 0 9px;white-space:nowrap}.metric.emphasis .metric-number{color:#d9fff0}.metric-detail{font-size:11px;color:#7f91a9}.metric.emphasis .metric-detail{color:#99cbbf}.metric-glow{position:absolute;border-radius:50%;width:160px;height:160px;background:#28f3b510;right:-85px;top:-60px;box-shadow:0 0 90px #56e9ba35;pointer-events:none}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,1fr);gap:16px;margin-top:17px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:23px;min-width:0}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:23px}.panel-title h2{margin-bottom:4px}.panel-title p{font-size:11px;color:var(--muted);margin:0}.panel-tag{background:#22394a;border-radius:7px;color:#97b7c6;padding:6px 8px;font-size:10px;font-weight:700}.trend-chart{height:202px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;position:relative;padding-top:6px}.trend-chart:before{content:'';pointer-events:none;position:absolute;inset:7px 0 22px;background:repeating-linear-gradient(to top,#26344a 0 1px,transparent 1px calc(25% - .25px));opacity:.67}.trend-group{height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;position:relative;z-index:1}.bars{height:calc(100% - 24px);display:flex;justify-content:center;gap:5px;align-items:flex-end}.bar{border-radius:6px 6px 2px 2px;width:min(21px,37%);min-height:2px;transition:height .35s}.bar.teal{background:linear-gradient(to top,#1e978d,#5be7bd)}.bar.blue{background:linear-gradient(to top,#3d5794,#6d97fa)}.bar-label{color:#788ba3;font-size:10px;text-align:center}.chart-legend{display:flex;gap:19px;font-size:11px;color:#94a3bb;margin-top:14px}.dot{display:inline-block;border-radius:50%;height:7px;width:7px;margin-right:5px}.dot.teal{background:var(--teal)}.dot.blue{background:var(--blue)}.category-chart{display:flex;flex-direction:column;gap:18px;min-height:228px}.category-row{display:flex;flex-direction:column;gap:8px}.cat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.cat-name{display:flex;align-items:center;gap:7px;color:#ccd7e8}.cat-color{width:10px;height:10px;flex:none;border-radius:4px}.cat-value{font-weight:800;color:var(--text);white-space:nowrap}.cat-budget{font-weight:400;color:var(--muted);font-size:10px}.progress-track{background:#243146;height:6px;border-radius:10px;overflow:hidden}.progress-fill{height:100%;border-radius:10px;min-width:1px}.progress-fill.over{background:var(--red)!important}.empty-state{border:1px dashed #334359;border-radius:13px;padding:32px 20px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.empty-state strong{display:block;color:#cad8e8;font-size:14px;margin-bottom:8px}.bottom-grid .panel{min-height:260px}.entries-list{display:flex;flex-direction:column}.entry-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #263449;min-width:0}.entry-row:first-child{padding-top:4px}.entry-row:last-child{border-bottom:0;padding-bottom:2px}.entry-icon{width:40px;height:40px;flex:none;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;background:#23364b;color:var(--teal)}.entry-icon.income{background:#234d42;color:#7be3aa}.entry-main{min-width:0;flex:1}.entry-main strong{font-size:12px;font-weight:800;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-main small{font-size:10px;color:var(--muted);display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-main .sep{padding:0 5px;color:#52647c}.entry-right{text-align:right;flex:none}.entry-amount{font-size:13px;white-space:nowrap;font-weight:800}.entry-amount.income{color:#77e6ba}.entry-right small{display:block;font-size:10px;color:#72839d;margin-top:6px}.entry-actions{display:flex;align-items:center;gap:4px}.tiny-btn{background:transparent;border:1px solid #314159;border-radius:8px;color:#aab9cc;padding:7px 9px;font-size:12px;font-weight:700;white-space:nowrap}.tiny-btn:hover{background:#25394b}.tiny-btn.teal{color:var(--teal);border-color:#235c51}.tiny-btn.danger{color:var(--red);border-color:#5f3541}.upcoming-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #253348}.upcoming-item:last-child{border:0}.due-bullet{width:9px;height:9px;border-radius:50%;background:var(--orange);flex:none}.due-bullet.overdue{background:var(--red)}.due-bullet.none{background:#67778b}.upcoming-main{min-width:0;flex:1}.upcoming-main strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-main small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.upcoming-item b{font-size:12px}.list-controls{display:grid;grid-template-columns:minmax(200px,1fr) 170px 125px 145px 150px auto;gap:10px;margin:2px 0 20px}.list-controls select,.list-controls input{min-width:0;font-size:12px}.search-box{position:relative}.search-box>span{position:absolute;left:14px;top:8px;font-size:23px;color:#6b819d}.search-box input{padding-left:39px}.list-panel{min-height:230px}.list-panel .entry-row{padding:17px 0}.list-panel .entry-main strong{font-size:13px}.list-panel .entry-main small{font-size:11px}.list-panel .entry-right{min-width:104px}.status-pill{display:inline-block;font-size:10px;border-radius:6px;background:#244c42;color:#8cf0be;padding:3px 7px;font-weight:700}.status-pill.unpaid{background:#543a29;color:#ffc58a}.status-pill.overdue{background:#512e3a;color:#ff9ba9}.section-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px}.section-intro h2{font-size:21px}.section-intro p{color:var(--muted);font-size:12px;margin:0}.bill-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-lite{padding:18px 21px}.stat-lite small{display:block;color:var(--muted)}.stat-lite strong{display:block;font-size:26px;margin-top:8px}.category-manage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.manage-cat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px}.manage-dot{height:36px;width:9px;border-radius:10px;flex:none}.manage-cat .info{flex:1;min-width:0}.manage-cat strong{font-size:13px;display:block}.manage-cat small{display:block;color:var(--muted);margin-top:5px}.manage-actions{display:flex;gap:7px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.settings-panel h2{margin-bottom:17px}.settings-panel hr{border:0;border-top:1px solid var(--border);margin:23px 0}.export-options{display:flex;flex-wrap:wrap;gap:9px}.form-stack{display:flex;flex-direction:column;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid>label{min-width:0}.form-stack h3{margin:7px 0 -4px;color:#a9b5c6}.alert{border:1px solid #286959;color:#adf6d6;background:#154339;padding:12px 14px;border-radius:11px;font-size:12px;line-height:1.5}.alert.error{color:#ffadba;background:#462532;border-color:#8c4955}.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 75% -10%,#163d3e 0,transparent 40%),radial-gradient(circle at 0 100%,#1b2742 0,transparent 45%),var(--bg)}.auth-card{position:relative;overflow:hidden;background:#101a2a;border:1px solid #2b394c;box-shadow:var(--shadow);border-radius:24px;padding:44px;width:100%;max-width:430px}.auth-card h1{font-size:32px;margin:3px 0 12px}.auth-card>p{margin-bottom:26px}.auth-logo{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;font-family:Manrope;margin-bottom:48px}.auth-orb{position:absolute;right:-100px;top:-110px;height:260px;width:260px;border-radius:50%;background:radial-gradient(circle,#3dceaa17,transparent 72%);pointer-events:none}.auth-card .btn.large{justify-content:space-between;padding:15px 19px;font-size:14px}.auth-foot{text-align:center;font-size:11px;color:#65788d;margin:23px 0 0!important}.install-card{max-width:570px}.install-card .auth-logo{margin-bottom:26px}.install-card h1{font-size:25px}.modal-layer{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center;padding:18px}.modal-layer.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:#020711c9;backdrop-filter:blur(5px)}.dialog{position:relative;z-index:1;background:#101a29;border:1px solid #34465c;border-radius:22px;width:min(100%,640px);max-height:min(90vh,900px);overflow-y:auto;box-shadow:0 28px 90px #0008}.dialog-head{padding:23px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #26354a;position:sticky;top:0;z-index:3;background:#101a29}.dialog-head h2{font-size:20px;margin:0}.entry-dialog{width:min(100%,720px)}.dialog .segmented{display:flex;gap:8px;margin:19px 24px 0;padding:5px;background:#0b1421;border-radius:12px}.segment{background:transparent;border:0;color:#899aaf;font-weight:800;padding:11px;flex:1;border-radius:9px}.segment.active{background:#1f4950;color:#85f1d3}.scan-banner{width:calc(100% - 48px);margin:14px 24px 0;border:1px dashed #388877;background:linear-gradient(110deg,#143e3c,#152d3e);border-radius:13px;padding:14px 15px;display:flex;gap:13px;align-items:center;text-align:left;color:#ddfcf0}.scan-banner:hover{border-color:var(--teal)}.scan-graphic{font-size:31px;font-weight:700;color:var(--teal)}.scan-banner>span:nth-child(2){flex:1}.scan-banner strong{display:block;font-size:13px}.scan-banner small{display:block;color:#91b9bb;font-size:11px;margin-top:5px}.scan-arrow{color:var(--teal);font-size:20px}.form-body{padding:23px 24px;display:flex;flex-direction:column;gap:16px}.amount-label{font-size:12px}.amount-input{position:relative}.amount-input input{font-size:28px;font-weight:800;font-family:Manrope;padding:13px 68px 13px 15px;height:66px;background:#0d2331;border-color:#347e72}.amount-input span{position:absolute;right:16px;top:23px;font-size:13px;color:#72c6b7}.extra-fields{background:#142034;border:1px solid #2a3b52;border-radius:12px;padding:14px 15px}.extra-fields summary{cursor:pointer;font-size:12px;color:#b9c9de;font-weight:800}.extra-fields[open] summary{margin-bottom:16px}.extra-fields label{margin-bottom:12px}.extra-fields label:last-child{margin-bottom:0}.attachment-widget{background:#152135;border:1px solid #2a3b52;border-radius:12px;padding:15px}.attachment-widget input{margin-top:4px}.attachment-current{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid #27364b;position:sticky;bottom:0;background:#101a29;z-index:2}.scan-dialog{max-width:530px}.scan-content{padding:24px}.scan-preview{background:#070c14;min-height:270px;border-radius:16px;overflow:hidden;position:relative;border:1px solid #29384a}.scanner-placeholder{height:270px;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#7f97a9;gap:9px}.scanner-placeholder span{font-size:67px;color:#3f9f89}.scanner-placeholder strong{color:#ccdce9;font-size:13px}.scanner-placeholder small{font-size:11px}.scan-buttons{display:flex;gap:10px;margin-top:16px}.scan-buttons .btn{flex:1}.upload-button{position:relative;overflow:hidden}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.scan-help{font-size:11px;margin:14px 0}.scan-content details textarea{margin-bottom:10px;font-family:monospace;font-size:11px}.scan-content #scannerMessage{margin-top:12px}.small-dialog{max-width:470px;padding-bottom:6px}.small-dialog .form-stack{padding:20px 24px 0}.small-dialog .dialog-actions{margin:0 -24px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,28px);background:#e1fff0;color:#09261f;padding:12px 20px;border-radius:12px;box-shadow:0 12px 45px #0008;font-size:13px;font-weight:800;opacity:0;z-index:100;pointer-events:none;transition:all .22s;max-width:min(92vw,450px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#ffe0e3;color:#6d1d2e}.mobile-nav{display:none}.mobile-menu-btn{display:none}.mobile-more-menu{display:none}
@media(max-width:1200px){.topbar{padding:29px 27px 23px}.page-content{padding:0 27px 70px}.list-controls{grid-template-columns:1fr 160px 120px;gap:10px}.list-controls input[type=month]{max-width:none}.dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr)}.metric{padding:20px 17px}.metric-number{font-size:23px}}
@media(max-width:900px){.app-shell{grid-template-columns:75px minmax(0,1fr)}.sidebar{padding:24px 10px}.brand{justify-content:center;padding:0;margin-bottom:48px}.brand>div:last-child,.nav-caption,.nav-link:not(.settings-nav){font-size:0}.brand .logo-mark{width:40px}.nav-link{font-size:0;justify-content:center;padding:12px}.nav-icon{font-size:22px}.side-note,.user-details,.logout{display:none}.user-card{justify-content:center}.dashboard-grid{grid-template-columns:1fr}.category-chart{min-height:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.category-manage{grid-template-columns:1fr}}
@media(max-width:640px){.app-shell{display:block}.sidebar{display:none}.main-area{padding-bottom:105px}.topbar{padding:25px 18px 21px;align-items:flex-end}.topbar h1{font-size:24px}.top-actions{gap:7px}.top-actions .btn{padding:10px 12px;min-height:40px}.top-actions .btn span{display:none}.top-actions .desktop-only{display:none}.page-content{padding:0 15px 25px}.month-toolbar{margin:2px 0 15px}.month-controls{gap:6px}.month-controls strong{min-width:132px;font-size:13px}.month-right{display:none}.month-controls .icon-btn{height:32px;width:32px}.metrics{gap:9px}.metric{min-height:128px;border-radius:15px;padding:17px 13px}.metric-number{font-size:clamp(18px,5vw,25px);letter-spacing:-1px;margin:19px 0 9px}.metric-label{font-size:8px;line-height:1.45}.metric-detail{font-size:9px;line-height:1.5;display:block}.dashboard-grid{gap:10px;margin-top:10px}.panel{padding:18px;border-radius:15px}.panel-title{margin-bottom:18px}.trend-chart{height:172px}.bottom-grid .panel{min-height:200px}.list-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.list-controls .search-box{grid-column:span 2}.list-controls input,.list-controls select{padding:10px;font-size:12px}.list-controls #clearFilters{grid-column:span 1}.section-intro{align-items:flex-start}.section-intro h2{font-size:19px}.section-intro p{font-size:11px}.section-intro .btn{font-size:11px;padding:10px}.mobile-menu-btn{display:inline-flex!important;min-width:38px;padding:6px!important;font-size:23px!important}.mobile-more-menu:not([hidden]){display:flex;flex-direction:column;position:fixed;top:74px;right:12px;z-index:29;width:210px;background:#1c2d40;border:1px solid #3a4c63;box-shadow:0 16px 44px #0008;border-radius:13px;padding:7px}.mobile-more-menu button,.mobile-more-menu a{font-size:13px;font-weight:700;color:#e6f0fd;text-align:left;border:0;background:transparent;padding:13px 12px;border-radius:8px}.mobile-more-menu button:hover,.mobile-more-menu a:hover{background:#2a4054;text-decoration:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#101a29f5;backdrop-filter:blur(18px);border-top:1px solid #2e3b51;align-items:center;justify-content:space-around;height:calc(69px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 40px #0002}.mobile-link{background:none;border:0;color:#8293aa;min-width:53px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:700}.mobile-link>span{font-size:22px;height:26px}.mobile-link.active{color:var(--teal)}.mobile-add{background:var(--teal);color:#082b21;border:0;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:300;flex:none;width:50px;height:50px;border-radius:16px;margin-top:-24px;box-shadow:0 7px 20px #34d0a84a}.entry-row{gap:8px}.entry-icon{width:34px;height:34px;border-radius:10px;font-size:15px}.entry-main strong{font-size:11px}.entry-main small{font-size:9px}.entry-amount{font-size:11px}.entry-right{min-width:0!important}.list-panel .entry-row{flex-wrap:wrap;gap:9px}.entry-actions{width:100%;justify-content:flex-end;margin-top:-2px}.tiny-btn{font-size:11px;padding:7px}.settings-grid{grid-template-columns:1fr}.modal-layer{padding:0;align-items:flex-end}.modal-layer .dialog{width:100%;max-height:95dvh;border-radius:20px 20px 0 0;border-bottom:0}.dialog-head{padding:17px 18px 14px}.dialog-head h2{font-size:18px}.dialog .segmented{margin:14px 16px 0}.scan-banner{margin:12px 16px 0;width:calc(100% - 32px);padding:12px}.scan-banner small{font-size:10px}.form-body{padding:18px 16px}.form-grid{gap:10px}.form-grid label{font-size:11px}.form-grid input,.form-grid select{padding:10px;font-size:12px;min-height:42px}.dialog-actions{padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.scan-content{padding:16px}.scan-preview,.scanner-placeholder{min-height:230px;height:230px}.small-dialog .form-stack{padding:18px 16px 0}.small-dialog .dialog-actions{margin:0 -16px}.toast{bottom:calc(82px + env(safe-area-inset-bottom));font-size:12px}.auth-card{padding:31px 23px}.auth-card h1{font-size:28px}}
@media(max-width:375px){.metric-number{font-size:18px}.month-controls strong{min-width:110px}.entry-actions .tiny-btn{padding:6px}.topbar{padding-left:14px;padding-right:14px}}
