/* Copyright © 2026 League Garage. All rights reserved. */
:root{--bg:#08090b;--panel:#111419;--panel2:#171b21;--panel3:#0d0f13;--line:#292e36;--text:#f4f5f7;--muted:#9aa1ab;--accent:#d71920;--accent2:#f04449;--gold:#d5a13a;--good:#5fc77b;--max:1440px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#08090b;color:var(--text);font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(calc(100% - 42px),var(--max));margin:auto}
.site-header{position:relative;z-index:30;background:rgba(8,9,11,.97);border-bottom:1px solid #252930}.app-topbar{height:88px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand-lockup{display:block}.brand-plate{display:flex;flex-direction:column;gap:1px;line-height:1;background:linear-gradient(150deg,#d0d0c7,#8b8d88);color:#0c0d0f;border:2px solid #55575a;border-radius:4px;padding:8px 12px 7px;box-shadow:inset 0 0 0 1px #e5e5de,0 6px 20px rgba(0,0,0,.35);transform:rotate(-1deg);min-width:285px}.brand-plate small{font-size:8px;letter-spacing:.17em;font-weight:900}.brand-plate b{font-size:24px;letter-spacing:.04em}.brand-plate b em{font-style:normal;color:#b40e14}.brand-plate i{font-size:8px;letter-spacing:.16em;font-style:normal;font-weight:900}.top-nav{display:flex;gap:26px;margin-left:auto}.top-nav a{color:#c7cbd1;font-weight:700}.top-nav a:hover{color:#fff}.header-actions,.app-top-actions{display:flex;align-items:center;gap:10px}.app-top-actions{margin-left:auto}.icon-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#ddd;background:#101217;font-size:20px;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.icon-button:hover{background:#171a20;border-color:#3b414b;color:#fff}.icon-button svg{width:18px;height:18px;display:block}.notification-dot{position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #101217}.profile-chip{display:flex;align-items:center;gap:9px}.avatar{width:38px;height:38px;border-radius:50%;background:#242a31;border:1px solid #454b55;display:grid;place-items:center;font-weight:900;font-size:12px}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-photo-card{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:center}.profile-photo-preview{width:140px;height:140px;border-radius:50%;overflow:hidden;background:#242a31;border:1px solid #454b55;display:grid;place-items:center;font-size:34px;font-weight:900}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.inline-form{margin-top:10px}@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.profile-photo-card{grid-template-columns:100px 1fr}.profile-photo-preview{width:100px;height:100px}}.profile-copy{display:grid;line-height:1.15}.profile-copy small{color:var(--muted);font-size:11px}.logout-mini{color:#aeb4bd;font-size:12px;margin-left:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:1px solid #e12a30;border-radius:6px;padding:11px 16px;font-weight:850;box-shadow:0 8px 24px rgba(0,0,0,.25)}.btn:hover{background:var(--accent2)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn-sm{padding:8px 12px;font-size:13px}
.main{padding:50px 0 80px}.hero{padding:65px 0 75px}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.2em;color:#e33a40;font-weight:900;margin-bottom:8px;text-transform:uppercase}.hero h1,.page-head h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:0 0 18px;letter-spacing:-.045em}.hero h1 span{color:#e33a40}.lead{font-size:18px;color:var(--muted);max-width:720px}.hero-actions{display:flex;gap:10px;margin-top:25px}.hero-card{background:linear-gradient(145deg,#151920,#0e1014);border:1px solid var(--line);padding:35px;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
/* Authenticated application shell */
.app-frame{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 88px);background:radial-gradient(circle at 75% 0,#1b2028 0,transparent 32%),#08090b}.app-sidebar{background:linear-gradient(180deg,#101217,#0a0b0e);border-right:1px solid #252a31;padding:25px 14px 30px;display:flex;flex-direction:column;gap:4px;position:sticky;top:88px;height:calc(100vh - 88px);overflow:auto}.sidebar-role{font-size:10px;letter-spacing:.2em;color:#777e88;font-weight:900;padding:0 12px 13px}.side-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:6px;color:#aeb4bd;font-weight:700;transition:.15s}.side-link span{width:19px;text-align:center;color:#8d949e;font-size:16px}.side-link:hover{background:#171a20;color:#fff}.side-link.active{background:linear-gradient(90deg,#d71920,#b90f15);color:#fff;box-shadow:0 7px 20px rgba(215,25,32,.18)}.side-link.active span{color:#fff}.side-create{color:#e04b51;margin-top:7px}.sidebar-section{font-size:9px;letter-spacing:.17em;color:#686f79;text-transform:uppercase;font-weight:900;padding:20px 12px 6px}.side-league{display:grid;padding:9px 12px;border-radius:6px;color:#b5bac2}.side-league strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-league small{font-size:10px;color:#6f7680}.side-league:hover,.side-league.selected{background:#16191f;color:#fff}.app-content{min-width:0;padding:34px clamp(20px,4vw,48px) 70px;max-width:1500px;width:100%;margin:0 auto}
.dashboard-hero{min-height:245px;border:1px solid #2a2f37;border-radius:10px;padding:34px 36px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;background:radial-gradient(circle at 82% 45%,rgba(215,25,32,.13),transparent 26%),linear-gradient(110deg,#15191f,#0e1014 62%,#171a20);position:relative;overflow:hidden;margin-bottom:18px}.dashboard-hero:after{content:"";position:absolute;right:-90px;bottom:-110px;width:440px;height:220px;background:repeating-linear-gradient(160deg,transparent 0 18px,rgba(255,255,255,.025) 19px 21px);transform:skewX(-20deg);pointer-events:none}.dashboard-hero h1{margin:0 0 8px;font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.04em}.dashboard-hero p{margin:0;color:#aeb4bd;font-size:16px}.hero-badge{position:relative;z-index:1;min-width:190px;padding:18px 20px;border-left:3px solid var(--accent);background:rgba(0,0,0,.25);display:grid;gap:3px}.hero-badge span{font-size:9px;letter-spacing:.18em;color:#8e959e;font-weight:900}.hero-badge strong{font-size:24px}.hero-badge small{color:#a3a9b1}.hero-subline{display:flex;gap:15px;margin-top:18px;flex-wrap:wrap}.hero-subline span{color:#7f8791}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:linear-gradient(180deg,#14171c,#0f1115);border:1px solid #282d35;border-radius:8px;padding:20px;min-width:0}.stat-icon{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center}.stat-symbol{width:40px;height:40px;border:1px solid #353a43;background:#0a0c0f;border-radius:6px;display:grid;place-items:center;color:#e23a40;font-size:18px}.stat-card strong{display:block;font-size:27px;line-height:1.1}.stat-card span:not(.stat-symbol){display:block;color:#c7cbd1;font-weight:700;font-size:13px}.stat-card small{display:block;color:#777f89;font-size:11px;margin-top:3px}.stat-card a{color:#e23a40;font-size:12px;font-weight:800}.status-live{color:var(--good)!important}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.dashboard-panel{background:linear-gradient(180deg,#13161b,#0e1014);border:1px solid #292e36;border-radius:9px;padding:22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-heading h2{margin:2px 0 0;font-size:21px}.race-feature{display:grid;grid-template-columns:minmax(210px,.8fr) 1.2fr;gap:20px}.race-art{min-height:220px;border-radius:7px;border:1px solid #343a43;background:radial-gradient(circle at 70% 25%,rgba(215,25,32,.45),transparent 20%),linear-gradient(160deg,#20252c 0,#0b0d10 70%);padding:18px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.race-art:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 40%,rgba(255,255,255,.035) 41% 42%,transparent 43%)}.race-art span{position:relative;z-index:1;font-size:10px;letter-spacing:.15em;color:#e33a40;font-weight:900}.race-art b{position:relative;z-index:1;font-size:22px;line-height:1.05;margin-top:5px}.race-feature-copy{display:flex;flex-direction:column;justify-content:center}.race-feature-copy h3{font-size:28px;margin:0 0 2px}.race-feature-copy p{margin:0 0 18px;color:#858c96}.race-meta{display:grid;gap:8px;color:#b7bcc4;font-size:13px;margin-bottom:20px}.race-feature-copy .btn{width:max-content}.activity-list{display:grid;gap:4px}.activity-item{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px 0;border-bottom:1px solid #252a31}.activity-item:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;border-radius:50%;border:1px solid #343943;display:grid;place-items:center;color:#d93239;background:#0b0d10}.activity-item strong{display:block;font-size:13px}.activity-item small{display:block;color:#747c86;margin-top:2px}.empty-inline{padding:25px 0}.empty-inline h3{margin:0 0 4px}.empty-inline p{color:var(--muted)}
.page-head{padding:10px 0 28px}.page-head.compact h1{font-size:42px}.section{margin-top:32px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.cards{display:grid;gap:16px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.cards article,.form-card,.empty,.post,.ticket{background:linear-gradient(180deg,#12151a,#0e1014);border:1px solid var(--line);border-radius:9px;padding:22px}.cards h3{margin-top:0}.muted{color:var(--muted)}.league-card,.race-card{display:flex;flex-direction:column;gap:9px}.league-card .btn{margin-top:auto}.tag{display:inline-flex;width:max-content;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px}.text-link{color:#e33a40;font-weight:800}.empty{padding:30px}.form-card{max-width:720px}.form-card.wide{max-width:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-card label{display:grid;gap:7px;color:var(--muted);font-weight:700;margin-bottom:14px}.form-card input,.form-card select,.form-card textarea,.filter-bar input,.filter-bar select,.ticket select,.ticket textarea{width:100%;background:#0a0c0f;border:1px solid var(--line);color:var(--text);border-radius:6px;padding:11px;outline:none}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#747c88}.form-actions{display:flex;gap:10px;align-items:center;margin-top:15px}.auth-wrap{display:grid;place-items:center;min-height:65vh}.auth-wrap .form-card{width:min(100%,720px)}.alert{background:#2b1719;border:1px solid #633136;color:#ffb6bc;padding:12px 15px;border-radius:8px;margin-bottom:15px}.flash{border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.18)}.flash-ok{background:#132319;color:#b7efc2;padding:12px 0}.flash-error{background:#2b1719;color:#ffb6bc;padding:12px 0}.flash-inner{display:flex;align-items:center;gap:10px;font-weight:700}.flash-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid currentColor;font-size:12px;line-height:1;flex:0 0 22px}.flash-message{line-height:1.45}.flash-admin{border-bottom-color:rgba(255,255,255,.12)}.flash-admin .flash-inner{min-height:22px}.filter-bar{display:grid;grid-template-columns:1.4fr .7fr .9fr auto;gap:10px;margin-bottom:22px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#0e1014}table{border-collapse:collapse;width:100%;min-width:700px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}tr:last-child td{border-bottom:0}.link-danger{background:none;border:0;color:#ef6b73;padding:0}.point-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:15px 0 22px}.point-grid label{display:grid;grid-template-columns:35px 1fr;gap:6px;align-items:center;color:var(--muted);font-size:12px}.point-grid input{width:100%;padding:7px}.check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px}.check input{width:auto}.code-box{font-size:30px;letter-spacing:.12em;font-weight:900;padding:16px;background:#08090b;border:1px dashed #e33a40;border-radius:8px;margin:15px 0}.checklist{display:grid;gap:8px}.feed-list{display:grid;gap:12px;margin-top:18px}.post-top{display:flex;justify-content:space-between;gap:10px}.post-actions{display:flex;gap:20px;color:var(--muted);font-size:12px}.ticket-list{display:grid;gap:12px}.ticket form{display:grid;gap:8px;margin-top:12px}.tab-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tab-nav a{padding:8px 11px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.installer{padding:60px 0}.installer .form-card{margin-top:20px}.site-footer{border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:12px}.faq-grid{display:grid;gap:10px}.faq-grid details{border:1px solid var(--line);background:#111318;border-radius:8px;padding:15px}.faq-grid summary{cursor:pointer;font-weight:800}.prose{max-width:800px;color:#c8cdd5}.results-table input.tiny{width:70px}.results-table select{min-width:105px;background:#0a0c0f;color:#fff;border:1px solid var(--line);padding:7px}.race-card strong{font-size:14px}.wide{width:100%}
@media(max-width:1050px){.dashboard-grid.four{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.race-feature{grid-template-columns:1fr 1.4fr}}
@media(max-width:900px){.app-frame{grid-template-columns:1fr}.app-sidebar{position:sticky;top:88px;height:auto;z-index:20;border-right:0;border-bottom:1px solid #252a31;padding:10px 12px;flex-direction:row;overflow-x:auto;align-items:center}.sidebar-role,.sidebar-section{display:none}.side-link{white-space:nowrap;padding:9px 12px}.side-league{display:none}.side-create{margin-top:0}.top-nav{display:none}.cards.three,.cards.two,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid.four{grid-template-columns:repeat(2,1fr)}.filter-bar,.form-grid{grid-template-columns:1fr}.point-grid{grid-template-columns:repeat(4,1fr)}.app-content{padding:25px 18px 55px}.brand-plate{min-width:250px}.profile-copy{display:none}.logout-mini{display:none}}
@media(max-width:600px){.wrap{width:min(calc(100% - 22px),var(--max))}.app-topbar,.header-inner{min-height:76px}.brand-plate{min-width:215px;padding:6px 9px}.brand-plate b{font-size:19px}.brand-plate small,.brand-plate i{font-size:7px}.app-top-actions{gap:6px}.dashboard-hero{min-height:0;padding:24px 22px;align-items:flex-start;flex-direction:column}.dashboard-hero h1{font-size:35px}.hero-badge{min-width:0;width:100%}.dashboard-grid.four{grid-template-columns:1fr 1fr}.stat-card{padding:15px}.stat-icon{grid-template-columns:34px 1fr;gap:9px}.stat-symbol{width:34px;height:34px}.stat-card strong{font-size:22px}.race-feature{grid-template-columns:1fr}.race-art{min-height:150px}.panel-heading{align-items:flex-start}.panel-heading .text-link{font-size:11px}.hero h1{font-size:42px}.point-grid{grid-template-columns:repeat(2,1fr)}.hero-actions,.form-actions{flex-direction:column;align-items:stretch}.btn{width:100%}}

/* v1.0.6 dashboard visual system */
.app-page{background:#070809}.app-page .site-header{background:rgba(10,11,13,.98);box-shadow:0 8px 30px rgba(0,0,0,.32);border-bottom:1px solid #30343a}.app-page .header-inner{max-width:none;width:100%;padding:0 28px}.app-page .brand-plate{min-width:300px;padding:9px 14px 8px;background:linear-gradient(145deg,#c8c8c1 0%,#8f918d 52%,#b8b8b0 100%);border-color:#4b4d50}.app-page .brand-plate b{font-size:25px}.app-page .app-topbar{height:82px}.app-page .app-frame{grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 82px);background:#08090b}.app-page .app-sidebar{top:82px;height:calc(100vh - 82px);padding:24px 14px 28px;background:linear-gradient(180deg,#111317 0%,#0a0b0e 100%);box-shadow:10px 0 35px rgba(0,0,0,.18)}.app-page .sidebar-role{font-size:9px;letter-spacing:.22em;color:#777d86;padding:0 13px 14px}.app-page .side-link{min-height:45px;padding:12px 14px;border-radius:5px;font-size:14px}.app-page .side-link.active{background:linear-gradient(90deg,#c81018 0%,#a90d13 100%);box-shadow:0 8px 24px rgba(199,16,24,.2)}.app-page .sidebar-section{margin-top:8px}.app-page .app-content{max-width:none;padding:30px 34px 70px;background:radial-gradient(circle at 78% 8%,rgba(215,25,32,.08),transparent 24%),#08090b}.dashboard-hero{min-height:300px;padding:38px 42px;margin-bottom:18px;border-radius:3px;border:1px solid #34383e;background:linear-gradient(90deg,rgba(10,12,15,.98) 0%,rgba(10,12,15,.86) 38%,rgba(10,12,15,.55) 70%,rgba(10,12,15,.72) 100%),radial-gradient(ellipse at 78% 58%,#30353b 0 8%,#171b20 30%,#0b0d10 65%);box-shadow:inset 0 0 80px rgba(0,0,0,.45),0 20px 60px rgba(0,0,0,.28)}.dashboard-hero:before{content:' ';position:absolute;inset:0;background:repeating-linear-gradient(167deg,transparent 0 42px,rgba(255,255,255,.018) 43px 45px);opacity:.65;pointer-events:none}.dashboard-hero:after{right:-50px;bottom:-80px;width:560px;height:300px;opacity:.75}.dashboard-hero>div:first-child{position:relative;z-index:2}.dashboard-hero h1{font-size:clamp(38px,4.5vw,64px);text-shadow:0 4px 22px rgba(0,0,0,.65)}.dashboard-hero p{font-size:17px;color:#c1c5ca}.hero-badge{z-index:2;min-width:205px;border-left:3px solid #d71920;background:rgba(5,6,8,.62);backdrop-filter:blur(3px)}.dashboard-grid.four{grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px;margin-bottom:18px}.stat-card{min-height:112px;padding:18px 19px;background:linear-gradient(180deg,rgba(24,27,32,.96),rgba(14,16,20,.98));border-color:#30353c;border-radius:3px;box-shadow:0 8px 25px rgba(0,0,0,.18)}.stat-symbol{border-radius:3px;background:#0b0d10;border-color:#3a3f47}.stat-card strong{font-size:29px}.dashboard-columns{grid-template-columns:minmax(0,1.6fr) minmax(310px,.75fr);gap:18px;margin-top:18px}.dashboard-panel{border-radius:3px;padding:24px;background:linear-gradient(180deg,rgba(20,23,28,.98),rgba(12,14,18,.98));border-color:#30353c;box-shadow:0 12px 35px rgba(0,0,0,.2)}.panel-heading{margin-bottom:20px}.panel-heading h2{font-size:22px}.race-feature{grid-template-columns:minmax(240px,.85fr) 1.15fr}.race-art{min-height:235px;border-radius:2px;background:linear-gradient(155deg,rgba(215,25,32,.28),transparent 35%),radial-gradient(ellipse at 70% 35%,#4b4e51 0,#20242a 24%,#0a0c0f 72%);box-shadow:inset 0 0 50px rgba(0,0,0,.55)}.race-art:before{content:' ';position:absolute;left:0;right:0;top:40%;height:3px;background:#d71920;box-shadow:0 25px 0 rgba(255,255,255,.08),0 50px 0 rgba(255,255,255,.04);transform:skewY(-8deg)}.race-feature-copy h3{font-size:30px}.activity-item{padding:14px 0}.activity-icon{border-radius:3px}.app-page .cards{gap:18px;margin-bottom:18px}.app-page .dashboard-grid{gap:18px;margin-bottom:18px}.page-head{padding:5px 0 24px}.page-head h1{font-size:44px}.standings-page-head{padding:26px 28px 25px;margin-bottom:20px;border:1px solid #30353c;border-radius:3px;background:linear-gradient(135deg,rgba(22,25,30,.98),rgba(12,14,18,.98));box-shadow:0 12px 35px rgba(0,0,0,.18);position:relative;overflow:hidden}.standings-page-head:after{content:'';position:absolute;right:-80px;top:-90px;width:320px;height:220px;background:radial-gradient(circle,rgba(215,25,32,.16),transparent 68%);pointer-events:none}.standings-page-head>*{position:relative;z-index:1}.standings-page-head h1{margin:3px 0 7px;font-size:clamp(34px,4vw,48px)}.standings-page-head p{max-width:900px;margin:0;color:#aeb5be;font-size:15px}.section-head h2{font-size:23px}.table-wrap{border-radius:3px;border-color:#30353c}.table-wrap table{min-width:720px}.form-card,.cards article,.empty,.post,.ticket{border-radius:3px}.btn{border-radius:3px}.tag{border-radius:3px}
@media(max-width:1100px){.app-page .app-frame{grid-template-columns:220px minmax(0,1fr)}.dashboard-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-columns{grid-template-columns:1fr;gap:18px}.app-page .app-content{padding:25px 24px 60px}}
@media(max-width:760px){.app-page .app-topbar{height:auto}.app-page .header-inner{padding:12px 14px;min-height:72px}.app-page .brand-plate{min-width:0;width:235px}.app-page .brand-plate b{font-size:20px}.app-page .brand-plate small,.app-page .brand-plate i{font-size:7px}.app-page .profile-copy{display:none}.app-page .logout-mini{font-size:11px}.app-page .app-frame{display:block;min-height:calc(100vh - 72px)}.app-page .app-sidebar{position:sticky;top:0;height:auto;z-index:20;display:flex;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto;border-right:0;border-bottom:1px solid #292e36;box-shadow:0 8px 25px rgba(0,0,0,.25)}.app-page .sidebar-role,.app-page .sidebar-section,.app-page .side-league,.app-page .side-create{display:none}.app-page .side-link{min-width:max-content;min-height:40px;padding:9px 12px}.app-page .app-content{padding:18px 14px 45px}.dashboard-hero{min-height:260px;padding:27px 24px}.dashboard-hero h1{font-size:36px}.hero-badge{display:none}.dashboard-grid.four{grid-template-columns:1fr 1fr;gap:14px}.stat-card{padding:15px}.stat-icon{grid-template-columns:34px 1fr;gap:9px}.stat-symbol{width:34px;height:34px}.stat-card strong{font-size:24px}.race-feature{grid-template-columns:1fr}.race-art{min-height:175px}.dashboard-columns{grid-template-columns:1fr}.page-head h1,.page-head.compact h1{font-size:36px}.form-grid{grid-template-columns:1fr}}
@media(max-width:440px){.app-page .brand-plate{width:200px}.dashboard-grid.four{grid-template-columns:1fr}.dashboard-hero{padding:24px 20px}.dashboard-hero h1{font-size:31px}.dashboard-panel{padding:18px}}

/* v1.0.7 — Public League Garage presentation */
.site-page{background:#111225;color:#f6f4f2;min-height:100vh}
.site-page .site-header{background:linear-gradient(180deg,rgba(14,15,30,.98),rgba(14,15,30,.90));border-bottom:0;position:relative}
.site-page .header-inner{min-height:104px;align-items:flex-start;padding-top:18px;padding-bottom:14px;position:relative}
.site-page .brand-lockup{flex:0 0 auto;position:relative;z-index:2}
.site-page .brand-plate{min-width:300px;background:linear-gradient(145deg,#d4d1c8 0%,#999a94 55%,#c4c2ba 100%);border:2px solid #4f5053;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 12px 30px rgba(0,0,0,.28);transform:rotate(-1deg)}
.site-page .top-nav{align-items:center;gap:30px;padding-top:15px}
.site-page .top-nav a{color:#dddde3;font-size:14px;font-weight:700;letter-spacing:.01em}
.site-page .top-nav a:hover{color:#fff}
.site-page .header-actions{padding-top:8px}
.site-page .hero{position:relative;padding:96px 0 92px;overflow:hidden;background:radial-gradient(ellipse at 78% 18%,rgba(66,67,105,.32),transparent 34%),linear-gradient(180deg,#15172d 0%,#111225 78%)}
.site-page .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,19,40,.98) 0%,rgba(18,19,40,.90) 46%,rgba(18,19,40,.68) 100%),radial-gradient(ellipse at 85% 55%,rgba(150,153,170,.16),transparent 31%);pointer-events:none}
.site-page .hero:after{content:"";position:absolute;right:-12%;top:10%;width:58%;height:90%;background:repeating-linear-gradient(160deg,transparent 0 42px,rgba(255,255,255,.018) 43px 45px);transform:skewX(-12deg);opacity:.7;pointer-events:none}
.site-page .hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) 0;display:block}
.site-page .hero-grid>div:first-child{max-width:840px}
.site-page .hero-card{display:none}
.site-page .eyebrow{color:#aeb0c2;font-size:10px;letter-spacing:.28em;margin-bottom:15px}
.site-page .hero h1{font-size:clamp(52px,7vw,88px);line-height:.98;letter-spacing:-.055em;margin-bottom:25px;font-weight:850;color:#f4f2ef}
.site-page .hero h1 span{color:#f0eee9}
.site-page .lead{font-size:17px;line-height:1.65;color:#b9bac7;max-width:760px}
.site-page .hero-actions{margin-top:30px;gap:12px}
.site-page .hero-actions .btn{min-width:155px}
.site-page .main>.cards.three{position:relative;margin-top:0;padding:64px 0 72px;grid-template-columns:repeat(3,1fr);gap:22px}
.site-page .main>.cards.three:before{content:"";position:absolute;left:50%;top:0;width:100vw;height:1px;background:rgba(255,255,255,.08);transform:translateX(-50%)}
.site-page .main>.cards.three article{background:transparent;border:0;border-radius:0;padding:0 12px 0 0}
.site-page .main>.cards.three h3{font-size:18px;margin:0 0 10px;color:#f3f1ef}
.site-page .main>.cards.three p{margin:0;color:#9fa1b1;line-height:1.7;font-size:14px;max-width:420px}
.site-page .page-head{padding:74px 0 28px}
.site-page .page-head h1{font-size:clamp(46px,6vw,74px);color:#f4f2ef}
.site-page .prose{color:#b0b2c0;line-height:1.8}
.site-page .form-card,.site-page .cards article,.site-page .empty,.site-page .post,.site-page .ticket{background:rgba(21,22,43,.78);border-color:rgba(255,255,255,.09)}
.site-page .site-footer{background:#0e0f1d;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:900px){.site-page .header-inner{min-height:88px;flex-wrap:wrap;align-items:center}.site-page .top-nav{order:3;width:100%;justify-content:center;padding-top:4px;gap:22px}.site-page .header-actions{padding-top:0;margin-left:auto}.site-page .hero{padding:72px 0 65px}.site-page .hero h1{font-size:clamp(48px,10vw,72px)}.site-page .main>.cards.three{grid-template-columns:1fr;padding:48px 0}.site-page .main>.cards.three article{padding-right:0}}
@media(max-width:600px){.site-page .wrap{width:min(calc(100% - 28px),var(--max))}.site-page .brand-plate{min-width:235px}.site-page .brand-plate b{font-size:20px}.site-page .top-nav{justify-content:flex-start;overflow-x:auto;white-space:nowrap;gap:20px;padding-bottom:4px}.site-page .header-actions{width:100%;justify-content:flex-start}.site-page .hero{padding:56px 0 52px}.site-page .hero h1{font-size:44px;line-height:1}.site-page .lead{font-size:15px}.site-page .hero-actions{flex-direction:row}.site-page .hero-actions .btn{width:auto;min-width:0}.site-page .page-head{padding-top:50px}}

/* League Garage production image layer */
.brand-logo{display:block;width:300px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.site-page .site-header{background:rgba(8,9,12,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-page .hero{background-image:linear-gradient(90deg,rgba(8,10,14,.88) 0%,rgba(8,10,14,.67) 42%,rgba(8,10,14,.24) 72%,rgba(8,10,14,.55) 100%),url('../images/hero.webp');background-size:cover;background-position:center 42%;}
.site-page .hero:before{background:linear-gradient(90deg,rgba(8,10,14,.9) 0%,rgba(8,10,14,.68) 45%,rgba(8,10,14,.22) 78%,rgba(8,10,14,.42) 100%)}
.site-page .hero:after{display:none}
.site-page .hero-grid{min-height:610px;display:flex;align-items:center}
.site-page .hero-grid>div:first-child{max-width:900px}
.site-page .hero-card{display:none}
.public-feature-image{position:relative;min-height:430px;margin:10px 0 70px;border:1px solid #30353c;overflow:hidden;background:#0c0e11;display:flex;align-items:flex-end;padding:42px;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.public-feature-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.96) 0%,rgba(8,10,13,.78) 35%,rgba(8,10,13,.18) 78%),url('../images/secondary-track.webp') center/cover no-repeat}
.public-feature-copy{position:relative;z-index:1;max-width:560px}.public-feature-copy h2{font-size:clamp(32px,5vw,58px);line-height:1.02;margin:0 0 14px}.public-feature-copy p{color:#c1c5ca;font-size:17px;max-width:500px}
.app-page .brand-logo{width:300px;max-height:70px;object-fit:contain;object-position:left center}
.app-page .app-content{position:relative;isolation:isolate;overflow:hidden;background:#08090b;}
.app-page .app-content:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,9,12,.82) 0%,rgba(7,9,12,.58) 42%,rgba(7,9,12,.34) 72%,rgba(7,9,12,.58) 100%),url('/assets/images/dashboard-garage.webp') center top/cover no-repeat;opacity:.92;}
.app-page .app-content>*{position:relative;z-index:1;}
.app-page .dashboard-hero{background-image:linear-gradient(90deg,rgba(7,9,12,.56) 0%,rgba(7,9,12,.34) 40%,rgba(7,9,12,.16) 72%,rgba(7,9,12,.38) 100%),url('/assets/images/dashboard-garage.webp');background-size:cover;background-position:center 52%;}
.app-page .dashboard-hero:before{display:none}
.app-page .race-art{background-image:linear-gradient(160deg,rgba(215,25,32,.16),rgba(7,9,12,.38)),url('../images/race-track.webp');background-size:cover;background-position:center}
.app-page .race-art:after{background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78) 100%)}
.app-page .race-art:before{display:none}
.app-page .race-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(8,10,13,.18),rgba(8,10,13,.9)),url('../images/race-track.webp') center/cover no-repeat;border-color:#343a43;min-height:245px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end}
.app-page .race-card h3,.app-page .race-card p,.app-page .race-card strong,.app-page .race-card .muted,.app-page .race-card .tag{position:relative;z-index:1}
@media(max-width:760px){.brand-logo{width:235px}.site-page .hero-grid{min-height:520px}.public-feature-image{min-height:360px;padding:28px 22px}.app-page .brand-logo{width:235px}}


/* v1.2.1 deployment fixes */
.site-page .hero-grid{width:min(calc(100% - 42px),var(--max));margin:0 auto;}
.site-page .brand-lockup{display:flex;align-items:center;max-width:270px;overflow:visible;}
.site-page .brand-logo{display:block;width:220px;height:auto;max-width:220px;object-fit:contain;}
.app-page .brand-lockup{display:flex;align-items:center;max-width:245px;overflow:visible;}
.app-page .brand-logo{display:block;width:190px;height:auto;max-width:190px;object-fit:contain;}
@media(max-width:900px){.site-page .hero-grid{width:min(calc(100% - 28px),var(--max));}.site-page .brand-logo{width:200px;max-width:200px;}.app-page .brand-logo{width:180px;max-width:180px;}}
@media(max-width:600px){.site-page .brand-logo{width:185px;max-width:185px;}.app-page .brand-logo{width:165px;max-width:165px;}}

/* v1.2.2 visual/deployment corrections */
.site-page{background:#08090b;color:#f4f5f7}
.site-page .hero{background-color:#08090b;background-image:linear-gradient(90deg,rgba(8,10,14,.72) 0%,rgba(8,10,14,.48) 42%,rgba(8,10,14,.16) 72%,rgba(8,10,14,.42) 100%),url('../images/hero.webp');background-size:cover;background-position:center center}
.site-page .hero:before{background:linear-gradient(90deg,rgba(8,10,14,.72) 0%,rgba(8,10,14,.46) 45%,rgba(8,10,14,.12) 80%,rgba(8,10,14,.35) 100%)}
.site-page .hero-grid{width:min(calc(100% - 42px),var(--max));max-width:var(--max);margin:0 auto;min-height:610px;padding:20px 0}
.site-page .hero-grid>div:first-child{max-width:900px;padding-left:18px}
.site-page .public-feature-image{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:10px;margin-bottom:70px;border-left:0;border-right:0;border-radius:0;min-height:470px;padding:56px max(42px,calc((100vw - var(--max))/2 + 42px))}
.site-page .public-feature-art{background-image:linear-gradient(90deg,rgba(8,10,13,.88) 0%,rgba(8,10,13,.58) 38%,rgba(8,10,13,.12) 78%,rgba(8,10,13,.28) 100%),url('../images/secondary-track.webp');background-size:cover;background-position:center center}
.site-page .brand-lockup{max-width:none;overflow:visible}
.site-page .brand-logo{width:280px;max-width:280px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.4))}
.app-page .brand-lockup{max-width:none;overflow:visible}
.app-page .brand-logo{width:235px;max-width:235px;height:auto;object-fit:contain;object-position:left center}
@media(max-width:900px){.site-page .hero-grid{width:min(calc(100% - 28px),var(--max));min-height:540px}.site-page .hero-grid>div:first-child{padding-left:8px}.site-page .brand-logo{width:240px;max-width:240px}.app-page .brand-logo{width:210px;max-width:210px}.site-page .public-feature-image{min-height:400px;padding-left:28px;padding-right:28px}}
@media(max-width:600px){.site-page .hero-grid{min-height:500px}.site-page .hero-grid>div:first-child{padding-left:0}.site-page .brand-logo{width:205px;max-width:205px}.app-page .brand-logo{width:185px;max-width:185px}.site-page .public-feature-image{min-height:360px;padding:34px 22px}}

/* v1.2.2 palette correction */
.site-page .form-card,.site-page .cards article,.site-page .empty,.site-page .post,.site-page .ticket{background:rgba(17,20,24,.92);border-color:#2b3036}
.site-page .main{background:transparent}
.site-page .site-footer{background:#08090b}

/* v1.2.2 palette correction */
.site-page .form-card,.site-page .cards article,.site-page .empty,.site-page .post,.site-page .ticket{background:rgba(17,20,24,.92);border-color:#2b3036}
.site-page .main{background:transparent}
.site-page .site-footer{background:#08090b}

/* Security detail panels */
.security-card { cursor: default; }
.security-card > summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.security-card > summary::-webkit-details-marker { display:none; }
.security-card > summary::after { content: '+'; font-size: 1.1rem; opacity:.7; }
.security-card[open] > summary::after { content: '−'; }
.security-card > summary h3 { margin: 0 0 .35rem; }
.security-card > summary strong { white-space: nowrap; }
.security-data { margin:.8rem 0 0; padding:.8rem; border:1px solid rgba(255,255,255,.08); background:rgba(0,0,0,.22); border-radius:8px; line-height:1.7; }
details > summary { cursor:pointer; }
.security-json { margin:.65rem 0 0; padding:.75rem; white-space:pre-wrap; overflow:auto; max-height:220px; background:#08090b; border:1px solid rgba(255,255,255,.08); border-radius:8px; font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.security-meta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:.55rem; font-size:.78rem; color:#9aa0a8; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }

/* v1.2.14 profile photo layout hardening */
.profile-chip .avatar{width:38px !important;height:38px !important;min-width:38px !important;min-height:38px !important;max-width:38px !important;max-height:38px !important;flex:0 0 38px !important;overflow:hidden !important;border-radius:50% !important;display:grid !important;place-items:center !important;}
.profile-chip .avatar img{width:38px !important;height:38px !important;min-width:38px !important;min-height:38px !important;max-width:38px !important;max-height:38px !important;display:block !important;object-fit:cover !important;border-radius:50% !important;}
.profile-photo-card .profile-photo-preview{width:160px !important;height:160px !important;min-width:160px !important;min-height:160px !important;max-width:160px !important;max-height:160px !important;overflow:hidden !important;border-radius:50% !important;display:grid !important;place-items:center !important;}
.profile-photo-card .profile-photo-preview img{width:160px !important;height:160px !important;min-width:160px !important;min-height:160px !important;max-width:160px !important;max-height:160px !important;display:block !important;object-fit:cover !important;border-radius:50% !important;}
.profile-photo-card{min-width:0;}
@media(max-width:800px){.profile-photo-card .profile-photo-preview{width:110px !important;height:110px !important;min-width:110px !important;min-height:110px !important;max-width:110px !important;max-height:110px !important}.profile-photo-card .profile-photo-preview img{width:110px !important;height:110px !important;min-width:110px !important;min-height:110px !important;max-width:110px !important;max-height:110px !important}}

/* v1.3.0 social friends */
.profile-hero-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;margin-bottom:26px;padding:24px;background:rgba(17,20,24,.92);border:1px solid #2b3036;border-radius:10px}
.profile-large-avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#1c2026;border:2px solid #3a4048;font-size:28px;font-weight:800;color:#fff}
.profile-large-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-hero-copy h2{margin:0 0 4px}.profile-hero-copy p{margin:5px 0}.profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.friends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.friend-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;padding:16px;background:rgba(17,20,24,.92);border:1px solid #2b3036;border-radius:9px;min-width:0}
.friend-card>.btn,.friend-card>.inline-form{justify-self:end}.friend-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#1c2026;border:1px solid #3a4048;color:#fff;text-decoration:none;font-weight:800;flex:0 0 52px}.friend-avatar.small{width:42px;height:42px;flex-basis:42px;font-size:13px}.friend-avatar img{width:100%;height:100%;object-fit:cover;display:block}.friend-copy{display:flex;flex-direction:column;min-width:0}.friend-copy a{color:#fff;text-decoration:none}.friend-copy a:hover{text-decoration:underline}.friend-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-actions{grid-column:1 / -1;display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.request-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.07)}.request-row:first-of-type{border-top:0}.profile-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.profile-social-grid .form-card{margin:0}
@media(max-width:800px){.profile-hero-card{grid-template-columns:auto minmax(0,1fr)}.profile-actions{grid-column:1 / -1;justify-content:flex-start}.profile-social-grid{grid-template-columns:1fr}.friend-card{grid-template-columns:auto minmax(0,1fr)}.friend-card>.btn,.friend-card>.inline-form{justify-self:start}.request-row{grid-template-columns:auto minmax(0,1fr)}.request-row>.friend-actions,.request-row>.tag{grid-column:2;justify-self:start}.profile-large-avatar{width:82px;height:82px;font-size:22px}}

/* League Garage application footer. */
.app-footer { border-top: 1px solid rgba(255,255,255,.08); margin-top: 28px; padding: 18px 0 28px; color: #9aa1ab; font-size: .88rem; }
.app-footer .wrap { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.app-footer a { color: #dfe3e8; text-decoration:none; }
.app-footer a:hover { text-decoration:underline; }

/* v1.4.4 — Simplified League Garage homepage. */
.site-page .main{padding:0 0 0;overflow:hidden}
.lg-home-hero{position:relative;min-height:650px;display:flex;align-items:center;background:#08090b url('../images/hero.webp') center/cover no-repeat;overflow:hidden}
.lg-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.92) 0%,rgba(5,7,9,.72) 43%,rgba(5,7,9,.22) 78%,rgba(5,7,9,.42) 100%);pointer-events:none}
.lg-home-hero-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:650px}
.lg-home-hero-copy{max-width:900px}
.lg-home-hero h1{margin:0 0 18px;color:#f5f3ef;font-size:clamp(46px,7vw,86px);line-height:.98;letter-spacing:-.055em;font-weight:900}
.lg-home-hero h1 span{color:#f5f3ef}
.lg-home-hero p{margin:0;color:#d1d4d8;font-size:19px;line-height:1.6;max-width:610px}
.lg-home-hero .hero-actions{margin-top:30px}
.lg-home-pillars{padding:88px 0 100px}
.lg-home-pillars>h2{margin:0 0 44px;font-size:clamp(32px,4.5vw,56px);line-height:1.02;letter-spacing:-.045em}
.lg-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #2a2f35}
.lg-pillar{padding:30px 34px 12px 0;margin-right:34px;border-right:1px solid #2a2f35}
.lg-pillar:last-child{margin-right:0;border-right:0}
.lg-pillar-number{display:block;color:#e33a40;font-size:10px;letter-spacing:.18em;font-weight:900;margin-bottom:36px}
.lg-pillar h3{margin:0 0 12px;font-size:27px;letter-spacing:.02em}
.lg-pillar p{margin:0;color:#9fa6af;line-height:1.75;max-width:390px}
.lg-home-racing{display:grid;grid-template-columns:1fr 1fr;background:#0d1014;border-top:1px solid #252a30;border-bottom:1px solid #252a30}
.lg-home-racing-image{min-height:500px;background:linear-gradient(90deg,rgba(8,10,13,.08),rgba(8,10,13,.2)),url('../images/race-track.webp') center/cover no-repeat}
.lg-home-racing-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(28px,7vw,100px)}
.lg-home-racing-copy h2{margin:0 0 18px;font-size:clamp(34px,4.8vw,60px);line-height:1.02;letter-spacing:-.045em}
.lg-home-racing-copy p{margin:0 0 16px;color:#aeb4bd;line-height:1.8;max-width:560px;font-size:16px}
.lg-home-racing-copy strong{color:#e7e9ec}
.lg-home-final{background:#101318;border-bottom:1px solid #292e34}
.lg-home-final-inner{min-height:245px;padding:48px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}
.lg-home-final h2{margin:0;font-size:clamp(32px,4.5vw,55px);line-height:1.02;letter-spacing:-.045em}
@media(max-width:900px){
    .lg-home-hero{min-height:560px}
    .lg-home-hero-inner{min-height:560px;width:min(calc(100% - 28px),var(--max))}
    .lg-home-hero h1{font-size:clamp(43px,9vw,70px)}
    .lg-pillar-grid{grid-template-columns:1fr}
    .lg-pillar{padding:28px 0 32px;margin:0;border-right:0;border-bottom:1px solid #2a2f35}
    .lg-pillar:last-child{border-bottom:0}
    .lg-pillar-number{margin-bottom:18px}
    .lg-home-racing{grid-template-columns:1fr}
    .lg-home-racing-image{min-height:360px}
    .lg-home-racing-copy{padding:58px 28px}
    .lg-home-final-inner{align-items:flex-start;flex-direction:column;justify-content:center}
}
@media(max-width:700px){
    .lg-home-hero{min-height:500px;background-position:center center}
    .lg-home-hero-inner{min-height:500px}
    .lg-home-hero h1{font-size:43px}
    .lg-home-hero p{font-size:16px}
    .lg-home-pillars{padding:70px 0 75px}
    .lg-home-pillars>h2{margin-bottom:30px}
    .lg-home-racing-image{min-height:300px}
    .lg-home-racing-copy{padding:50px 22px}
    .lg-home-final-inner{padding:46px 0}
}


/* v1.4.6 — Public navigation cleanup. Keep mobile navigation hidden on desktop and expose it only on small screens. */
.mobile-menu-toggle{display:none;appearance:none;border:1px solid #30353c;background:#101217;color:#fff;border-radius:5px;width:42px;height:42px;padding:9px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;flex:0 0 auto;}
.mobile-menu-toggle span{display:block;width:21px;height:2px;background:#f2f3f4;border-radius:2px;}
.public-mobile-menu{display:none;}
.site-page .header-inner{position:relative;}
@media(max-width:900px){
    .site-page .header-inner{min-height:82px;flex-wrap:nowrap;align-items:center;gap:12px;}
    .site-page .brand-lockup{min-width:0;flex:1 1 auto;}
    .site-page .brand-logo{width:235px;max-width:100%;}
    .site-page .mobile-menu-toggle{display:flex;margin-left:auto;}
    .site-page .top-nav,.site-page .header-actions{display:none;}
    .site-page .public-mobile-menu{position:absolute;display:none;top:calc(100% + 1px);left:0;right:0;z-index:100;background:rgba(10,11,14,.99);border:1px solid #2a2f35;border-top:0;box-shadow:0 18px 35px rgba(0,0,0,.45);padding:8px;}
    .site-page .public-mobile-menu.is-open{display:flex;flex-direction:column;}
    .site-page .public-mobile-menu a{display:flex;align-items:center;min-height:48px;padding:12px 14px;color:#e7e9ec;text-decoration:none;font-weight:750;border-radius:4px;}
    .site-page .public-mobile-menu a:hover,.site-page .public-mobile-menu a:focus-visible{background:#171a20;color:#fff;}
    .site-page .public-mobile-menu .mobile-menu-cta{margin-top:5px;justify-content:center;background:#d71920;color:#fff;border:1px solid #e12a30;}
}
@media(max-width:600px){
    .site-page .header-inner{min-height:76px;}
    .site-page .brand-logo{width:215px;}
    .site-page .public-mobile-menu{left:-7px;right:-7px;}
}

/* Public footer links for the League Garage website. */
.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer-inner nav{display:flex;gap:18px;flex-wrap:wrap}
.site-footer-inner a{color:#c5cad0;text-decoration:none}
.site-footer-inner a:hover{color:#fff;text-decoration:underline}
@media(max-width:650px){.site-footer-inner{align-items:flex-start;flex-direction:column}.site-footer-inner nav{gap:10px 16px}}
.legal-copy{padding-bottom:80px}.legal-copy h2{margin-top:34px;color:#f2f3f4}.legal-copy p{line-height:1.8;color:#b0b6be}


/* v1.4.5 — Public image rendering reliability. */
.lg-home-hero{position:relative;background:#08090b;overflow:hidden;}
.lg-home-hero-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;z-index:0;}
.lg-home-hero:before{z-index:1;}
.lg-home-hero-inner{position:relative;z-index:2;}
.lg-home-racing-image{position:relative;min-height:500px;overflow:hidden;background:#0d1014;}
.lg-home-racing-image img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;}
.lg-home-racing-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.08),rgba(8,10,13,.2));pointer-events:none;}
@media(max-width:900px){.lg-home-racing-image{min-height:360px;}}
@media(max-width:700px){.lg-home-racing-image{min-height:300px;}}

/* v1.4.7 — League discovery, join requests, invitations and applicant review. */
.league-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.league-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.request-list{display:grid;gap:14px}.request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(180deg,#12151a,#0e1014);border:1px solid var(--line);border-radius:9px;padding:22px}.request-card h2{margin:5px 0 8px}.request-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.message-action{margin-top:14px}.profile-review-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.profile-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.profile-stat-grid>div{display:grid;gap:3px;padding:13px;background:#0a0c0f;border:1px solid var(--line);border-radius:6px}.profile-stat-grid strong{font-size:24px;color:#fff}.profile-stat-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.review-list{display:grid;gap:11px}.review-list>div{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.review-list>div:last-child{border-bottom:0}.review-list strong{color:#fff}.review-list span{font-size:12px}.site-page .league-discovery-grid .league-card{min-height:290px}
@media(max-width:850px){.request-card{grid-template-columns:1fr}.request-actions{justify-content:flex-start}.profile-review-grid{grid-template-columns:1fr}.profile-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.profile-stat-grid{grid-template-columns:1fr 1fr}.request-actions{flex-direction:column;align-items:stretch}.request-actions form,.request-actions .btn{width:100%}}
.gaming-public-card{margin-top:18px;max-width:none}.gaming-tag-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gaming-tag-list>div{display:grid;gap:4px;padding:12px;background:#0a0c0f;border:1px solid var(--line);border-radius:6px}.gaming-tag-list strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gaming-tag-list span{font-weight:800;color:#fff}.gaming-tag-list p{grid-column:1/-1;margin:0}@media(max-width:700px){.gaming-tag-list{grid-template-columns:1fr}}

/* Owner dashboard organization and quick-action controls. */
.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 2px}.dashboard-actions .btn{width:auto}.app-page .sidebar-section{margin-top:10px}.app-page .sidebar-section + .side-link{margin-top:1px}
@media(max-width:600px){.dashboard-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-actions .btn{width:100%}}

/* Upcoming race countdown styling. */
.race-countdown{margin-top:16px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(0,0,0,.22);display:inline-flex;flex-direction:column;gap:3px}.race-countdown strong{font-size:1.25rem;letter-spacing:.04em}.race-countdown small{color:#9ea5af}.race-card-featured{min-width:280px}


/* v1.5.1 — Owner workspace access to the member Garage. */
.garage-access-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0;padding:20px 22px;background:linear-gradient(180deg,rgba(20,23,28,.98),rgba(12,14,18,.98));border:1px solid #30353c;border-radius:3px;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.garage-access-strip strong{display:block;font-size:18px;margin-top:2px}.garage-access-strip p{margin:5px 0 0;color:#8f97a1;font-size:13px}.garage-access-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.garage-access-actions .btn{width:auto;white-space:nowrap}
@media(max-width:760px){.garage-access-strip{align-items:flex-start;flex-direction:column}.garage-access-actions{width:100%;justify-content:flex-start}.garage-access-actions .btn{flex:1 1 auto}}

/* Global dashboard search: Facebook-style live suggestions anchored below the header search field. */
.global-search{position:relative;display:flex;align-items:center;width:min(390px,34vw);margin-left:auto;z-index:80}.global-search-input{width:100%;height:40px;padding:0 15px 0 39px;border:1px solid #343a42;border-radius:22px;background:#15181d;color:#f4f5f6;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.global-search-input::placeholder{color:#8e949d}.global-search-input:focus{border-color:#5a626d;background:#181b20;box-shadow:0 0 0 3px rgba(215,25,32,.14)}.global-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-53%);color:#9da3ab;font-size:22px;line-height:1;pointer-events:none}.global-search-results{position:absolute;top:calc(100% + 9px);left:0;right:0;display:none;overflow:hidden;background:#111419;border:1px solid #353b43;border-radius:10px;box-shadow:0 22px 55px rgba(0,0,0,.55);max-height:min(70vh,560px)}.global-search-results.is-open{display:block}.global-search-section{padding:9px 0}.global-search-section+.global-search-section{border-top:1px solid #292e35}.global-search-section-title{padding:5px 15px 8px;color:#8f969f;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.global-search-result{display:flex;align-items:center;gap:11px;padding:10px 13px;color:#f2f3f5;text-decoration:none}.global-search-result:hover,.global-search-result:focus-visible{background:#1a1e24;outline:none}.global-search-result-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#242a31;border:1px solid #454b55;font-size:12px;font-weight:900}.global-search-result-avatar img{width:100%;height:100%;object-fit:cover;display:block}.global-search-result-copy{min-width:0;display:grid;gap:3px}.global-search-result-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-result-copy small{color:#9299a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-result-meta{margin-left:auto;color:#7f8791;font-size:11px;white-space:nowrap}.global-search-empty{padding:18px 15px;color:#9ba1aa;font-size:13px}.global-search-footer{border-top:1px solid #292e35;padding:11px 14px}.global-search-footer a{color:#f0f1f3;text-decoration:none;font-weight:800;font-size:13px}.global-search-footer a:hover{color:#fff}.search-person-card{display:flex;gap:16px;align-items:center}.search-person-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#242a31;border:1px solid #454b55;font-size:20px;font-weight:900}.search-person-avatar img{width:100%;height:100%;object-fit:cover;display:block}.search-person-card h3{margin:0 0 4px}.search-person-card .btn{margin-top:9px}.global-search-page-form{max-width:760px}
@media(max-width:900px){.global-search{width:min(330px,38vw)}}
@media(max-width:760px){.app-page .header-inner{gap:10px}.global-search{width:42px;margin-left:auto}.global-search-input{width:42px;padding:0;border-radius:50%;cursor:pointer;color:transparent}.global-search-input::placeholder{color:transparent}.global-search-icon{left:13px}.global-search-input:focus{position:absolute;right:0;width:min(310px,calc(100vw - 30px));padding:0 14px 0 39px;border-radius:22px;color:#f4f5f6;cursor:text}.global-search-input:focus::placeholder{color:#8e949d}.global-search-results{left:auto;right:-5px;width:min(340px,calc(100vw - 28px))}.app-page .app-top-actions{gap:5px}.search-person-card{align-items:flex-start}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Keep the current dashboard shell stable while expanded search results load in place. */
.search-loading .app-content{opacity:.72;transition:opacity .12s ease}

/* v1.5.7 — Competitor workspace presentation */
.competitor-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;padding:4px 0 12px;border-bottom:1px solid var(--line)}
.competitor-toolbar h1{margin:0 0 4px;font-size:32px;letter-spacing:-.03em}.competitor-toolbar p{margin:0;color:var(--muted)}
.league-switcher{min-width:260px}.league-switcher label{display:grid;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.league-switcher select{width:100%;background:#101318;color:#fff;border:1px solid #363c45;border-radius:4px;padding:11px 12px}
.competitor-hero{background:linear-gradient(90deg,rgba(8,10,12,.99),rgba(10,12,15,.84) 50%,rgba(10,12,15,.58)),radial-gradient(ellipse at 82% 45%,#34393e,#0a0c0f 67%)}
.competitor-dashboard-columns{align-items:stretch}.competitor-position-card{display:flex;align-items:center;gap:18px;padding:20px;background:#0b0d10;border:1px solid #30353c;border-radius:3px}.competitor-position-card>strong{font-size:54px;line-height:1;color:#fff}.competitor-position-card span,.competitor-position-card small{display:block;color:var(--muted)}.competitor-position-card small{margin-top:3px;color:#fff;font-weight:800}.mini-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.mini-comparison>div{padding:12px;background:#0b0d10;border:1px solid #272d35;border-radius:3px}.mini-comparison span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.mini-comparison strong{display:block;margin-top:4px;color:#fff}.current-driver{background:rgba(215,25,32,.09)}
.schedule-list{display:grid;gap:12px}.schedule-event{display:grid;grid-template-columns:78px minmax(0,1fr) 170px;gap:20px;align-items:center;padding:20px;background:linear-gradient(180deg,#12151a,#0d1014);border:1px solid #2b3037;border-radius:3px}.schedule-event.is-next{border-color:#b71920;box-shadow:0 10px 30px rgba(0,0,0,.2)}.schedule-number{display:grid;place-items:center;align-content:center;min-height:90px;background:#090b0e;border:1px solid #30353c}.schedule-number span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.schedule-number strong{font-size:32px;line-height:1}.schedule-event-main h2{margin:6px 0 2px;font-size:24px}.schedule-event-main p{margin:0 0 12px;color:#b4bac3}.schedule-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.schedule-result{display:grid;gap:3px;text-align:right}.schedule-result span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.schedule-result strong{font-size:24px}.schedule-result small{color:var(--muted)}.competitor-join-card{max-width:680px}.competitor-footer-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:850px){.competitor-toolbar{align-items:stretch;flex-direction:column}.league-switcher{min-width:0}.schedule-event{grid-template-columns:64px minmax(0,1fr)}.schedule-result{grid-column:2;text-align:left}.schedule-number{min-height:76px}.mini-comparison{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.schedule-event{grid-template-columns:1fr}.schedule-result{grid-column:auto;text-align:left;border-top:1px solid #272d35;padding-top:12px}.schedule-number{min-height:64px;grid-auto-flow:column;justify-content:start;gap:10px;padding:0 14px}.mini-comparison{grid-template-columns:1fr}.competitor-footer-actions{flex-direction:column}.competitor-footer-actions .btn{width:100%}}


/* v1.5.11 — Unified League Garage application shell and league-first member experience. */
.app-page .app-topbar{position:fixed;top:0;left:0;right:0;height:82px;z-index:1000;}
.app-page .app-frame{display:block;min-height:100vh;padding-top:82px;}
.app-page .app-sidebar{position:fixed;left:0;top:82px;bottom:0;width:248px;height:auto;z-index:900;overflow-y:auto;overflow-x:hidden;}
.app-page .app-content{margin-left:248px;width:auto;max-width:none;min-height:calc(100vh - 82px);padding:32px 38px 70px;}
.app-page .app-footer{margin-left:248px;}
.garage-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px;padding:5px 0 4px;}
.garage-dashboard-head h1{margin:0 0 5px;font-size:clamp(34px,4vw,50px);letter-spacing:-.04em;}
.garage-dashboard-head p{margin:0;color:var(--muted);font-size:15px;}
.garage-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.9fr);gap:18px;}
.garage-dashboard-grid .dashboard-panel{margin:0;}
.profile-snapshot,.stats-snapshot{grid-column:1 / -1;}
.profile-snapshot-body{display:flex;align-items:center;gap:22px;}
.profile-snapshot-avatar{width:104px;height:104px;flex:0 0 104px;display:grid;place-items:center;overflow:hidden;border:1px solid #454b55;border-radius:50%;background:#242a31;font-size:28px;font-weight:900;}
.profile-snapshot-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-snapshot-copy{min-width:0;}
.profile-snapshot-copy p{max-width:850px;margin:0 0 13px;color:#c1c5ca;line-height:1.55;}
.profile-snapshot-meta{display:flex;flex-wrap:wrap;gap:18px;color:#8f969f;font-size:12px;font-weight:700;}
.profile-tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;}
.upcoming-race-card,.friends-online-card{min-height:250px;}
.upcoming-race-main{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:6px 0 18px;}
.race-series-line{color:#a7adb6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}
.upcoming-race-main h3{margin:5px 0;font-size:28px;}
.upcoming-race-main p{margin:0 0 10px;color:#b5bbc3;}
.countdown{min-width:145px;padding:15px;border-left:2px solid var(--accent);background:#0b0d10;text-align:center;}
.countdown strong{display:block;font-size:25px;line-height:1.1;font-variant-numeric:tabular-nums;}
.countdown small{display:block;margin-top:5px;color:#7f8791;}
.online-friend-list{display:grid;gap:3px;}
.online-friend{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:4px;color:inherit;}
.online-friend:hover{background:#171a20;}
.online-avatar{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;overflow:visible;border:1px solid #454b55;border-radius:50%;background:#242a31;font-size:12px;font-weight:900;}
.online-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.online-avatar i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid #101217;border-radius:50%;background:#36b37e;}
.online-friend>span:last-child{display:grid;gap:2px;min-width:0;}
.online-friend small{color:#36b37e;font-size:11px;}
.online-empty{display:grid;gap:7px;padding:18px 4px;color:#b7bdc5;}
.online-empty span{color:#777f89;font-size:12px;line-height:1.5;}
.mini-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.mini-stats-grid>div{padding:14px 12px;border:1px solid #272d35;border-radius:3px;background:#0b0d10;}
.mini-stats-grid span{display:block;color:#7f8791;font-size:10px;text-transform:uppercase;letter-spacing:.08em;}
.mini-stats-grid strong{display:block;margin-top:5px;font-size:24px;}
.league-home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px;padding:5px 0 4px;}
.league-home-head h1{margin:0 0 5px;font-size:clamp(32px,4vw,50px);letter-spacing:-.04em;}
.league-home-head p{margin:0;color:var(--muted);}
.league-home-actions{display:flex;flex-wrap:wrap;gap:10px;}
.league-home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:18px;}
.league-home-grid .dashboard-panel{margin:0;}
.league-overview-card,.league-standing-list,.league-owner-card{grid-column:1 / -1;}
.league-home-meta{display:flex;flex-wrap:wrap;gap:28px;color:var(--muted);font-size:12px;}
.league-home-meta strong{display:block;color:#fff;font-size:22px;}
.league-next-card h3{margin:4px 0;font-size:28px;}
.league-next-card p{margin:0 0 12px;color:#b5bbc3;}
.league-standing-big{display:flex;align-items:center;gap:18px;}
.league-standing-big>strong{color:#fff;font-size:58px;line-height:1;}
.league-standing-big div{display:grid;gap:3px;}
.league-standing-big span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;}
.league-standing-big b{font-size:20px;}
.league-standing-big small{color:var(--muted);}

/* v1.5.11 — League selector, contextual navigation, onboarding and privacy settings. */
.sidebar-league-selector{padding:0 10px 12px;border-bottom:1px solid #292e36;margin-bottom:8px;}
.sidebar-label{padding:7px 4px 8px;color:#7e8690;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.league-selector-form select{width:100%;min-height:42px;padding:9px 34px 9px 11px;border:1px solid #363c45;border-radius:4px;background:#101318;color:#f4f4f4;font-weight:800;font-size:12px;}
.sidebar-selector-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;}
.sidebar-selector-actions a{padding:8px 6px;text-align:center;border:1px solid #2c323a;border-radius:3px;color:#c8cdd4;font-size:10px;font-weight:800;line-height:1.25;}
.sidebar-selector-actions a:hover{border-color:#555d68;background:#171a20;color:#fff;}
.app-page .app-sidebar .sidebar-section{margin-top:7px;padding:0 10px;}
.app-page .app-sidebar .sidebar-section .side-link{margin:2px 0;}
.owner-context-label{margin-top:10px;border-top:1px solid #292e36;padding-top:12px;}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:18px;align-items:start;}
.settings-stack{display:grid;gap:18px;}
.privacy-setting-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;}
.privacy-setting-list label{display:grid;gap:7px;color:#d9dde2;font-size:12px;font-weight:800;}
.privacy-setting-list select{width:100%;box-sizing:border-box;}
.onboarding-wrap{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:30px 0;}
.onboarding-card{width:min(680px,100%);padding:42px;background:linear-gradient(180deg,rgba(22,25,30,.98),rgba(10,12,15,.98));border:1px solid #30353c;border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,.35);text-align:center;}
.onboarding-card h1{font-size:clamp(32px,5vw,54px);margin:8px 0 12px;letter-spacing:-.04em;}
.onboarding-card>p{max-width:560px;margin:0 auto 28px;color:#aeb5be;line-height:1.65;}
.onboarding-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:500px;margin:0 auto;}
.onboarding-actions form:last-child{grid-column:1/-1;}
.text-button{padding:8px;border:0;background:none;color:#8f969f;cursor:pointer;font-weight:800;}
.text-button:hover{color:#fff;}

@media(max-width:900px){
    .app-page .app-sidebar{width:220px;}
    .app-page .app-content{margin-left:220px;padding:25px 22px 55px;}
    .app-page .app-footer{margin-left:220px;}
    .garage-dashboard-grid,.league-home-grid{grid-template-columns:1fr;}
    .profile-snapshot,.stats-snapshot,.league-overview-card,.league-standing-list,.league-owner-card{grid-column:auto;}
    .mini-stats-grid{grid-template-columns:repeat(3,1fr);}
    .league-home-head{align-items:flex-start;flex-direction:column;}
    .league-home-actions{width:100%;}
    .league-home-actions .btn{flex:1;}
    .settings-grid{grid-template-columns:1fr;}
}

@media(max-width:760px){
    .app-page .app-topbar{height:72px;}
    .app-page .app-frame{padding-top:72px;}
    .app-page .app-sidebar{top:72px;left:0;right:0;bottom:auto;width:auto;height:58px;display:flex;flex-direction:row;align-items:center;padding:8px 10px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #292e36;box-shadow:0 8px 25px rgba(0,0,0,.25);}
    .app-page .app-sidebar .sidebar-role{display:none;}
    .app-page .app-sidebar .side-link{min-width:max-content;min-height:40px;padding:9px 12px;}
    .app-page .app-content{margin-left:0;padding:18px 14px 45px;min-height:calc(100vh - 130px);}
    .app-page .app-footer{margin-left:0;}
    .garage-dashboard-head{align-items:flex-start;flex-direction:column;}
    .profile-snapshot-body,.upcoming-race-main{align-items:flex-start;flex-direction:column;}
    .countdown{width:100%;box-sizing:border-box;}
    .mini-stats-grid{grid-template-columns:repeat(2,1fr);}
    .league-home-actions .btn{flex:1;}
    .league-standing-big{align-items:flex-start;}
    .app-page .app-sidebar{align-items:stretch;gap:8px;}
    .app-page .app-sidebar .sidebar-league-selector{display:flex;align-items:center;gap:8px;min-width:250px;padding:0;border:0;margin:0;}
    .app-page .app-sidebar .sidebar-league-selector .sidebar-label{display:none;}
    .league-selector-form{min-width:170px;}
    .sidebar-selector-actions{display:flex;margin:0;}
    .sidebar-selector-actions a{white-space:nowrap;padding:9px 8px;}
    .app-page .app-sidebar .sidebar-section{display:flex;align-items:center;gap:6px;margin:0;padding:0;min-width:max-content;}
    .app-page .app-sidebar .sidebar-section .sidebar-label{display:none;}
    .app-page .app-sidebar .sidebar-section .side-link{margin:0;}
    .app-page .app-sidebar .league-context{border-left:1px solid #292e36;padding-left:8px;}
    .app-page .app-sidebar .owner-context-label{display:none;}
    .privacy-setting-list{grid-template-columns:1fr;}
    .onboarding-card{padding:30px 20px;}
    .onboarding-actions{grid-template-columns:1fr;}
    .onboarding-actions form:last-child{grid-column:auto;}
}

/* v1.5.11 authenticated shell normalization.
 * Keep the member navigation and content area visible on desktop even when older
 * responsive rules are present elsewhere in this stylesheet. Mobile behavior is
 * restored below the desktop breakpoint.
 */
@media (min-width: 901px) {
    .app-page .app-sidebar .sidebar-section {
        display: block;
    }

    .app-page .app-sidebar .sidebar-section .side-link {
        display: flex;
    }

    .app-page .app-content {
        display: block;
        min-height: calc(100vh - 82px);
    }
}

@media (max-width: 900px) {
    .app-page .app-sidebar .sidebar-section {
        display: flex;
    }

    .app-page .app-sidebar .sidebar-section .sidebar-label {
        display: none;
    }

    .app-page .app-sidebar .sidebar-section .side-link {
        display: flex;
    }
}

/* v1.5.15 — Unified My Garage sidebar. These classes intentionally stand apart from
 * legacy owner/competitor sidebar rules so the member navigation cannot be hidden by
 * an older responsive selector. */
.member-sidebar-leagues,
.member-sidebar-primary,
.member-sidebar-context {
    width: 100%;
    box-sizing: border-box;
}

.member-sidebar-leagues {
    padding: 0 10px 16px;
    margin: 0 0 8px;
    border-bottom: 1px solid #292e36;
}

.member-sidebar-leagues .sidebar-label,
.member-sidebar-heading,
.member-sidebar-subheading {
    display: block;
    padding: 7px 4px 9px;
    color: #7e8690;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.member-sidebar-leagues .league-selector-form select {
    width: 100%;
    min-height: 42px;
    padding: 9px 34px 9px 11px;
    border: 1px solid #363c45;
    border-radius: 4px;
    background: #101318;
    color: #f4f4f4;
    font-size: 12px;
    font-weight: 800;
}

.member-sidebar-primary,
.member-sidebar-context {
    padding: 0 10px;
}

.member-sidebar-primary .member-sidebar-heading,
.member-sidebar-context .member-sidebar-heading {
    margin-top: 6px;
}

.member-sidebar-primary .side-link,
.member-sidebar-context .side-link {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    margin: 2px 0;
}

.member-sidebar-context {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #292e36;
}

.member-sidebar-context .selected-league-heading {
    color: #d7dbe0;
    line-height: 1.35;
    letter-spacing: .08em;
}

.member-sidebar-subheading {
    padding-top: 17px;
    padding-bottom: 6px;
    color: #686f79;
}

@media (min-width: 901px) {
    .app-page .app-sidebar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .member-sidebar-leagues,
    .member-sidebar-primary,
    .member-sidebar-context {
        display: block !important;
        flex: 0 0 auto;
    }

    .member-sidebar-primary .side-link,
    .member-sidebar-context .side-link {
        display: flex !important;
    }

    .app-page .app-content {
        display: block !important;
        min-height: calc(100vh - 82px);
    }
}

@media (max-width: 900px) {
    .member-sidebar-leagues {
        min-width: 255px;
        padding: 0;
        margin: 0;
        border: 0;
    }

    .member-sidebar-leagues .sidebar-label,
    .member-sidebar-primary .member-sidebar-heading,
    .member-sidebar-context .member-sidebar-heading,
    .member-sidebar-subheading {
        display: none;
    }

    .member-sidebar-primary,
    .member-sidebar-context {
        display: flex !important;
        align-items: center;
        gap: 6px;
        min-width: max-content;
        padding: 0;
        margin: 0;
        border: 0;
    }

    .member-sidebar-primary .side-link,
    .member-sidebar-context .side-link {
        width: auto;
        min-width: max-content;
        margin: 0;
    }

    .member-sidebar-context {
        padding-left: 8px;
        border-left: 1px solid #292e36;
    }
}


/* v1.5.15 member settings and social-feed layout. */
.settings-section {
    margin-top: 28px;
}

.settings-account-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.settings-account-grid .form-card {
    max-width: none;
    margin: 0;
}

.settings-privacy-card {
    max-width: none;
}

.settings-social-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.settings-social-grid .form-card,
.settings-blocked-card {
    max-width: none;
}

.settings-links-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.settings-links-grid .form-card {
    max-width: none;
    margin: 0;
}

.feed-composer {
    max-width: none;
    margin-bottom: 24px;
}

.feed-composer .section-head {
    margin-bottom: 18px;
}

.feed-media-input {
    margin-top: 8px;
}

.feed-media-input .muted {
    margin: -5px 0 0;
    font-size: 12px;
}

.feed-post-header {
    align-items: center;
}

.feed-author {
    display: flex;
    align-items: center;
    gap: 11px;
}

.feed-author-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #3a4048;
    border-radius: 50%;
    background: #1c2026;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.feed-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feed-author small {
    display: block;
    margin-top: 3px;
}

.feed-post-body {
    margin: 18px 0;
    line-height: 1.7;
    white-space: normal;
}

.post-media-grid {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.post-media-image,
.post-media-video {
    display: block;
    width: 100%;
    max-height: 620px;
    overflow: hidden;
    border: 1px solid #30353c;
    border-radius: 4px;
    background: #070809;
}

.post-media-image img,
.post-media-video {
    width: 100%;
}

.post-media-image img {
    display: block;
    max-height: 620px;
    object-fit: contain;
    margin: 0 auto;
}

.post-media-video {
    max-height: none;
}

@media (max-width: 1000px) {
    .settings-account-grid {
        grid-template-columns: 1fr 1fr;
    }

    .settings-account-grid .profile-photo-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 800px) {
    .settings-account-grid,
    .settings-social-grid,
    .settings-links-grid {
        grid-template-columns: 1fr;
    }

    .settings-account-grid .profile-photo-card {
        grid-column: auto;
    }
}

/* v1.5.15 — member workflow, message workspace, and mobile app navigation. */
.messages-layout {
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.messages-list-panel,
.message-thread-panel {
    min-width: 0;
    border: 1px solid #30353c;
    border-radius: 3px;
    background: linear-gradient(180deg, rgba(20, 23, 28, .98), rgba(12, 14, 18, .98));
    box-shadow: 0 12px 35px rgba(0, 0, 0, .2);
}

.messages-list-panel {
    padding: 20px;
}

.message-thread-panel {
    display: flex;
    min-height: 560px;
    flex-direction: column;
}

.conversation-list {
    display: grid;
    gap: 6px;
}

.conversation-row,
.message-friend-link {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: 4px;
    color: var(--text);
}

.conversation-row:hover,
.conversation-row.active,
.message-friend-link:hover,
.message-friend-link.active {
    border-color: #353b44;
    background: #171a20;
}

.conversation-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.conversation-copy strong,
.conversation-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversation-copy small {
    color: var(--muted);
    font-size: 11px;
}

.message-friends {
    display: grid;
    gap: 6px;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid #292e36;
}

.message-friend-link {
    font-size: 13px;
    font-weight: 750;
}

.friend-avatar.tiny {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    font-size: 10px;
}

.message-thread-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid #292e36;
}

.message-thread-head h2 {
    margin: 3px 0 0;
}

.message-thread {
    display: flex;
    min-height: 320px;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 22px;
    overflow-y: auto;
}

.message-bubble {
    width: min(78%, 650px);
    padding: 13px 15px;
    border: 1px solid #343a43;
    border-radius: 8px;
    background: #171a20;
}

.message-bubble.mine {
    align-self: flex-end;
    border-color: #7f171c;
    background: #251114;
}

.message-bubble.theirs {
    align-self: flex-start;
}

.message-bubble-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
    font-size: 11px;
}

.message-bubble-meta span {
    color: var(--muted);
}

.message-bubble p {
    margin: 0;
    line-height: 1.55;
}

.message-composer {
    display: grid;
    gap: 10px;
    padding: 16px 22px 20px;
    border-top: 1px solid #292e36;
}

.message-composer textarea {
    resize: vertical;
    min-height: 76px;
}

.message-composer .form-actions {
    justify-content: flex-end;
}

.message-empty-state {
    display: grid;
    min-height: 560px;
    place-items: center;
    align-content: center;
    padding: 35px;
    text-align: center;
}

.message-empty-state p {
    max-width: 520px;
    color: var(--muted);
}

.compact-empty {
    margin: 0;
    padding: 22px;
}

.message-system-section {
    margin-top: 24px;
}

.system-message-card {
    margin-bottom: 12px;
}

/* The dashboard uses a consistent visual rhythm for peer cards. */
.garage-dashboard-grid > .dashboard-panel {
    min-width: 0;
}

.garage-dashboard-grid > .upcoming-race-card,
.garage-dashboard-grid > .friends-online-card {
    min-height: 270px;
}

.garage-dashboard-grid > .profile-snapshot,
.garage-dashboard-grid > .stats-snapshot {
    min-height: 0;
}

/* Authenticated mobile navigation is a drawer, not a compressed desktop sidebar. */
.app-mobile-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 0;
    border: 1px solid #343a43;
    border-radius: 5px;
    background: #111419;
    color: #fff;
    cursor: pointer;
}

.app-mobile-menu-toggle span {
    display: block;
    width: 19px;
    height: 2px;
    margin: 4px auto;
    border-radius: 2px;
    background: currentColor;
}

@media (max-width: 760px) {
    body.app-menu-open {
        overflow: hidden;
    }

    body.app-menu-open::after {
        content: '';
        position: fixed;
        inset: 72px 0 0;
        z-index: 840;
        background: rgba(0, 0, 0, .62);
    }

    .app-page .app-topbar {
        height: 72px;
    }

    .app-page .header-inner {
        display: flex;
        min-height: 72px;
        padding: 10px 12px;
        gap: 8px;
    }

    .app-mobile-menu-toggle {
        display: block;
        order: -1;
    }

    .app-page .brand-logo {
        width: 145px;
        max-width: 145px;
    }

    .app-page .app-top-actions {
        margin-left: auto;
        gap: 4px;
    }

    .app-page .app-top-actions .logout-mini {
        display: none;
    }

    .app-page .global-search {
        width: 38px;
        flex: 0 0 38px;
    }

    .app-page .app-sidebar {
        position: fixed !important;
        top: 72px !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: min(310px, 88vw) !important;
        height: auto !important;
        z-index: 900 !important;
        display: block !important;
        padding: 18px 14px 30px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-right: 1px solid #30353c !important;
        border-bottom: 0 !important;
        box-shadow: 18px 0 45px rgba(0, 0, 0, .42) !important;
        transform: translateX(-105%);
        transition: transform .2s ease;
    }

    .app-page .app-sidebar.is-mobile-open {
        transform: translateX(0);
    }

    .member-sidebar-leagues,
    .member-sidebar-primary,
    .member-sidebar-context {
        display: block !important;
        width: 100%;
        min-width: 0;
        margin: 0 0 16px !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .member-sidebar-leagues .sidebar-label,
    .member-sidebar-primary .member-sidebar-heading,
    .member-sidebar-context .member-sidebar-heading {
        display: block !important;
        padding: 8px 4px 9px;
    }

    .member-sidebar-leagues .league-selector-form select {
        min-height: 44px;
    }

    .member-sidebar-primary .side-link,
    .member-sidebar-context .side-link {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px;
        margin: 3px 0 !important;
    }

    .member-sidebar-context {
        padding-top: 14px !important;
        border-top: 1px solid #292e36 !important;
    }

    .app-page .app-frame {
        display: block;
        min-height: calc(100vh - 72px);
        padding-top: 72px;
    }

    .app-page .app-content {
        margin-left: 0 !important;
        min-height: calc(100vh - 72px);
        padding: 18px 14px 45px;
    }

    .messages-layout {
        grid-template-columns: 1fr;
    }

    .messages-list-panel {
        order: 1;
    }

    .message-thread-panel {
        order: 2;
        min-height: 500px;
    }

    .message-bubble {
        width: 88%;
    }

    .message-thread-head,
    .message-composer {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 761px) {
    .app-page .app-sidebar {
        transform: none !important;
    }
}

@media (max-width: 420px) {
    .app-page .brand-logo {
        width: 105px;
        max-width: 105px;
    }

    .app-page .app-top-actions .profile-chip {
        display: none;
    }
}

/* v1.5.16 — focused Settings tabs and responsive settings panels. */
.settings-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 22px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(12,14,18,.82);
    scrollbar-width: thin;
}

.settings-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 8px;
    color: #aeb5c0;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background .18s ease, color .18s ease;
}

.settings-tab:hover,
.settings-tab.active {
    color: #fff;
    background: rgba(255,255,255,.09);
}

.settings-panel {
    display: grid;
    gap: 20px;
}

.settings-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.settings-panel-heading h2 {
    margin: 4px 0 6px;
}

.settings-photo-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.settings-photo-preview {
    width: 220px;
    height: 220px;
}

.settings-inner-card {
    margin: 0;
}

.settings-form-narrow {
    max-width: 760px;
}

.settings-request-grid,
.settings-security-grid,
.settings-notification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.settings-notification-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-blocked-card {
    margin-top: 18px;
}

.settings-privacy-card-inner {
    display: grid;
    gap: 14px;
}

@media (max-width: 820px) {
    .settings-photo-layout,
    .settings-request-grid,
    .settings-security-grid,
    .settings-notification-grid {
        grid-template-columns: 1fr;
    }

    .settings-photo-preview {
        width: 160px;
        height: 160px;
    }

    .settings-panel-heading {
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .settings-tabs {
        margin-left: -2px;
        margin-right: -2px;
    }

    .settings-tab {
        min-height: 40px;
        padding: 0 13px;
        font-size: .82rem;
    }

    .settings-photo-preview {
        width: 128px;
        height: 128px;
    }
}

/* v1.5.18 — profile card alignment and dashboard card sizing. */
.profile-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.profile-card-equal {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 300px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.profile-card-equal .section-head {
    flex: 0 0 auto;
}

.profile-card-equal .profile-stat-grid,
.profile-card-equal .recent-race-list,
.profile-card-equal .gaming-tag-list,
.profile-card-equal .friends-grid,
.profile-card-equal .review-list {
    flex: 1 1 auto;
}

.recent-race-list {
    display: grid;
    gap: 0;
}

.recent-race-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.recent-race-row:last-child {
    border-bottom: 0;
}

.recent-race-row > div:first-child {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.recent-race-row span,
.recent-race-result span {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.recent-race-result {
    display: grid;
    gap: 4px;
    flex: 0 0 auto;
    text-align: right;
}

.profile-leagues-card {
    grid-column: 1 / -1;
    min-height: 220px;
}

.profile-card-equal .friends-grid {
    grid-template-columns: 1fr;
    align-content: start;
}

.profile-card-equal .gaming-tag-list {
    grid-template-columns: 1fr;
    align-content: start;
}

.profile-card-equal .gaming-tag-list > div {
    min-height: 52px;
    box-sizing: border-box;
}

/* Keep the four primary Garage dashboard cards visually balanced on desktop. */
.garage-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.garage-dashboard-grid > .dashboard-panel {
    min-height: 300px;
    box-sizing: border-box;
}

.garage-dashboard-grid > .profile-snapshot,
.garage-dashboard-grid > .stats-snapshot {
    grid-column: auto;
}

.garage-dashboard-grid > .profile-snapshot .profile-snapshot-body,
.garage-dashboard-grid > .stats-snapshot .mini-stats-grid {
    flex: 1 1 auto;
}

.garage-dashboard-grid > .profile-snapshot,
.garage-dashboard-grid > .stats-snapshot {
    display: flex;
    flex-direction: column;
}

@media (max-width: 900px) {
    .profile-card-grid,
    .garage-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .profile-leagues-card {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .profile-card-equal {
        min-height: 0;
    }

    .recent-race-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .recent-race-result {
        text-align: left;
    }
}

/* v1.5.19 shared-feed controls */
.feed-composer .form-grid { margin-top: 2px; }
.feed-composer .form-grid label { margin-bottom: 0; }
.feed-post-header small { display: block; margin-top: 3px; }
.post-media-grid { display: grid; gap: 12px; margin-top: 14px; }
.post-media-image img, .post-media-video { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
@media (max-width: 760px) { .feed-composer .form-grid { grid-template-columns: 1fr; } }
/* Admin navigation refinements: grouped tools, compact badges, and clear separation of responsibilities. */
.app-page .app-sidebar .sidebar-section{display:flex;align-items:center;padding:15px 12px 5px;font-size:9px;letter-spacing:.18em;color:#686f79;text-transform:uppercase;font-weight:900}
.app-page .app-sidebar .sidebar-count{margin-left:auto;width:auto!important;min-width:19px;padding:2px 6px;border-radius:10px;background:#d71920;color:#fff!important;font-size:10px;font-weight:900;line-height:1.25}
.app-page .app-sidebar .side-link:has(.sidebar-count){padding-right:10px}
@media(max-width:760px){.app-page .app-sidebar .sidebar-count{margin-left:4px}.app-page .app-sidebar .sidebar-section{display:none}}

/* Admin analytics */
.admin-growth-grid { align-items: stretch; }
.admin-chart { min-height: 210px; display:flex; align-items:flex-end; gap:8px; padding:24px 8px 8px; border-top:1px solid rgba(255,255,255,.08); }
.admin-chart-col { flex:1; min-width:0; height:170px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:6px; }
.admin-chart-col strong { font-size:.72rem; line-height:1; color:var(--text,#f4f4f4); }
.admin-chart-col span { font-size:.68rem; color:var(--muted,#9ca3af); white-space:nowrap; }
.admin-chart-bar { width:min(24px,72%); min-height:4px; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,#e31b23,#8f1117); box-shadow:0 0 0 1px rgba(255,255,255,.08) inset; }
@media (max-width: 900px) { .admin-growth-grid { grid-template-columns:1fr; } .admin-chart { overflow-x:auto; } .admin-chart-col { min-width:34px; } }

/* v1.5.25 — Admin workspace spacing and card alignment. Keep each admin area focused, balanced, and consistent. */
.admin-content {
    --admin-gap: 18px;
}
.admin-content > .page-head {
    margin-bottom: 0;
}
.admin-content > .cards,
.admin-content > .form-card,
.admin-content > .table-wrap,
.admin-content > .ticket-list,
.admin-content > .feed-list {
    margin-bottom: var(--admin-gap);
}
.admin-content > .cards {
    align-items: stretch;
}
.admin-content > .cards > article,
.admin-content > .cards > .form-card,
.admin-content > .cards > .stat-card,
.admin-content > .form-card {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}
.admin-content .admin-chart-grid > .form-card,
.admin-content .admin-metric-grid > *,
.admin-content .admin-security-grid > .security-card {
    min-height: 100%;
}
.admin-content .admin-chart-card {
    max-width: none;
}
.admin-content .admin-metric-grid {
    align-items: stretch;
}
.admin-content .admin-metric-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
}
.admin-content .admin-metric-card strong {
    display: block;
    margin: 8px 0 4px;
    font-size: 34px;
    line-height: 1;
}
.admin-content .admin-security-grid {
    align-items: stretch;
}
.admin-content .admin-security-grid .security-card {
    min-height: 170px;
}
.admin-content .table-wrap {
    width: 100%;
    box-sizing: border-box;
}
.admin-content .admin-chart {
    min-height: 230px;
}
.admin-content .admin-chart-col {
    height: 185px;
}
.admin-content .admin-growth-grid {
    gap: var(--admin-gap);
}
.admin-content .admin-growth-grid .form-card {
    margin: 0;
}
@media (max-width: 1100px) {
    .admin-content .cards.three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .admin-content > .cards,
    .admin-content .cards.two,
    .admin-content .cards.three {
        grid-template-columns: 1fr;
    }
    .admin-content .admin-metric-card,
    .admin-content .admin-security-grid .security-card {
        min-height: 0;
    }
}


/* v1.5.26 — maintenance communication and consistent admin action controls. */
.maintenance-banner {
    background: rgba(215,25,32,.10);
    border-top: 1px solid rgba(215,25,32,.28);
    border-bottom: 1px solid rgba(215,25,32,.28);
}
.maintenance-banner-inner {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 10px 14px;
    padding-top: 9px;
    padding-bottom: 9px;
    flex-wrap: wrap;
    font-size: 13px;
}
.maintenance-banner-inner strong { color:#fff; }
.maintenance-banner-inner span { color:#b9c0c9; }
.maintenance-banner-inner a { color:#fff; font-weight:800; text-decoration:none; margin-left:auto; }
.maintenance-banner-inner a:hover { text-decoration:underline; }
.admin-content .btn {
    min-width: 104px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
}
.admin-content .btn.btn-sm {
    min-width: 88px;
    min-height: 36px;
    padding: 8px 12px;
}
.admin-content .form-actions .btn { min-width: 120px; }
.admin-content .inline-form { align-items:center; }
.admin-content .inline-form .btn { flex:0 0 auto; }
.admin-content .link-danger {
    min-width: 88px;
    min-height: 36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:8px 12px;
    white-space:nowrap;
}
@media (max-width: 640px) {
    .maintenance-banner-inner a { margin-left:0; }
    .admin-content .btn,
    .admin-content .btn.btn-sm,
    .admin-content .form-actions .btn { min-width: 0; }
}


/* v1.5.27 — maintenance notices are visible inside Messages as system notices. */
.maintenance-banner {
    position: relative;
    z-index: 4;
    background: rgba(215,25,32,.16);
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.04);
}
.system-message-panel {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid #292e36;
}
.system-message-card {
    padding: 12px 13px;
    border: 1px solid rgba(215,25,32,.38);
    border-radius: 4px;
    background: rgba(215,25,32,.08);
}
.system-message-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}
.system-message-card-head strong { color: #fff; }
.system-message-card-head small { color: var(--muted); font-size: 10px; white-space: nowrap; }
.system-message-card p { margin: 0; color: #c8cdd4; font-size: 12px; line-height: 1.55; }

/* v1.5.28 — reliable admin maintenance control and clear availability state. */
.admin-check-row{display:flex!important;align-items:center;gap:10px;margin-bottom:16px!important;color:var(--text)!important;cursor:pointer}
.admin-check-row input{width:18px!important;height:18px!important;accent-color:var(--accent);margin:0;flex:0 0 18px}
.maintenance-settings-card{max-width:none!important}
.maintenance-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em}
.maintenance-status.is-on{color:#fff;background:rgba(215,25,32,.2);border-color:rgba(215,25,32,.65)}
.maintenance-status.is-off{color:#aeb5bf;background:#101318}
.maintenance-form{display:grid;gap:18px;margin-top:8px}
.maintenance-switch-row{display:flex!important;align-items:center!important;gap:14px!important;margin:0!important;color:var(--text)!important;cursor:pointer}
.maintenance-switch-row>span:last-child{display:grid;gap:3px}
.maintenance-switch-row small{color:var(--muted);font-weight:500;line-height:1.45}
.maintenance-switch{position:relative!important;display:block!important;width:54px!important;height:30px!important;flex:0 0 54px!important}
.maintenance-switch input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important}
.maintenance-slider{position:absolute;inset:0;background:#252a31;border:1px solid #414852;border-radius:999px;transition:.18s ease;cursor:pointer}
.maintenance-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#d5d8dc;transition:.18s ease;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.maintenance-switch input:checked + .maintenance-slider{background:rgba(215,25,32,.72);border-color:#e33a40}
.maintenance-switch input:checked + .maintenance-slider:before{transform:translateX(24px);background:#fff}
.maintenance-switch input:focus-visible + .maintenance-slider{outline:3px solid rgba(215,25,32,.28);outline-offset:2px}


/* v1.5.29 — clean admin settings layout and reliable maintenance controls. */
.admin-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;align-items:stretch}
.admin-settings-card{display:flex;flex-direction:column;min-width:0}
.admin-settings-card h2{margin:5px 0 7px}
.admin-settings-form{display:grid;gap:18px;flex:1}
.admin-form-actions,.maintenance-actions{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:4px}
.maintenance-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}
.maintenance-heading .maintenance-status{margin-top:2px}
.maintenance-settings-card .maintenance-form{flex:1;margin-top:18px}
.maintenance-current{font-size:12px}
.admin-settings-secondary{margin-top:0}
@media(max-width:900px){.admin-settings-grid{grid-template-columns:1fr}}
@media(max-width:520px){.maintenance-heading{grid-template-columns:1fr}.maintenance-actions,.admin-form-actions{align-items:stretch;flex-direction:column}.maintenance-actions .btn,.admin-form-actions .btn{width:100%}.maintenance-current{align-self:flex-start}}

/* v1.5.30 — maintenance controls are explicit actions; admin settings remain aligned. */
.admin-settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px}
.admin-settings-card{height:100%;box-sizing:border-box}
.maintenance-settings-card{display:flex;flex-direction:column;min-width:0}
.maintenance-heading{min-height:86px}
.maintenance-state{display:flex;align-items:center;gap:9px;margin-top:18px;padding:11px 13px;border:1px solid var(--line);background:#101318;border-radius:8px;color:var(--muted)}
.maintenance-state-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:#69717c}
.maintenance-state-dot.is-on{background:#e31b23;box-shadow:0 0 0 4px rgba(227,27,35,.12)}
.maintenance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:20px}
.maintenance-actions form{display:flex;margin:0}
.maintenance-actions .btn{width:100%;min-width:0}
.maintenance-on{background:#d71920}
.maintenance-on:disabled,.maintenance-off:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:900px){.admin-settings-grid{grid-template-columns:1fr}.maintenance-actions{grid-template-columns:1fr}}


/* v1.5.31 — maintenance banner is rendered inside the authenticated member workspace. */
.maintenance-banner-app {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 18px;
    border: 1px solid rgba(215,25,32,.42);
    border-radius: 8px;
    background: rgba(215,25,32,.12);
    overflow: hidden;
}
.maintenance-banner-app .maintenance-banner-inner {
    min-height: 48px;
    box-sizing: border-box;
    padding: 11px 14px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 8px 14px;
}
.maintenance-banner-app .maintenance-banner-inner a { margin-left: 0; }
@media (max-width: 760px) {
    .maintenance-banner-app .maintenance-banner-inner { grid-template-columns: 1fr; gap: 5px; }
}

/* Admin analytics */
.analytics-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 18px}
.range-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.range-links strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.range-links a{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:7px;color:var(--text);text-decoration:none;background:#101318;font-size:.82rem;font-weight:700}
.range-links a.active,.range-links a:hover{border-color:rgba(215,25,32,.65);background:rgba(215,25,32,.12)}
.analytics-metric-grid{align-items:stretch}
.analytics-metric{min-height:126px;display:flex;flex-direction:column;justify-content:space-between}
.analytics-metric strong{font-size:2rem;line-height:1.05;margin:8px 0}
.analytics-stat-list{display:grid;gap:0;margin-top:10px}
.analytics-stat-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.analytics-stat-list>div:first-child{border-top:0}
.analytics-stat-list strong{font-size:1rem;text-align:right}
.investor-card{margin-top:18px}
.methodology-note{margin:16px 0 0;line-height:1.55}
@media(max-width:900px){.analytics-toolbar{align-items:flex-start}.analytics-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.analytics-metric-grid{grid-template-columns:1fr}.analytics-stat-list>div{align-items:flex-start;flex-direction:column}.analytics-stat-list strong{text-align:left}.range-links a{flex:1;justify-content:center}}
@media print{.app-sidebar,.site-header,.analytics-toolbar,.btn,.text-link{display:none!important}.app-main,.admin-content{margin:0!important;padding:0!important}.form-card{break-inside:avoid}.analytics-metric-grid{grid-template-columns:repeat(4,1fr)!important}}

/* Legal agreement checkbox */
.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.check-row input{width:auto;margin-top:4px}.check-row span{flex:1}


/* v1.5.37 — unified public contact form; clean, aligned layout. */
.contact-form-card{max-width:920px;margin:0 auto 70px;padding:28px}
.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.contact-form label{display:grid;gap:8px;min-width:0;font-weight:700;color:#eef0f3}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box}
.contact-form .full-span{grid-column:1 / -1}
.contact-form .form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:2px}
.contact-form .form-actions .btn{min-width:150px}
@media(max-width:700px){.contact-form{grid-template-columns:1fr}.contact-form .full-span{grid-column:auto}.contact-form .form-actions{justify-content:stretch}.contact-form .form-actions .btn{width:100%}}

.platform-status-banner{display:grid;gap:4px;margin:16px 0;padding:14px 16px;border:1px solid #5d3b3f;border-radius:8px;background:#21161a;color:#f3c4c8}.platform-status-banner strong{color:#fff}.platform-status-banner span{color:#c9aeb2}.platform-status-banner + form button:disabled,.auth-wrap button:disabled{opacity:.55;cursor:not-allowed}

@media(max-width:900px){.admin-settings-grid{grid-template-columns:1fr}}

/* v1.5.39 — member Garage home: no sidebar, racing-first three-column workspace. */
.app-page.garage-home .app-sidebar{display:none!important}
.app-page.garage-home .app-frame{display:block!important;min-height:calc(100vh - 82px);padding-top:82px;background:#08090b}
.app-page.garage-home .app-content{margin-left:0!important;width:100%;max-width:none;padding:24px 30px 38px;background:radial-gradient(circle at 78% 8%,rgba(215,25,32,.08),transparent 24%),#08090b}
.app-page.garage-home .app-footer{margin-left:0!important}
.app-page.garage-home .app-topbar{height:82px}
.app-page.garage-home .header-inner{padding-left:28px;padding-right:28px}
.app-page.garage-home .app-version{color:#69717c;font-size:.8em;white-space:nowrap}

.garage-dashboard-shell{width:min(1700px,100%);margin:0 auto}
.garage-dashboard-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 16px;padding:2px 0}
.garage-dashboard-topline h1{margin:0 0 3px;font-size:clamp(30px,3.2vw,44px);letter-spacing:-.035em}
.garage-dashboard-topline p{margin:0;color:var(--muted);font-size:14px}
.garage-summary-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:12px;margin-bottom:14px}
.garage-summary-card{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:96px;padding:15px 16px;background:linear-gradient(180deg,#15181d,#0d1014);border:1px solid #2b3037;border-radius:4px;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.garage-summary-card.summary-next{border-color:#7e2026;background:linear-gradient(110deg,rgba(125,17,23,.32),#101318 48%,#0d1014)}
.garage-summary-card .summary-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #3a4048;border-radius:3px;background:#090b0e;color:#f0f2f4;font-size:18px}
.garage-summary-card.summary-next .summary-icon{border-color:#a72a31;color:#ef3c43}
.garage-summary-card>div:nth-child(2){min-width:0;display:grid;gap:3px}
.garage-summary-card span{color:#8f969f;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.garage-summary-card strong{font-size:21px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-summary-card small{color:#a9b0b9;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-summary-card .btn{margin-left:auto;white-space:nowrap}
.summary-link{margin-left:auto;color:#dfe3e8;font-size:11px;font-weight:800;white-space:nowrap;text-decoration:none}
.summary-link:hover{color:#fff}

.garage-dashboard-workspace{display:grid;grid-template-columns:minmax(235px,.72fr) minmax(460px,1.55fr) minmax(285px,.86fr);gap:14px;align-items:start}
.garage-dashboard-left,.garage-dashboard-right{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow-y:auto;overflow-x:hidden;display:grid;gap:14px;padding-right:3px;scrollbar-width:thin;scrollbar-color:#454c56 #0b0d10}
.garage-dashboard-left::-webkit-scrollbar,.garage-dashboard-right::-webkit-scrollbar,.garage-feed-scroll::-webkit-scrollbar{width:8px}
.garage-dashboard-left::-webkit-scrollbar-track,.garage-dashboard-right::-webkit-scrollbar-track,.garage-feed-scroll::-webkit-scrollbar-track{background:#0b0d10;border-radius:10px}
.garage-dashboard-left::-webkit-scrollbar-thumb,.garage-dashboard-right::-webkit-scrollbar-thumb,.garage-feed-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#545c67,#2d333b);border:2px solid #0b0d10;border-radius:10px}
.garage-dashboard-left::-webkit-scrollbar-thumb:hover,.garage-dashboard-right::-webkit-scrollbar-thumb:hover,.garage-feed-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6a7380,#3a424c)}
.garage-dashboard-center{min-width:0}
.garage-feed-panel{height:calc(100vh - 230px);min-height:610px;display:flex;flex-direction:column;overflow:hidden}
.garage-feed-panel .panel-heading{flex:0 0 auto}
.garage-feed-panel .feed-composer{max-width:none;margin:0 0 12px;flex:0 0 auto}
.garage-feed-panel .feed-composer .section-head{margin-bottom:12px}
.garage-feed-panel .feed-composer h3{margin:0;font-size:18px}
.garage-feed-panel .feed-composer .form-card{max-width:none}
.garage-feed-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:1px 8px 12px 1px;display:grid;gap:12px;scrollbar-width:thin;scrollbar-color:#454c56 #0b0d10}
.garage-feed-scroll .post{margin:0;background:linear-gradient(180deg,#12151a,#0d1014);border-color:#2d333a;border-radius:4px;padding:18px}
.garage-feed-scroll .post-media-image img,.garage-feed-scroll .post-media-video{max-height:460px}

.profile-card-centered{text-align:center}
.profile-card-centered .profile-snapshot-avatar{margin:0 auto 13px;width:112px;height:112px;flex-basis:112px;border:2px solid #4b535e;box-shadow:0 0 0 4px #101318,0 12px 30px rgba(0,0,0,.35)}
.profile-card-centered p{margin:0 auto 16px;color:#b9c0c8;line-height:1.5;font-size:13px}
.profile-counts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2a3037;margin-top:14px;padding-top:14px}
.profile-counts>div{display:grid;gap:3px;position:relative}
.profile-counts>div+div:before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:#2a3037}
.profile-counts strong{font-size:22px;line-height:1}
.profile-counts span{color:#7f8791;font-size:10px;text-transform:uppercase;letter-spacing:.09em}

.compact-list-panel{padding:18px!important}
.compact-list-panel .panel-heading{margin-bottom:12px}
.compact-list-panel .panel-heading h2{font-size:18px}
.dashboard-league-row,.dashboard-race-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #272d35}
.dashboard-league-row:first-of-type,.dashboard-race-row:first-of-type{border-top:0}
.dashboard-league-row>div,.dashboard-race-row>div{min-width:0;display:grid;gap:3px}
.dashboard-league-row strong,.dashboard-race-row strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-league-row small,.dashboard-race-row small{color:#7f8791;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-league-row .text-link{white-space:nowrap;font-size:10px}
.dashboard-race-row{display:block}
.dashboard-race-row small{display:block;margin-top:2px}

.quick-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.quick-access-grid a{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 9px;border:1px solid #2c3239;border-radius:3px;background:#101318;color:#d9dde2;text-decoration:none;font-size:10px;font-weight:800;line-height:1.15}
.quick-access-grid a:hover{border-color:#5a626d;background:#171a20;color:#fff;transform:translateY(-1px)}
.quick-access-grid a span{width:18px;flex:0 0 18px;color:#e21c24;font-size:15px;text-align:center}
.result-highlight{display:flex;align-items:center;gap:12px;padding:4px 0}
.result-highlight>strong{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:1px solid #a12a30;border-radius:3px;background:#241013;color:#ff5a61;font-size:21px}
.result-highlight>div{min-width:0;display:grid;gap:3px}
.result-highlight b,.result-highlight small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.result-highlight b{font-size:12px}.result-highlight small{color:#7f8791;font-size:10px}

.app-page.garage-home .app-footer{padding-top:15px}
.app-page.garage-home .app-footer .wrap{max-width:1700px}
.app-page.garage-home .app-footer a{color:#dfe3e8}

@media(max-width:1200px){
    .garage-dashboard-workspace{grid-template-columns:minmax(220px,.72fr) minmax(430px,1.5fr) minmax(260px,.82fr)}
    .garage-summary-grid{grid-template-columns:1.3fr repeat(3,1fr)}
    .garage-summary-card .btn{display:none}
}
@media(max-width:1000px){
    .garage-summary-grid{grid-template-columns:1fr 1fr}
    .garage-dashboard-workspace{grid-template-columns:1fr 1.5fr}
    .garage-dashboard-right{grid-column:1 / -1;position:static;max-height:none;overflow:visible;grid-template-columns:1fr 1fr}
    .garage-dashboard-left{position:static;max-height:none;overflow:visible}
    .garage-feed-panel{height:calc(100vh - 285px)}
}
@media(max-width:760px){
    .app-page.garage-home .app-topbar{height:72px}
    .app-page.garage-home .app-frame{min-height:calc(100vh - 72px);padding-top:72px}
    .app-page.garage-home .app-content{padding:18px 14px 34px}
    .app-page.garage-home .header-inner{padding:10px 12px}
    .garage-summary-grid,.garage-dashboard-workspace{grid-template-columns:1fr}
    .garage-summary-card{min-height:82px}
    .garage-dashboard-left,.garage-dashboard-right{position:static;max-height:none;overflow:visible;padding-right:0}
    .garage-dashboard-right{grid-template-columns:1fr}
    .garage-feed-panel{height:auto;min-height:0;overflow:visible}
    .garage-feed-scroll{max-height:65vh;min-height:320px}
    .quick-access-grid{grid-template-columns:1fr 1fr}
}

/* v1.5.40 — Compact Garage Feed composer so the feed remains immediately visible. */
.garage-feed-panel .feed-composer-compact{
    flex:0 0 auto;
    margin:0 0 10px;
    padding:11px 12px;
    background:linear-gradient(180deg,#11151a,#0b0e12);
    border:1px solid #292f37;
    border-radius:5px;
}
.feed-composer-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.feed-composer-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#20252c;border:1px solid #3a414a;color:#fff;font-size:10px;font-weight:900}
.feed-composer-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.feed-composer-title{display:grid;gap:1px;line-height:1.1}
.feed-composer-title strong{font-size:13px;color:#eef0f2}
.feed-composer-title .eyebrow{font-size:8px;margin:0}
.feed-composer-compact form{display:grid;gap:8px}
.feed-composer-textarea{width:100%;min-height:54px;max-height:90px;resize:vertical;padding:10px 11px;background:#080b0f;border:1px solid #2c333b;border-radius:4px;color:#f2f3f5;font:inherit;font-size:13px;line-height:1.45;outline:none}
.feed-composer-textarea::placeholder{color:#737b85}
.feed-composer-textarea:focus{border-color:#545d68;box-shadow:0 0 0 2px rgba(215,25,32,.08)}
.feed-composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.feed-composer-options{display:flex;align-items:center;gap:7px;min-width:0}
.feed-compact-select{display:flex;align-items:center;gap:5px!important;margin:0!important;color:#777f89!important;font-size:9px!important;font-weight:800!important;white-space:nowrap}
.feed-compact-select span{display:inline-block}
.feed-compact-select select{width:auto!important;max-width:145px;height:30px;padding:5px 24px 5px 8px!important;border-radius:4px!important;background:#101419!important;border-color:#2d343c!important;font-size:10px!important;color:#dfe3e8!important}
.feed-composer-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.feed-media-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:30px;margin:0!important;padding:0 9px!important;border:1px solid #2d343c;border-radius:4px;background:#101419;color:#dfe3e8!important;font-size:10px!important;font-weight:800!important;cursor:pointer!important}
.feed-media-button:hover{border-color:#505965;background:#171b21;color:#fff!important}
.feed-media-button svg,.feed-publish-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feed-media-button input{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}
.feed-publish-button{height:30px!important;padding:0 12px!important;font-size:10px!important;border-radius:4px!important;box-shadow:none!important}
.feed-media-note{margin:0;color:#626a75;font-size:9px;line-height:1.2}
@media(max-width:700px){
    .feed-composer-toolbar{align-items:stretch;flex-direction:column}
    .feed-composer-options{width:100%}
    .feed-compact-select{flex:1;min-width:0}
    .feed-compact-select select{max-width:none!important;width:100%!important}
    .feed-composer-actions{justify-content:flex-end}
}

/* v1.5.41 member workspace: one unified no-sidebar shell. The existing admin workspace remains unchanged. */
.member-app .app-frame.member-app-frame{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 82px);}
.member-app .app-frame.member-app-frame .app-sidebar{display:none!important;}
.member-app .app-frame.member-app-frame .app-content{max-width:none;width:100%;margin:0;padding:30px clamp(20px,4vw,48px) 70px;background:radial-gradient(circle at 78% 8%,rgba(215,25,32,.08),transparent 24%),#08090b;}
.member-app .garage-dashboard-shell{width:min(1700px,100%);margin:0 auto;}
.member-app .page-head,.member-app .section,.member-app .cards,.member-app .filter-bar,.member-app .league-home-head,.member-app .league-home-grid,.member-app .settings-shell,.member-app .messages-shell,.member-app .notifications-shell{max-width:1700px;margin-left:auto;margin-right:auto;}
.member-app .summary-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:760px){.member-app .app-frame.member-app-frame{min-height:calc(100vh - 72px)}.member-app .app-frame.member-app-frame .app-content{padding:18px 14px 45px}.member-app .summary-actions{justify-content:flex-start;gap:10px}}

/* v1.5.42: member header quick access and dashboard social panel. */
.header-quick-access{position:relative;}
.header-quick-access summary{list-style:none;}
.header-quick-access summary::-webkit-details-marker{display:none;}
.header-quick-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #343a43;border-radius:5px;background:#111419;color:#e7e9ec;cursor:pointer;font-size:12px;font-weight:800;letter-spacing:.02em;}
.header-quick-button:hover{border-color:#555d68;background:#171a20;}
.header-quick-button svg{width:17px;height:17px;}
.header-quick-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:min(330px,calc(100vw - 28px));padding:14px;border:1px solid #303640;border-radius:8px;background:#0d1014;box-shadow:0 18px 45px rgba(0,0,0,.45);}
.header-quick-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid #292e36;}
.header-quick-heading strong{font-size:13px;}
.header-quick-heading small{color:#858c96;font-size:11px;}
.header-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;}
.header-quick-grid a{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 10px;border:1px solid #252b33;border-radius:5px;background:#12151a;color:#e7e9ec;text-decoration:none;font-size:12px;font-weight:750;}
.header-quick-grid a:hover{border-color:#4a515c;background:#181c22;}
.header-quick-grid a span{width:20px;text-align:center;color:#d71920;font-size:15px;}
.friends-messages-panel{min-height:100%;}
.friends-messages-section{display:grid;gap:10px;}
.social-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;font-size:12px;}
.social-subhead>span{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 7px;border:1px solid #343a43;border-radius:999px;color:#bfc5cd;font-size:10px;font-weight:800;}
.social-subhead a{color:#aeb5be;font-size:11px;text-decoration:none;}
.social-subhead a:hover{text-decoration:underline;color:#fff;}
.dashboard-online-list{gap:3px;}
.dashboard-online-friend{padding:8px 4px;}
.dashboard-online-friend>span{flex:1;}
.dashboard-message-button{margin-left:auto;white-space:nowrap;}
.dashboard-online-empty{padding:13px 3px;}
.recent-heading{margin-top:8px;padding-top:12px;border-top:1px solid #292e36;}
.dashboard-recent-messages{display:grid;gap:4px;}
.dashboard-conversation{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 4px;border-radius:5px;color:inherit;text-decoration:none;}
.dashboard-conversation:hover{background:#171a20;}
.dashboard-conversation .friend-avatar{width:34px;height:34px;flex-basis:34px;}
.dashboard-no-messages{margin:0;padding:7px 3px 4px;font-size:12px;}
@media(max-width:760px){.header-quick-button span{display:none;}.header-quick-button{width:40px;justify-content:center;padding:0;}.header-quick-menu{right:-5px;width:min(320px,calc(100vw - 20px));}.dashboard-message-button{padding:0 8px;}}

/* v1.5.43: member Garage navigation is a hamburger drawer on desktop and mobile. */
.member-app .member-garage-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;padding:0;border:1px solid #343a43;border-radius:5px;background:#111419;color:#fff;cursor:pointer;position:relative;z-index:1001;}
.member-app .member-garage-menu-toggle:hover{border-color:#555d68;background:#171a20;}
.member-app .member-garage-menu-toggle span{display:block;width:19px;height:2px;margin:3px auto;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease;}
.member-app .member-garage-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.member-app .member-garage-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.member-app .member-garage-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
.member-app .member-profile-mini{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #343a43;border-radius:50%;background:#111419;color:#fff;text-decoration:none;overflow:hidden;}
.member-app .member-profile-mini:hover{border-color:#555d68;}
.member-app .member-profile-mini .avatar{width:100%;height:100%;display:grid;place-items:center;font-size:11px;font-weight:900;}
.member-app .member-profile-mini .avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.member-app .app-frame.member-app-frame .app-sidebar{display:block!important;position:fixed;top:82px;left:0;bottom:0;width:min(360px,88vw);height:auto;z-index:900;padding:22px 16px 34px;overflow-x:hidden;overflow-y:auto;border-right:1px solid #30353c;border-bottom:0;background:#0b0e12;box-shadow:18px 0 45px rgba(0,0,0,.42);transform:translateX(-105%);transition:transform .2s ease;}
.member-app .app-frame.member-app-frame .app-sidebar.is-mobile-open{transform:translateX(0);}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context{display:block!important;width:100%;min-width:0;margin:0 0 16px!important;padding:0!important;border:0;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues .sidebar-label,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary .member-sidebar-heading,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .member-sidebar-heading,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-subheading{display:block!important;padding:8px 4px 9px;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues .league-selector-form select{width:100%;min-height:44px;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary .side-link,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .side-link{display:flex!important;width:100%!important;min-width:0;min-height:44px;margin:3px 0!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context{padding-top:14px!important;border-top:1px solid #292e36;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .selected-league-heading{color:#d7dbe0;line-height:1.35;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-subheading{padding-top:17px;padding-bottom:6px;color:#686f79;}
.member-app .app-frame.member-app-frame .app-content{position:relative;z-index:1;}
body.app-menu-open{overflow:hidden;}
body.member-app.app-menu-open::after{content:'';position:fixed;inset:82px 0 0;z-index:850;background:rgba(0,0,0,.62);}
@media(max-width:760px){
    .member-app .member-garage-menu-toggle{width:40px;height:40px;flex-basis:40px;}
    .member-app .member-profile-mini{width:40px;height:40px;}
    .member-app .app-frame.member-app-frame .app-sidebar{top:72px;width:min(320px,88vw);padding:18px 14px 30px;}
    body.member-app.app-menu-open::after{inset:72px 0 0;}
}


/* v1.5.44 — Unified Garage workspace: every authenticated member/competitor/owner
   page uses the same dashboard shell. The legacy sidebar is a drawer only. */
.member-app .app-frame.member-app-frame{
    display:block!important;
    grid-template-columns:1fr!important;
    min-height:calc(100vh - 82px);
    background:#08090b!important;
}
.member-app .app-frame.member-app-frame .app-sidebar{
    display:block!important;
    position:fixed!important;
    top:82px!important;
    left:0!important;
    bottom:0!important;
    width:min(370px,88vw)!important;
    height:auto!important;
    z-index:1100!important;
    margin:0!important;
    padding:22px 16px 34px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    flex-direction:column!important;
    gap:4px!important;
    border:0!important;
    border-right:1px solid #30353c!important;
    background:linear-gradient(180deg,#101318 0%,#090b0e 100%)!important;
    box-shadow:18px 0 50px rgba(0,0,0,.48)!important;
    transform:translateX(-110%)!important;
    transition:transform .2s ease!important;
}
.member-app .app-frame.member-app-frame .app-sidebar.is-mobile-open{transform:translateX(0)!important;}
.member-app .app-frame.member-app-frame .app-content{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:30px clamp(20px,4vw,48px) 70px!important;
    background:radial-gradient(circle at 78% 8%,rgba(215,25,32,.08),transparent 24%),#08090b!important;
}
.member-app .app-frame.member-app-frame .app-content > *{width:min(1700px,100%);margin-left:auto;margin-right:auto;}
.member-app .app-frame.member-app-frame .app-content > .page-head{margin-bottom:18px;}
.member-app .app-frame.member-app-frame .app-content > .section,
.member-app .app-frame.member-app-frame .app-content > .cards,
.member-app .app-frame.member-app-frame .app-content > .table-wrap,
.member-app .app-frame.member-app-frame .app-content > .feed-list,
.member-app .app-frame.member-app-frame .app-content > .messages-layout,
.member-app .app-frame.member-app-frame .app-content > .profile-hero-card,
.member-app .app-frame.member-app-frame .app-content > .profile-card-grid,
.member-app .app-frame.member-app-frame .app-content > .settings-shell,
.member-app .app-frame.member-app-frame .app-content > .filter-bar,
.member-app .app-frame.member-app-frame .app-content > .form-card,
.member-app .app-frame.member-app-frame .app-content > .league-home-head,
.member-app .app-frame.member-app-frame .app-content > .league-home-grid{margin-bottom:18px;}

/* Page-level visual language: the same dark panels, borders, spacing and red action
   treatment used by the Garage dashboard. */
.member-app .page-head{padding:8px 0 20px!important;}
.member-app .page-head h1{margin:3px 0 8px!important;font-size:clamp(34px,4vw,48px)!important;letter-spacing:-.035em!important;}
.member-app .page-head p{margin:0!important;max-width:820px;color:#aeb5be!important;font-size:14px!important;line-height:1.6!important;}
.member-app .section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px!important;}
.member-app .section-head h2{margin:0!important;font-size:21px!important;}
.member-app .cards{gap:14px!important;}
.member-app .cards article,
.member-app .form-card,
.member-app .empty,
.member-app .post,
.member-app .ticket,
.member-app .profile-hero-card,
.member-app .dashboard-panel,
.member-app .messages-list-panel,
.member-app .message-thread-panel,
.member-app .system-message-panel,
.member-app .settings-card{
    background:linear-gradient(180deg,rgba(20,23,28,.98),rgba(12,14,18,.98))!important;
    border:1px solid #30353c!important;
    border-radius:4px!important;
    box-shadow:0 12px 35px rgba(0,0,0,.18)!important;
}
.member-app .cards article{padding:20px!important;}
.member-app .table-wrap{background:linear-gradient(180deg,rgba(20,23,28,.98),rgba(12,14,18,.98))!important;border:1px solid #30353c!important;border-radius:4px!important;box-shadow:0 12px 35px rgba(0,0,0,.18)!important;overflow:auto;}
.member-app .table-wrap table{background:transparent!important;}
.member-app .table-wrap th{background:#111419!important;color:#8f969f!important;border-color:#2a2f36!important;}
.member-app .table-wrap td{border-color:#252a31!important;color:#dce0e4!important;}
.member-app .table-wrap tr:hover td{background:rgba(255,255,255,.025)!important;}
.member-app input,.member-app select,.member-app textarea{background:#0e1115!important;border-color:#30363f!important;color:#eef0f3!important;}
.member-app input:focus,.member-app select:focus,.member-app textarea:focus{border-color:#a92a30!important;box-shadow:0 0 0 2px rgba(215,25,32,.12)!important;outline:none!important;}
.member-app .btn{border-radius:4px!important;}
.member-app .btn.ghost{background:#111419!important;border-color:#343a43!important;color:#e7e9ec!important;}
.member-app .muted{color:#858d97!important;}

/* Owner management uses the same Garage panels rather than the old admin-style blocks. */
.member-app .owner-dashboard,
.member-app .owner-shell,
.member-app .owner-content,
.member-app .owner-tabs{width:min(1700px,100%);margin-left:auto;margin-right:auto;}
.member-app .owner-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px;}
.member-app .owner-tabs a{border:1px solid #30363f!important;background:#111419!important;color:#cbd0d6!important;border-radius:4px!important;padding:9px 12px!important;text-decoration:none;}
.member-app .owner-tabs a.active,.member-app .owner-tabs a:hover{border-color:#8f252b!important;background:rgba(215,25,32,.12)!important;color:#fff!important;}

/* The drawer keeps the old navigation content/data, but it is no longer part of the
   page layout. This prevents messages, league pages, settings, etc. from reverting. */
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context{display:block!important;width:100%!important;min-width:0!important;margin:0 0 16px!important;padding:0!important;border:0!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues .sidebar-label,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary .member-sidebar-heading,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .member-sidebar-heading,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-subheading{display:block!important;padding:8px 4px 9px!important;color:#777f89!important;font-size:10px!important;letter-spacing:.16em!important;font-weight:900!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-leagues .league-selector-form select{width:100%!important;min-height:46px!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-primary .side-link,
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .side-link{display:flex!important;width:100%!important;min-width:0!important;min-height:44px!important;margin:3px 0!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context{padding-top:14px!important;border-top:1px solid #292e36!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-context .selected-league-heading{color:#e5e8eb!important;letter-spacing:.02em!important;font-size:13px!important;}
.member-app .app-frame.member-app-frame .app-sidebar .member-sidebar-subheading{padding-top:17px!important;padding-bottom:6px!important;}

.member-app .member-garage-menu-toggle{position:relative!important;z-index:1200!important;}
body.member-app.app-menu-open{overflow:hidden!important;}
body.member-app.app-menu-open::after{content:'';position:fixed;inset:82px 0 0;z-index:1050;background:rgba(0,0,0,.62);}
@media(max-width:760px){
    .member-app .app-frame.member-app-frame{min-height:calc(100vh - 72px)!important;}
    .member-app .app-frame.member-app-frame .app-sidebar{top:72px!important;width:min(330px,90vw)!important;padding:18px 14px 30px!important;}
    .member-app .app-frame.member-app-frame .app-content{padding:18px 14px 45px!important;}
    .member-app .page-head{padding-top:3px!important;}
    .member-app .page-head h1{font-size:34px!important;}
    body.member-app.app-menu-open::after{inset:72px 0 0;}
    .member-app .section-head{align-items:flex-start;flex-direction:column;}
}

/* v1.5.49 — Member logout moved into the bottom of the Garage drawer. */
.member-app .member-sidebar-logout{margin-top:auto;padding-top:14px;border-top:1px solid #292e36;}
.member-app .member-sidebar-logout .side-link{color:#c5cad1!important;}
.member-app .member-sidebar-logout .side-link:hover{color:#fff!important;border-color:#555d68!important;background:#171a20!important;}

/* v1.5.45 — Garage menu belongs in the top-right header position that previously
 * contained the member profile photo. It is a right-side drawer on every viewport. */
.member-app .member-garage-menu-toggle.app-mobile-menu-toggle{
    display:grid!important;
    place-items:center;
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #343a43!important;
    border-radius:5px!important;
    background:#111419!important;
    color:#fff!important;
    cursor:pointer;
    order:initial!important;
    z-index:1201!important;
}
.member-app .member-garage-menu-toggle.app-mobile-menu-toggle:hover{
    background:#181c22!important;
    border-color:#555d68!important;
}
.member-app .member-garage-menu-toggle.app-mobile-menu-toggle span{
    display:block!important;
    width:19px!important;
    height:2px!important;
    margin:3px auto!important;
    border-radius:2px!important;
    background:currentColor!important;
}
.member-app .app-frame.member-app-frame .app-sidebar{
    right:0!important;
    left:auto!important;
    transform:translateX(110%)!important;
    border-left:1px solid #30353c!important;
    border-right:0!important;
    box-shadow:-18px 0 50px rgba(0,0,0,.48)!important;
}
.member-app .app-frame.member-app-frame .app-sidebar.is-mobile-open{
    transform:translateX(0)!important;
}
body.member-app.app-menu-open::after{
    inset:82px 0 0!important;
}
@media(max-width:760px){
    .member-app .app-frame.member-app-frame .app-sidebar{
        top:72px!important;
        right:0!important;
        left:auto!important;
        width:min(330px,90vw)!important;
    }
    body.member-app.app-menu-open::after{inset:72px 0 0!important;}
}

/* v1.5.48 — Optional admin-managed Garage Spotlight blocks below the existing dashboard side panels. */
.garage-promotion-panel{overflow:hidden}
.garage-promotion-panel .panel-heading{margin-bottom:12px}
.garage-promotion-panel .panel-heading h2{font-size:17px}
.garage-promotion-image{margin:0 0 12px;border:1px solid #2a3037;border-radius:3px;overflow:hidden;background:#0b0d10}
.garage-promotion-image img{display:block;width:100%;max-height:170px;object-fit:cover}
.garage-promotion-copy{margin:0 0 14px;color:#aeb5be;font-size:12px;line-height:1.55}
.garage-promotion-panel .btn{display:inline-flex}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.choice{display:grid;gap:7px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#0e1014;color:var(--text);cursor:pointer}.choice small{color:var(--muted)}.choice input{width:auto}.wizard-steps{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}.wizard-steps span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:#707780;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.wizard-steps span.active{color:#fff;border-color:#7d252a;background:#1b1113}.bonus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 24px}.bonus-grid .choice{grid-template-columns:auto 1fr auto auto;align-items:center}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 22px}.stage-grid>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#0e1014}.stage-grid .check{display:grid!important;grid-template-columns:auto 1fr 90px!important;margin:8px 0!important}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 24px}.review-grid>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:7px;background:#0e1014}.review-grid strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.review-grid span{font-weight:800}.onboarding-card .form-card{margin:18px auto 0;text-align:left}.onboarding-skip{margin-top:18px}.onboarding-card .form-actions{justify-content:flex-end}.onboarding-card .choice-grid{text-align:left}.onboarding-card .choice-grid .form-card{text-align:left}
@media(max-width:760px){.choice-grid,.bonus-grid,.stage-grid,.review-grid{grid-template-columns:1fr}.wizard-steps{gap:5px}.wizard-steps span{font-size:9px}.stage-grid .check{grid-template-columns:auto 1fr 75px!important}}

.resend-check{align-items:center!important;color:var(--text)!important;cursor:pointer}.resend-check input{width:18px!important;height:18px;margin:0;flex:0 0 18px}.resend-check span{color:var(--text)}


/* v1.5.59 — consistent onboarding primary-action alignment */
.onboarding-card .form-actions{justify-content:center;width:100%;}
.onboarding-card .form-actions .btn{width:260px;max-width:100%;min-width:260px;}
@media(max-width:600px){.onboarding-card .form-actions .btn{width:100%;min-width:0;}}

/* v1.5.62 — onboarding action alignment and feed author navigation */
.onboarding-card .form-actions { display:flex; justify-content:center !important; align-items:center; width:100%; }
.onboarding-card .form-actions .btn { width:260px !important; min-width:260px !important; max-width:100%; margin-left:auto; margin-right:auto; }
.onboarding-actions { display:flex !important; flex-wrap:wrap; justify-content:center !important; align-items:center; gap:12px; width:100%; max-width:560px; margin-left:auto; margin-right:auto; }
.onboarding-actions > form, .onboarding-actions > a { display:flex; justify-content:center; align-items:center; width:100%; margin:0; }
.onboarding-actions > form .btn, .onboarding-actions > a .btn { width:260px !important; min-width:260px !important; max-width:100%; margin-left:auto; margin-right:auto; }
.onboarding-actions .text-button { width:auto; margin-left:auto; margin-right:auto; }
.feed-author-name { color:inherit; text-decoration:none; font-weight:800; }
.feed-author-name:hover, .feed-author-name:focus-visible { text-decoration:underline; color:#fff; }
@media(max-width:600px){
  .onboarding-card .form-actions .btn, .onboarding-actions > form .btn, .onboarding-actions > a .btn { width:100% !important; min-width:0 !important; }
}

/* v1.5.63 — enforce centered onboarding actions across profile and resume states */
.onboarding-card .onboarding-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px auto 0 !important;
  gap: 12px !important;
}
.onboarding-card .onboarding-actions > form,
.onboarding-card .onboarding-actions > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 !important;
}
.onboarding-card .onboarding-actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.onboarding-card .form-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.onboarding-card .form-actions .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.onboarding-card .onboarding-actions .text-button,
.onboarding-card .onboarding-skip .text-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.feed-author-name {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
}
.feed-author-name:hover,
.feed-author-name:focus-visible {
  text-decoration: underline;
  color: #fff;
}
@media(max-width:600px){
  .onboarding-card .onboarding-actions .btn,
  .onboarding-card .form-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}




/* v1.5.67 — dashboard messaging drawer. */
.message-header-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:#d71920;color:#fff;font-size:9px;font-weight:900;line-height:1}.message-header-badge[hidden]{display:none}.app-top-actions .icon-button{position:relative}.message-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:3000}.message-drawer-backdrop[hidden]{display:none}.message-drawer{position:fixed;top:0;right:0;width:min(450px,100vw);height:100dvh;background:#111419;border-left:1px solid #2b3139;box-shadow:-18px 0 50px rgba(0,0,0,.35);z-index:3001;display:flex;flex-direction:column;transform:translateX(0);transition:transform .2s ease}.message-drawer[hidden]{display:flex;transform:translateX(105%)}.message-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid #292e36;background:#0e1014}.message-drawer-head h2{margin:2px 0 0;font-size:20px}.message-drawer-body{min-height:0;flex:1;display:flex;flex-direction:column}.message-drawer-list,.message-drawer-thread{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.message-drawer-list[hidden],.message-drawer-thread[hidden]{display:none}.message-drawer-search{padding:14px;border-bottom:1px solid #292e36}.message-drawer-search input{width:100%;box-sizing:border-box;background:#181c22;border:1px solid #333a44;color:#f5f6f7;border-radius:7px;padding:10px 12px}.message-drawer-section{padding:14px;border-bottom:1px solid #252a31}.message-drawer-section>div:last-child{margin-top:8px}.message-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 8px;background:transparent;border:0;border-radius:7px;color:inherit;text-align:left;cursor:pointer}.message-row:hover,.message-row:focus-visible{background:#1a1e24;outline:none}.message-row .conversation-copy{min-width:0;flex:1;display:grid;gap:3px}.message-row .conversation-copy strong,.message-row .conversation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-row .conversation-copy small{color:#9ca4af}.message-drawer-thread-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #292e36}.message-back-button{border:0;background:transparent;color:#fff;font-size:21px;cursor:pointer;padding:5px 8px}.message-drawer-thread-head>div{display:grid;gap:2px;min-width:0}.message-drawer-thread-head small{color:#8f98a4}.message-drawer-thread .message-thread{flex:1;min-height:0;overflow:auto;padding:16px}.message-drawer .message-composer{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid #292e36;background:#0e1014}.message-drawer .message-composer textarea{width:100%;box-sizing:border-box;resize:none;background:#181c22;color:#f5f6f7;border:1px solid #333a44;border-radius:7px;padding:10px}.message-drawer .message-composer button{align-self:end}.message-drawer .compact-empty{padding:8px 4px;margin:0}.message-drawer-open{overflow:hidden}.message-drawer .friend-avatar{flex:0 0 auto}.message-drawer .league-chat-icon{flex:0 0 30px}@media(max-width:600px){.message-drawer{width:100vw}.message-drawer-head{padding-top:max(14px,env(safe-area-inset-top))}.message-drawer .message-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}

/* v1.5.67 — fixed right-side messaging drawer; it must never move the page. */
html.message-drawer-document-open, body.message-drawer-open{overflow:hidden !important;}
.message-drawer-backdrop{position:fixed !important;inset:0 !important;z-index:5000 !important;}
.message-drawer{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;width:min(450px,100vw) !important;height:100dvh !important;z-index:5001 !important;transform:translate3d(0,0,0);will-change:transform;}
.message-drawer[hidden]{display:flex !important;transform:translate3d(105%,0,0) !important;visibility:hidden !important;}
.message-drawer:not([hidden]){visibility:visible !important;}
.friends-count-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.dashboard-online-friend{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:6px;text-decoration:none;color:inherit;}
.dashboard-online-friend:hover{background:#171a20;}
.dashboard-online-friend .online-avatar i{background:#68717c;}
.dashboard-online-friend.is-online .online-avatar i{background:#36b37e;}
.dashboard-online-friend.is-offline{opacity:.72;}
.dashboard-online-friend small{color:#858e99;font-size:11px;}
.dashboard-online-friend.is-online small{color:#36b37e;}
.friends-view-all{display:inline-block;margin-top:10px;}
@media(max-width:600px){.message-drawer{width:100vw !important;}}

/* v1.5.67 — social garage sizing + true right-side messaging drawer transition. */
.friends-messages-panel{min-height:310px;}
.social-garage-heading{margin-bottom:14px;}
.social-garage-heading h2{margin-top:2px;}
.friends-messages-section{min-height:245px;}
.dashboard-online-list{display:grid;gap:2px;max-height:246px;overflow-y:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:#3f4650 transparent;}
.dashboard-online-friend{min-height:48px;padding:5px 6px;box-sizing:border-box;}
.dashboard-online-friend .online-avatar{width:40px;height:40px;flex:0 0 40px;max-width:40px;max-height:40px;overflow:hidden;}
.dashboard-online-friend .online-avatar img{display:block;width:40px;height:40px;max-width:40px;max-height:40px;object-fit:cover;}
.dashboard-online-friend>span:last-child{min-width:0;overflow:hidden;}
.dashboard-online-friend strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.message-drawer{transform:translate3d(105%,0,0) !important;visibility:hidden !important;transition:transform .24s ease,visibility 0s linear .24s !important;}
.message-drawer.is-open{transform:translate3d(0,0,0) !important;visibility:visible !important;transition:transform .24s ease,visibility 0s linear 0s !important;}
.message-drawer[hidden]{display:flex !important;}
.message-drawer[aria-hidden="true"]{pointer-events:none;}
.message-drawer[aria-hidden="false"]{pointer-events:auto;}
@media(max-width:760px){.friends-messages-panel{min-height:280px;}.friends-messages-section{min-height:215px;}.dashboard-online-list{max-height:210px;}}

/* v1.5.68 — role-neutral Social Garage sizing and messaging drawer QA. */
.member-app .social-garage-heading{min-height:52px;margin-bottom:10px;}
.member-app .friends-messages-panel{min-height:0;height:clamp(290px,32vh,390px);display:flex;flex-direction:column;overflow:hidden;}
.member-app .friends-messages-panel .friends-messages-section{min-height:0;flex:1;display:flex;flex-direction:column;}
.member-app .friends-messages-panel .social-subhead{flex:0 0 auto;}
.member-app .friends-messages-panel .dashboard-online-list{min-height:0;flex:1;overflow-y:auto;padding-right:4px;}
.member-app .dashboard-online-friend{min-height:54px;}
.member-app .dashboard-online-friend .online-avatar{width:40px;height:40px;flex-basis:40px;max-width:40px;max-height:40px;}
.member-app .dashboard-online-friend .online-avatar img{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:cover;display:block;}
.member-app .garage-promotion-panel{margin-top:18px!important;}
.member-app .message-drawer{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(450px,100vw)!important;height:100vh!important;max-height:100vh!important;margin:0!important;z-index:2100!important;transform:translate3d(105%,0,0)!important;transition:transform .24s ease!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;visibility:hidden!important;}
.member-app .message-drawer.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;}
.member-app .message-drawer[hidden]{display:flex!important;}
.member-app .message-drawer-backdrop{position:fixed!important;inset:0!important;z-index:2090!important;background:rgba(0,0,0,.58)!important;}
html.message-drawer-document-open,body.message-drawer-open{overflow:hidden!important;}

/* v1.5.68 — Social Garage sizing and role-neutral messaging drawer QA. */
.member-app .social-garage-heading{min-height:52px;margin-bottom:10px;}
.member-app .friends-messages-panel{min-height:0;height:clamp(290px,32vh,390px);display:flex;flex-direction:column;overflow:hidden;}
.member-app .friends-messages-panel .friends-messages-section{min-height:0;flex:1;display:flex;flex-direction:column;}
.member-app .friends-messages-panel .social-subhead{flex:0 0 auto;}
.member-app .friends-messages-panel .dashboard-online-list{min-height:0;flex:1;overflow-y:auto;padding-right:4px;}
.member-app .dashboard-online-friend{min-height:54px;}
.member-app .dashboard-online-friend .online-avatar{width:40px;height:40px;flex:0 0 40px;max-width:40px;max-height:40px;}
.member-app .dashboard-online-friend .online-avatar img{width:40px;height:40px;max-width:40px;max-height:40px;object-fit:cover;display:block;}
.member-app .garage-promotion-panel{margin-top:18px!important;}
.member-app .message-drawer{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(450px,100vw)!important;height:100vh!important;max-height:100vh!important;margin:0!important;z-index:2100!important;transform:translate3d(105%,0,0)!important;transition:transform .24s ease!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;visibility:hidden!important;}
.member-app .message-drawer.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;}
.member-app .message-drawer[hidden]{display:flex!important;}
.member-app .message-drawer-backdrop{position:fixed!important;inset:0!important;z-index:2090!important;background:rgba(0,0,0,.58)!important;}
html.message-drawer-document-open,body.message-drawer-open{overflow:hidden!important;}

/* v1.5.69 — compact messaging composer: single-line default, centered Send action, Enter to send (Shift+Enter for newline). */
.message-drawer .message-composer{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;}
.message-drawer .message-composer textarea{height:42px!important;min-height:42px!important;max-height:42px!important;resize:none!important;margin:0!important;line-height:20px!important;padding:10px 12px!important;}
.message-drawer .message-composer button{align-self:center!important;height:42px!important;min-height:42px!important;margin:0!important;white-space:nowrap!important;}
@media(max-width:600px){.message-drawer .message-composer{padding:10px!important;}.message-drawer .message-composer textarea{height:42px!important;min-height:42px!important;max-height:42px!important;}}

/* v1.5.71 — League profile header matches the existing dashboard card treatment. */
.league-profile-head{margin:0 auto 20px;max-width:1700px;padding:24px;background:linear-gradient(180deg,rgba(20,23,28,.98),rgba(12,14,18,.98));border:1px solid #30353c;border-radius:3px;box-shadow:0 12px 35px rgba(0,0,0,.2);}
.league-profile-head .league-profile-identity{min-width:0}
.league-profile-head .league-profile-actions{flex:0 0 auto}
/* v1.5.70 — League profile: shared owner/competitor layout */
.league-profile-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.league-profile-identity{display:flex;align-items:center;gap:18px;min-width:0}
.league-profile-logo{width:78px;height:78px;flex:0 0 78px;display:grid;place-items:center;overflow:hidden;border:1px solid #3a4048;border-radius:3px;background:#111419;color:#fff;font-size:22px;font-weight:900;letter-spacing:.04em}
.league-profile-logo img{display:block;width:100%;height:100%;object-fit:cover}
.league-profile-head h1{margin:0 0 5px;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em}
.league-profile-head p{margin:0;color:var(--muted)}
.league-profile-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:13px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.league-profile-meta strong{color:#fff;font-size:15px;letter-spacing:0;text-transform:none;margin-right:4px}
.league-profile-actions{display:flex;gap:10px;flex-wrap:wrap}
.league-profile-grid{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(390px,1.35fr) minmax(280px,.9fr);gap:18px;max-width:1700px;margin:0 auto;align-items:start}
.league-profile-grid .dashboard-panel{margin:0}
.league-profile-races,.league-profile-feed,.league-profile-standings{min-width:0}
.league-race-row{display:flex;gap:12px;padding:15px 0;border-top:1px solid #282e35}
.league-race-row:first-child{border-top:0;padding-top:0}
.league-race-number{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #3a4048;background:#0b0d10;color:#fff;font-size:12px;font-weight:900}
.league-race-copy{min-width:0;display:grid;gap:3px}
.league-race-copy strong{font-size:15px;color:#fff}
.league-race-copy b{font-size:17px;color:#f3f4f5}
.league-race-copy small{color:var(--muted);font-size:11px}
.league-race-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.league-race-meta span{font-size:10px;color:#aeb5be;border:1px solid #2b3138;padding:4px 6px;border-radius:3px}
.league-profile-feed-list{display:grid;gap:12px;max-height:720px;overflow:auto;padding-right:2px}
.league-profile-post{margin:0;padding:15px;background:#0b0d10;border-color:#292f36}
.league-profile-post .feed-post-body{margin-bottom:10px}
.league-top10-list{display:grid}
.league-standing-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-top:1px solid #282e35}
.league-standing-row:first-child{border-top:0;padding-top:0}
.league-standing-row>strong{font-size:13px;color:#9ea5ae;text-align:center}
.league-standing-row>span{min-width:0;display:grid;gap:2px}
.league-standing-row b{font-size:13px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-standing-row small{font-size:9px;color:var(--muted);white-space:nowrap}
.league-standing-row em{font-style:normal;font-size:13px;font-weight:900;color:#fff}
.league-standing-row.current-driver{background:rgba(215,25,32,.09);padding-left:7px;padding-right:7px}
.league-profile-promo{margin-top:18px!important}
@media(max-width:1200px){.league-profile-grid{grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr);}.league-profile-right{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:18px}.league-profile-promo{margin-top:0!important}}
@media(max-width:760px){.league-profile-head{align-items:flex-start;flex-direction:column;padding:18px}.league-profile-actions{width:100%}.league-profile-actions .btn{flex:1}.league-profile-grid{grid-template-columns:1fr}.league-profile-right{grid-column:auto;display:block}.league-profile-promo{margin-top:18px!important}.league-profile-feed-list{max-height:none}.league-profile-logo{width:64px;height:64px;flex-basis:64px}.league-profile-meta{gap:12px}}


/* v1.5.75 ALPHA — dashboard profile/friend presentation refinements. */
.profile-card-centered .profile-snapshot-avatar{
    width:112px;
    height:112px;
    flex-basis:112px;
    border-radius:12px;
    overflow:hidden;
}
.profile-card-centered .profile-snapshot-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:12px;
}
.dashboard-online-friend{
    min-height:44px !important;
    height:44px;
    padding:2px 6px !important;
}
.dashboard-online-friend .online-avatar{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
}
.league-profile-logo{
    border-radius:12px;
}
.league-profile-logo img{
    border-radius:11px;
}
@media(max-width:760px){
    .profile-card-centered .profile-snapshot-avatar{width:96px;height:96px;flex-basis:96px;}
    .profile-card-centered .profile-snapshot-avatar img{border-radius:12px;}
}


/* v1.5.75 ALPHA — dashboard heading hierarchy and feed query regression fix.
 * Uses the red eyebrow as the section title when it already names the card,
 * avoiding duplicate labels while retaining distinct content titles. */
.member-app .compact-list-panel .panel-heading,
.member-app .garage-feed-panel .panel-heading,
.member-app .social-garage-heading{
    align-items:center;
}
.member-app .garage-feed-panel .feed-heading .eyebrow,
.member-app .social-garage-heading .eyebrow,
.member-app .compact-list-panel .eyebrow{
    margin:0;
}

/* v1.5.76 ALPHA — frame the Social Garage friend area like the feed content.
 * Keeps the red section label clean while giving the online/offline member area
 * its own contained surface, border, and spacing. */
.member-app .social-garage-inner-frame{
    background:linear-gradient(180deg,#12151a,#0d1014);
    border:1px solid #2d333a;
    border-radius:4px;
    padding:14px;
}
.member-app .social-garage-inner-frame .social-subhead{
    margin-top:0;
}
.member-app .social-garage-inner-frame .dashboard-online-list{
    padding-right:2px;
}
@media(max-width:760px){
    .member-app .social-garage-inner-frame{
        padding:12px;
    }
}

/* v1.5.75 ALPHA — dashboard spacing refinement.
 * Extends the Garage Feed toward the lower edge of the workspace and aligns
 * the Social Garage section label with the other dashboard card headings. */
.member-app .garage-feed-panel{
    height:calc(100vh - 190px);
    min-height:650px;
}
.member-app .social-garage-heading{
    min-height:0;
    margin-bottom:10px;
}
@media(max-width:760px){
    .member-app .garage-feed-panel{
        height:auto;
        min-height:0;
    }
    .member-app .social-garage-heading{
        min-height:0;
        margin-bottom:10px;
    }
}

/* v1.5.79 — create-league UX and league logo presentation. */
.league-origin-grid{gap:18px;margin-top:22px}
.league-origin-grid .origin-choice{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:28px 24px;border:1px solid #343a43;border-radius:12px;background:linear-gradient(145deg,#11151b,#0b0d11);transition:border-color .15s ease,background .15s ease,transform .15s ease}
.league-origin-grid .origin-choice:hover{border-color:#6b252b;background:linear-gradient(145deg,#151920,#0c0f13);transform:translateY(-1px)}
.league-origin-grid .origin-choice:has(input:checked){border-color:#d71920;box-shadow:0 0 0 1px rgba(215,25,32,.28),0 12px 30px rgba(0,0,0,.25)}
.league-origin-grid .origin-choice input{width:18px;height:18px;margin:0;accent-color:#d71920}
.origin-choice-copy{display:grid;gap:8px;justify-items:center}
.origin-choice-copy strong{font-size:22px;line-height:1.15}
.origin-choice-copy small{font-size:14px;line-height:1.5;color:#aeb4bd;max-width:270px}
.league-profile-logo{width:auto;height:auto;min-width:78px;min-height:78px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:visible;border:0;border-radius:0;background:transparent;color:#fff;font-size:22px;font-weight:900;letter-spacing:.04em}
.league-profile-logo img{display:block;width:auto;height:auto;max-width:220px;max-height:120px;object-fit:contain;border:0;border-radius:0}
@media(max-width:760px){.league-origin-grid .origin-choice{min-height:145px;padding:22px 18px}.origin-choice-copy strong{font-size:20px}.origin-choice-copy small{font-size:13px}.league-profile-logo{min-width:64px;min-height:64px}.league-profile-logo img{max-width:160px;max-height:90px}}

/* v1.5.82 — unified header notification drawer and stage scoring */
.notification-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:5090}
.notification-drawer-backdrop[hidden]{display:none}
.notification-drawer{position:fixed;top:0;right:0;bottom:0;width:min(450px,100vw);height:100vh;background:#111419;border-left:1px solid #2b3139;box-shadow:-18px 0 50px rgba(0,0,0,.35);z-index:5091;display:flex;flex-direction:column;transform:translate3d(105%,0,0);visibility:hidden;transition:transform .24s ease,visibility 0s linear .24s;overflow:hidden}
.notification-drawer.is-open{transform:translate3d(0,0,0);visibility:visible;transition:transform .24s ease,visibility 0s linear 0s}
.notification-drawer[hidden]{display:flex}
.notification-drawer[aria-hidden="true"]{pointer-events:none}
.notification-drawer[aria-hidden="false"]{pointer-events:auto}
.notification-drawer-body{min-height:0;flex:1;overflow:auto;padding-bottom:12px}
.notification-drawer-actions{padding:12px 14px;border-bottom:1px solid #292e36;background:#0e1014;text-align:right}
.notification-item{border-bottom:1px solid #252a31}
.notification-item.is-unread{background:#181c22;border-left:3px solid #d71920}
.notification-item-link{display:block;padding:14px 16px;color:inherit;text-decoration:none}
.notification-item-link:hover{background:#1b2026}
.notification-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.notification-item-top strong{font-size:14px;line-height:1.35}
.notification-item-top time{flex:0 0 auto;color:#7f8995;font-size:10px;white-space:nowrap}
.notification-item p{margin:6px 0 0;color:#aeb5bf;font-size:13px;line-height:1.5}
.notification-open{display:inline-block;margin-top:7px;color:#e3e6ea;font-size:12px;font-weight:700}
.notification-drawer-open,html.notification-drawer-document-open{overflow:hidden!important}
.member-app .notification-drawer{z-index:5101}
.member-app .notification-drawer-backdrop{z-index:5100}
@media(max-width:600px){.notification-drawer{width:100vw}.notification-drawer .message-drawer-head{padding-top:max(14px,env(safe-area-inset-top))}.notification-drawer-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}}


/* v1.5.83 — consistent member background, card-style owner hero, fixed notification drawer, and race action alignment. */
.app-page{
  background-color:#08090b !important;
  background-image:linear-gradient(90deg,rgba(7,9,12,.78) 0%,rgba(7,9,12,.52) 45%,rgba(7,9,12,.34) 72%,rgba(7,9,12,.62) 100%),url('/assets/images/dashboard-garage.webp') !important;
  background-size:cover !important;
  background-position:center top !important;
  background-attachment:fixed !important;
}
.app-page .app-frame,
.app-page .app-content{background:transparent !important;}
.app-page .app-content:before{display:none !important;}
.app-page .dashboard-hero{
  background:linear-gradient(180deg,#14171c,#0f1115) !important;
  border:1px solid #30353c !important;
  box-shadow:0 12px 35px rgba(0,0,0,.2) !important;
  background-image:none !important;
}
.app-page .dashboard-hero:before{display:block !important;content:'';position:absolute;inset:0;background:repeating-linear-gradient(167deg,transparent 0 42px,rgba(255,255,255,.018) 43px 45px);opacity:.65;pointer-events:none;}
.app-page .dashboard-hero:after{display:block !important;}
.app-page .race-action-row{display:flex;align-items:center;justify-content:flex-start;margin-top:10px;}
.app-page .race-action-row .btn{width:auto !important;min-width:110px;margin:0 !important;}
.app-page .race-countdown{width:100%;margin-top:16px;}
.notification-drawer-backdrop{position:fixed !important;inset:0 !important;z-index:7000 !important;}
.notification-drawer{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:auto !important;width:min(450px,100vw) !important;height:100dvh !important;max-height:100dvh !important;margin:0 !important;padding:0 !important;z-index:7001 !important;transform:translate3d(105%,0,0) !important;visibility:hidden !important;display:flex !important;}
.notification-drawer.is-open{transform:translate3d(0,0,0) !important;visibility:visible !important;}
.notification-drawer[hidden]{display:flex !important;}
.notification-drawer .message-drawer-head{flex:0 0 auto;}
.notification-drawer-body{min-height:0;flex:1;overflow:auto;}
@media(max-width:600px){.notification-drawer{width:100vw !important;}}

/* v1.5.84 — owner league workspace: same league profile, expanded management surface. */
.owner-league-workspace{grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr)!important;align-items:start;}
.owner-management-panel{grid-column:1 / -1;}
.owner-management-intro{margin:-4px 0 18px;color:#8f969f;max-width:780px;line-height:1.55;}
.owner-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.owner-management-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:15px 14px;border:1px solid #30363f;border-radius:4px;background:linear-gradient(180deg,#15191e,#0f1115);color:#e8eaed;text-decoration:none;transition:border-color .16s ease,transform .16s ease,background .16s ease;}
.owner-management-card:hover{border-color:#8f252b;background:linear-gradient(180deg,#191c22,#121419);transform:translateY(-1px);}
.owner-management-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #3a4049;border-radius:3px;background:#0b0d10;color:#d71920;font-weight:900;font-size:16px;}
.owner-management-card strong{display:block;font-size:13px;line-height:1.2;}
.owner-management-card small{display:block;margin-top:4px;color:#818994;font-size:10px;line-height:1.4;}
.owner-management-card>b{color:#6f7781;font-size:16px;text-align:right;}
@media(max-width:760px){.owner-league-workspace{grid-template-columns:1fr!important;}.owner-management-grid{grid-template-columns:1fr;}.owner-management-card{grid-template-columns:38px minmax(0,1fr) 18px;}}

/* v1.5.87 — slightly larger public/homepage logo; platform sizing unchanged. */
.site-page .brand-logo{width:300px;max-width:300px;height:auto;object-fit:contain;}
@media(max-width:900px){.site-page .brand-logo{width:250px;max-width:100%;}}
@media(max-width:600px){.site-page .brand-logo{width:225px;max-width:100%;}}

/* v1.5.88 — cache-bust the supplied public logo so stale homepage assets cannot survive deployment. */
.site-page .brand-logo{content-visibility:auto;}

/* Admin dashboard operations shortcuts */
.admin-dashboard-link-list{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}.admin-dashboard-link-list .text-link{white-space:nowrap}

/* v1.5.90 — tighten the public homepage header and vertically align the supplied logo with navigation. */
.site-page .header-inner{min-height:94px;padding-top:10px;padding-bottom:10px;align-items:center;}
.site-page .brand-logo{transform:translateY(-3px);}
.site-page .top-nav{padding-top:0;}
.site-page .header-actions{padding-top:0;}
@media(max-width:900px){.site-page .header-inner{min-height:82px;padding-top:8px;padding-bottom:8px;}.site-page .brand-logo{transform:translateY(-2px);}}
@media(max-width:600px){.site-page .header-inner{min-height:76px;padding-top:7px;padding-bottom:7px;}.site-page .brand-logo{transform:none;}}

/* v1.5.94 owner league profile / race control */
.owner-race-control{grid-column:1}.owner-race-card{padding:18px;border:1px solid #30363f;border-radius:4px;background:linear-gradient(180deg,#15191e,#0f1115)}.owner-race-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.owner-race-card h3{font-size:26px;margin:0 0 5px}.owner-race-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.owner-management-grid{display:grid;grid-template-columns:1fr;gap:9px}.owner-management-card{grid-template-columns:36px minmax(0,1fr) 18px;padding:12px}.owner-management-icon{width:34px;height:34px}.owner-league-workspace .owner-race-control{grid-column:1}.owner-league-workspace .league-profile-feed{grid-column:2}.owner-league-workspace .league-profile-right{grid-column:3;display:block}.owner-league-workspace .owner-tools-panel{grid-column:1}.owner-league-workspace .league-profile-promo{margin-top:18px}.owner-league-workspace .owner-management-card small{font-size:10px}@media(max-width:1200px){.owner-league-workspace .owner-race-control{grid-column:1}.owner-league-workspace .league-profile-feed{grid-column:2}.owner-league-workspace .league-profile-right{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:18px}.owner-league-workspace .owner-tools-panel{grid-column:1}.owner-league-workspace .league-profile-promo{margin-top:0!important}}@media(max-width:760px){.owner-league-workspace .owner-race-control,.owner-league-workspace .league-profile-feed,.owner-league-workspace .league-profile-right,.owner-league-workspace .owner-tools-panel{grid-column:auto}.owner-league-workspace .league-profile-right{display:block}.owner-race-actions .btn{flex:1}}
/* v1.5.94 layout cleanup: restore the three-column league profile for owner mode. */
.owner-league-workspace{grid-template-columns:minmax(250px,.85fr) minmax(390px,1.35fr) minmax(280px,.9fr)!important;align-items:start!important;}
/* Public homepage header remains slightly shorter than the platform header. */
.site-page .header-inner{min-height:82px;padding-top:7px;padding-bottom:7px;}
@media(max-width:900px){.site-page .header-inner{min-height:78px;padding-top:6px;padding-bottom:6px;}}
@media(max-width:600px){.site-page .header-inner{min-height:72px;padding-top:5px;padding-bottom:5px;}}
@media(max-width:1200px){.owner-league-workspace{grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr)!important;}.owner-league-workspace .owner-race-control{grid-column:1}.owner-league-workspace .league-profile-feed{grid-column:2}.owner-league-workspace .league-profile-right{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:18px}.owner-league-workspace .owner-tools-panel{grid-column:1}}
@media(max-width:760px){.owner-league-workspace{grid-template-columns:1fr!important}.owner-league-workspace .owner-race-control,.owner-league-workspace .league-profile-feed,.owner-league-workspace .league-profile-right,.owner-league-workspace .owner-tools-panel{grid-column:auto}.owner-league-workspace .league-profile-right{display:block}}

/* v1.5.102 — Simplify feed composer title. */
.feed-composer-title-main{color:#e33a40;font-size:13px;font-weight:900;line-height:1.1}
.feed-share-title{color:#e33a40}
