.sidebar nav a[hidden]{display:none!important}
.bottom-nav{display:none}
.search-box,.search-filters,.search-box input,.search-filters input,.goal-form input,.steps-form input{min-width:0;max-width:100%;width:100%}
.calendar-panel{margin-bottom:20px}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;color:var(--muted);margin-bottom:8px}.calendar-day{display:grid;justify-items:center;gap:4px;min-height:48px;padding:7px 0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font-size:16px}.calendar-day:hover{background:var(--mint)}.calendar-day.today{border-color:var(--teal)}.calendar-day.selected{background:var(--green-surface);color:white}.calendar-day i{width:5px;height:5px;border-radius:50%}.calendar-day i.recorded{background:var(--teal)}.calendar-day.selected i.recorded{background:white}
.ui-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}
:root{--green-surface:linear-gradient(135deg,#123d38 0%,#166c5b 65%,#238678 100%);--green-soft:linear-gradient(135deg,#e7f8ef,#ccece5);--green-progress:linear-gradient(90deg,#0f766e,#36b392)}
.auth-story,.balance-panel,.primary,.budget-summary article,.streak-hero,.mountain-hero,.avatar{background:var(--green-surface)}
.primary{gap:8px;box-shadow:0 5px 16px rgba(15,118,110,.14)}
.sidebar nav a.active,.entry-icon.income,.account-card>span,.status-pill,.mountain-token.unlocked{background:var(--green-soft)}
.goal-progress span,.progress-fill:not(.warning):not(.over),.bar:not(.expense){background:var(--green-progress)}
.more-links button{display:flex;align-items:center;gap:12px}
.streak-fire .ui-icon{width:42px;height:42px}.mountain-mark .ui-icon{width:64px;height:64px}
.badge-icon .ui-icon,.mountain-token .ui-icon{width:32px;height:32px}
.bottom-nav button#quick-entry>span{background:var(--green-surface)}
.bottom-nav .ui-icon{width:22px;height:22px}.bottom-nav #quick-entry .ui-icon{width:26px;height:26px}
.app-page{min-width:0;width:100%}
@keyframes page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.page-heading h1{font-size:38px}
.page-heading>div>p:last-child{margin:10px 0 0;color:var(--muted)}
.report-controls{display:flex;gap:9px;align-items:center}
.report-controls select,.report-controls input{min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.metric-grid article{display:grid;gap:6px;padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--white)}
.metric-grid small{color:var(--muted);font-weight:750}
.metric-grid strong{font-size:25px;letter-spacing:-.03em}
.report-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:20px}
.chart-panel{min-width:0;overflow:hidden}
.bar-chart{display:grid;grid-template-columns:repeat(var(--bars,7),minmax(36px,1fr));align-items:end;gap:12px;min-height:320px;padding:24px 4px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.bar-column{display:grid;grid-template-rows:1fr auto;align-items:end;gap:10px;height:270px;min-width:36px;text-align:center}
.bar-stack{display:flex;height:220px;align-items:flex-end;justify-content:center;gap:4px}
.bar{width:min(22px,42%);min-height:3px;border-radius:7px 7px 2px 2px;background:var(--teal);transition:height .25s ease}
.bar.expense{background:var(--coral)}
.bar-column small{color:var(--muted);font-size:10px;white-space:nowrap}
.chart-legend{display:flex;gap:16px;margin-top:16px;color:var(--muted);font-size:11px}
.chart-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:3px;background:var(--teal)}
.chart-legend .expense:before{background:var(--coral)}
.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.budget-summary article{padding:20px;border-radius:18px;background:var(--deep);color:white}
.budget-summary small,.budget-summary strong{display:block}.budget-summary small{color:#bed0cb}.budget-summary strong{margin-top:5px;font-size:23px}
.budget-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.budget-card{padding:23px;border:1px solid var(--line);border-radius:21px;background:var(--white)}
.budget-card-head{display:flex;justify-content:space-between;gap:14px}.budget-card-head h3{margin:0;font-size:19px}.budget-card-head span{color:var(--muted);font-size:11px}
.budget-amounts{display:flex;justify-content:space-between;margin:22px 0 8px;font-size:12px}.budget-amounts strong{font-size:18px}
.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e9e6de}.progress-fill{height:100%;border-radius:inherit;background:var(--teal)}.progress-fill.warning{background:#d99032}.progress-fill.over{background:var(--coral)}
.budget-meta{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:11px}.budget-actions{display:flex;justify-content:flex-end;margin-top:14px}.danger-text{border:0;background:transparent;color:var(--coral);font-weight:800}
#budget-form>.primary{width:100%}
.admin-chart-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;margin-bottom:20px}.admin-chart{--bars:6;min-height:260px}.admin-chart .bar-column{height:215px}.admin-chart .bar-stack{height:165px}
.admin-users-panel{margin-top:20px}.admin-users-panel #admin-updated{color:var(--muted);font-size:11px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:13px 10px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}td:first-child{font-weight:750}
.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--mint);color:var(--teal);font-size:10px;font-weight:800}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.report-grid,.admin-chart-grid{grid-template-columns:1fr}}
@media(max-width:900px){.sidebar nav{display:flex;gap:4px;overflow-x:auto}.sidebar nav a{padding:8px 10px;white-space:nowrap;font-size:11px}.sidebar .brand{display:none}.page-heading{align-items:flex-start}.budget-list{grid-template-columns:1fr}}
@media(max-width:620px){.page-heading{display:grid}.page-heading h1{font-size:32px}.report-controls{display:grid;grid-template-columns:1fr 1fr}.metric-grid,.budget-summary{grid-template-columns:1fr 1fr}.metric-grid article{padding:17px}.metric-grid strong{font-size:20px}.budget-summary article:last-child{grid-column:1/-1}.bar-chart{gap:8px}.admin-users-panel{padding:16px}}
.workspace,.panel,.report-controls,.metric-grid article,.budget-summary article{min-width:0}
.metric-grid strong,.budget-summary strong{overflow-wrap:anywhere}
.report-controls input,.report-controls select{min-width:0;max-width:100%}
.sidebar nav{min-width:0}
.page-heading h1{line-height:1.25}
dialog{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}
dialog input,dialog select{font-size:16px}
dialog .dialog-head{position:sticky;top:-28px;background:var(--white);z-index:1;padding:12px 0}
.smart-search{margin-top:20px}.search-box{display:grid;grid-template-columns:1fr auto;gap:10px}.search-box input,.search-filters input{min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:13px;background:white}.search-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 0 18px}.search-result{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px 0;border-top:1px solid var(--line)}.search-result small{display:block;color:var(--muted)}
.streak-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#123d38,#0f766e);color:white}.streak-hero>div{display:flex;align-items:center;gap:18px}.streak-fire{font-size:42px}.streak-hero small,.streak-hero strong{display:block}.streak-hero strong{font-size:32px}.streak-hero p{margin:3px 0;color:#d4eee8}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.badge-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--white);opacity:.55}.badge-card.unlocked{opacity:1;border-color:#dba849;background:#fff9e8}.badge-card .badge-icon{font-size:28px}.badge-card strong,.badge-card small{display:block}.badge-card small{margin-top:5px;color:var(--muted)}.goal-progress{height:12px;border-radius:999px;background:#e9e6de;overflow:hidden}.goal-progress span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.goal-values{display:flex;justify-content:space-between;margin-top:10px}.more-links{display:grid;gap:8px;margin-top:20px}.more-links button{min-height:50px;padding:0 15px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left;font-weight:800}
.mountain-hero{display:flex;align-items:center;gap:22px;padding:28px;border-radius:25px;background:linear-gradient(135deg,#162d29,#315f55);color:white}.mountain-mark{font-size:58px}.mountain-hero small,.mountain-hero strong{display:block}.mountain-hero strong{font-size:32px}.mountain-hero p{margin:5px 0 0;color:#c9e2dc}.mountain-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.goal-form,.steps-form{display:grid;gap:12px}.goal-form label,.steps-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.goal-form input,.goal-form select,.steps-form input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:white;font-size:16px}.goal-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.summit-card{padding:22px;border:1px solid var(--line);border-radius:21px;background:var(--white)}.summit-card-head{display:flex;justify-content:space-between;gap:12px}.summit-card-head span{font-size:28px}.summit-card p{color:var(--muted)}.summit-card.completed{border-color:#dba849;background:#fff9e8}.collection-panel{margin-top:20px}.mountain-collection{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mountain-token{padding:17px;border-radius:17px;background:#f0eee7;text-align:center;opacity:.45}.mountain-token.unlocked{background:#e4f4ed;opacity:1}.mountain-token span,.mountain-token strong{display:block}.mountain-token span{font-size:30px}
@media(max-width:900px){.sidebar nav{display:none}.sidebar{justify-content:space-between}.profile{margin-left:auto}.workspace{width:100%;padding-bottom:110px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:80;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:8px 8px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,254,251,.96);backdrop-filter:blur(16px);box-shadow:0 -12px 35px rgba(23,33,31,.09)}.bottom-nav a,.bottom-nav button{display:grid;place-items:center;gap:2px;min-width:0;padding:5px 2px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}.bottom-nav a span{font-size:19px}.bottom-nav a.active{color:var(--teal)}.bottom-nav button{color:var(--deep)}.bottom-nav button span{display:grid;width:48px;height:48px;margin-top:-26px;place-items:center;border-radius:17px;background:var(--deep);color:white;box-shadow:0 8px 22px rgba(18,61,56,.3);font-size:27px}.achievement-grid{grid-template-columns:repeat(2,1fr)}.search-filters{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.budget-meta,.budget-amounts{flex-wrap:wrap;gap:8px}.page-heading{gap:16px}.report-controls{width:100%}.bar-chart{max-width:100%}.auth-card input{font-size:16px}.search-box{grid-template-columns:1fr}.streak-hero{align-items:flex-start}.streak-hero>span:last-child{font-size:12px}.achievement-grid{grid-template-columns:1fr 1fr}.badge-card{padding:16px}.search-filters{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.mountain-layout{grid-template-columns:1fr}.mountain-collection{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.goal-list{grid-template-columns:1fr}.mountain-hero{align-items:flex-start}.mountain-mark{font-size:44px}.mountain-hero strong{font-size:26px}}
.budget-planning{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#edf8f3,#e0f0ef);border:1px solid #c4dfd4}.budget-planning .budget-amounts{margin:8px 0}.budget-planning p{font-size:14px;overflow-wrap:anywhere}#reserve-calendar{margin-top:16px}#reserve-form>p{grid-column:1/-1;font-size:14px}#reserve-list p{overflow-wrap:anywhere}
