:root{
  --bg:#050608;--panel:#0d0f12;--panel2:#14171b;--panel3:#1a1e23;
  --red:#d3142a;--red2:#ff3449;--silver:#d6d9de;--silver2:#8f98a4;
  --white:#f8f9fb;--muted:#9ba3ad;--green:#49d17d;--amber:#f6c85d;
  --line:#2a2f35;--shadow:0 18px 48px rgba(0,0,0,.42);
  --radius:18px;--radius-sm:12px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#030405;color:var(--white)}
body{min-height:100vh;background:radial-gradient(circle at 50% -20%,rgba(211,20,42,.18),transparent 36%),linear-gradient(180deg,#0a0c0f,#030405 70%);}
button,input,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
.app-shell{width:min(100%,460px);margin:0 auto;min-height:100vh;position:relative;background:linear-gradient(180deg,rgba(11,13,16,.98),rgba(4,5,7,.99));box-shadow:0 0 60px rgba(0,0,0,.5)}
.screen{min-height:100vh;padding:18px 16px 98px}
.screen.compact{padding-bottom:28px}
.hidden{display:none!important}
.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap8{gap:8px}.gap12{gap:12px}
.muted{color:var(--muted)}
.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red2);font-weight:900}
.title{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.03em;line-height:.95;margin:0}
.h1{font-size:40px}.h2{font-size:25px}.h3{font-size:19px}
.card{background:linear-gradient(180deg,rgba(22,26,31,.98),rgba(10,12,15,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-pad{padding:15px}
.card-title{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(90deg,rgba(211,20,42,.18),transparent)}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #3b424a;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;color:var(--silver)}
.pill.red{border-color:#7b1b28;background:rgba(211,20,42,.14);color:#ff8695}
.btn{border:1px solid #343a42;border-radius:12px;background:linear-gradient(180deg,#20252a,#111418);color:var(--white);padding:12px 14px;font-weight:900;letter-spacing:.03em;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.btn:hover{border-color:#59616b;transform:translateY(-1px)}
.btn.primary{border-color:#ef3046;background:linear-gradient(180deg,#e51c34,#a70f21);box-shadow:0 8px 22px rgba(211,20,42,.28),inset 0 1px rgba(255,255,255,.12)}
.btn.ghost{background:transparent}.btn.wide{width:100%}.btn.small{padding:8px 10px;font-size:12px}.btn.danger{border-color:#75303a;color:#ff8391}
.field{display:grid;gap:6px}.field label{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field input,.field select{width:100%;border:1px solid #343b43;border-radius:12px;background:#0a0c0f;color:var(--white);padding:12px 13px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{padding:12px;border:1px solid #2d333a;border-radius:12px;background:#0b0e11}.stat b{display:block;font-size:20px}.stat span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.progress{height:8px;background:#242a30;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#b90f22,#ff4056);border-radius:99px}
.bottom-nav{position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,460px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(8,10,12,.97);backdrop-filter:blur(12px);border-top:1px solid #30363d;padding-bottom:max(6px,env(safe-area-inset-bottom));box-shadow:0 -12px 30px rgba(0,0,0,.42)}
.bottom-nav button{border:0;background:transparent;color:#8d96a1;padding:9px 2px 8px;font-size:10px;font-weight:800}.bottom-nav button b{display:block;font-size:18px;line-height:1.1;margin-bottom:2px}.bottom-nav button.active{color:#fff;background:linear-gradient(180deg,rgba(211,20,42,.22),rgba(211,20,42,.04));box-shadow:inset 0 2px var(--red)}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:100;width:min(88%,390px);padding:12px 14px;border-radius:12px;background:#161a1e;border:1px solid #434a53;box-shadow:var(--shadow);font-size:13px;font-weight:700;text-align:center}
.modal-wrap{position:fixed;z-index:90;inset:0;background:rgba(0,0,0,.78);display:grid;place-items:end center;padding:14px}.modal{width:min(100%,430px);max-height:88vh;overflow:auto;border:1px solid #3a4149;border-radius:20px;background:linear-gradient(180deg,#191d22,#090b0e);box-shadow:0 28px 80px rgba(0,0,0,.7)}
.modal-head{padding:15px 16px;border-bottom:1px solid #2b3138;background:linear-gradient(90deg,rgba(211,20,42,.28),transparent)}
.modal-body{padding:16px}.modal-actions{display:flex;gap:8px;padding:0 16px 16px}.modal-actions .btn{flex:1}
@media(min-width:700px){body{padding:22px}.app-shell{min-height:calc(100vh - 44px);border:1px solid #23282f;border-radius:28px;overflow:hidden}.screen{min-height:calc(100vh - 44px)}.bottom-nav{bottom:22px;border-radius:0 0 28px 28px;overflow:hidden}}


/* 2.0.8 FIXED HUB VIEWPORT CONTRACT */
html,body{overscroll-behavior:none}
.app-shell:has(.hub-screen),.app-shell:has(.premium-menu){height:100dvh;min-height:100dvh;overflow:hidden}
.hub-screen{height:100dvh;min-height:0;overflow:hidden;padding:clamp(12px,1.7dvh,18px) 16px calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.hub-screen>.topbar{flex:0 0 auto;margin-bottom:clamp(7px,1dvh,11px)}
.hub-heading{flex:0 0 auto}
.list-hub .hub-list-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.hub-list-card>.card-title{flex:0 0 auto}
.hub-scroll-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.bottom-nav{height:calc(64px + max(6px,env(safe-area-inset-bottom)));padding-bottom:max(6px,env(safe-area-inset-bottom))}
@media(min-width:700px){.hub-screen{height:calc(100dvh - 44px)}.app-shell:has(.hub-screen),.app-shell:has(.premium-menu){height:calc(100dvh - 44px);min-height:calc(100dvh - 44px)}}
