.mobile-extra{display:contents}#nav .mobile-more{display:none}
@media(max-width:720px){
 html{scroll-padding-bottom:100px}body{overflow-wrap:break-word}*,*::before,*::after{box-sizing:border-box}
 body:not(.login){padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 aside{padding:16px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border-right:0;border-bottom:1px solid var(--line)}
 aside .brand{margin:0;font-size:23px;gap:8px}aside .cashvio-icon{--logo-size:38px}aside .brand small{font-size:8px;margin:4px 0 0}
 aside>label{grid-row:2;grid-column:1;max-width:none;font-size:12px}aside select{margin-top:5px;min-height:44px}
 .sidebar-theme{grid-column:2;grid-row:1;margin:0;align-self:center}.theme-switch{gap:6px;font-size:11px}.switch-track{width:40px;flex-shrink:0}
 .side-bottom{display:flex;grid-column:2;grid-row:2;margin:0;padding:0;align-items:end}.side-bottom #user{display:none}.side-bottom button{padding:10px;font-size:12px}
 #nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:7px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--line);overflow:visible;box-shadow:0 -5px 24px #0001}
 #nav>button,#nav .mobile-more{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:58px;width:100%;padding:6px 2px;font-size:10px;text-align:center;border-radius:8px;box-shadow:none;line-height:1.2;min-width:0}
 #nav button span{overflow-wrap:normal}#nav svg{width:21px;height:21px;flex-shrink:0}
 #nav .mobile-extra{display:none;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 40px #0004;max-height:65dvh;overflow-y:auto}
 #nav.mobile-open .mobile-extra{display:grid;grid-template-columns:1fr 1fr;gap:6px}#nav .mobile-extra button{padding:14px 10px;font-size:13px;min-height:54px;white-space:normal}
 main{padding:20px 14px;margin:0;width:100%;min-width:0}header{gap:14px;margin-bottom:16px}header .eyebrow{font-size:10px}h1{font-size:27px}header .actions{width:100%;display:flex;flex-wrap:nowrap}header .actions>#refresh{flex:0 0 auto}.add-menu{flex:1}.add-menu>summary{min-height:44px;text-align:center}.add-menu-items{width:min(320px,calc(100vw - 28px));max-width:calc(100vw - 28px)}
 button,summary{min-height:44px}input,select,textarea{font-size:16px;min-height:44px}input[type=checkbox]{min-height:0}.panel,.card{padding:16px;min-width:0}.grid>*{min-width:0}.two,.three{grid-template-columns:1fr}.panel-head{flex-wrap:wrap;gap:10px}.panel-head h2{margin:0}.overview-stats,.investment-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-stats .card:first-child,.investment-stats .card:first-child{grid-column:1/-1}.overview-stats .value{font-size:21px}.overview-stats .card:first-child .value{font-size:28px}.overview-stats small{font-size:12px}.investment-sum{font-size:17px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filters>label:first-child{grid-column:1/-1}
 .row{gap:10px;flex-wrap:wrap}.row>div{min-width:0;max-width:100%}.account-group .row>div:last-child{margin-left:auto}.actions{gap:8px}.actions button{flex-grow:1}footer{font-size:11px;line-height:1.6}
 .table-wrap{overflow:visible}.mobile-cards,.mobile-cards tbody{display:block;width:100%}.mobile-cards thead{display:none}.mobile-cards tbody tr{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:12px 0;background:var(--panel)}.mobile-cards tbody td{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;text-align:right;padding:9px 0;white-space:normal;flex-wrap:wrap}.mobile-cards tbody td::before{content:attr(data-label);text-align:left;font-size:12px;color:var(--muted);margin-right:auto}.mobile-cards tbody td:has(strong){display:block;text-align:left}.mobile-cards tbody td:has(strong)::before{display:block;margin-bottom:5px}.mobile-cards tbody td:last-child{border-bottom:0}.mobile-cards td button{flex:1}.investment-group td:first-child{min-width:0}.investment-name{max-width:none}.mobile-cards td.amount{font-size:17px}.mobile-cards td br{display:none}
 .calendar{gap:3px}.weekday{font-size:11px;padding:8px 0}.calendar .day{min-width:0;min-height:100px;padding:4px 2px;font-size:12px}.calendar-payment{padding:3px 2px;border-left-width:2px;font-size:9px;min-height:44px}.calendar-payment strong{font-size:9px;letter-spacing:-.3px}.calendar-payment span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-wrap{padding:10px}
 dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;overscroll-behavior:contain}dialog .dialog-head{position:sticky;top:-20px;background:var(--panel);z-index:2;padding:10px 0;border-bottom:1px solid var(--line)}dialog h2{font-size:20px}.dialog-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);z-index:2}.dialog-actions button{flex:1;min-height:48px}.form-grid{grid-template-columns:1fr}.split{grid-template-columns:minmax(0,1fr) 105px 44px;gap:6px}.icon-picker{grid-template-columns:repeat(5,1fr)}
 .login-art{padding:24px;min-height:230px}.login-art .brand{margin-top:42px;font-size:27px}.login-art h1{font-size:32px;margin:28px 0 10px}.login-art .cashvio-icon{--logo-size:46px}.login-theme{top:12px;right:16px}.login-box{width:100%;padding:28px 24px max(30px,env(safe-area-inset-bottom));margin:0}.login-box h2{font-size:26px}.login-box form{margin-top:20px}
}
@media print{#nav .mobile-more{display:none}}

@media(max-width:360px){aside .brand{font-size:20px;gap:5px}aside .cashvio-icon{--logo-size:32px}aside .brand small{font-size:7px;letter-spacing:1px}.theme-switch{font-size:10px;gap:3px}.sidebar-theme .switch-track{width:40px}.calendar-payment strong{font-size:8px}}
