/* Final mobile polish: navigation hierarchy, spacing, FAB, safe areas */
.shell{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important;overflow:visible!important}
.premium-content{animation:polishIn .26s ease both!important;transform:none!important;min-height:calc(100vh - 170px)}
.page-leave .premium-content{animation:polishOut .09s ease both!important}
.page-enter .premium-content{animation:polishIn .26s ease both!important}
@keyframes polishIn{from{opacity:0}to{opacity:1}}
@keyframes polishOut{from{opacity:1}to{opacity:0}}

.premium-top.compact{padding:7px 12px 9px!important}
.premium-pagebar{min-height:50px!important;gap:10px!important;width:100%!important}
.premium-pagebar.root h1{font-size:20px!important;font-weight:800;letter-spacing:-.35px;margin:0;flex:1;min-width:0}
.premium-pagebar.detail h1{font-size:20px!important;font-weight:800;letter-spacing:-.35px;margin:0}
.premium-pagebar.root .iconbtn,.premium-pagebar.detail .backbtn,.premium-brandbar .iconbtn{width:38px!important;height:38px!important;min-height:38px!important;border-radius:12px!important}
.header-actions{display:flex;gap:6px;margin-left:auto!important;justify-content:flex-end!important;flex:0 0 auto!important}
.premium-pagebar>div:last-child{margin-left:auto!important;display:flex!important;gap:7px!important;justify-content:flex-end!important;flex:0 0 auto!important}
.premium-brandbar>.header-actions,.premium-brandbar>div:last-child{margin-left:auto!important}
.premium-brandbar{min-height:52px!important;width:100%!important}
.premium-top .brand-mark{width:36px!important;height:36px!important}
.premium-top .brand{font-size:17px!important}

.ref-summary{position:relative;z-index:8!important;margin-top:-20px!important}
.ref-stat{min-height:84px!important}
.quick-grid{align-items:stretch}
.quick-action{min-height:84px!important}

.filter-chip.active{color:#fff!important;text-shadow:none!important}
.filter-chip{white-space:nowrap}

/* Keep FAB independent from cards/empty states and above the nav */
.fab{position:fixed!important;right:max(20px,calc((100vw - 760px)/2 + 20px))!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;z-index:80!important;width:56px!important;height:56px!important;border-radius:18px!important}

/* Content must never disappear under fixed bottom navigation */
.premium-content>.list:last-child,.premium-content>.card:last-child,.premium-content>.settings-group:last-child{margin-bottom:26px!important}
.premium-content .section-title:last-of-type{margin-bottom:10px!important}
.report-intro{margin-top:14px!important}
.ref-chart{min-height:150px!important}

/* Empty states should feel intentional without swallowing the whole viewport */
.list>.premium-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px!important}
.ref-chart>.premium-empty{width:100%;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px!important}
.premium-empty .empty-icon{margin-bottom:10px!important}

/* More compact, app-like root pages */
.search-wrap{margin-top:14px!important}
.tabs{margin-top:14px!important}
.tx-card{margin-top:10px!important}
.bottom{z-index:100!important}

/* Prevent the final card text from being hidden behind navigation */
body{padding-bottom:env(safe-area-inset-bottom)}

@media(max-width:390px){
  .premium-top.compact{padding-left:10px!important;padding-right:8px!important}
  .premium-pagebar.root h1,.premium-pagebar.detail h1{font-size:19px!important}
  .fab{right:16px!important}
}
@media(prefers-reduced-motion:reduce){.premium-content{animation:none!important}}

/* v39 mobile layout hardening: unified root headers + Android/iOS safe areas */
:root{--fc-nav-base:70px;--fc-voice-lift:24px}
html,body{min-height:100%;min-height:100dvh}
body{padding-bottom:0!important;overflow-x:hidden}
.shell{min-height:100dvh!important;padding-bottom:calc(var(--fc-nav-base) + 34px + env(safe-area-inset-bottom))!important}
.premium-top{position:relative!important;top:auto!important;margin-top:0!important}
.premium-top.compact{background:#081014!important;color:#fff!important;margin-left:-14px!important;margin-right:-14px!important;padding-top:9px!important;padding-bottom:9px!important}
.premium-pagebar.root,.premium-pagebar.detail{min-height:54px!important}
.premium-pagebar.root h1,.premium-pagebar.detail h1{color:#fff!important}
.premium-pagebar.root .iconbtn,.premium-pagebar.detail .backbtn{color:#fff!important;background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important}
.premium-content{min-height:0!important;padding-top:2px}
.bottom{box-sizing:border-box!important;min-height:calc(var(--fc-nav-base) + env(safe-area-inset-bottom))!important;padding:8px 8px max(10px,env(safe-area-inset-bottom))!important;align-items:end!important}
.bottom .nav{min-height:52px!important;padding-bottom:2px!important}
.fc-bottom-voice{padding-top:12px!important;overflow:visible!important}
.fc-bottom-voice .fc-voice-nav{transform:translateY(-4px)}
.fc-bottom-voice .fc-voice-nav .fc-voice-orb{width:60px!important;height:60px!important;margin:-28px auto 4px!important;border-radius:20px!important;border-width:5px!important}
.fab{bottom:calc(var(--fc-nav-base) + 24px + env(safe-area-inset-bottom))!important}
.toast{bottom:calc(var(--fc-nav-base) + 24px + env(safe-area-inset-bottom))!important}
.premium-content>.list:last-child,.premium-content>.card:last-child,.premium-content>.settings-group:last-child{margin-bottom:12px!important}
@media(max-width:390px){.premium-top.compact{margin-left:-10px!important;margin-right:-10px!important}}
@supports(padding-bottom:max(0px)){.bottom{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}

/* v46 header redesign: stronger hierarchy, cleaner mobile app chrome */
.fc-header-home{position:relative!important;overflow:hidden!important;background:linear-gradient(180deg,#091116 0%,#0b151b 100%)!important}
.fc-header-glow{position:absolute;right:-72px;top:-88px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(196,83,30,.22),rgba(196,83,30,0) 68%);pointer-events:none}
.fc-header-home .premium-brandbar{position:relative;z-index:2;padding:2px 0 4px}
.fc-brand-mark-wrap{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.18)}
.fc-header-home .brand-mark{width:34px!important;height:34px!important;border-radius:11px!important;box-shadow:none!important}
.fc-header-home .brand{display:flex;flex-direction:column;gap:2px;line-height:1.05}
.fc-header-home .brand>span{font-size:18px;font-weight:900;letter-spacing:-.45px;color:#fff}
.fc-header-home .brand small{font-size:10px!important;font-weight:700!important;letter-spacing:.01em;color:#98a4aa!important;margin:0!important}
.fc-header-actions{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:3px;gap:3px!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.fc-header-actions .iconbtn{width:36px!important;height:36px!important;min-height:36px!important;border:0!important;background:transparent!important;border-radius:11px!important}
.fc-header-actions .iconbtn:active{background:rgba(255,255,255,.08)!important}
.fc-home-hero{height:126px!important;margin:4px -18px 0!important;background-position:center 42%!important}
.fc-home-hero:after{background:linear-gradient(90deg,rgba(8,16,20,.92) 0%,rgba(8,16,20,.54) 44%,rgba(8,16,20,.10) 100%)!important}
.fc-home-hero .premium-hero-copy{top:auto!important;left:18px!important;bottom:18px!important;max-width:76%}
.fc-hero-kicker{display:block;margin-bottom:5px;color:#d79a74;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fc-home-hero .premium-hero-copy h1{font-size:21px!important;line-height:1.08;margin:0 0 5px!important;letter-spacing:-.55px}
.fc-home-hero .premium-hero-copy p{font-size:10.5px!important;line-height:1.35;color:#bdc5c9!important;max-width:270px}
.fc-hero-badge{position:absolute;z-index:3;right:16px;bottom:18px;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(5,11,14,.54);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:9px;font-weight:800;color:#dce4e7}
.fc-live-dot{width:7px;height:7px;border-radius:50%;background:#2ecf8f;box-shadow:0 0 0 3px rgba(46,207,143,.12)}
.fc-header-compact{padding-top:8px!important;padding-bottom:8px!important;background:linear-gradient(180deg,#091116,#0b151b)!important;border-bottom:1px solid rgba(255,255,255,.04)}
.fc-page-title{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}
.fc-page-title>span{font-size:8.5px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#89969c;line-height:1;margin-bottom:4px}
.fc-page-title h1{font-size:19px!important;font-weight:900!important;line-height:1.05!important;letter-spacing:-.45px!important;margin:0!important;color:#fff!important}
.fc-header-compact .premium-pagebar{min-height:52px!important}
.fc-header-compact .iconbtn,.fc-header-compact .backbtn{width:38px!important;height:38px!important;min-height:38px!important;border-radius:12px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.09)!important}
@media(max-width:390px){.fc-home-hero{height:118px!important}.fc-home-hero .premium-hero-copy{left:14px!important;bottom:15px!important}.fc-hero-badge{right:12px;bottom:15px}.fc-header-home .brand>span{font-size:17px}.fc-brand-mark-wrap{width:41px;height:41px;border-radius:14px}}

/* v49 compact home header */
.fc-header-home-v49{background:linear-gradient(180deg,#081014 0%,#0a1318 100%)!important;overflow:hidden!important}
.fc-header-home-v49 .fc-header-glow,.fc-header-home-v49 .fc-hero-badge{display:none!important}
.fc-brandbar-v49{min-height:64px!important;padding:6px 0!important}
.fc-brand-mark-v49{width:38px!important;height:38px!important;border-radius:12px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}
.fc-brand-mark-v49 .brand-mark{width:30px!important;height:30px!important;border-radius:9px!important}
.fc-header-home-v49 .brand{display:block!important;line-height:1!important}
.fc-header-home-v49 .brand>span{font-size:18px!important;font-weight:900!important;letter-spacing:-.4px!important;color:#fff!important}
.fc-header-home-v49 .brand small{display:none!important}
.fc-header-actions-v49{padding:2px!important;gap:2px!important;border-radius:13px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:none!important}
.fc-header-actions-v49 .iconbtn{width:34px!important;height:34px!important;min-height:34px!important;border-radius:10px!important}
.fc-home-hero-v49{height:104px!important;margin:0 -18px!important;background-position:center 46%!important}
.fc-home-hero-v49:after{background:linear-gradient(90deg,rgba(8,16,20,.93) 0%,rgba(8,16,20,.58) 48%,rgba(8,16,20,.10) 100%)!important}
.fc-home-hero-v49 .premium-hero-copy{left:18px!important;bottom:14px!important;top:auto!important;max-width:70%!important}
.fc-hero-date-v49{font-size:8.5px!important;letter-spacing:.06em!important;margin-bottom:4px!important;color:#c88761!important;text-transform:none!important}
.fc-home-hero-v49 .premium-hero-copy h1{font-size:18px!important;line-height:1.08!important;letter-spacing:-.4px!important;margin:0!important;font-weight:850!important}
.fc-home-hero-v49 .premium-hero-copy p{display:none!important}
.fc-header-home-v49 + .premium-content .ref-summary{margin-top:-14px!important}
@media(max-width:390px){.fc-brandbar-v49{min-height:60px!important}.fc-home-hero-v49{height:96px!important}.fc-home-hero-v49 .premium-hero-copy{left:14px!important;bottom:12px!important}.fc-header-home-v49 .brand>span{font-size:17px!important}}

/* v50 header alignment + personalized greeting */
.fc-brandbar-v50{align-items:center!important}
.fc-header-actions-v50{height:42px!important;min-height:42px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:3px!important}
.fc-header-actions-v50 .iconbtn{width:36px!important;height:36px!important;min-height:36px!important;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;line-height:0!important}
.fc-header-actions-v50 .iconbtn svg{width:21px!important;height:21px!important;display:block!important;margin:auto!important}
.fc-home-hero-v50{height:94px!important;background-position:center 43%!important}
.fc-home-hero-v50 .premium-hero-copy{left:18px!important;bottom:18px!important;max-width:82%!important}
.fc-home-hero-v50 .fc-hero-date-v49{font-size:9px!important;line-height:1!important;margin-bottom:6px!important}
.fc-home-hero-v50 .premium-hero-copy h1{font-size:22px!important;line-height:1.02!important;letter-spacing:-.65px!important;font-weight:900!important}
@media(max-width:390px){.fc-home-hero-v50{height:90px!important}.fc-home-hero-v50 .premium-hero-copy{left:14px!important;bottom:16px!important}.fc-home-hero-v50 .premium-hero-copy h1{font-size:21px!important}}
