/* Shuttloop V3.2 — unified minimalist product identity. Purely presentational. */
:root{
  --bg:#071D17;--bg2:#0B261D;--surface:#102C23;--surface2:#15392D;
  --line:rgba(190,232,202,.12);--line2:rgba(190,232,202,.22);
  --ink:#F4F8F4;--muted:#A0B8AB;--muted2:#77988A;
  --accent:#B7FF3C;--lime:#B7FF3C;--lime2:#A1F02F;
  --border:rgba(190,232,202,.17);--text:#F4F8F4;
  --r:20px;--radius:18px;
  --shadow:0 20px 52px rgba(0,12,8,.18);
}
html{scroll-behavior:smooth}
body{background:#071D17;color:#F4F8F4}
body.public-page,body.demo-page,body.customer-body,body.admin-body,body.admin-page{
  background-color:#071D17;
  background-image:radial-gradient(ellipse 68% 35% at 86% 0%,rgba(50,116,75,.10),transparent 76%);
}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
:is(a,button,input,select,textarea):focus-visible{outline:2px solid #B7FF3C;outline-offset:3px}
button:disabled{cursor:not-allowed}
/* Logo: a single, non-gradient emblem. No rotated badge. */
.brand,.sc-logo{letter-spacing:-.055em}
.brand-emblem,.brand-mark{
  transform:none!important;flex:none!important;width:39px!important;height:39px!important;
  border-radius:12px!important;display:grid!important;place-items:center!important;
  background:#103126!important;border:1px solid rgba(183,255,60,.23)!important;
  box-shadow:none!important;overflow:hidden;
}
.brand-emblem img,.brand-mark img{width:35px!important;height:35px!important;max-width:100%;object-fit:contain!important;display:block}
.brand-words,.brand-text{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;font-weight:850!important;letter-spacing:-.065em!important;text-transform:none!important}
.brand-dot,.brand-em{color:#B7FF3C!important}
.brand-words small{font-size:7.5px!important;letter-spacing:.17em!important;color:#9CB4AA!important;line-height:1.5}
.sc-logo img{background:#103126;border:1px solid rgba(183,255,60,.2);border-radius:11px;padding:2px;box-sizing:border-box}
.site-header,.demo-header{border-color:rgba(190,232,202,.12)!important}
.public-page .site-header{background:rgba(7,29,23,.94)!important}
/* Pages and surfaces — reduce the former bluish-grey cast. */
:is(.public-page,.admin-page,.demo-page) .panel,
:is(.public-page,.admin-page) :is(.session-card,.kpi,.content-panel,.quick-panel,.summary-stat),
.demo-page :is(.demo-card,.demo-panel,.demo-kpi){
  background:linear-gradient(150deg,#112E24,#0B241D)!important;
  border-color:rgba(182,222,196,.16)!important;
  box-shadow:none;
}
:is(.public-page,.admin-page,.demo-page) :is(.session-card,.demo-card):hover{border-color:rgba(183,255,60,.42)!important}
:is(.public-page,.admin-page,.demo-page) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:#0A251D!important;border-color:rgba(174,215,190,.22)!important;
  color:#F4F8F4!important;border-radius:12px;
}
:is(.public-page,.admin-page,.demo-page) :is(input,select,textarea):focus{border-color:#B7FF3C!important;box-shadow:0 0 0 3px rgba(183,255,60,.12)!important}
:is(.public-page,.admin-page,.demo-page) :is(input,textarea)::placeholder{color:#789789!important}
:is(.public-page,.admin-page,.demo-page) :is(.btn-primary,.demo-btn-primary){
  background:#B7FF3C!important;color:#082016!important;border-color:#B7FF3C!important;box-shadow:none!important;
}
:is(.public-page,.admin-page,.demo-page) :is(.btn-primary,.demo-btn-primary):not(:disabled):hover{background:#D1FF7B!important}
:is(.public-page,.admin-page) .btn-outline{background:rgba(10,37,29,.34)!important;border-color:rgba(194,236,206,.20)!important}
:is(.public-page,.admin-page) .btn-outline:not(:disabled):hover{border-color:rgba(183,255,60,.6)!important}
.public-page .player-home-hero .hero-copy h1{letter-spacing:-.065em;line-height:1.07}
.public-page .player-home-hero .hero-copy p{color:#A5BCAE}
.public-page .player-home-hero .hero-visual{border:1px solid rgba(183,255,60,.17);box-shadow:none!important;background-color:#0E3124}
.public-page .player-home-hero .hero-benefits{color:#BAD2C2!important}
.public-page .session-card{border-radius:18px!important}
.public-page :is(.session-summary,.join-panel,.rules-card,.roster-panel){border-color:rgba(182,222,196,.17)!important}
/* Accessible, compact player navigation; same button/tab controls. */
.ios-player-dock{
  border:1px solid rgba(183,255,60,.17)!important;
  background:rgba(8,32,25,.95)!important;
  box-shadow:0 12px 42px rgba(0,0,0,.36)!important;
  backdrop-filter:blur(17px)!important;-webkit-backdrop-filter:blur(17px)!important;
}
.ios-player-dock :is(button,a){border-radius:17px}
.ios-player-dock :is(button,a).active,.ios-player-dock :is(button,a)[aria-current=page]{background:rgba(183,255,60,.13)!important;color:#C6FF73!important}
/* Centre the login / signup experience on every screen. Keep same forms + IDs. */
.admin-page .login-screen{
  grid-template-columns:minmax(0,1fr)!important;
  min-height:100dvh;
  place-items:center;
  padding:clamp(12px,3vw,34px) 12px calc(24px + env(safe-area-inset-bottom));
  background:radial-gradient(ellipse 45% 29% at 50% 14%,rgba(57,130,80,.13),transparent 92%),#071D17!important;
}
.admin-page .login-screen .login-art{display:none!important}
.admin-page .login-screen .login-card{
  width:min(100%,520px)!important;max-width:520px!important;
  min-height:0!important;padding:clamp(18px,3.2vw,33px)!important;
  align-content:start;align-self:center;justify-self:center;
  background:#0A231B!important;
  border:1px solid rgba(183,255,60,.16);
  border-radius:24px;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
  gap:15px;
}
.admin-page .login-card>.brand{margin:4px auto 0!important;justify-content:center;white-space:nowrap}
.admin-page .login-card .auth-brand-tagline{text-align:center;margin:0 0 6px}
.admin-page .login-card h1{font-size:clamp(34px,6vw,48px);line-height:1.08}
.admin-page .login-card>p:not(.auth-brand-tagline){font-size:13px}
.admin-page .login-card .auth-mode-tabs{background:#0D2A21!important;border:1px solid rgba(172,213,183,.16)!important}
.admin-page .login-card .auth-mode-tabs button.active{background:#B7FF3C!important;color:#092115!important;box-shadow:none!important}
.admin-page .login-card label{color:#C3D8CB}
.admin-page .login-card form{gap:12px;margin:0}
/* Club admin shell */
.admin-page .dashboard,.admin-page .admin-workspace{background:#071D17!important}
.admin-page .admin-sidebar{background:#092219!important;border-color:rgba(190,232,202,.14)!important}
.admin-page .admin-topbar{border-color:rgba(190,232,202,.14)!important}
.admin-page .admin-nav button.active{background:rgba(183,255,60,.10)!important;color:#B7FF3C!important}
.admin-page .kpi.highlight{background:#173B29!important;border-color:rgba(183,255,60,.28)!important}
.admin-page .admin-session-row,.admin-page .roster-person{background:#0D2A20!important;border-color:rgba(190,232,202,.15)!important}
.admin-page .dialog,.public-page .dialog{background:#0D291F!important;border-color:rgba(183,255,60,.20)!important}
/* Other pages */
.customer-body :is(.summary-card,.hero-frame,.step-section,.panel,.stat-card){border-color:rgba(190,232,202,.19)!important;box-shadow:none!important}
.customer-body .button-primary,.admin-body .button-primary{background:#B7FF3C;color:#082016}
.customer-body .brand-mark,.admin-body .brand-mark{width:35px!important;height:35px!important}
.demo-page .demo-tabs{background:#0D291F!important;border-color:rgba(190,232,202,.16)!important}
.demo-page .demo-tabs button.active{background:#B7FF3C!important;color:#092115!important;box-shadow:none!important}
.demo-page .demo-guide{background:#102D22!important;border-color:rgba(183,255,60,.20)!important}
/* Small-device refinements */
@media(max-width:610px){
  .public-page .site-header{height:67px!important}
  .brand-emblem,.brand-mark{width:35px!important;height:35px!important;border-radius:11px!important}
  .brand-emblem img,.brand-mark img{width:32px!important;height:32px!important}
  .public-page .player-home-hero{padding-top:25px!important}
  .public-page .player-home-hero .hero-copy h1{font-size:clamp(37px,10.3vw,55px)!important}
  .admin-page .login-screen{padding:13px 12px calc(84px + env(safe-area-inset-bottom))!important;place-items:start center}
  .admin-page .login-screen .login-card{padding:19px 17px!important;border-radius:19px;box-shadow:none!important;margin:0 auto}
  .admin-page .login-card>.brand{margin-bottom:0!important}
  .admin-page .login-card h1{font-size:36px}
  .admin-page .admin-content{padding-left:14px!important;padding-right:14px!important}
  .public-page .session-card,.demo-page .demo-card{border-radius:16px!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* V3.2.1 — User-supplied official Illustrator logo; preserve original proportions. */
.official-brand-wordmark{display:block;width:clamp(102px,12vw,151px);height:auto;max-height:31px;object-fit:contain;object-position:left center}
.brand-words:has(.official-brand-wordmark){display:flex;flex-direction:column;gap:3px;justify-content:center;line-height:1}
.brand-words .official-brand-wordmark{width:clamp(95px,11vw,142px)}
.brand-text:has(.official-brand-wordmark){display:flex;align-items:center}
.brand-text .official-brand-wordmark{width:122px;max-height:28px}
.sc-logo .official-brand-wordmark{width:120px}
.brand-emblem img[src="/brand-symbol.png"],.brand-mark img[src="/brand-symbol.png"]{object-fit:contain}
@media(max-width:440px){.brand-words .official-brand-wordmark{width:108px}.brand-text .official-brand-wordmark{width:103px}}

/* V3.2.2: user-supplied PDF logo is the source of truth. */
.official-brand-wordmark {object-fit:contain;object-position:left center;filter:none}
.brand-emblem img[src="/brand-symbol.png"],.brand-mark img[src="/brand-symbol.png"]{object-fit:contain;filter:none}
.brand-text img[src="/brand-wordmark.png"],.brand-words img[src="/brand-wordmark.png"]{object-fit:contain}
