:root{font-family:Inter,Segoe UI,sans-serif;color:#f8fafc;background:#09090f;line-height:1.5;font-weight:400;--bottom-nav-clearance: 132px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(220,38,38,.25),transparent 0 28%),radial-gradient(circle at bottom right,rgba(125,211,252,.2),transparent 0 32%),linear-gradient(160deg,#0f1a0a,#0c1624,#071422)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:20px 20px calc(var(--bottom-nav-clearance) + 20px)}.app-shell-bottom-nav{position:relative}.page-loader{display:grid;place-items:center;min-height:180px;font-weight:600;color:#f97316}.panel{background:#0c1624d1;border:1px solid rgba(125,211,252,.18);border-radius:22px;box-shadow:0 22px 60px #0307126b}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#0a0a0a;color:#fff;font-weight:700;border:1.5px solid rgba(220,38,38,.5);box-shadow:0 10px 24px #dc262673,0 0 0 1px #dc262633}.hero-brand-row{display:flex;align-items:center;gap:14px}.nav-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;color:#d1d5db;transition:all .2s ease}.nav-item:hover,.nav-item.active{background:linear-gradient(135deg,#dc262638,#38bdf833);color:#f0f9ff;box-shadow:inset 0 0 0 1px #7dd3fc38}.bottom-nav{position:fixed;left:20px;right:20px;bottom:16px;z-index:30;padding:10px;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1220e0;border:1px solid rgba(125,211,252,.22)}.bottom-nav:after{content:"";position:absolute;inset:-35% auto -35% -42%;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:skew(-22deg);animation:navBarShimmer 5.5s ease-in-out infinite;pointer-events:none}.bottom-nav-bank{position:relative;z-index:1;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}.bottom-nav-bank::-webkit-scrollbar{display:none}.bottom-nav-item{justify-content:center;flex-direction:column;gap:6px;text-align:center;font-size:.85rem;min-height:64px;flex:1 0 108px}.main-content{display:flex;flex-direction:column;gap:20px;padding-bottom:calc(var(--bottom-nav-clearance) - 20px)}.weather-fab{position:fixed;left:50%;bottom:calc(var(--bottom-nav-clearance) + 16px);transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:68px;height:68px;border-radius:50%;border:none;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,transform .22s ease;will-change:transform}.weather-fab-icon{font-size:1.6rem;line-height:1;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}.weather-fab-label{font-size:.62rem;font-weight:700;letter-spacing:.04em;color:#fff;text-transform:uppercase;line-height:1}.weather-condition-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:80px;height:80px;border-radius:50%;border:1px solid rgba(148,163,184,.35);background:#0f172ab8;color:#e2e8f0;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;padding:0}.weather-condition-button.active{border-color:#f97316;background:linear-gradient(135deg,#f9731647,#38bdf833);color:#fff7ed;transform:translateY(-2px);box-shadow:0 6px 14px #f9731638}.weather-condition-icon{font-size:1.75rem;line-height:1}.weather-condition-label{font-size:.7rem;font-weight:700;letter-spacing:.02em}.weather-unit-button{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ab8;color:#e2e8f0;cursor:pointer;font-size:.8rem;font-weight:700;line-height:1}.weather-unit-button.active{border-color:#f97316;background:linear-gradient(135deg,#f9731647,#38bdf833);color:#fff7ed;box-shadow:0 6px 14px #f9731638}.app-footer{display:flex;flex-direction:column;gap:4px;padding:14px 18px;text-align:center;color:#cbd5e1;background:#0f172ab8}.app-footer p,.app-footer small{margin:0}.app-footer small{color:#94a3b8}.app-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:6px}.footer-link{color:#fcd34d;font-weight:600;text-decoration:none}.footer-link:hover{color:#7dd3fc;text-decoration:underline}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,#dc2626eb,#f97316d1,#38bdf8bf,#7dd3fcb3);color:#fff}.hero h2{margin:6px 0}.hero .muted{color:#e0f7ffe0}.hero-pill{min-width:120px;text-align:center;padding:14px 16px;border-radius:16px;background:#0f172a38;border:1px solid rgba(255,255,255,.18)}.hero-side-stack{display:grid;gap:12px}.role-panel{min-width:180px}.page-content,.page,.stack-column{display:flex;flex-direction:column;gap:20px}.page-content{padding-bottom:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{padding:18px}.stat-card.highlight{background:linear-gradient(135deg,#dc262629,#38bdf824)}.stat-card h3{margin:8px 0;font-size:1.6rem}.content-grid{display:grid;gap:20px}.content-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:20px}.soft-panel{padding:14px;border-radius:16px;background:#0f1c30b8;border:1px solid rgba(56,189,248,.14)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fb923c;color:#cbd5e1}.tag,.trend{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#38bdf829;color:#e0f7ff;font-size:.85rem;font-weight:600}.trend.positive{background:#fbbf242e;color:#fef3c7}.progress-track{overflow:hidden;width:100%;height:10px;border-radius:999px;background:#47556980;margin:12px 0}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#dc2626,#f97316,#38bdf8,#7dd3fc)}.badge-list,.reward-grid,.feature-grid,.insight-grid,.entry-list{display:grid;gap:12px}.entry-item{display:flex;justify-content:space-between;align-items:center;gap:12px}.entry-item.active{border:1px solid rgba(99,102,241,.35)}.entry-meta{margin:4px 0 0}.badge-pill{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:16px;background:#0c182ad1;border:1px solid rgba(56,189,248,.16);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.badge-pill p{margin:2px 0 0;color:#cbd5e1}.achievement-card{--achievement-accent: #f97316;--achievement-surface: rgba(249, 115, 22, .18);--achievement-glow: rgba(249, 115, 22, .28);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--achievement-surface),rgba(15,23,42,.88));border:1px solid var(--achievement-glow);box-shadow:0 12px 24px #0206173d}.achievement-card:hover{transform:translateY(-1px);border-color:var(--achievement-accent)}.achievement-card.earned{box-shadow:0 12px 28px #02061747,0 0 0 1px var(--achievement-glow)}.achievement-card.locked{opacity:.9}.achievement-card.legendary:after{content:"";position:absolute;inset:-40% auto -40% -55%;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(18deg);animation:achievementShimmer 4.8s ease-in-out infinite;pointer-events:none}.achievement-card.legendary.earned{animation:achievementPulse 3.2s ease-in-out infinite}.badge-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--achievement-accent),rgba(15,23,42,.95));color:#fff;box-shadow:0 0 16px var(--achievement-glow);font-size:1rem}.achievement-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.achievement-tier-label{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--achievement-surface);border:1px solid var(--achievement-glow);color:#f8fafc;font-size:.75rem;font-weight:700}.achievement-status-tag.earned{background:#22c55e2e;color:#dcfce7}.achievement-status-tag.locked{background:#94a3b82e;color:#e2e8f0}.achievement-shimmer-label{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#facc152e;border:1px solid rgba(250,204,21,.34);color:#fef3c7;font-size:.75rem;font-weight:700}@keyframes achievementShimmer{0%{left:-55%;opacity:0}18%{opacity:1}50%{left:120%;opacity:.7}to{left:120%;opacity:0}}@keyframes achievementPulse{0%,to{box-shadow:0 12px 28px #02061747,0 0 0 1px var(--achievement-glow)}50%{box-shadow:0 14px 32px #02061752,0 0 18px var(--achievement-glow)}}.entry-form,.entry-form label{display:flex;flex-direction:column;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.utility-detail-card{display:flex;flex-direction:column;gap:10px}.utility-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.checkbox-card{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:transparent}.checkbox-card input{width:auto;margin:0}input,select,textarea{width:100%;border:1px solid rgba(56,189,248,.26);border-radius:12px;padding:11px 12px;background:#081220eb;color:#f8fafc}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;font-size:.8rem;line-height:1;text-decoration:none;background:#0f172ab8;color:#e2e8f0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{border-color:#f97316;background:linear-gradient(135deg,#f9731647,#38bdf833);color:#fff7ed;box-shadow:0 6px 14px #f9731638}.secondary-button{border-color:#94a3b859;background:#0f172ab8;color:#e2e8f0}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed}.button-row{display:flex;align-items:center;gap:10px}.auth-panel{gap:12px}.auth-heading{margin-bottom:8px}.small-text{margin:0;font-size:.82rem}.profile-note{margin:12px 0 0}.status-text{margin:0;color:#fbbf24;font-weight:600}.status-banner{margin:0;padding:12px 14px;border-radius:14px;font-weight:600}.status-banner.info{background:#fbbf2424;color:#fef3c7}.status-banner.success{background:#10b98129;color:#d1fae5}.status-banner.error{background:#ef444429;color:#fecaca}.empty-state{padding:16px;border-radius:14px;border:1px dashed rgba(56,189,248,.26);background:#081220b8}.empty-state strong{display:block;margin-bottom:4px}.metric-tile strong{display:block;margin:8px 0 4px;font-size:1rem}.metric-tile p:last-child{margin:0}.message-form,.message-form label{display:grid;gap:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compact-list-narrow li{padding:8px 10px}.chart-wrap{width:100%;height:280px}.compact-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.compact-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#0f172ac2}.admin-anomaly-item{align-items:flex-start}.admin-anomaly-main p{margin:4px 0 0}.admin-anomaly-actions{display:grid;justify-items:end;gap:8px}.admin-anomaly-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}.admin-anomaly-toolbar label{display:grid;gap:6px;min-width:180px}.admin-anomaly-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.admin-status-tag.open{background:#fbbf242e;color:#fef3c7}.admin-status-tag.acknowledged{background:#3b82f633;color:#dbeafe}.admin-status-tag.resolved{background:#22c55e33;color:#dcfce7}.admin-severity-tag.high{background:#ef444433;color:#fecaca}.admin-severity-tag.medium{background:#fbbf242e;color:#fef3c7}.admin-severity-tag.low{background:#94a3b833;color:#e2e8f0}.notification-list{display:grid;gap:12px}.notification-item{display:flex;justify-content:space-between;gap:18px;padding:16px;border-radius:16px;background:#0f172ac2;border:1px solid transparent}.notification-item.unread{border-color:#38bdf852;background:#0e2a4852}.notification-item h4{margin:0 0 6px}.notification-item p,.notification-item small{margin:0}.subscription-tier-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.plan-tier-button-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.plan-tier-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:128px;min-height:128px;border-radius:50%;border:2px solid rgba(249,115,22,.24);background:#0f172aa3;color:#f8fafc;text-align:center;padding:10px;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.plan-tier-button:hover,.plan-tier-button:focus-visible,.plan-tier-button.active{border-color:#f97316;background:linear-gradient(135deg,#f973164d,#38bdf833);transform:translateY(-2px);box-shadow:0 8px 20px #f9731642}.plan-tier-button-icon{font-size:1.3rem;line-height:1;font-weight:800}.plan-tier-button-name{font-size:.8rem;font-weight:700;line-height:1.15}.plan-tier-button-price{font-size:.72rem;color:#dbeafe;line-height:1.1}.plan-tier-button-note{font-size:.66rem;color:#cbd5e1;line-height:1.1}.plan-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.tier-ladder{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.tier-ladder-step-wrap{display:inline-flex;align-items:center;gap:8px}.tier-ladder-step{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ab8;color:#e2e8f0;font-size:.78rem;font-weight:700;line-height:1}.tier-ladder-step.complete{border-color:#22c55e59;background:#16653447;color:#dcfce7}.tier-ladder-step.active{border-color:#f97316;background:linear-gradient(135deg,#f9731647,#38bdf833);color:#fff7ed;box-shadow:0 6px 14px #f9731638}.tier-ladder-step-label{white-space:nowrap}.tier-ladder-divider{color:#94a3b8;font-size:.9rem;line-height:1}.tier-compare-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tier-compare-actions .tier-ladder-step{padding:8px 12px;font-size:.8rem}.plan-compare-card h4{margin:0}.plan-compare-card .tag{margin-top:8px}.plan-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.plan-why-card{display:grid;gap:8px;align-content:start}.plan-why-card h4,.plan-why-card p{margin:0}.subscription-tier-card{min-width:0;display:flex;flex-direction:column;height:100%;padding:14px;border-radius:14px;background:#0f172acc;border:1px solid rgba(56,189,248,.18)}.subscription-tier-card .panel-heading{flex-wrap:wrap}.subscription-tier-card .panel-heading>div{min-width:0;flex:1 1 160px}.subscription-tier-card .tag{max-width:100%;white-space:normal;text-align:right;line-height:1.2}.subscription-tier-card.active{border-color:#10b98173;box-shadow:0 0 0 1px #10b98133}.subscription-tier-card h4{margin:0}.subscription-tier-card .muted,.subscription-tier-card .status-text,.subscription-tier-card .tag,.subscription-tier-card .plan-breakdown-list span,.subscription-tier-card .compact-list li span,.comparison-table th,.comparison-table td{white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.plan-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.tier-meta{margin-top:0;margin-bottom:8px}.plan-breakdown-list{display:grid;gap:8px;margin:10px 0 14px;padding:0;list-style:none}.plan-breakdown-list li{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid rgba(148,163,184,.18);padding-bottom:6px}.plan-breakdown-list span{color:#cbd5e1;min-width:0}.plan-breakdown-list strong{color:#f8fafc;text-align:right;min-width:0;white-space:normal}.comparison-table-wrap{margin-top:18px;padding:14px;border-radius:14px;background:#08122085;border:1px solid rgba(56,189,248,.16);overflow:hidden}.comparison-table-wrap h4{margin:6px 0 12px}.comparison-table th,.comparison-table td{min-width:140px}.availability-pill{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;padding:4px 11px;border-radius:12px;font-size:.78rem;font-weight:700;white-space:nowrap;max-width:100%;line-height:1.2;box-shadow:inset 0 0 0 1px transparent}.availability-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;font-size:.68rem;line-height:1}.availability-pill.included{color:#ecfdf5;background:linear-gradient(135deg,#22c55e33,#10b98124);border:1px solid rgba(34,197,94,.45);box-shadow:inset 0 0 0 1px #4ade8033,0 6px 16px #052e1633}.availability-pill.included .availability-icon{color:#052e16;background:#86efac}.availability-pill.not-included{color:#fee2e2;background:linear-gradient(135deg,#ef444433,#be185d24);border:1px solid rgba(239,68,68,.45);box-shadow:inset 0 0 0 1px #fca5a52e,0 6px 16px #450a0a2e}.availability-pill.not-included .availability-icon{color:#450a0a;background:#fca5a5}.profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.profile-summary div{padding:12px;border-radius:14px;background:#0f172ac2}.profile-summary strong,.reward-footer strong{display:block;font-size:1.1rem}.profile-summary span{color:#cbd5e1}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 8px;text-align:left;border-bottom:1px solid rgba(56,189,248,.14);white-space:normal}.subscription-tier-card .button-row{flex-wrap:wrap;align-items:stretch;margin-top:auto;padding-top:10px;border-top:1px solid rgba(148,163,184,.18)}.subscription-tier-card .button-row .status-text{flex:1 1 100%}.subscription-tier-card .button-row .primary-button,.subscription-tier-card .button-row .secondary-button{flex:1 1 170px;max-width:100%}.subscription-tier-card .compact-list,.subscription-tier-card .compact-list li{min-width:0}.subscription-tier-card .compact-list li{white-space:normal}.subscription-tier-card .compact-list{margin-bottom:12px}.reward-card h4{margin:0 0 8px}.reward-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.location-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:16px;background:#020617b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.location-modal{width:min(640px,100%)}.location-consent-actions{display:grid;gap:6px}.location-copy-line{margin:0 0 8px}.location-manual-region{margin-top:12px;display:grid;gap:10px}.location-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@keyframes navBarShimmer{0%{left:-42%;opacity:0}18%{opacity:1}45%{left:118%;opacity:.7}to{left:118%;opacity:0}}@media(max-width:1100px){:root{--bottom-nav-clearance: 132px}.stats-grid,.content-grid.two-up{grid-template-columns:1fr 1fr}}@media(max-width:760px){:root{--bottom-nav-clearance: 116px}.app-shell{padding:12px 12px calc(var(--bottom-nav-clearance) + 12px)}.hero,.notification-item,.panel-heading,.hero-brand-row{flex-direction:column;align-items:flex-start}.admin-anomaly-actions{width:100%;justify-items:stretch}.admin-anomaly-pagination{flex-direction:column;align-items:stretch}.bottom-nav{left:12px;right:12px;bottom:12px}.stats-grid,.content-grid.two-up,.form-grid,.utility-toggle-grid,.location-settings-grid,.profile-summary,.plan-detail-grid,.plan-compare-grid,.plan-why-grid{grid-template-columns:1fr}.tier-ladder{gap:6px}.tier-ladder-step{font-size:.72rem;padding:5px 9px}.tier-compare-actions{gap:8px}.tier-compare-actions .tier-ladder-step{font-size:.74rem;padding:6px 10px}.subscription-tier-grid{grid-template-columns:1fr}.plan-tier-button{width:114px;min-height:114px}.subscription-tier-card .button-row .primary-button,.subscription-tier-card .button-row .secondary-button{flex-basis:100%}.bottom-nav-item{flex-basis:96px;min-height:58px;font-size:.78rem}}
body[data-auth-view="auth"] .page-content{display:none}body[data-auth-view="auth"] .bottom-nav-bank .bottom-nav-item{display:none}body[data-auth-view="auth"] .bottom-nav-bank .bottom-nav-item[href="/profile"]{display:flex}body[data-auth-view="auth"] .bottom-nav-bank .bottom-nav-item[href$="/profile"]{display:flex}body[data-auth-view="auth"] .hero{display:none}body[data-auth-view="auth"] .app-footer{display:none}