:root{--hl-bg:#f6f8fc;--hl-card:#fff;--hl-soft:#eff6ff;--hl-line:#e2e8f0;--hl-ink:#0f172a;--hl-muted:#64748b;--hl-blue:#2563eb;--hl-sky:#0ea5e9;--hl-lime:#a3e635;--hl-gold:#f59e0b;--hl-deep:#123b82;--hl-shadow:0 8px 28px rgba(30,64,175,.08)}
body:not(:has(.battle-grid)){background:var(--hl-bg);color:var(--hl-ink)}
body:not(:has(.battle-grid))>header{height:68px;padding:8px 22px;background:#fff;border-bottom:1px solid var(--hl-line);box-shadow:0 2px 12px rgba(15,23,42,.04);position:sticky;top:0;z-index:30}
body:not(:has(.battle-grid))>header .brand img{height:50px;max-width:170px}
body:not(:has(.battle-grid))>header nav{gap:8px}
body:not(:has(.battle-grid))>header nav a{padding:10px 13px;border-radius:10px;color:#334155;font-size:.86rem;font-weight:750}
body:not(:has(.battle-grid))>header nav a:hover{background:var(--hl-soft);color:var(--hl-blue)}
body:not(:has(.battle-grid)) .wrap{width:100%;max-width:none;padding:20px 24px 48px}
body:not(:has(.battle-grid)) .card{background:#fff;border:1px solid var(--hl-line);border-radius:16px;box-shadow:var(--hl-shadow);color:var(--hl-ink)}
body:not(:has(.battle-grid)) .btn{min-height:44px;border-radius:10px;background:linear-gradient(135deg,var(--hl-blue),var(--hl-sky));box-shadow:0 7px 16px rgba(37,99,235,.2);text-transform:none;letter-spacing:0}
body:not(:has(.battle-grid)) .btn:hover{transform:translateY(-1px)}body:not(:has(.battle-grid)) .btn.secondary{background:#eaf2ff;color:var(--hl-blue)!important;box-shadow:none}body:not(:has(.battle-grid)) .btn.purple{background:linear-gradient(135deg,#2563eb,#0ea5e9)}
body:not(:has(.battle-grid)) .eyebrow{color:var(--hl-blue);letter-spacing:.12em}body:not(:has(.battle-grid)) .muted{color:var(--hl-muted)}
body:not(:has(.battle-grid)) .field input,body:not(:has(.battle-grid)) .field select,body:not(:has(.battle-grid)) textarea{min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.dashboard-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:0;min-height:calc(100vh - 108px);margin:-20px -24px -48px}
.dashboard-layout>.sidebar{height:calc(100vh - 68px);top:68px;position:sticky;border:0;border-right:1px solid var(--hl-line);border-radius:0;padding:22px 14px;background:#fff;box-shadow:none}
.sidebar:before{content:'MEMBER MENU';display:block;padding:0 12px 11px;color:#94a3b8;font-size:.65rem;font-weight:850;letter-spacing:.14em}
.sidebar a{display:flex;align-items:center;min-height:46px;margin:4px 0;padding:11px 13px;border-radius:11px;color:#334155;font-weight:720;transition:.18s}.sidebar a:hover,.sidebar a.active{background:#eaf3ff;color:var(--hl-blue);transform:none}.sidebar a.active{box-shadow:inset 4px 0 0 var(--hl-lime)}
.dashboard-layout>section{min-width:0;padding:25px 24px 56px;background:radial-gradient(circle at 92% 0,rgba(14,165,233,.09),transparent 24%),var(--hl-bg)}
.dashboard-layout>section>h1{margin:0 0 18px;padding:0;border:0;background:none;box-shadow:none;color:var(--hl-ink);font-family:Inter,Arial,sans-serif;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.2;letter-spacing:-.035em;text-transform:none}.dashboard-layout>section>h1:after{display:none}.dashboard-layout>section>h1 small{display:block;margin-top:5px;color:var(--hl-muted);font-size:.48em;font-weight:550;letter-spacing:0}
.grid.stats{grid-template-columns:repeat(5,minmax(125px,1fr));gap:13px}.stats .card{min-height:118px;padding:19px;border-radius:15px;background:#fff!important;color:var(--hl-ink)!important;box-shadow:var(--hl-shadow);position:relative;overflow:hidden}.stats .card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--hl-blue)}.stats .card:nth-child(1):before{background:var(--hl-lime)}.stats .card:nth-child(3):before{background:var(--hl-gold)}.stats .card:nth-child(4):before{background:var(--hl-sky)}.stats .card span{color:var(--hl-muted);font-size:.73rem;font-weight:800;text-transform:none;letter-spacing:.02em}.stats .card strong{display:block;margin-top:15px;color:var(--hl-ink);font-size:clamp(1.7rem,2.3vw,2.5rem);line-height:1}
.dashboard-layout>section>.grid:not(.stats){grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;margin-top:14px!important}.dashboard-layout>section>.grid:not(.stats) .card{min-height:210px;padding:24px}.dashboard-layout>section>.grid:not(.stats):first-of-type .card:first-child{grid-row:span 2;background:linear-gradient(145deg,#123b82,#2563eb)!important;color:#fff!important;border:0;display:flex;flex-direction:column;justify-content:center}.dashboard-layout>section>.grid:not(.stats):first-of-type .card:first-child .muted{color:#dbeafe}.dashboard-layout>section>.grid:not(.stats):first-of-type .card:first-child h2{color:#fff;font-size:clamp(1.8rem,3vw,3.3rem)}
.progress{height:12px;background:#e2e8f0}.progress span{background:linear-gradient(90deg,var(--hl-lime),var(--hl-sky))}.game-card{border-top:4px solid var(--hl-gold)!important;background:#fff!important;color:var(--hl-ink)!important}#team{background:#f7fee7}.form-card{max-width:650px;margin:28px auto;padding:30px}.app-page .page-intro{margin-bottom:22px}.app-page .page-intro h1{margin:7px 0;font-size:clamp(2rem,4vw,3.4rem)}
@media(max-width:1000px){.grid.stats{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:1fr;margin:-20px -24px -48px}.dashboard-layout>.sidebar{position:static;height:auto;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--hl-line);padding:8px 12px}.sidebar:before{display:none}.sidebar a{white-space:nowrap}}
@media(max-width:680px){body:not(:has(.battle-grid))>header{height:auto;min-height:62px;align-items:center;flex-direction:row;gap:8px;padding:7px 12px}body:not(:has(.battle-grid))>header .brand img{height:42px;max-width:130px}body:not(:has(.battle-grid))>header nav{overflow-x:auto;max-width:65vw}body:not(:has(.battle-grid))>header nav a{min-height:44px;display:grid;place-items:center;padding:8px 10px;white-space:nowrap}.wrap{padding:14px 12px 40px!important}.dashboard-layout{margin:-14px -12px -40px}.dashboard-layout>section{padding:20px 12px 44px}.grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout>section>.grid:not(.stats){grid-template-columns:1fr}.dashboard-layout>section>.grid:not(.stats):first-of-type .card:first-child{grid-row:auto}.stats .card{min-height:105px;padding:15px}.form-card{padding:21px;margin:16px auto}}
@media(max-width:360px){.grid.stats{grid-template-columns:1fr}.stats .card{min-height:92px}body:not(:has(.battle-grid))>header nav a:not(:last-child){display:none}}
