#mobile-menu,.mobile-nav-label,.chart-scroll-hint,.calendar-scroll-hint{display:none}
@media (max-width:850px) and (min-width:701px){
 aside{flex-wrap:wrap}.brand{flex-basis:100%;margin-bottom:8px}.nav{flex:1;justify-content:center}.nav span{white-space:normal}.nav[data-view="rules"] span{font-size:11px}
}
@media(max-width:850px){
 html{-webkit-text-size-adjust:100%}body{min-width:0}main{margin:0;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));width:100%;max-width:100%}
 aside{position:sticky;top:0;z-index:30;width:100%;height:auto;max-height:85dvh;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-right:0;box-shadow:0 3px 14px #28462e08;background:#fff}
 .brand{grid-column:1/3;margin:0;gap:8px;font-size:24px}.logo{width:30px;height:34px;font-size:26px}.brand-dot{display:none}#mobile-menu{display:block;justify-self:end;min-height:44px;font-size:12px;padding:8px 12px}
 .side-label,.profile{display:none}.nav{width:100%;margin:0;padding:9px 4px;min-height:48px;justify-content:center;gap:6px;font-size:18px}.nav span,.nav[data-view="rules"] span{display:inline;font-size:11px;white-space:normal}.nav .desktop-nav-label{display:none!important}.nav .mobile-nav-label{display:inline!important}#side-import,.side-bottom{display:none}.menu-open #side-import{display:flex;grid-column:1/-1;justify-content:flex-start;padding-left:12px}.menu-open .side-bottom{display:block;grid-column:1/-1;padding:5px 12px 10px;margin:0;border-top:1px solid var(--line)}.side-bottom .local-icon{display:none}.side-bottom strong{font-size:13px}.side-bottom p{font-size:12px}.side-bottom .text-btn{display:inline-block;min-height:44px;margin-right:18px;font-size:12px}
 header{height:46px;font-size:11px;gap:10px}.breadcrumb{min-width:0}.breadcrumb span{padding:0 7px}.local-status{font-size:9px;white-space:nowrap}
 button,a,input,select,textarea{touch-action:manipulation}.btn,.btn.small,.quick-category,.text-btn{min-height:44px;font-size:12px}.close{min-width:44px;min-height:44px}.page-actions{padding:14px 0}.page-actions .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.page-actions #import{grid-column:1/-1}.actions button{padding:11px 8px;white-space:normal}
 .filter-controls{align-items:center;gap:8px}#filter-context{font-size:11px;line-height:1.5;text-align:right;min-width:0;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;margin-bottom:18px}.filters label,.category-filter{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:12px;min-width:0}.filters select{width:100%;max-width:100%;min-height:46px;font-size:16px;padding:9px 6px}.filters label:first-child{grid-column:1/-1}.category-filter details{width:100%}.category-filter summary{max-width:none;min-height:46px;font-size:13px;padding:12px 27px 10px 8px}.category-menu{left:0;right:auto;width:min(290px,calc(100vw - 52px));max-height:60dvh;overflow:auto}#category-options{max-height:38dvh}#category-options label{flex-direction:row;align-items:center;min-height:44px;font-size:14px}#category-options input{width:20px;height:20px}#custom-dates{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}#custom-dates input{width:100%;min-height:46px;font-size:16px;padding:8px 4px}.range{grid-column:1/-1;width:100%;font-size:11px;line-height:1.5}.filters #reset{text-align:left;grid-column:1/-1}.cycle-note{font-size:11px;line-height:1.7}
 .quick-categories{gap:8px;margin-bottom:18px}.quick-category{padding:9px 13px;font-size:12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric{padding:14px;min-height:138px}.metric>span{font-size:11px;gap:5px}.metric h2{font-size:clamp(17px,5.2vw,25px);margin:17px 0 9px;letter-spacing:-.6px;line-height:1.3}.metric small{white-space:normal;font-size:10px;line-height:1.5;overflow:visible}.panel{padding:16px;border-radius:10px}.panel h2{font-size:16px;line-height:1.5}.panel-head{align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:14px}.panel-head p{font-size:12px;max-width:none}.panel-head .legend{font-size:11px}.monthly-charts{gap:16px;margin-bottom:18px}.chart{height:245px;display:block;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.chart svg{height:245px;max-width:none;overflow:hidden}.chart-scroll-hint,.calendar-scroll-hint{display:block;font-size:11px;color:#8d9c83;line-height:1.5;margin:8px 0 10px}.chart text{font-size:11px}
 .calendar-toolbar{gap:12px}.calendar-toolbar #calendar-back{order:0}.calendar-toolbar>strong{order:1;font-size:20px;overflow-wrap:anywhere;max-width:100%}.calendar-navigation{order:2;width:100%;justify-content:space-between;gap:8px}.calendar-navigation h2{min-width:0;font-size:18px}.calendar-period{font-size:12px;line-height:1.5}.calendar-hint{font-size:12px;line-height:1.7;margin:14px 0}.calendar-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}.calendar-weekdays,.calendar-grid{min-width:630px}.calendar-weekdays{font-size:11px}.calendar-day,.calendar-blank{padding:10px 7px;min-height:102px}.calendar-day>span{font-size:12px}.calendar-day strong{font-size:12px;letter-spacing:0;overflow-wrap:normal;white-space:nowrap}.calendar-day small{font-size:10px}.calendar-selection{font-size:12px;flex-wrap:wrap;gap:6px}.calendar-selection .text-btn{font-size:12px}
 .transactions>.panel-head{display:flex;flex-direction:column;gap:12px}.transaction-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transaction-actions .btn{white-space:normal;line-height:1.5;padding:9px 6px}.transaction-actions #csv-export{justify-self:start}.table-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.table-tools input,.table-tools select{width:100%;font-size:16px;min-height:46px;margin:0}.table-wrap{max-width:100%}
 #transactions table,#transactions tbody,#transactions tr,.rule-preview-scroll table,.rule-preview-scroll tbody,.rule-preview-scroll tr{display:block;width:100%;white-space:normal}#transactions thead,.rule-preview-scroll thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#transactions tbody tr,.rule-preview-scroll tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'name amount' 'category amount' 'date source';gap:8px 12px;padding:16px 0;border-bottom:1px solid var(--line);min-height:104px}#transactions td,.rule-preview-scroll td{display:block;padding:0;border:0;font-size:12px;min-width:0}#transactions td.name,.rule-preview-scroll td.name{grid-area:name;font-size:14px;line-height:1.5;font-weight:600;max-width:none;overflow-wrap:anywhere;overflow:visible}.merchant-icon{display:none}#transactions td:nth-child(2){grid-area:category}#transactions td:nth-child(3){grid-area:date}#transactions td:nth-child(4){grid-area:source;text-align:right;max-width:105px;font-size:10px}#transactions td.amount{grid-area:amount;align-self:center;font-size:14px;white-space:nowrap}#transactions td.edit-icon{display:none}.badge{font-size:11px;padding:5px 7px;max-width:100%;white-space:normal}.transaction-kind{font-size:10px}.pagination{font-size:12px;gap:10px}.pagination .btn{min-width:44px}
 #transactions tr:has(td[colspan]),.rule-preview-scroll tr:has(td[colspan]){display:block;min-height:0}.no-data{font-size:13px;padding:22px 8px!important}.rules-layout{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px}#rule-form>label,#rule-amount-fields label{font-size:13px}#rule-form input,#rule-form select{font-size:16px;max-width:100%;width:100%;min-height:46px}.form-grid{grid-template-columns:minmax(0,1fr)}.rule-explanation,.rule-preview-notice{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.rule-suggestions button{font-size:13px;min-height:46px}.saved-rule{flex-wrap:wrap;gap:8px}.saved-rule strong{font-size:14px}.saved-rule>div:first-child{min-width:0;width:100%}.saved-rule p{flex-wrap:wrap}.saved-rule-actions{flex-direction:row;gap:18px}.saved-rule small{font-size:11px}.rule-preview-panel .panel-head>strong{font-size:18px;max-width:100%;overflow-wrap:anywhere}.rule-preview-scroll tbody tr{grid-template-areas:'name amount' 'category amount' 'date date'}.rule-preview-scroll td:nth-child(2){grid-area:date}.rule-preview-scroll td:nth-child(3){grid-area:category}.rule-preview-scroll td:nth-child(4){grid-area:amount;align-self:center;font-size:14px;white-space:nowrap}.original-category{font-size:11px;line-height:1.5}.rule-preview-scroll{max-height:520px}
 dialog{width:calc(100% - 16px);max-width:580px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:18px;border-radius:14px;overflow:auto;overscroll-behavior:contain}body:has(dialog[open]){overflow:hidden}dialog input,dialog select,dialog textarea{font-size:16px;min-height:46px;max-width:100%;width:100%}dialog label{font-size:13px}.dialog-head{gap:8px}.dialog-head h2{font-size:21px;line-height:1.4}.dialog-head p{font-size:12px}.dialog-actions{position:sticky;bottom:-18px;z-index:2;background:#fff;padding:14px 0 max(14px,env(safe-area-inset-bottom));margin-top:14px;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line)}.dialog-actions .btn{flex:1;font-size:13px}.dialog-actions .danger{width:100%;min-height:44px;text-align:left;font-size:13px}.dropzone{padding:18px 10px}.dropzone strong{font-size:14px;line-height:1.5}.dropzone small{font-size:12px}.dropzone input{font-size:13px}.import-note{font-size:12px;line-height:1.7}#import-preview{font-size:12px;max-width:100%;overflow:auto;max-height:40dvh}#import-preview table{min-width:480px}#import-preview th{font-size:10px}#import-preview td{font-size:12px}.empty{padding:24px 15px}.empty p{font-size:14px;line-height:1.7}.empty .btn{width:100%;margin:6px 0}footer{padding:0 0 max(22px,env(safe-area-inset-bottom))}footer .text-btn{font-size:12px}#toast{bottom:max(16px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);font-size:13px;line-height:1.5}
}
@media(max-width:850px){.filters{position:relative}.category-filter details{position:static}.category-menu{left:12px;right:12px;top:auto;width:auto;margin-top:4px}}
@media(max-width:850px){#calendar-panel{scroll-margin-top:130px}}
