/* Calm, precise distribution chart. Shared mobile/desktop styling. */
.distribution-card{overflow:hidden}.distribution-card .sectionTitle{align-items:center}.distribution-card #analysisBy{min-height:38px;font-size:12px;padding:8px 12px;border-radius:12px}.distribution-layout{display:grid;gap:20px;margin-top:16px}.refined-donut{position:relative;width:240px;max-width:100%;margin:0 auto}.refined-donut svg{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 2px #00000006)}.donut-caption{position:absolute;inset:28%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none}.donut-caption small{font-size:10px;color:var(--muted)}.donut-caption strong{font-size:22px;letter-spacing:-.055em;white-space:nowrap;line-height:1.6;font-variant-numeric:tabular-nums}.donut-caption span{font-size:9px;color:var(--muted);white-space:nowrap}.donut-insight{font-size:12px;text-align:center;line-height:1.8;color:var(--muted);margin:4px 0 12px}.donut-insight b,.donut-insight strong{color:var(--brand)}.legend-heading{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line)}.refined-legend{padding:14px 0;border-bottom:1px solid var(--line)}.refined-legend:last-child{border:0}.legend-main{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.legend-main strong{font-size:13px}.legend-main i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.legend-main>div{display:flex;align-items:center;gap:8px;margin-left:auto}.legend-main b{font-size:13px;font-variant-numeric:tabular-nums}.share-pill{font-size:10px;background:var(--soft);color:var(--brand);padding:3px 7px;border-radius:8px;min-width:46px;text-align:center}.legend-track{height:3px;background:var(--soft);border-radius:4px;margin:10px 0}.legend-track span{display:block;height:100%;border-radius:4px}.legend-detail{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;font-size:10px;color:var(--muted);line-height:1.6}
@media(min-width:650px) and (max-width:999px){.distribution-layout{grid-template-columns:minmax(220px,.85fr) minmax(0,1fr);align-items:center}}
@media(min-width:1000px){
 .app{max-width:1440px;width:calc(100% - 228px);margin:0 28px 0 200px;padding:32px 0 48px}.top{margin:0 0 18px;min-height:78px}.top h1{font-size:28px}.top .sub{max-width:none;font-size:13px}.version-pill{position:static;margin-left:auto;padding:7px 12px;font-size:10px}.status{margin:0 0 24px}.nav{left:22px;top:142px;bottom:auto;right:auto;width:150px;padding:10px;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 30px #00000005}.navin{display:flex;flex-direction:column;gap:8px;width:100%;max-width:none}.navbtn{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:15px 18px;font-size:13px;width:100%}.navbtn span{margin:0}.navbtn .app-icon{width:22px;height:22px}.card{padding:24px;border-radius:22px;margin:0}.tab.active{min-width:0}#home.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}#home>.summary-card{grid-column:1/-1;grid-row:1}#home>.input-card{grid-column:1;grid-row:2}#home>.recent-card{grid-column:2;grid-row:2/span 2}#home>#preview{grid-column:1;grid-row:3}.summary-card .summary{gap:32px}.summary-card .metric b{font-size:29px}.summary-card .metric span{font-size:12px}.budget-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.budget-track{align-self:center}.budget-line:last-child{grid-column:1/-1}.hero{padding:8px 0}.hero h2{font-size:24px}.input-card textarea{min-height:98px}#history>.card{padding:28px}.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.filters .search-full{grid-column:1/-1}.filters .reset-full{grid-column:1/-1}.transaction-row{padding:17px 18px}.transaction-name,.transaction-amount{font-size:15px}.transaction-tags span,.transaction-memo{font-size:12px}.transaction-date{font-size:11px}#stats.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}#stats>.card{min-width:0}#stats>.distribution-card{position:sticky;top:24px}.distribution-layout{gap:16px}.refined-donut{width:260px}.donut-caption strong{font-size:24px}#settings.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}#settings>.card{min-width:0;margin:0}.theme-settings,.emoji-settings{grid-column:auto}.feature-settings{grid-column:1/-1}.theme-options{gap:8px}.theme-mascot{width:82px}.feature-grid{gap:28px}.emoji-choices{grid-template-columns:repeat(8,minmax(0,1fr))}.toast{bottom:28px}.sectionTitle{gap:12px}.sectionTitle>b{font-size:17px}
}
@media(min-width:1450px){.distribution-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}.refined-donut{width:240px}.app{width:calc(100% - 260px);margin-left:210px}.distribution-card .card{padding:28px}}

/* v8.7: readable text and denser records without clipping content. */
.transaction-row{padding:11px 12px;margin:8px 0;border-radius:15px}.transaction-heading{gap:8px}.transaction-name,.transaction-amount{font-size:16px}.transaction-tags{margin:5px 0 3px;gap:3px 6px}.transaction-tags span,.transaction-date,.transaction-memo{font-size:13px;line-height:1.5}.transaction-memo{margin-top:3px}.row-actions{margin-top:7px;padding-top:3px;gap:5px}.row-actions button,.bulk-pick{font-size:13px;min-height:36px}.row-actions button{padding:4px 6px}.help-line,.hint,.notice,.status,.form-help,.quick-title,.stats-small,.legend-detail,.legend-heading,.donut-insight,.version-pill,.transaction-tags span,.compare-metrics span,.category-compare-amounts{font-size:13px}.legend-main strong,.legend-main b{font-size:15px}.share-pill{font-size:13px;min-width:54px}.legend-detail{line-height:1.6}.donut-caption{inset:30% 24%}.donut-caption small{font-size:12px}.donut-caption span{font-size:11px}.donut-caption strong{font-size:21px}.top .sub,.hero-sub{font-size:14px}.navbtn{font-size:13px}.theme-option small{font-size:12px}.theme-option strong{font-size:14px}.metric span,.budget-line{font-size:12px}.refined-legend{padding:12px 0}.legend-main{gap:6px}.legend-main>div{gap:6px}.sectionTitle .hint{font-size:13px}
@media(min-width:1000px){.transaction-row{padding:12px 14px}.transaction-name,.transaction-amount{font-size:16px}.transaction-date,.transaction-tags span,.transaction-memo{font-size:13px}.legend-detail{font-size:13px}.version-pill{font-size:12px}}
/* v8.8 */
.amount-calculator{margin-top:8px}.amount-calculator summary{font-size:14px}.calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.calc-keys button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);font-size:18px}.plan-row{padding:14px 0;border-bottom:1px solid var(--line)}.plan-row progress{width:100%;height:12px;accent-color:var(--brand);margin-top:12px}.plan-row .legend-main b{font-size:14px}.category-plan-card{grid-column:1/-1}
@media(max-width:999px){.nav{position:fixed;left:0;right:0;bottom:0;height:auto;margin:0;z-index:100;padding:8px 12px calc(8px + env(safe-area-inset-bottom));backdrop-filter:none;background:var(--card)}.navin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:640px}.navbtn{min-height:60px}.app{padding-bottom:calc(110px + env(safe-area-inset-bottom));}.navbtn .app-icon{width:23px;height:23px}}

/* v8.8.1: compact keypad and input-safe navigation */
.nav[hidden]{display:none!important}
.calc-keys{gap:5px}
.calc-keys button{height:36px;min-height:36px;padding:0 3px;font-size:17px;line-height:1;white-space:nowrap;word-break:normal;overflow-wrap:normal;border-radius:9px}
.calc-keys button[data-calc="C"]{grid-column:span 2}
@media(max-width:999px){.nav{top:auto!important;bottom:0!important}}

/* v8.8.2: navigation is a normal-flow grid row, outside the scrolling content. */
.mobile-shell{display:contents}
@media(max-width:999px){
 html,body{height:100%;overflow:hidden}
 .mobile-shell{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;height:100dvh;width:100%;overflow:hidden}
 .mobile-shell>.app{grid-row:1;min-height:0;width:100%;margin:0 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding-bottom:24px;scroll-padding-top:16px;scroll-padding-bottom:24px}
 .mobile-shell>.nav{grid-row:2;position:static!important;inset:auto!important;width:100%;min-width:0;align-self:end;transform:none;margin:0;backdrop-filter:none}
}

/* Header and grouped settings; retain the confirmed mobile scroll shell. */
#connectionState{display:none}
.top{padding-top:28px;margin-bottom:22px}.top .version-pill{position:absolute;top:0;right:0;bottom:auto;margin:0;font-size:12px;padding:3px 9px}.top .sub{max-width:none}
#settings.active{display:block}.settings-group{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-bottom:12px;overflow:hidden}.settings-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px;color:var(--text)}.settings-group>summary::-webkit-details-marker{display:none}.settings-group>summary strong{font-size:17px;display:block}.settings-group>summary small{font-size:13px;color:var(--muted);font-weight:400;display:block;margin-top:4px}.settings-chevron{font-size:22px;transition:transform .15s}.settings-group[open]>summary .settings-chevron{transform:rotate(180deg)}.settings-group-body{padding:0 14px 14px}.settings-group-body>.card{margin:0 0 12px;padding:18px;box-shadow:none;border-radius:15px}.settings-group-body>.card:last-child{margin-bottom:0}.navbtn[data-tab="settings"].active .app-icon{fill:none}
@media(min-width:1000px){.settings-group-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-group-body>.card{margin:0;min-width:0}.settings-group-body>.feature-settings,.settings-group-body>.category-settings{grid-column:1/-1}}
