/* Device layouts: compact phones, tablet sidebar, safe-area aware standalone. */
:root{--tab-height:72px}html{scroll-padding-block:24px 110px}body{min-height:100vh;min-height:100dvh}main{min-width:0}#app,.card,.stack,.grid,.backupgrid,.cards{min-width:0}.grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.backupgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}.row>*,.metric-line>*,.toolbar>*{min-width:0}.card p,.member,.notice,.cloudwarn{overflow-wrap:anywhere}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #72947d;outline-offset:3px}button:disabled{opacity:.5}input,select,textarea{font-size:max(16px,1rem);width:100%}input[type=checkbox],input[type=radio]{width:auto}button,.mini,.month button{min-height:44px}.mini{min-width:44px}.month{flex-wrap:wrap}.month strong{min-width:0}.month button{flex-shrink:0}.chart{gap:12px}.bars{gap:5px}.bar{max-width:25px;width:min(25px,5vw)}dialog{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}dialog h2{margin-bottom:0}dialog .row.spread{align-items:flex-start}dialog .row.spread>button{flex-shrink:0}dialog form>.primary{position:sticky;bottom:0;box-shadow:0 -8px 16px #ffffffdb}body:has(dialog[open]){overflow:hidden}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon svg{height:21px;width:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}nav button{display:flex;align-items:center;gap:12px;white-space:normal}.nav-label{min-width:0}.language-control{gap:12px;align-items:center;flex-wrap:wrap}.language-control select{min-height:44px;font-size:16px;width:auto}.language-control #installApp{font-size:.82rem;background:#e8eee5}.install-steps{padding-left:24px;display:grid;gap:12px;line-height:1.55}.install-icon{width:64px;height:64px;border-radius:15px}.install-state{display:flex;align-items:center;gap:14px;margin-bottom:18px}.install-state p{margin:0}.toast{z-index:50;bottom:calc(24px + env(safe-area-inset-bottom))}aside{height:100vh;height:100dvh;padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.asidefoot{position:static;margin-top:28px}main{padding-top:calc(32px + env(safe-area-inset-top));padding-right:max(28px,env(safe-area-inset-right));padding-left:max(28px,env(safe-area-inset-left))}
@media(min-width:768px) and (max-width:1199px){aside{width:190px;padding-inline:16px}.brand{font-size:1.7rem;margin-bottom:26px}main{margin-left:190px;padding-inline:24px}.grid{grid-template-columns:1fr}.cards{gap:12px}.card{padding:22px}.amount{font-size:1.75rem}.hero .amount{font-size:2.15rem}nav button{padding:12px 10px}.backupgrid{gap:16px}.forecast-thresholds{grid-template-columns:repeat(3,minmax(0,1fr))}.threshold{padding:14px}.threshold strong{font-size:1rem}.gate{margin-block:30px}}
@media(max-width:767px){
 aside{width:100%;height:auto;top:auto;bottom:0;left:0;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:20;border-right:0;border-top:1px solid #dce3d9;background:#ffffffed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:visible}.brand,.asidefoot{display:none}nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}nav .nav-secondary{display:none}nav .nav-more{display:flex}nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:60px;padding:7px 2px;font-size:.65rem;line-height:1.15;letter-spacing:0;border-radius:13px;overflow-wrap:normal}nav .nav-label{text-wrap:balance}nav button.active{background:#e8f0e7}nav .nav-icon svg{width:22px;height:22px}main{margin:0;padding:calc(20px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(var(--tab-height) + 28px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:none}header{margin-bottom:18px;flex-wrap:wrap;gap:14px}header>div{flex:1 1 100%}header h1{font-size:1.82rem}header .primary{width:100%;min-height:48px;font-size:.94rem}.language-control{justify-content:space-between;margin:0 0 20px}.language-control label{gap:8px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero{grid-column:1/-1}.card{padding:20px;border-radius:20px}.amount{font-size:1.65rem}.hero .amount{font-size:2.5rem}.grid,.backupgrid{grid-template-columns:1fr;gap:16px}.stack{gap:16px}.forecast-thresholds{grid-template-columns:1fr}.threshold{grid-template-columns:1fr auto}.threshold small:last-child{grid-column:1/-1}.forecast-wide{grid-column:auto}.entry{flex-wrap:wrap;gap:10px}.entry .detail{flex:1 1 100px}.entry>strong{margin-left:auto;font-size:.88rem}.entry .mini{flex-shrink:0}.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toolbar input,.toolbar select{grid-column:1/-1}.toolbar button{padding-inline:10px}.card>.row.spread,.member.row{flex-wrap:wrap;gap:10px}.workspace{gap:10px}.workspace select{flex:1 1 140px}.gate{margin:22px auto}.metric-line{font-size:.82rem;gap:12px}.metric-line strong{white-space:normal;text-align:right}.toast{bottom:calc(var(--tab-height) + 18px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}dialog{width:calc(100vw - 16px);max-width:520px;border-radius:24px;padding:22px 20px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);scroll-padding-bottom:65px}dialog .fields{grid-template-columns:1fr}footer{margin-top:26px}.table-scroll{max-width:100%;overscroll-behavior-x:contain}.forecast-chart{max-width:100%}
}
@media(max-width:374px){.cards{grid-template-columns:1fr}.hero{grid-column:auto}.cards .amount{font-size:2rem}nav button{font-size:.59rem}h1{font-size:1.65rem}.language-control{gap:8px}.language-control #installApp{font-size:.75rem}.card{padding:18px}.toolbar{grid-template-columns:1fr}}
@media(max-height:500px) and (max-width:950px) and (orientation:landscape){main{padding-top:16px}aside{padding-top:12px}.brand{margin-bottom:15px}dialog{max-height:calc(100dvh - 16px);padding:16px}nav button{min-height:44px}header h1{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.language-control>#languageControl{margin:0;display:block}.language-control>#languageControl label{flex-wrap:nowrap}.language-control #installApp[hidden]{display:none}
.quick-choice{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;width:100%;margin:10px 0}.quick-choice span{font-size:.82rem;white-space:normal}textarea{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;resize:vertical}#quickActions[hidden],#categorySuggestion[hidden]{display:none}#categorySuggestion{font-size:.82rem;text-align:left;background:#edf3e9}#quickActions{margin-bottom:20px}
