:root {
  --navy-950: #061427;
  --navy-900: #081a33;
  --navy-850: #0b2342;
  --navy-800: #102b50;
  --navy-700: #173d6c;
  --blue-600: #008fca;
  --blue-500: #00aff0;
  --blue-100: #e3f7ff;
  --gold-500: #00aff0;
  --gold-400: #55d1ff;
  --green-600: #178158;
  --green-100: #e7f8f0;
  --amber-700: #9b6200;
  --amber-100: #fff4d6;
  --red-600: #c23f4e;
  --red-100: #fdecef;
  --purple-600: #7454d6;
  --purple-100: #f0ebff;
  --slate-950: #172033;
  --slate-900: #202c40;
  --slate-800: #2b3850;
  --slate-700: #45536a;
  --slate-600: #65738a;
  --slate-500: #8090a6;
  --slate-400: #a2afbf;
  --slate-300: #cbd5e1;
  --slate-200: #dfe6ee;
  --slate-150: #e9eef4;
  --slate-100: #f4f7fa;
  --slate-50: #f8fafc;
  --white: #fff;
  --sidebar-width: 272px;
  --topbar-height: 78px;
  --shadow-sm: 0 4px 14px rgba(20, 41, 68, .06);
  --shadow-md: 0 10px 30px rgba(20, 41, 68, .09);
  --shadow-lg: 0 20px 60px rgba(5, 24, 51, .16);
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 26px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--slate-100); }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--slate-950);
  background: var(--slate-100);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
svg { fill: currentColor; }

/* Shell */
.app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1040;
  display: flex;
  width: var(--sidebar-width);
  flex-direction: column;
  overflow: hidden;
  color: #dce7f5;
  background:
    radial-gradient(circle at 30% 0%, rgba(0, 175, 240, .3), transparent 30%),
    linear-gradient(180deg, #071c2d 0%, #04111d 100%);
  border-right: 1px solid rgba(255,255,255,.07);
  box-shadow: 18px 0 45px rgba(6, 20, 39, .08);
}
.app-page {
  min-height: 100vh;
  margin-left: var(--sidebar-width);
  display: flex;
  flex-direction: column;
}
.app-topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
  min-height: var(--topbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 13px 32px;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid var(--slate-200);
  backdrop-filter: blur(16px);
}
.app-content {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 28px 32px 42px;
  flex: 1;
}
.app-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 32px;
  color: var(--slate-500);
  font-size: 12px;
  border-top: 1px solid var(--slate-200);
  background: rgba(255,255,255,.55);
}

/* Sidebar */
.sidebar-brand {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand-link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; }
.logo-crop { position: relative; display: block; overflow: hidden; background: #fff; }
.logo-crop img { position: absolute; top: 50%; left: 0; width: 100%; height: auto; transform: translateY(-50%); }
.sidebar-logo { width: 174px; height: 52px; border-radius: 11px; box-shadow: 0 8px 24px rgba(0,175,240,.18); }
.brand-crest {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--navy-950);
  background: linear-gradient(145deg, var(--gold-400), var(--gold-500));
  box-shadow: inset 0 -3px 0 rgba(91,59,0,.14), 0 8px 20px rgba(244,195,75,.15);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -.04em;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-size: 18px; font-weight: 800; letter-spacing: -.035em; }
.brand-copy small { margin-top: 4px; color: #8ea4c0; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.sidebar-context {
  margin: 18px 16px 8px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
}
.context-dot, .system-indicator {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #40d692;
  box-shadow: 0 0 0 4px rgba(64,214,146,.12);
}
.sidebar-context span:last-child, .system-chip span:last-child { display: flex; flex-direction: column; }
.sidebar-context strong, .system-chip strong { color: #f5f8fc; font-size: 12px; font-weight: 700; }
.sidebar-context small, .system-chip small { margin-top: 2px; color: #7e95b2; font-size: 10px; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 10px 12px 20px; }
.nav-section-label {
  display: block;
  padding: 19px 12px 8px;
  color: #67809f;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .15em;
}
.sidebar-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin: 3px 0;
  padding: 10px 12px;
  color: #9fb1c8;
  border-radius: 11px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  transition: .18s ease;
}
.sidebar-link svg { width: 19px; height: 19px; opacity: .9; }
.sidebar-link:hover { color: #fff; background: rgba(255,255,255,.055); }
.sidebar-link.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(0,175,240,.26), rgba(0,175,240,.09));
  box-shadow: inset 0 0 0 1px rgba(66,151,237,.16);
}
.sidebar-link.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--gold-500);
}
.sidebar-footer { padding: 14px 16px 16px; border-top: 1px solid rgba(255,255,255,.08); }
.system-chip { display: flex; align-items: center; gap: 10px; padding: 4px 4px 13px; }
.sidebar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 13px;
  background: rgba(255,255,255,.055);
}
.sidebar-avatar, .avatar-fallback {
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  border-radius: 11px;
  object-fit: cover;
}
.avatar-fallback { display: grid; place-items: center; color: var(--navy-950); background: var(--gold-500); font-weight: 800; }
.sidebar-user-copy { display: flex; min-width: 0; flex-direction: column; }
.sidebar-user-copy strong { overflow: hidden; color: #fff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-copy small { color: #8198b5; font-size: 10px; }
.logout-button svg { transform: rotate(180deg); }

/* Topbar */
.topbar-left, .topbar-actions, .topbar-profile { display: flex; align-items: center; }
.topbar-left { gap: 14px; }
.topbar-kicker { display: block; margin-bottom: 2px; color: var(--slate-500); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.app-topbar h1 { margin: 0; color: var(--navy-900); font-size: 20px; font-weight: 800; letter-spacing: -.035em; }
.topbar-actions { gap: 17px; }
.topbar-profile { gap: 9px; padding-left: 16px; border-left: 1px solid var(--slate-200); }
.topbar-profile span { flex-direction: column; line-height: 1.1; }
.topbar-profile strong { color: var(--slate-800); font-size: 12px; }
.topbar-profile small { margin-top: 4px; color: var(--slate-500); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.topbar-avatar { width: 34px; height: 34px; border-radius: 11px; object-fit: cover; }
.icon-button {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 9px;
}
.icon-button:hover { background: rgba(255,255,255,.08); }
.icon-button svg { width: 18px; height: 18px; }
.mobile-menu { color: var(--navy-800); background: var(--slate-100); border: 1px solid var(--slate-200); }
.button-icon { width: 16px; height: 16px; margin-right: 5px; vertical-align: -3px; }

/* Base components */
.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}
.page-heading h2, .page-heading h1 { margin: 0 0 6px; color: var(--navy-900); font-size: clamp(24px, 2.5vw, 34px); font-weight: 800; letter-spacing: -.045em; }
.page-heading p { max-width: 760px; margin: 0; color: var(--slate-600); line-height: 1.65; }
.page-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.page-actions form { margin: 0; }
.eyebrow {
  display: block;
  margin-bottom: 7px;
  color: var(--blue-600);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .16em;
}
.app-card, .surface-card {
  background: var(--white);
  border: 1px solid var(--slate-200);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.app-card { overflow: hidden; }
.card-header-clean {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 17px 20px;
  background: var(--white);
  border-bottom: 1px solid var(--slate-150);
}
.card-header-clean h3 { margin: 0; color: var(--navy-900); font-size: 15px; font-weight: 800; letter-spacing: -.02em; }
.card-header-clean p { margin: 3px 0 0; color: var(--slate-500); font-size: 11px; }
.card-body-spacious { padding: 22px; }
.section-title { margin: 0; color: var(--navy-900); font-size: 16px; font-weight: 800; letter-spacing: -.025em; }
.section-subtitle { margin: 5px 0 0; color: var(--slate-600); font-size: 12px; }
.count-badge {
  min-width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--blue-600);
  background: var(--blue-100);
  font-size: 11px;
  font-weight: 800;
}
.muted-divider { height: 1px; margin: 22px 0; background: var(--slate-150); }

/* Buttons and forms */
.btn { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 12px; font-weight: 750; letter-spacing: -.01em; box-shadow: none !important; }
.btn-sm { min-height: 34px; border-radius: 9px; font-size: 11px; }
.btn-lg { min-height: 46px; padding-inline: 20px; font-size: 13px; }
.btn-primary { color: #fff; background: linear-gradient(135deg, #007eaf, var(--blue-500)); border-color: #008fca; box-shadow: 0 6px 16px rgba(0,175,240,.16); }
.btn-primary:hover, .btn-primary:focus { color: #fff; background: linear-gradient(135deg, #006f9b, #00a4df); border-color: #007eaf; }
.btn-warning { color: var(--navy-950); background: linear-gradient(135deg, var(--gold-400), var(--gold-500)); border-color: var(--gold-500); }
.btn-warning:hover { color: var(--navy-950); background: #efb936; border-color: #efb936; }
.btn-outline-primary { color: var(--blue-600); border-color: #a9caec; }
.btn-outline-primary:hover { background: var(--blue-100); color: var(--blue-600); border-color: #8bb9e7; }
.btn-outline-secondary { color: var(--slate-700); border-color: var(--slate-300); }
.btn-outline-secondary:hover { color: var(--navy-900); background: var(--slate-100); border-color: var(--slate-300); }
.btn-outline-danger { color: var(--red-600); border-color: #edb9c0; }
.btn-outline-danger:hover { background: var(--red-100); color: var(--red-600); border-color: #e89aa4; }
.btn-discord { color: #fff; background: #5865f2; border-color: #5865f2; }
.btn-discord:hover { color: #fff; background: #4752c4; border-color: #4752c4; }
.form-label { margin-bottom: 7px; color: var(--slate-700); font-size: 11px; font-weight: 700; }
.form-control, .form-select {
  min-height: 43px;
  color: var(--slate-950);
  background-color: #fff;
  border-color: var(--slate-300);
  border-radius: 10px;
  font-size: 13px;
}
.form-control::placeholder { color: #a0adbd; }
.form-control:focus, .form-select:focus { border-color: #55d1ff; box-shadow: 0 0 0 4px rgba(0,175,240,.12); }
.form-text { margin-top: 7px; color: var(--slate-500); font-size: 10px; line-height: 1.5; }
textarea.form-control { min-height: 92px; resize: vertical; }
.input-shell { position: relative; }
.input-shell .input-icon { position: absolute; left: 13px; top: 50%; width: 16px; height: 16px; color: var(--slate-500); transform: translateY(-50%); pointer-events: none; }
.input-shell .form-control { padding-left: 39px; }
.form-section-label { margin-bottom: 14px; padding-bottom: 9px; color: var(--navy-900); border-bottom: 1px solid var(--slate-150); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 60px; }
.password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: var(--blue-600); background: transparent; border: 0; font-size: 10px; font-weight: 800; }

/* Alerts */
.app-alert {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 34px;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding: 13px 14px;
  border: 1px solid;
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  transition: opacity .3s ease, transform .3s ease;
}
.app-alert > div:nth-child(2) { display: flex; flex-direction: column; }
.app-alert strong { font-size: 12px; }
.app-alert span { margin-top: 2px; font-size: 11px; line-height: 1.45; }
.app-alert-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; }
.app-alert-icon svg { width: 17px; height: 17px; }
.app-alert-success { color: #126a49; background: var(--green-100); border-color: #bdebd7; }
.app-alert-success .app-alert-icon { background: #cef1df; }
.app-alert-warning { color: #805300; background: var(--amber-100); border-color: #f2dda6; }
.app-alert-warning .app-alert-icon { background: #f9e8b9; }
.app-alert-danger { color: #9e2e3c; background: var(--red-100); border-color: #f0c4ca; }
.app-alert-danger .app-alert-icon { background: #f7d9dd; }
.app-alert.is-hiding { opacity: 0; transform: translateY(-8px); }

/* Dashboard */
.league-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
  padding: 6px;
  background: #e8edf3;
  border: 1px solid var(--slate-200);
  border-radius: 16px;
}
.league-tab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; color: var(--slate-600); background: transparent; border: 1px solid transparent; border-radius: 11px; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.league-tab:hover { transform: translateY(-1px); }
.league-tab span { font-size: 14px; font-weight: 800; }
.league-tab small { font-size: 10px; font-weight: 700; opacity: .72; }
.league-tab-main.is-active { color: #fff; background: linear-gradient(120deg, #006e9e, #00aff0); box-shadow: 0 7px 18px rgba(0,175,240,.28); }
.league-tab-rebuild.is-active { color: #fff; background: linear-gradient(120deg, #73400a, #d97706); box-shadow: 0 7px 18px rgba(217,119,6,.25); }
.league-tab:focus-visible { outline: 3px solid rgba(23,111,209,.28); outline-offset: 2px; }
.league-panel { --league-accent: #00a7e6; --league-soft: #e3f7ff; }
.league-panel-rebuild { --league-accent: #d97706; --league-soft: #fff3df; }
.league-panel[hidden] { display: none; }
.league-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 2px 14px; }
.league-panel-heading h3 { margin: 2px 0 0; color: var(--navy-900); font-size: 22px; font-weight: 800; letter-spacing: -.035em; }
.league-panel .eyebrow { color: var(--league-accent); }
.league-panel .metric-card { --metric-color: var(--league-accent); --metric-bg: var(--league-soft); }
.league-panel .metric-card-action { border-color: color-mix(in srgb, var(--league-accent) 35%, white); background: linear-gradient(145deg, #fff, var(--league-soft)); }
.league-panel .progress-ring { background: conic-gradient(var(--league-accent) calc(var(--progress) * 1%), #e7edf4 0); }
.league-panel .progress-bar-modern span { background: linear-gradient(90deg, var(--league-accent), color-mix(in srgb, var(--league-accent) 62%, white)); }
.league-panel .week-tile, .league-panel .team-avatar { background: var(--league-soft); color: var(--league-accent); }
.league-live-state { display: inline-flex; align-items: center; gap: 7px; color: var(--slate-600); font-size: 10px; font-weight: 700; }
.league-live-state > span { width: 8px; height: 8px; background: var(--league-accent); border-radius: 50%; box-shadow: 0 0 0 4px var(--league-soft); }
.reaction-legend { display: grid; gap: 10px; padding: 4px 18px 12px; }
.reaction-legend > div { display: flex; align-items: center; gap: 12px; padding: 11px; background: var(--slate-50); border: 1px solid var(--slate-150); border-radius: 11px; }
.reaction-legend > div > span:last-child { display: flex; flex-direction: column; }
.reaction-legend strong { color: var(--slate-800); font-size: 11px; }
.reaction-legend small { margin-top: 2px; color: var(--slate-500); font-size: 9px; }
.reaction-emoji { width: 34px; height: 34px; display: grid; place-items: center; font-size: 19px; background: #fff; border-radius: 9px; box-shadow: var(--shadow-sm); }
.reaction-note { margin: 0; padding: 0 18px 18px; color: var(--slate-500); font-size: 10px; line-height: 1.55; }
.dashboard-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 28px;
  min-height: 210px;
  margin-bottom: 22px;
  padding: 34px 36px;
  color: #fff;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 88% 18%, rgba(85,209,255,.34), transparent 24%),
    radial-gradient(circle at 72% 100%, rgba(0,175,240,.34), transparent 36%),
    linear-gradient(120deg, #041521, #00628e 62%, #00a7e6);
  box-shadow: var(--shadow-lg);
}
.dashboard-hero::after {
  content: '';
  position: absolute;
  right: -70px;
  bottom: -125px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(255,255,255,.025), 0 0 0 80px rgba(255,255,255,.018);
}
.hero-copy { position: relative; z-index: 1; max-width: 760px; }
.hero-brand-logo { width: 252px; height: 75px; margin-bottom: 18px; border-radius: 13px; box-shadow: 0 12px 28px rgba(0,0,0,.17); }
.hero-kicker { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; color: #a9c7e7; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.hero-kicker::before { content: ''; width: 24px; height: 2px; background: var(--gold-500); }
.dashboard-hero h2 { margin: 0; font-size: clamp(28px, 4vw, 44px); font-weight: 800; letter-spacing: -.055em; }
.dashboard-hero p { max-width: 690px; margin: 13px 0 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.7; }
.hero-actions { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 10px; min-width: 190px; }
.hero-actions .btn-outline-light { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.04); }
.hero-actions .btn-outline-light:hover { background: rgba(255,255,255,.1); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.metric-card {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  padding: 18px 19px;
  background: #fff;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.metric-card::after { content: ''; position: absolute; inset: auto 0 0 0; height: 3px; background: var(--metric-color, var(--blue-500)); }
.metric-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.metric-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--metric-color, var(--blue-600)); background: var(--metric-bg, var(--blue-100)); border-radius: 11px; }
.metric-icon svg { width: 19px; height: 19px; }
.metric-trend { color: var(--slate-500); font-size: 10px; font-weight: 700; }
.metric-value { display: block; margin-top: 12px; color: var(--navy-900); font-size: 28px; line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.metric-label { display: block; margin-top: 6px; color: var(--slate-600); font-size: 11px; font-weight: 600; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.75fr); gap: 20px; }
.progress-panel { padding: 20px; }
.week-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.week-number { color: var(--blue-600); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.progress-ring {
  --progress: 0;
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--blue-500) calc(var(--progress) * 1%), #e7edf4 0);
}
.progress-ring::before { content: ''; position: absolute; width: 54px; height: 54px; border-radius: 50%; background: #fff; }
.progress-ring { position: relative; }
.progress-ring strong { position: relative; z-index: 1; color: var(--navy-900); font-size: 15px; }
.progress-bar-modern { height: 8px; overflow: hidden; margin-top: 18px; background: #e9eef4; border-radius: 999px; }
.progress-bar-modern span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue-600), #39a0f6); }
.week-status-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 18px; }
.week-status-item { padding: 12px; text-align: center; background: var(--slate-50); border: 1px solid var(--slate-150); border-radius: 11px; }
.week-status-item strong { display: block; color: var(--navy-900); font-size: 17px; }
.week-status-item span { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.setup-checklist { display: grid; gap: 10px; padding: 18px; }
.setup-item { display: flex; align-items: center; gap: 11px; padding: 11px 12px; background: var(--slate-50); border: 1px solid var(--slate-150); border-radius: 11px; }
.setup-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; }
.setup-icon svg { width: 15px; height: 15px; }
.setup-item.is-complete .setup-icon { color: var(--green-600); background: var(--green-100); }
.setup-item.is-pending .setup-icon { color: var(--amber-700); background: var(--amber-100); }
.setup-item span { display: flex; flex-direction: column; }
.setup-item strong { color: var(--slate-800); font-size: 11px; }
.setup-item small { margin-top: 2px; color: var(--slate-500); font-size: 9px; }
.quick-link { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; color: var(--slate-700); border-bottom: 1px solid var(--slate-150); text-decoration: none; font-size: 11px; font-weight: 700; }
.quick-link:last-child { border-bottom: 0; }
.quick-link svg { width: 15px; height: 15px; color: var(--blue-600); }
.quick-link:hover { color: var(--blue-600); }
.audit-list { max-height: 400px; overflow-y: auto; }
.audit-item { position: relative; padding: 13px 0 13px 24px; border-bottom: 1px solid var(--slate-150); }
.audit-item:last-child { border-bottom: 0; }
.audit-item::before { content: ''; position: absolute; left: 4px; top: 19px; width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 2px #cfe4f8; }
.audit-item strong { display: block; color: var(--slate-800); font-size: 11px; }
.audit-item span { display: block; margin-top: 3px; color: var(--slate-600); font-size: 10px; }
.audit-item small { display: block; margin-top: 4px; color: var(--slate-500); font-size: 9px; }

/* Tables */
.table-responsive { scrollbar-width: thin; }
.table { margin: 0; }
.table > :not(caption) > * > * { padding: 14px 18px; border-bottom-color: var(--slate-150); vertical-align: middle; }
.table thead th { color: var(--slate-500); background: #fbfcfe; border-bottom-width: 1px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.table tbody tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: #fbfdff; }
.team-cell { display: flex; align-items: center; gap: 11px; }
.team-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  color: var(--blue-600);
  background: var(--blue-100);
  border-radius: 11px;
  font-size: 11px;
  font-weight: 800;
}
.team-cell strong { display: block; color: var(--slate-900); font-size: 12px; }
.team-cell small { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.user-cell strong { color: var(--slate-800); font-size: 11px; }
.user-cell code { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.table-actions { display: flex; justify-content: flex-end; gap: 6px; }
.action-icon { width: 32px; min-height: 32px; padding: 0; }
.action-icon svg { width: 14px; height: 14px; }
.empty-state { padding: 48px 28px !important; text-align: center; color: var(--slate-500); }
.empty-state-icon { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 12px; color: var(--blue-600); background: var(--blue-100); border-radius: 16px; }
.empty-state-icon svg { width: 26px; height: 26px; }
.empty-state strong { display: block; color: var(--slate-800); font-size: 13px; }
.empty-state span { display: block; max-width: 420px; margin: 5px auto 0; font-size: 11px; line-height: 1.6; }

/* Status */
.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .055em;
  white-space: nowrap;
}
.status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-needs-scheduling { color: var(--amber-700); background: var(--amber-100); }
.status-confirmed { color: #126e9e; background: #e3f5ff; }
.status-completed { color: var(--green-600); background: var(--green-100); }
.status-extension { color: var(--purple-600); background: var(--purple-100); }
.status-forfeit { color: #a2232f; background: #fde8ea; }
.status-unpublished { color: var(--slate-600); background: var(--slate-100); }
.connection-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--green-600); font-size: 10px; font-weight: 700; }
.connection-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #32c884; box-shadow: 0 0 0 3px rgba(50,200,132,.12); }
.connection-badge.is-offline { color: var(--slate-500); }
.connection-badge.is-offline::before { background: var(--slate-400); box-shadow: none; }

/* Virtual bankroll */
.bankroll-season-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; color: #0878a8; background: #e8f8ff; border: 1px solid #b9e8fb; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.bankroll-season-badge > span { width: 7px; height: 7px; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 3px rgba(0,174,239,.14); }
.bankroll-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 20px; align-items: start; }
.bankroll-adjust-card { position: sticky; top: calc(var(--topbar-height) + 20px); }
.bankroll-rank { width: 36px; height: 36px; display: inline-grid; place-items: center; color: var(--slate-600); background: var(--slate-100); border-radius: 11px; font-size: 11px; font-weight: 800; }
.bankroll-rank.rank-1 { color: #885e00; background: #fff1b9; box-shadow: inset 0 0 0 1px #f4d66a; }
.bankroll-rank.rank-2 { color: #566170; background: #edf1f5; box-shadow: inset 0 0 0 1px #d3dae2; }
.bankroll-rank.rank-3 { color: #8a4b22; background: #f8dfcf; box-shadow: inset 0 0 0 1px #e9c2a9; }
.user-cell small { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.bankroll-teams { display: block; max-width: 280px; color: var(--slate-600); font-size: 10px; line-height: 1.55; }
.bankroll-balance { display: block; color: var(--navy-900); font-size: 15px; }
.bankroll-net { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.bankroll-net.is-positive, .transaction-amount.is-positive { color: var(--green-600); }
.bankroll-net.is-negative, .transaction-amount.is-negative { color: var(--red-600); }
.virtual-funds-note { margin: 12px 0 0; color: var(--slate-500); font-size: 9px; line-height: 1.55; text-align: center; }
.transaction-type { display: inline-flex; padding: 5px 8px; color: #0878a8; background: #e8f8ff; border-radius: 999px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.transaction-amount { font-size: 12px; white-space: nowrap; }
.member-bankroll-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.member-bankroll-overview article { min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--slate-200); border-radius: 16px; box-shadow: var(--shadow-sm); }
.member-bankroll-overview .member-bankroll-primary { color: #fff; background: linear-gradient(135deg,#071a33,#087fab); border-color: #087fab; }
.member-bankroll-overview span,.member-bankroll-overview small { display: block; color: var(--slate-500); font-size: 8px; }
.member-bankroll-overview span { font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.member-bankroll-overview strong { display: block; margin: 6px 0 4px; color: var(--navy-900); font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.member-bankroll-overview small { overflow: hidden; line-height: 1.45; text-overflow: ellipsis; }
.member-bankroll-overview .member-bankroll-primary span,.member-bankroll-overview .member-bankroll-primary small { color: #a9d4ea; }
.member-bankroll-overview .member-bankroll-primary strong { color: #fff; }
.member-bankroll-chart-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 20px; }
.member-balance-chart-wrap { position: relative; padding: 6px 22px 20px 52px; }
.member-balance-chart { width: 100%; height: auto; overflow: visible; }
.member-chart-gridline { stroke: #dfe7ee; stroke-width: 1; stroke-dasharray: 5 6; }
.member-chart-line { fill: none; stroke: #00aeef; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 4px 5px rgba(0,126,178,.22)); }
.member-chart-point { fill: #fff; stroke: #087fab; stroke-width: 4; }
.member-chart-axis { position: absolute; top: 15px; bottom: 42px; left: 12px; display: flex; justify-content: space-between; flex-direction: column; color: var(--slate-500); font-size: 7px; }
.member-chart-dates { display: flex; justify-content: space-between; color: var(--slate-500); font-size: 8px; }
.member-chart-dates strong { color: var(--navy-900); }
.member-results-chart-card { display: flex; flex-direction: column; }
.member-win-ring { --win-rate: 0; width: 150px; height: 150px; display: grid; place-items: center; margin: 10px auto 24px; background: conic-gradient(#24a56f calc(var(--win-rate) * 1%),#e6edf2 0); border-radius: 50%; }
.member-win-ring::before { content: ''; grid-area: 1/1; width: 112px; height: 112px; background: #fff; border-radius: 50%; }
.member-win-ring > div { z-index: 1; grid-area: 1/1; text-align: center; }
.member-win-ring strong,.member-win-ring span { display: block; }
.member-win-ring strong { color: var(--navy-900); font-size: 28px; letter-spacing: -.04em; }
.member-win-ring span { color: var(--slate-500); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.member-result-bars { display: grid; gap: 15px; padding: 0 20px 18px; }
.member-result-bars > div > span { display: flex; justify-content: space-between; gap: 10px; color: var(--slate-700); font-size: 9px; }
.member-result-bars em { color: var(--green-600); font-style: normal; font-weight: 800; }
.member-result-bars i { height: 8px; display: block; overflow: hidden; margin-top: 7px; background: var(--slate-100); border-radius: 999px; }
.member-result-bars b { height: 100%; display: block; background: var(--green-600); border-radius: inherit; }
.member-result-bars .is-loss em { color: var(--red-600); }
.member-result-bars .is-loss b { background: var(--red-600); }
.member-wager-history td { font-size: 9px; }
.member-ledger-list { padding: 0 20px 20px; }
.member-ledger-list article { display: grid; grid-template-columns: 75px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--slate-150); }
.member-ledger-list article:first-child { border-top: 0; }
.member-ledger-date { color: var(--slate-500); font-size: 8px; }
.member-ledger-list strong,.member-ledger-list small { display: block; }
.member-ledger-list strong { color: var(--navy-900); font-size: 9px; }
.member-ledger-list small { margin-top: 3px; color: var(--slate-500); font-size: 7px; text-transform: capitalize; }
.member-ledger-list b { font-size: 11px; white-space: nowrap; }

/* Dynasty magazine */
.magazine-public-body { min-height: 100vh; background: linear-gradient(180deg,#061427 0,#0b2947 360px,var(--slate-100) 360px); }
.magazine-public-bar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px max(24px,calc((100vw - 1180px)/2)); background: rgba(6,20,39,.94); border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(16px); }
.magazine-public-brand { display: flex; align-items: center; gap: 14px; color: #fff; text-decoration: none; }
.magazine-public-brand:hover { color: #fff; }
.magazine-public-brand img { width: 130px; height: 44px; object-fit: contain; background: #fff; border-radius: 8px; }
.magazine-public-brand strong, .magazine-public-brand small { display: block; }
.magazine-public-brand strong { font-size: 13px; }
.magazine-public-brand small { margin-top: 2px; color: #9fc2dc; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.magazine-public-shell { width: min(1040px,calc(100% - 40px)); margin: 42px auto 60px; }
.magazine-public-footer { padding: 24px; color: var(--slate-500); font-size: 9px; text-align: center; text-transform: uppercase; letter-spacing: .09em; }
.magazine-studio-layout { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 22px; align-items: start; }
.magazine-studio-sidebar { display: grid; gap: 18px; position: sticky; top: calc(var(--topbar-height) + 20px); }
.magazine-ai-state { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 10px; color: var(--slate-600); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.magazine-ai-state > span { width: 9px; height: 9px; flex: 0 0 9px; background: var(--amber-500); border-radius: 50%; box-shadow: 0 0 0 3px rgba(231,161,52,.14); }
.magazine-ai-state.is-ready > span { background: var(--green-600); box-shadow: 0 0 0 3px rgba(36,165,111,.14); }
.magazine-ai-state strong, .magazine-ai-state small { display: block; }
.magazine-ai-state strong { color: var(--slate-800); font-size: 10px; }
.magazine-ai-state small { margin-top: 2px; font-size: 8px; }
.magazine-archive-list { max-height: 390px; overflow-y: auto; padding: 8px; }
.magazine-archive-item { display: flex; flex-direction: column; padding: 11px 12px; color: inherit; border-radius: 10px; text-decoration: none; }
.magazine-archive-item:hover, .magazine-archive-item.is-active { color: inherit; background: #eef9fe; }
.magazine-archive-item span { color: var(--blue-600); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.magazine-archive-item strong { margin-top: 3px; color: var(--navy-900); font-size: 11px; }
.magazine-archive-item small { margin-top: 3px; color: var(--slate-500); font-size: 8px; }
.magazine-reader { min-width: 0; }
.magazine-empty-cover { min-height: 620px; display: grid; place-items: center; align-content: center; padding: 60px; text-align: center; background: linear-gradient(150deg, #07192d, #123e68); border-radius: 20px; box-shadow: var(--shadow-lg); }
.magazine-empty-cover img { width: min(380px,80%); border-radius: 15px; }
.magazine-empty-cover > span { margin-top: 24px; color: var(--gold-400); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .24em; }
.magazine-empty-cover h3 { margin: 12px 0 0; color: #fff; font-size: 34px; font-weight: 800; letter-spacing: -.04em; }
.magazine-empty-cover p { max-width: 520px; margin: 12px 0 0; color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.7; }
.magazine-issue { overflow: hidden; background: #fdfcf8; border: 1px solid #d8d5ca; border-radius: 20px; box-shadow: 0 24px 60px rgba(8,29,52,.13); }
.magazine-sheet + .magazine-sheet { border-top: 10px solid var(--slate-150); }
.magazine-cover { min-height: 610px; display: flex; flex-direction: column; padding: 28px 34px 26px; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(0,174,239,.32), transparent 32%), linear-gradient(145deg, #061729, #0d355a 62%, #087fab); }
.magazine-masthead { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 3px solid rgba(255,255,255,.9); }
.magazine-masthead img { width: 210px; height: 62px; object-fit: contain; background: #fff; border-radius: 10px; }
.magazine-masthead strong { font-size: clamp(18px,2.2vw,30px); font-weight: 900; letter-spacing: -.035em; }
.magazine-cover-meta { display: flex; justify-content: space-between; gap: 14px; padding-top: 10px; color: #9fc2dc; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.magazine-cover-feature { display: grid; grid-template-columns: minmax(0,1fr) 190px; gap: 30px; align-items: end; margin-top: auto; }
.magazine-cover-feature.without-emblem { grid-template-columns: 1fr; }
.magazine-cover-copy { max-width: 760px; }
.magazine-cover-kicker { color: var(--gold-400); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .16em; }
.magazine-cover-copy h1 { max-width: 820px; margin: 10px 0 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(42px,6.4vw,82px); line-height: .92; font-weight: 800; letter-spacing: -.055em; }
.magazine-cover-copy h2 { margin: 18px 0 0; color: #8ddcff; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.magazine-cover-copy p { max-width: 680px; margin: 10px 0 0; color: rgba(255,255,255,.76); font-family: Georgia, 'Times New Roman', serif; font-size: 14px; line-height: 1.65; }
.magazine-team-emblem { min-width: 0; padding: 12px; text-align: center; background: rgba(4,19,36,.58); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 18px 38px rgba(0,0,0,.24); backdrop-filter: blur(8px); }
.magazine-team-emblem-art { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg,#0b2947,#00aeef); border: 2px solid rgba(255,255,255,.74); border-radius: 14px; }
.magazine-team-emblem-art img { width: 100%; height: 100%; object-fit: cover; }
.magazine-team-emblem-art > span { color: #fff; font-family: Georgia, 'Times New Roman', serif; font-size: 54px; font-weight: 900; letter-spacing: -.08em; text-shadow: 0 4px 14px rgba(0,0,0,.35); }
.magazine-team-emblem small, .magazine-team-emblem strong, .magazine-team-emblem > span { display: block; }
.magazine-team-emblem small { margin-top: 10px; color: var(--gold-400); font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.magazine-team-emblem strong { margin-top: 3px; font-size: 12px; line-height: 1.25; }
.magazine-team-emblem > span { margin-top: 3px; color: #9fc2dc; font-size: 7px; line-height: 1.4; }
.magazine-cover-editorial { position: relative; isolation: isolate; min-height: 820px; overflow: hidden; padding: 22px 30px 20px; color: #fff; background: radial-gradient(circle at 55% 45%,#174f77 0,#0a243e 38%,#040c15 100%); }
.magazine-cover-background { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.magazine-cover-background.is-legacy { object-position: center; filter: saturate(.8) contrast(1.08); transform: scale(1.08); }
.magazine-cover-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg,rgba(0,0,0,.82) 0,rgba(0,0,0,.18) 27%,rgba(0,0,0,.06) 52%,rgba(0,0,0,.88) 100%), linear-gradient(90deg,rgba(0,0,0,.48),transparent 46%,rgba(0,0,0,.2)); }
.magazine-cover-initials { position: absolute; inset: 18% 0 auto; z-index: -1; color: rgba(85,209,255,.16); font-family: Impact,'Arial Black',sans-serif; font-size: clamp(170px,32vw,360px); line-height: 1; text-align: center; letter-spacing: -.09em; }
.magazine-cover-uploaded-logo { position: absolute; top: 19%; left: 50%; z-index: -1; width: min(48%,390px); aspect-ratio: 1; object-fit: contain; opacity: .45; filter: drop-shadow(0 24px 34px rgba(0,0,0,.45)); transform: translateX(-50%); }
.magazine-editorial-masthead { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 18px; padding: 0 2px 10px; border-bottom: 5px solid #fff; font-family: Impact,'Arial Black',sans-serif; text-transform: uppercase; letter-spacing: .08em; text-shadow: 0 3px 12px rgba(0,0,0,.55); }
.magazine-editorial-masthead span { padding-bottom: 6px; font-size: clamp(11px,1.5vw,17px); }
.magazine-editorial-masthead span:last-child { text-align: right; }
.magazine-editorial-masthead strong { color: #15baf5; font-size: clamp(42px,7vw,78px); line-height: .76; letter-spacing: -.025em; }
.magazine-logo-masthead { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.magazine-masthead-logo { position: relative; width: min(46%,310px); height: 74px; display: block; overflow: hidden; background: #fff; border-radius: 14px; box-shadow: 0 5px 20px rgba(0,0,0,.3); }
.magazine-masthead-logo img { position: absolute; top: 50%; left: 0; width: 100%; height: auto; transform: translateY(-50%); }
.magazine-logo-masthead strong { color: #fff; font-size: clamp(27px,5vw,54px); line-height: 1; text-shadow: 0 4px 14px rgba(0,0,0,.65); }
.magazine-cover-editorial .magazine-cover-meta { position: relative; padding: 9px 2px 0; color: rgba(255,255,255,.78); text-shadow: 0 2px 8px rgba(0,0,0,.7); }
.magazine-editorial-headline { position: relative; max-width: 100%; padding-top: 13px; }
.magazine-editorial-headline .magazine-cover-kicker { display: inline-block; padding: 5px 8px; color: #04111d; background: #55d1ff; font-size: 8px; letter-spacing: .14em; text-shadow: none; }
.magazine-editorial-headline h1 { max-width: 940px; margin: 8px 0 0; font-family: Impact,'Arial Black',sans-serif; font-size: clamp(48px,7.5vw,88px); line-height: .94; font-weight: 900; text-transform: uppercase; letter-spacing: -.018em; overflow-wrap: break-word; text-wrap: pretty; text-shadow: 0 4px 18px rgba(0,0,0,.72); }
.magazine-editorial-headline h1.is-long { max-width: 900px; font-size: clamp(40px,6vw,68px); line-height: .98; letter-spacing: -.01em; }
.magazine-editorial-headline h1.is-very-long { max-width: 860px; font-size: clamp(34px,5vw,55px); line-height: 1.02; letter-spacing: 0; }
.magazine-editorial-headline h2 { max-width: 620px; margin: 12px 0 0; color: #fff; font-size: clamp(13px,1.8vw,20px); line-height: 1.1; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 3px 12px rgba(0,0,0,.85); }
.magazine-editorial-bottom { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,280px); gap: 28px; align-items: end; margin-top: auto; }
.magazine-cover-summary { max-width: 650px; }
.magazine-cover-team { display: inline-flex; align-items: baseline; gap: 10px; padding: 7px 10px; color: #04111d; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.magazine-cover-team > img { width: 34px; height: 34px; align-self: center; object-fit: cover; border-radius: 7px; }
.magazine-cover-team > span { display: block; }
.magazine-cover-team strong { font-size: 11px; text-transform: uppercase; }
.magazine-cover-team small { color: #42536a; font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }
.magazine-cover-summary p { max-width: 620px; margin: 10px 0 0; color: rgba(255,255,255,.92); font-family: Georgia,'Times New Roman',serif; font-size: 13px; line-height: 1.5; text-shadow: 0 2px 8px rgba(0,0,0,.85); }
.magazine-cover-lines { display: grid; gap: 14px; }
.magazine-cover-lines > div { padding-left: 11px; border-left: 4px solid #15baf5; text-shadow: 0 2px 9px rgba(0,0,0,.9); }
.magazine-cover-lines span, .magazine-cover-lines strong { display: block; }
.magazine-cover-lines span { color: #55d1ff; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.magazine-cover-lines strong { margin-top: 3px; font-size: 11px; line-height: 1.15; text-transform: uppercase; }
.magazine-cover-editorial .magazine-cover-footer { position: relative; color: rgba(255,255,255,.62); border-top-color: rgba(255,255,255,.28); text-shadow: 0 2px 6px rgba(0,0,0,.8); }
.magazine-cover-footer { display: flex; justify-content: space-between; gap: 14px; margin-top: 32px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.16); color: #8fb0ca; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.magazine-generation-note { display: flex; gap: 12px; padding: 12px 22px; color: #76520b; background: #fff7dd; border-bottom: 1px solid #ecd99b; font-size: 9px; }
.magazine-generation-note strong { white-space: nowrap; text-transform: uppercase; letter-spacing: .08em; }
.magazine-source-strip { display: grid; grid-template-columns: repeat(6,1fr); background: #fff; border-bottom: 1px solid #dedbd1; }
.magazine-source-strip > div { padding: 15px; text-align: center; border-right: 1px solid #ece9e0; }
.magazine-source-strip > div:last-child { border-right: 0; }
.magazine-source-strip strong { display: block; color: var(--navy-900); font-family: Georgia, 'Times New Roman', serif; font-size: 21px; }
.magazine-source-strip span { color: var(--slate-500); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.magazine-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 34px; padding: 36px; }
.magazine-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 30px; }
.magazine-story { padding-top: 14px; border-top: 4px solid var(--navy-900); }
.magazine-story-lead { grid-column: 1 / -1; }
.magazine-story > span { color: var(--blue-600); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.magazine-story h3 { margin: 7px 0 0; color: #101820; font-family: Georgia, 'Times New Roman', serif; font-size: 25px; line-height: 1.08; font-weight: 800; letter-spacing: -.025em; }
.magazine-story-lead h3 { font-size: 34px; }
.magazine-story h4 { margin: 8px 0 0; color: var(--slate-600); font-size: 10px; line-height: 1.55; font-weight: 700; }
.magazine-story p { margin: 13px 0 0; color: #343a40; font-family: Georgia, 'Times New Roman', serif; font-size: 13px; line-height: 1.75; }
.magazine-story-lead p:first-of-type::first-letter { float: left; margin: 5px 7px 0 0; color: var(--blue-600); font-size: 48px; line-height: .75; font-weight: 800; }
.magazine-rankings { align-self: start; padding: 21px; color: #fff; background: var(--navy-900); border-radius: 14px; }
.magazine-rankings h3 { margin: 3px 0 16px; font-family: Georgia, 'Times New Roman', serif; font-size: 23px; }
.magazine-ranking-row { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.1); }
.magazine-ranking-row.has-logo { grid-template-columns: 28px 34px minmax(0,1fr); }
.magazine-ranking-row > img { width: 34px; height: 34px; object-fit: cover; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; }
.magazine-ranking-row > b { color: #55cef7; font-family: Georgia, 'Times New Roman', serif; font-size: 20px; }
.magazine-ranking-row strong, .magazine-ranking-row span, .magazine-ranking-row small { display: block; }
.magazine-ranking-row strong { font-size: 11px; }
.magazine-ranking-row span { margin-top: 2px; color: #9cb4ca; font-size: 8px; }
.magazine-ranking-row small { margin-top: 4px; color: #718da7; font-size: 8px; line-height: 1.45; }
.magazine-issue-footer { display: grid; grid-template-columns: 110px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 20px 36px; color: #718092; background: #f2f0e9; border-top: 1px solid #dedbd1; }
.magazine-issue-footer img { width: 110px; border-radius: 7px; }
.magazine-issue-footer p { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 10px; line-height: 1.55; }
.magazine-issue-footer > span { font-size: 8px; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.magazine-honors-fields { padding: 11px 12px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 10px; }
.magazine-honors-fields summary { color: var(--navy-900); font-size: 9px; font-weight: 800; cursor: pointer; }
.magazine-honors-page { min-height: 820px; padding: 30px 36px; color: #fff; background: radial-gradient(circle at 80% 16%,rgba(255,214,101,.24),transparent 28%),linear-gradient(145deg,#071729,#123e68 62%,#087fab); }
.magazine-honors-masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 5px solid #ffd665; }
.magazine-honors-masthead > div { text-align: right; }
.magazine-honors-masthead > div span,.magazine-honors-masthead > div strong,.magazine-honors-masthead > div small { display: block; }
.magazine-honors-masthead > div span { color: #ffd665; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.magazine-honors-masthead > div strong { margin-top: 3px; font-family: Georgia,'Times New Roman',serif; font-size: 28px; }
.magazine-honors-masthead > div small { margin-top: 3px; color: #aacbe0; font-size: 8px; }
.magazine-honors-intro { max-width: 700px; margin: 58px 0 36px; }
.magazine-honors-intro .eyebrow { color: #ffd665; }
.magazine-honors-intro h2 { margin: 8px 0 0; font-family: Georgia,'Times New Roman',serif; font-size: clamp(34px,5vw,58px); line-height: 1; letter-spacing: -.04em; }
.magazine-honors-intro p { max-width: 600px; margin: 15px 0 0; color: #b9d1e2; font-family: Georgia,'Times New Roman',serif; font-size: 13px; line-height: 1.7; }
.magazine-honors-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.magazine-honors-grid article { min-height: 280px; padding: 28px; border-radius: 18px; box-shadow: 0 18px 38px rgba(0,0,0,.2); }
.magazine-honors-grid article > span { font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.magazine-honors-grid h3 { margin: 14px 0 0; font-family: Georgia,'Times New Roman',serif; font-size: 29px; line-height: 1.05; }
.magazine-honors-grid strong { display: block; margin-top: 20px; font-size: 15px; }
.magazine-honors-grid p { margin: 15px 0 0; font-family: Georgia,'Times New Roman',serif; font-size: 13px; line-height: 1.7; }
.magazine-honor-award { color: #192334; background: linear-gradient(145deg,#fff8dc,#ffd665); }
.magazine-honor-award > span { color: #866207; }
.magazine-honor-shoutout { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.24); backdrop-filter: blur(10px); }
.magazine-honor-shoutout > span { color: #68d6ff; }
.magazine-honors-footer { display: flex; justify-content: space-between; margin-top: 50px; padding-top: 14px; color: #8fb0ca; border-top: 1px solid rgba(255,255,255,.2); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.magazine-recruiting-page { min-height: 820px; padding: 30px 36px; color: var(--navy-900); background: linear-gradient(150deg,#fff 0,#f6f3e9 100%); }
.magazine-recruiting-masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 17px 20px; color: #fff; background: linear-gradient(135deg,#061729,#0d416b); border-bottom: 6px solid #18b8ef; }
.magazine-recruiting-masthead .magazine-masthead-logo { width: 230px; height: 62px; flex: 0 0 230px; }
.magazine-recruiting-masthead > div { text-align: right; }
.magazine-recruiting-masthead > div span,.magazine-recruiting-masthead > div strong,.magazine-recruiting-masthead > div small { display: block; }
.magazine-recruiting-masthead > div span { color: #65d6ff; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.magazine-recruiting-masthead > div strong { margin-top: 3px; font-family: Georgia,'Times New Roman',serif; font-size: 23px; }
.magazine-recruiting-masthead > div small { margin-top: 3px; color: #aac5da; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.magazine-recruiting-intro { padding: 28px 0 20px; border-bottom: 1px solid #d8d5ca; }
.magazine-recruiting-intro h2 { margin: 4px 0 6px; font-family: Georgia,'Times New Roman',serif; font-size: 33px; letter-spacing: -.035em; }
.magazine-recruiting-intro p { margin: 0; color: var(--slate-600); font-family: Georgia,'Times New Roman',serif; font-size: 12px; }
.magazine-recruiting-ranking-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.magazine-recruiting-rank-row { display: grid; grid-template-columns: 45px 46px minmax(0,1fr); gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid #dedbd1; }
.magazine-recruiting-rank-row > b { color: #0785b7; font-family: Georgia,'Times New Roman',serif; font-size: 29px; text-align: center; }
.magazine-recruiting-rank-row > img,.magazine-recruiting-fallback { width: 46px; height: 46px; object-fit: cover; border-radius: 11px; }
.magazine-recruiting-fallback { display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#0b2947,#00aeef); font-size: 11px; font-weight: 900; }
.magazine-recruiting-rank-row strong,.magazine-recruiting-rank-row span,.magazine-recruiting-rank-row small { display: block; }
.magazine-recruiting-rank-row strong { font-size: 11px; }
.magazine-recruiting-rank-row span { margin-top: 2px; color: var(--slate-500); font-size: 8px; }
.magazine-recruiting-rank-row small { margin-top: 4px; color: var(--slate-700); font-family: Georgia,'Times New Roman',serif; font-size: 9px; line-height: 1.45; }
.magazine-recruiting-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 26px; padding-top: 12px; color: var(--slate-500); border-top: 3px solid var(--navy-900); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.magazine-reader-controls { position: sticky; bottom: 18px; z-index: 30; width: min(620px,calc(100% - 28px)); display: grid; grid-template-columns: 1fr minmax(150px,auto) 1fr; gap: 14px; align-items: center; margin: -34px auto 0; padding: 12px; background: rgba(6,20,39,.95); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; box-shadow: 0 15px 38px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
.magazine-reader-controls button:last-child { justify-self: end; }
.magazine-reader-position { color: #fff; text-align: center; }
.magazine-reader-position strong,.magazine-reader-position small { display: block; }
.magazine-reader-position strong { font-size: 10px; }
.magazine-reader-position small { margin-top: 2px; color: #90abc5; font-size: 8px; }
.magazine-reader-hint { margin: 13px auto 24px; color: #8ca1b7; font-size: 8px; text-align: center; }
.magazine-public-shell.is-flipbook { perspective: 2400px; }
.magazine-public-shell.is-flipbook .magazine-issue { position: relative; min-height: var(--magazine-reader-height,820px); overflow: visible; background: transparent; border: 0; border-radius: 20px; box-shadow: none; transition: min-height .25s ease; }
.magazine-public-shell.is-flipbook .magazine-sheet { overflow: hidden; background-color: #fdfcf8; border: 1px solid #d8d5ca; border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.3); backface-visibility: hidden; transform-style: preserve-3d; }
.magazine-public-shell.is-flipbook .magazine-sheet:not(:first-child) { display: none; }
.magazine-public-shell.is-flipbook.is-reader-ready .magazine-sheet { display: none; }
.magazine-public-shell.is-flipbook.is-reader-ready .magazine-sheet.is-active { display: block; position: relative; z-index: 2; }
.magazine-public-shell.is-flipbook.is-reader-ready .magazine-sheet.is-under-page { display: block; position: absolute; inset: 0 0 auto; z-index: 1; }
.magazine-public-shell.is-flipbook .magazine-sheet.is-flipping-next { display: block; z-index: 3; transform-origin: left center; animation: magazineFlipNext .72s cubic-bezier(.55,.08,.35,.98) forwards; }
.magazine-public-shell.is-flipbook .magazine-sheet.is-flipping-previous { display: block; z-index: 3; transform-origin: right center; animation: magazineFlipPrevious .72s cubic-bezier(.55,.08,.35,.98) forwards; }
@keyframes magazineFlipNext { 0% { transform: rotateY(0); filter: brightness(1); } 48% { filter: brightness(.72); } 100% { transform: rotateY(-178deg); filter: brightness(.45); } }
@keyframes magazineFlipPrevious { 0% { transform: rotateY(0); filter: brightness(1); } 48% { filter: brightness(.72); } 100% { transform: rotateY(178deg); filter: brightness(.45); } }

/* Games */
.summary-strip { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.summary-chip { padding: 13px 14px; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.summary-chip strong { display: block; color: var(--navy-900); font-size: 18px; }
.summary-chip span { display: block; margin-top: 4px; color: var(--slate-500); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.summary-chip-link { color: inherit; text-decoration: none; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.summary-chip-link:hover, .summary-chip-link.is-active { color: inherit; border-color: #d39a56; box-shadow: 0 7px 18px rgba(139,52,31,.12); transform: translateY(-1px); }
.forfeit-command-guide { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 12px 14px; color: var(--slate-600); background: #fff8f1; border: 1px solid #f2d2af; border-radius: 12px; font-size: 10px; }
.forfeit-command-guide strong { color: #8b341f; white-space: nowrap; }
.forfeit-command-guide code, .reaction-guide code { color: #8b341f; font-weight: 800; }
.filter-bar { display: grid; grid-template-columns: minmax(190px,1.5fr) repeat(3,minmax(130px,.65fr)) auto; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--slate-200); border-radius: 13px; box-shadow: var(--shadow-sm); }
.filter-bar .form-control, .filter-bar .form-select { min-height: 40px; }
.game-layout { display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 20px; margin-top: 20px; align-items: start; }
.sticky-panel { position: sticky; top: calc(var(--topbar-height) + 20px); }
.game-list { display: grid; gap: 13px; }
.game-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--slate-200);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.game-card:hover { transform: translateY(-1px); border-color: #c9d8e8; box-shadow: var(--shadow-md); }
.game-card-main { display: grid; grid-template-columns: 82px minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 18px; }
.week-tile {
  align-self: stretch;
  min-height: 92px;
  display: grid;
  place-items: center;
  align-content: center;
  color: #fff;
  background: linear-gradient(145deg, var(--navy-900), var(--navy-700));
  border-radius: 12px;
}
.week-tile span { color: #92aac6; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.week-tile strong { margin-top: 2px; font-size: 27px; line-height: 1; }
.matchup-copy { min-width: 0; }
.matchup-league { color: var(--blue-600); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.matchup-title { margin: 5px 0 5px; color: var(--navy-900); font-size: 17px; font-weight: 800; letter-spacing: -.03em; }
.matchup-title em { margin: 0 7px; color: var(--slate-400); font-size: 10px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.matchup-users { color: var(--slate-600); font-size: 10px; }
.final-score-board { width: min(430px, 100%); display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; margin-top: 11px; padding: 10px 12px; color: var(--navy-900); background: #f4f8fc; border: 1px solid #d8e3ef; border-radius: 10px; }
.final-score-board > span { min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 10px; }
.final-score-board > span:last-child { text-align: right; }
.final-score-board small { grid-column: 1 / -1; color: var(--slate-500); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.final-score-board strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.final-score-board b { grid-row: 2; font-size: 22px; line-height: 1; }
.final-score-board em { color: var(--slate-500); font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.score-entry-heading { display: flex; flex-direction: column; padding-top: 6px; border-top: 1px solid var(--slate-150); }
.score-entry-heading strong { color: var(--navy-900); font-size: 13px; }
.score-entry-heading small { margin-top: 2px; color: var(--slate-500); font-size: 10px; }
.table-final-score { color: var(--navy-700) !important; font-weight: 800; }
.table-projection { color: var(--purple-600) !important; font-weight: 800; }
.stat-positive { color: var(--green-600) !important; font-weight: 800; }
.stat-negative { color: #a2232f !important; font-weight: 800; }
.game-line-card { width: min(560px, 100%); display: grid; grid-template-columns: minmax(120px,.8fr) minmax(190px,1.4fr); gap: 10px 18px; margin-top: 11px; padding: 12px 14px; color: #2e1f52; background: linear-gradient(135deg, #f7f3ff, #eef5ff); border: 1px solid #d8cdf3; border-radius: 11px; }
.game-line-card > div:first-child { display: flex; flex-direction: column; }
.game-line-card > div:first-child strong { margin-top: 2px; color: #3f2872; font-size: 15px; }
.game-line-card > div:first-child small { margin-top: 2px; color: var(--slate-600); font-size: 9px; font-weight: 700; }
.projected-score { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 8px; }
.projected-score span { overflow: hidden; color: var(--slate-700); font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.projected-score span:last-child { text-align: right; }
.projected-score b { color: #3f2872; font-size: 18px; }
.projected-score em { color: var(--slate-500); font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.projection-records { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 16px; padding-top: 8px; border-top: 1px solid rgba(95,70,145,.16); color: var(--slate-600); font-size: 9px; }
.projection-records small { margin-left: auto; color: var(--slate-500); }
.line-wager-button { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding: 9px 10px; color: #0878a8; text-align: left; background: rgba(255,255,255,.7); border: 1px solid #b9e8fb; border-radius: 9px; }
.line-wager-button:hover { background: #fff; border-color: var(--blue-500); }
.line-wager-button strong { min-width: 25px; height: 25px; display: grid; place-items: center; color: #fff; background: var(--blue-500); border-radius: 8px; font-size: 10px; }
.line-wager-button span { font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.action-count { min-width: 18px; height: 18px; display: inline-grid; place-items: center; margin-left: 4px; color: #0878a8; background: #e8f8ff; border-radius: 6px; font-size: 8px; }
.wager-modal-body { display: grid; gap: 18px; }
.saved-line-banner { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--navy-900), #123d67); border-radius: 13px; }
.saved-line-banner > div { padding: 14px 16px; border-right: 1px solid rgba(255,255,255,.1); }
.saved-line-banner > div:last-child { border-right: 0; }
.saved-line-banner span { display: block; color: #8fb2d1; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.saved-line-banner strong { display: block; margin-top: 4px; font-size: 14px; }
.wager-entry-form { display: grid; grid-template-columns: minmax(170px,1.1fr) minmax(190px,1.25fr) minmax(120px,.65fr) auto; gap: 10px; align-items: end; padding: 16px; background: #f7fbfe; border: 1px solid #cfeaf7; border-radius: 13px; }
.wager-entry-form > small { grid-column: 1 / -1; color: var(--slate-500); font-size: 9px; }
.wager-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
.wager-list-heading h4 { margin: 1px 0 0; color: var(--navy-900); font-size: 14px; font-weight: 800; }
.wager-list { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 12px; }
.wager-row { display: grid; grid-template-columns: minmax(160px,1fr) auto minmax(100px,.55fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--slate-150); }
.wager-row:last-child { border-bottom: 0; }
.wager-user strong, .wager-money strong { display: block; color: var(--slate-800); font-size: 11px; }
.wager-user small, .wager-money small { display: block; margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.wager-money { text-align: right; }
.wager-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.wager-status-open { color: #0878a8; background: #e8f8ff; }
.wager-status-won { color: var(--green-600); background: var(--green-100); }
.wager-status-lost { color: var(--red-600); background: var(--red-100); }
.wager-status-push { color: var(--amber-700); background: var(--amber-100); }
.wager-status-void { color: var(--slate-600); background: var(--slate-100); }
.wager-empty { padding: 24px; color: var(--slate-500); text-align: center; font-size: 10px; }
.game-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.meta-chip { display: inline-flex; align-items: center; gap: 6px; color: var(--slate-600); font-size: 10px; }
.meta-chip svg { width: 13px; height: 13px; color: var(--slate-500); }
.game-notes { margin-top: 10px; padding: 9px 10px; color: var(--slate-600); background: var(--slate-50); border-left: 3px solid var(--gold-500); border-radius: 0 8px 8px 0; font-size: 10px; line-height: 1.55; }
.game-summary { margin-top: 12px; padding: 14px 16px; background: #eef9fe; border-left: 4px solid var(--blue-500); border-radius: 10px; }
.game-summary p { margin: 5px 0 0; color: var(--slate-700); font-size: 11px; line-height: 1.6; white-space: pre-wrap; }
.custom-line-editor { margin: 18px 0; padding: 16px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 12px; }
.custom-line-editor h4 { margin: 3px 0 0; font-size: 14px; }
.custom-line-editor p { margin: 4px 0 12px; color: var(--slate-500); font-size: 9px; }
.custom-line-form { display: grid; grid-template-columns: minmax(150px,1.4fr) minmax(100px,.7fr) minmax(110px,.8fr) auto; gap: 10px; align-items: end; }
@media (max-width: 767px) { .custom-line-form { grid-template-columns: 1fr 1fr; } .custom-line-form > div:first-of-type, .custom-line-form .btn { grid-column: 1 / -1; } }
.forfeit-result { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; padding: 10px 12px; color: #7f1d1d; background: #fff1f2; border: 1px solid #fecdd3; border-radius: 9px; font-size: 10px; }
.forfeit-table-result { color: #a2232f !important; font-weight: 700; }
.game-state { min-width: 135px; display: flex; align-items: flex-end; flex-direction: column; gap: 8px; }
.discord-state { display: inline-flex; align-items: center; gap: 6px; color: var(--slate-500); font-size: 9px; font-weight: 700; }
.discord-state svg { width: 14px; height: 14px; }
.discord-state.is-live { color: var(--green-600); }
.game-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 11px 18px; background: #fbfcfe; border-top: 1px solid var(--slate-150); }
.game-card-actions .form-select { width: auto; min-height: 34px; font-size: 10px; }
.game-card-actions .delete-action { margin-left: auto; }

/* Members */
.directory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--slate-150); }
.directory-search { width: min(330px, 100%); }
.coach-profile { min-width: 190px; max-width: 440px; }
.coach-profile > strong { display: block; color: var(--slate-800); font-size: 11px; }
.coach-profile > small { display: block; margin-top: 4px; color: var(--slate-500); font-size: 9px; }
.coach-bio-details { margin-top: 5px; }
.coach-bio-details summary { width: fit-content; color: var(--blue-600); cursor: pointer; font-size: 9px; font-weight: 800; }
.coach-bio-details p { margin: 7px 0 0; padding: 9px 10px; color: var(--slate-600); background: var(--slate-50); border-left: 3px solid var(--blue-500); border-radius: 0 8px 8px 0; font-size: 10px; line-height: 1.55; white-space: pre-line; }
.league-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.league-pill { padding: 6px 9px; color: var(--slate-600); background: var(--slate-100); border-radius: 999px; font-size: 9px; font-weight: 700; }
.id-inline { display: inline-flex; align-items: center; gap: 5px; }
.copy-button { width: 25px; height: 25px; min-height: 25px; padding: 0; color: var(--slate-500); background: transparent; border: 0; border-radius: 7px; }
.copy-button:hover { color: var(--blue-600); background: var(--blue-100); }
.copy-button svg { width: 12px; height: 12px; }
.copy-button.is-copied { width: auto; padding: 0 7px; color: var(--green-600); background: var(--green-100); }
.copy-confirmation { font-size: 9px; font-weight: 800; }

/* Settings */
.settings-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 20px; align-items: start; }
.settings-stack { display: grid; gap: 18px; }
.settings-section { padding: 22px; }
.settings-section-head { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 20px; }
.forum-settings { margin-top: 16px; padding: 18px; border: 1px solid var(--slate-200); border-radius: 14px; }
.forum-settings-main { background: linear-gradient(145deg, #fff, #eef6ff); border-color: #c9def6; }
.forum-settings-rebuild { background: linear-gradient(145deg, #fff, #fff5e7); border-color: #f1d4a9; }
.forum-settings-title { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; }
.forum-settings-title > span { min-width: 68px; padding: 7px 10px; color: #fff; text-align: center; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; background: #00a7e6; border-radius: 999px; }
.forum-settings-rebuild .forum-settings-title > span { background: #d97706; }
.forum-settings-title div { display: flex; flex-direction: column; }
.forum-settings-title strong { color: var(--navy-900); font-size: 12px; }
.forum-settings-title small { margin-top: 2px; color: var(--slate-500); font-size: 10px; }
.settings-section-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--blue-600); background: var(--blue-100); border-radius: 11px; }
.settings-section-icon svg { width: 19px; height: 19px; }
.connection-list { display: grid; gap: 10px; padding: 16px; }
.connection-row { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 12px; background: var(--slate-50); border: 1px solid var(--slate-150); border-radius: 11px; }
.connection-row span:first-child { display: flex; flex-direction: column; }
.connection-row strong { color: var(--slate-800); font-size: 11px; }
.connection-row small { margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.checklist { padding: 6px 18px 18px; counter-reset: setup; }
.checklist-item { position: relative; display: flex; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--slate-150); }
.checklist-item:last-child { border-bottom: 0; }
.checklist-item::before { counter-increment: setup; content: counter(setup); width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; color: var(--blue-600); background: var(--blue-100); border-radius: 8px; font-size: 10px; font-weight: 800; }
.checklist-item span { color: var(--slate-600); font-size: 10px; line-height: 1.55; }
.secret-input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; }
.danger-zone { border-color: #f1c7cb; background: #fffafb; }
.danger-zone-icon { color: var(--red-600); background: var(--red-100); }
.danger-zone-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px; background: #fff; border: 1px solid #f1d7da; border-radius: 11px; }
.danger-zone-row > div { display: flex; flex-direction: column; }
.danger-zone-row strong { color: #8f1f2c; font-size: 12px; }
.danger-zone-row span { max-width: 620px; margin-top: 4px; color: var(--slate-600); font-size: 10px; line-height: 1.55; }
.danger-zone-row form { flex: 0 0 auto; }

/* Admin cards */
.admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.admin-card { display: flex; align-items: center; gap: 13px; padding: 15px; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; }
.admin-avatar { width: 40px; height: 40px; display: grid; place-items: center; color: var(--blue-600); background: var(--blue-100); border-radius: 12px; font-size: 13px; font-weight: 800; }
.admin-card-copy { min-width: 0; flex: 1; }
.admin-card-copy strong { display: block; color: var(--slate-800); font-size: 12px; }
.admin-card-copy code { display: block; overflow: hidden; margin-top: 4px; color: var(--slate-500); font-size: 9px; text-overflow: ellipsis; }
.owner-card { color: #fff; background: linear-gradient(135deg, var(--navy-900), var(--navy-700)); border: 0; }
.owner-card .admin-avatar { color: var(--navy-950); background: var(--gold-500); }
.owner-card .admin-card-copy strong { color: #fff; }
.owner-card .admin-card-copy code { color: #a9bdd5; }

/* Modal */
.modal-content { border: 0; border-radius: 18px; box-shadow: var(--shadow-lg); }
.modal-header { padding: 18px 20px; border-bottom-color: var(--slate-150); }
.modal-title { color: var(--navy-900); font-size: 15px; font-weight: 800; }
.modal-body { padding: 20px; }
.modal-footer { padding: 14px 20px; background: #fbfcfe; border-top-color: var(--slate-150); }

/* Login */
.app-guest { min-height: 100vh; background: var(--navy-950); }
.guest-content { min-height: 100vh; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px,.9fr) minmax(560px,1.1fr); }
.login-visual {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px;
  color: #fff;
  background:
    radial-gradient(circle at 20% 20%, rgba(0,175,240,.4), transparent 32%),
    radial-gradient(circle at 86% 82%, rgba(85,209,255,.24), transparent 29%),
    linear-gradient(150deg, #04131f, #006087 62%, #009ed8);
}
.login-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}
.login-branding, .login-message, .login-visual-footer { position: relative; z-index: 1; }
.login-branding { display: flex; align-items: center; gap: 13px; }
.login-brand-logo { width: 250px; height: 74px; border-radius: 13px; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.login-branding .brand-crest { width: 48px; height: 48px; border-radius: 15px; }
.login-branding strong { display: block; font-size: 18px; }
.login-branding small { display: block; margin-top: 3px; color: #8ea8c6; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.login-message { max-width: 570px; }
.login-message .eyebrow { color: var(--gold-400); }
.login-message h1 { margin: 0; font-size: clamp(42px, 5.8vw, 74px); line-height: .95; font-weight: 800; letter-spacing: -.065em; }
.login-message p { max-width: 520px; margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.75; }
.login-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 32px; }
.login-feature { padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.045); backdrop-filter: blur(8px); }
.login-feature svg { width: 18px; height: 18px; color: var(--gold-400); }
.login-feature strong { display: block; margin-top: 9px; font-size: 11px; }
.login-feature small { display: block; margin-top: 3px; color: #8ba2bd; font-size: 9px; line-height: 1.45; }
.login-visual-footer { display: flex; justify-content: space-between; color: #6f89a6; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.login-form-side { display: grid; place-items: center; padding: 42px; background: #f8fafc; }
.login-card { width: min(470px,100%); padding: 34px; background: #fff; border: 1px solid var(--slate-200); border-radius: 22px; box-shadow: var(--shadow-lg); }
.login-card h2 { margin: 0; color: var(--navy-900); font-size: 27px; font-weight: 800; letter-spacing: -.045em; }
.login-card > p { margin: 9px 0 0; color: var(--slate-600); font-size: 11px; line-height: 1.65; }
.discord-login-button { min-height: 49px; margin-top: 24px; }
.discord-login-button svg { width: 19px; height: 19px; margin-right: 8px; }
.login-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: var(--slate-500); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.login-divider::before, .login-divider::after { content: ''; flex: 1; height: 1px; background: var(--slate-200); }
.login-security { display: flex; align-items: flex-start; gap: 9px; margin-top: 20px; padding: 11px; color: var(--slate-600); background: var(--slate-50); border-radius: 10px; font-size: 9px; line-height: 1.5; }
.login-security svg { width: 15px; height: 15px; flex: 0 0 15px; color: var(--green-600); }
.guest-alert { position: fixed; top: 18px; right: 18px; z-index: 1050; width: min(440px,calc(100vw - 36px)); }

/* Errors */
.error-wrap { min-height: calc(100vh - var(--topbar-height) - 120px); display: grid; place-items: center; }
.error-card { max-width: 590px; padding: 42px; text-align: center; background: #fff; border: 1px solid var(--slate-200); border-radius: 20px; box-shadow: var(--shadow-md); }
.error-code { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 16px; color: var(--red-600); background: var(--red-100); border-radius: 18px; font-size: 28px; font-weight: 800; }
.error-card h1 { color: var(--navy-900); font-size: 25px; font-weight: 800; letter-spacing: -.04em; }
.error-card p { color: var(--slate-600); line-height: 1.7; }
.id-copy-box { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0; padding: 14px; text-align: left; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.id-copy-box span { display: block; color: var(--slate-500); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.id-copy-box code { color: var(--navy-900); font-size: 12px; }

/* Member dashboard */
.commissioner-week-ops { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 20px; margin-bottom: 20px; }
.commissioner-alert-form { display: grid; gap: 14px; border-top: 1px solid var(--slate-200); }
.commissioner-alert-form .btn { justify-self: end; }
.commissioner-alert-list { display: grid; padding: 0 22px 18px; }
.commissioner-alert-list > div { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 0; border-top: 1px solid var(--slate-150); }
.commissioner-alert-list strong,.commissioner-alert-list small { display: block; }
.commissioner-alert-list strong { color: var(--navy-900); font-size: 9px; }
.commissioner-alert-list small { margin-top: 2px; color: var(--slate-500); font-size: 8px; }
.recruiting-status.is-alert { color: #7b5800; background: #fff5cf; border-color: #ead17e; }
.master-advance-panel { display: grid; gap: 18px; align-content: start; padding: 24px; color: #fff; background: linear-gradient(145deg,#071a33,#0b3159); }
.master-advance-panel h3 { margin: 4px 0 7px; font-size: 20px; font-weight: 800; }
.master-advance-panel p { margin: 0; color: #a9bfd5; font-size: 9px; line-height: 1.65; }
.master-advance-week { padding: 16px; text-align: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; }
.master-advance-week span,.master-advance-week small { display: block; color: #9eb8d0; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.master-advance-week strong { display: block; margin: 2px 0; color: #fff; font-size: 45px; line-height: 1; }
.master-advance-history { color: #819db7; font-size: 8px; line-height: 1.5; text-align: center; }
.commissioner-team-updates { margin-bottom: 20px; }
.commissioner-update-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); }
.commissioner-update-grid > article { display: grid; gap: 12px; padding: 18px; background: #fff; }
.commissioner-update-grid > article > div > strong { color: var(--navy-900); font-size: 9px; }
.commissioner-update-grid > article > div > p { margin: 3px 0 0; color: var(--slate-600); font-size: 8px; line-height: 1.5; }
.commissioner-update-completion { display: flex; gap: 7px; }
.commissioner-update-completion i { padding: 5px 7px; color: #7b5800; background: #fff5cf; border-radius: 7px; font-size: 7px; font-style: normal; font-weight: 800; }
.commissioner-update-completion i.is-done { color: #087049; background: #e8f8f1; }
.commissioner-preview-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,520px); gap: 24px; align-items: center; margin: 0 0 24px; padding: 22px 24px; background: #fff; border: 1px solid var(--slate-200); border-radius: 16px; box-shadow: var(--shadow-sm); }
.commissioner-preview-card h3 { margin: 3px 0 4px; color: var(--navy-900); font-size: 17px; font-weight: 800; }
.commissioner-preview-card p { margin: 0; color: var(--slate-500); font-size: 9px; line-height: 1.6; }
.commissioner-preview-card form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.member-preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 17px 20px; color: #fff; background: linear-gradient(135deg,#715300,#b8860b); border-radius: 14px; box-shadow: var(--shadow-md); }
.member-preview-banner .eyebrow { color: #ffebad; }
.member-preview-banner strong,.member-preview-banner small { display: block; }
.member-preview-banner strong { margin-top: 2px; font-size: 13px; }
.member-preview-banner small { margin-top: 3px; color: #fff0c5; font-size: 9px; }
.member-preview-action { margin: 0; padding: 20px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }
.member-preview-action strong,.member-preview-action small { display: block; }
.member-preview-action strong { color: var(--navy-900); font-size: 12px; }
.member-preview-action small { margin-top: 4px; color: var(--slate-500); font-size: 9px; line-height: 1.5; }
.member-dashboard-surface { position: relative; isolation: isolate; display: flex; flex-direction: column; margin: -28px -32px -42px; padding: 28px 32px 42px; min-height: calc(100vh - var(--topbar-height)); }
.member-preview-banner { order: -5; }
.member-news-stack { order: -4; }
.member-hero { order: -3; }
.member-weekly-feature { order: -2; }
.member-task-feature { order: -1; }
.member-week-heading,.member-matchup-grid { order: 1; }
.member-dashboard-surface > .member-matchup-grid { margin-bottom: 30px; }
.member-weekly-update-card { order: 2; }
.member-recruiting-card,.member-records-card { order: 3; }
.member-dashboard-surface.has-custom-background::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(5,20,39,.18),rgba(5,20,39,.42)),var(--member-dashboard-bg); background-position: center top; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; }
.member-dashboard-surface.has-custom-background::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg,rgba(5,20,39,.04),rgba(5,20,39,.16)); }
.member-dashboard-surface.has-custom-background .member-week-heading h2,.member-dashboard-surface.has-custom-background .member-week-heading p { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.55); }
.member-dashboard-surface.has-custom-background .member-week-heading .eyebrow { color: #8cddff; text-shadow: 0 2px 8px rgba(0,0,0,.45); }
.member-weekly-feature { position: relative; overflow: visible; display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 116px; margin: 5px 0 24px; padding: 25px 32px; color: #fff; background: linear-gradient(115deg,#06182f 0%,#075c83 50%,#00aeef 100%); border: 1px solid rgba(111,219,255,.6); border-radius: 22px; box-shadow: 0 16px 38px rgba(0,73,111,.34); text-decoration: none; transition: transform .18s ease,box-shadow .18s ease; }
.member-weekly-feature::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 78% 20%,rgba(255,255,255,.22),transparent 30%); border-radius: inherit; }
.member-weekly-feature:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 20px 46px rgba(0,73,111,.44); }
.member-weekly-feature-badge { position: absolute; z-index: 2; top: -10px; left: 28px; padding: 5px 12px; color: #543d00; background: #ffd665; border-radius: 999px; box-shadow: 0 4px 12px rgba(0,0,0,.22); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.member-weekly-feature-copy { position: relative; z-index: 1; display: block; }
.member-weekly-feature-copy small,.member-weekly-feature-copy strong,.member-weekly-feature-copy > span { display: block; }
.member-weekly-feature-copy small { margin-bottom: 3px; color: #aee9ff; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.member-weekly-feature-copy strong { font-size: clamp(25px,3vw,38px); font-weight: 900; letter-spacing: -.045em; line-height: 1.08; }
.member-weekly-feature-copy > span { margin-top: 7px; color: #d2f2ff; font-size: 11px; font-weight: 600; }
.member-weekly-feature-action { position: relative; z-index: 1; display: flex; align-items: center; flex: 0 0 auto; gap: 10px; padding: 13px 17px; color: #07233d; background: #fff; border-radius: 12px; font-size: 11px; font-weight: 900; box-shadow: 0 7px 18px rgba(0,0,0,.16); }
.member-weekly-feature-action svg { width: 19px; height: 19px; }
.member-task-feature { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; min-height: 104px; margin: 0 0 24px; padding: 22px 26px; color: #fff; border-radius: 20px; box-shadow: 0 14px 34px rgba(0,0,0,.25); text-decoration: none; transition: transform .18s ease,box-shadow .18s ease; }
.member-task-feature.needs-action { background: linear-gradient(115deg,#3b0710 0%,#a51d2d 58%,#e13b4d 100%); border: 1px solid rgba(255,158,169,.75); box-shadow: 0 14px 36px rgba(128,13,31,.38); }
.member-task-feature.is-complete { background: linear-gradient(115deg,#082b25 0%,#117c61 58%,#24a56f 100%); border: 1px solid rgba(159,244,208,.62); }
.member-task-feature:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,.32); }
.member-task-feature-badge { position: absolute; top: -9px; left: 25px; padding: 5px 11px; color: #650815; background: #ffd7dc; border-radius: 999px; box-shadow: 0 4px 10px rgba(0,0,0,.2); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.member-task-feature.is-complete .member-task-feature-badge { color: #073d2e; background: #c9f8df; }
.member-task-feature-icon { width: 51px; height: 51px; display: grid; place-items: center; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.2); border-radius: 15px; }
.member-task-feature-icon svg { width: 27px; height: 27px; }
.member-task-feature-copy small,.member-task-feature-copy strong,.member-task-feature-copy > span { display: block; }
.member-task-feature-copy small { color: rgba(255,255,255,.75); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.member-task-feature-copy strong { margin-top: 3px; font-size: clamp(20px,2.4vw,30px); font-weight: 900; letter-spacing: -.035em; }
.member-task-feature-copy > span { max-width: 720px; margin-top: 5px; color: rgba(255,255,255,.8); font-size: 10px; line-height: 1.5; }
.member-task-feature-action { display: flex; align-items: center; gap: 9px; padding: 12px 15px; color: #162536; background: #fff; border-radius: 11px; font-size: 10px; font-weight: 900; white-space: nowrap; }
.member-task-feature-action svg { width: 18px; height: 18px; }
.member-news-stack { display: grid; gap: 10px; margin-bottom: 16px; }
.member-news-alert { display: grid; grid-template-columns: auto 1fr; gap: 13px; padding: 15px 17px; color: #074a68; background: rgba(231,247,255,.96); border: 1px solid #9edaf4; border-radius: 14px; box-shadow: var(--shadow-sm); }
.member-news-alert.is-warning { color: #705000; background: rgba(255,247,218,.97); border-color: #e8cc71; }
.member-news-alert.is-urgent { color: #7f1d27; background: rgba(255,235,237,.97); border-color: #efacb4; }
.member-news-icon { width: 34px; height: 34px; display: grid; place-items: center; background: rgba(255,255,255,.7); border-radius: 10px; }
.member-news-icon svg { width: 18px; height: 18px; }
.member-news-alert .eyebrow,.member-news-alert strong,.member-news-alert small { display: block; color: inherit; }
.member-news-alert strong { margin-top: 2px; font-size: 12px; }
.member-news-alert p { margin: 4px 0; font-size: 9px; line-height: 1.55; }
.member-news-alert small { opacity: .72; font-size: 7px; }
.member-week-command { display: grid; grid-template-columns: 120px minmax(150px,1fr) minmax(170px,1fr); gap: 1px; overflow: hidden; margin: -4px 0 20px; color: #fff; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); border-radius: 16px; box-shadow: var(--shadow-md); backdrop-filter: blur(13px); }
.member-week-command > div { padding: 16px 18px; background: rgba(7,26,51,.88); }
.member-week-command span,.member-week-command small { display: block; }
.member-week-command span { color: #90abc5; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.member-week-command strong { display: block; margin: 3px 0; color: #fff; font-size: 21px; }
.member-week-command small { color: #8ea7c0; font-size: 7px; }
.member-week-number { text-align: center; background: linear-gradient(145deg,#087baa,#00aeef) !important; }
.member-week-number span,.member-week-number small { color: #d8f4ff; }
.member-week-number strong { margin: 0; font-size: 35px; line-height: 1; }
.member-week-tasks { display: flex; align-items: center; gap: 16px; }
.member-week-tasks > span { min-width: 120px; }
.member-week-tasks > span strong { margin: 0; font-size: 10px; }
.member-task-progress { height: 8px; flex: 1; overflow: hidden; background: rgba(255,255,255,.12); border-radius: 999px; }
.member-task-progress i { display: block; height: 100%; background: linear-gradient(90deg,#ffd665,#40d692); border-radius: inherit; }
.member-weekly-update-card { margin-bottom: 20px; }
.member-weekly-task-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.member-weekly-task { display: flex; align-items: center; gap: 10px; padding: 13px 18px; color: #7b5800; background: #fff8df; }
.member-weekly-task.is-complete { color: #087049; background: #ebfaf3; }
.member-weekly-task svg { width: 18px; height: 18px; flex: 0 0 18px; }
.member-weekly-task strong,.member-weekly-task small { display: block; }
.member-weekly-task strong { font-size: 9px; }
.member-weekly-task small { margin-top: 2px; opacity: .75; font-size: 7px; }
.member-weekly-update-grid { display: grid; gap: 1px; background: var(--slate-200); }
.member-weekly-update-form,.member-weekly-readonly { display: grid; gap: 16px; padding: 22px; background: #fff; }
.member-weekly-update-form .btn { justify-self: end; }
.member-weekly-readonly { grid-template-columns: minmax(180px,.6fr) 1fr 1fr; }
.member-weekly-readonly > div > span { color: var(--slate-500); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.member-weekly-readonly p { margin: 5px 0 0; color: var(--slate-600); font-size: 9px; line-height: 1.55; }
.member-weekly-readonly > div > strong { display: block; margin-top: 5px; color: var(--navy-900); font-size: 10px; }
.member-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; margin-bottom: 22px; padding: 34px; color: #fff; background: linear-gradient(135deg,#061426 0%,#0a2a4b 62%,#10446f 100%); border: 1px solid rgba(105,190,232,.28); border-radius: 22px; box-shadow: var(--shadow-lg); }
.member-hero > *:not(.member-hero-backdrop) { position: relative; z-index: 1; }
.member-hero-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.member-hero h2 { margin: 5px 0 9px; font-size: clamp(28px,4vw,42px); font-weight: 800; letter-spacing: -.05em; }
.member-hero-heading { display: flex; align-items: center; gap: 15px; margin: 7px 0 9px; }
.member-hero-heading h2 { margin: 0; }
.member-hero-heading > img,.member-hero-heading > span { width: 58px; height: 58px; flex: 0 0 58px; border: 2px solid rgba(255,255,255,.7); border-radius: 15px; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.member-hero-heading > img { object-fit: cover; background: #fff; }
.member-hero-heading > span { display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#087fab,#00aeef); font-size: 20px; font-weight: 900; }
.member-hero p { max-width: 720px; margin: 0; color: #c5d5e7; font-size: 12px; line-height: 1.7; }
.member-hero .eyebrow { color: #71d7ff; }
.member-hero-balance { min-width: 220px; padding: 20px 24px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 17px; }
.member-hero-balance span,.member-hero-balance small { display: block; color: #a9c0d9; font-size: 9px; }
.member-hero-balance span { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.member-hero-balance strong { display: block; margin: 5px 0; font-size: 30px; letter-spacing: -.04em; }
.member-weekly-magazine-button { display: flex; align-items: center; gap: 10px; margin-top: 15px; padding: 11px 12px; color: #061729; background: linear-gradient(135deg,#fff,#dff6ff); border-radius: 11px; text-decoration: none; transition: transform .18s ease,box-shadow .18s ease; }
.member-weekly-magazine-button:hover { color: #061729; box-shadow: 0 9px 20px rgba(0,0,0,.25); transform: translateY(-2px); }
.member-weekly-magazine-button > svg { width: 19px; height: 19px; flex: 0 0 19px; }
.member-weekly-magazine-button > span strong,.member-weekly-magazine-button > span small { display: block; color: inherit; }
.member-weekly-magazine-button > span strong { margin: 0; font-size: 10px; letter-spacing: 0; }
.member-weekly-magazine-button > span small { margin-top: 2px; color: #55758f; font-size: 7px; }
.member-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.member-branding-card { margin-bottom: 22px; }
.member-branding-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(290px,1fr)); gap: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); }
.member-branding-form { display: grid; gap: 13px; padding: 20px; background: #fff; }
.member-branding-form label > small { display: block; margin-top: 5px; color: var(--slate-500); font-size: 8px; }
.branding-team-title { display: flex; align-items: center; gap: 11px; }
.branding-team-title span strong,.branding-team-title span small { display: block; }
.branding-team-title span small { color: var(--slate-500); font-size: 9px; }
.branding-logo-preview { width: 52px; height: 52px; flex: 0 0 52px; object-fit: cover; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 14px; }
.branding-placeholder { display: grid; place-items: center; color: var(--navy-700); font-size: 13px; font-weight: 800; }
.branding-backdrop-preview { min-height: 105px; display: grid; place-items: center; padding: 14px; color: var(--slate-500); background: linear-gradient(135deg,var(--slate-100),#e7eef7); background-position: center; background-size: cover; border: 1px solid var(--slate-200); border-radius: 12px; font-size: 9px; }
.branding-backdrop-preview.has-image span { padding: 5px 8px; color: #fff; background: rgba(7,26,51,.72); border-radius: 7px; }
.branding-remove-row { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--slate-600); font-size: 9px; }
.branding-remove-row label { display: flex; align-items: center; gap: 6px; }
.branding-form-status { min-height: 16px; color: var(--slate-500); font-size: 8px; }
.branding-form-status.is-error { color: var(--red-600); }
.branding-form-status.is-ready { color: var(--green-600); }
.recruiting-page-heading { align-items: center; }
.outside-recruiting-panel { margin-bottom: 20px; }
.outside-recruiting-form { display: grid; grid-template-columns: minmax(220px,1fr) minmax(180px,.55fr) auto; gap: 12px; align-items: end; padding: 18px 22px; border-top: 1px solid var(--slate-200); }
.outside-recruiting-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0 22px 20px; }
.outside-recruiting-list > div { display: flex; align-items: center; gap: 12px; padding: 9px 10px 9px 13px; background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; }
.outside-recruiting-list strong,.outside-recruiting-list small { display: block; }
.outside-recruiting-list strong { color: var(--navy-900); font-size: 9px; }
.outside-recruiting-list small { color: var(--slate-500); font-size: 7px; }
.recruiting-edit-badge { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; color: #715300; background: #fff4ca; border: 1px solid #f0d47d; border-radius: 10px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.recruiting-edit-badge svg { width: 15px; height: 15px; }
.recruiting-editor,.recruiting-board-stack { display: grid; gap: 20px; }
.recruiting-table-wrap { overflow-x: auto; border-top: 1px solid var(--slate-200); }
.recruiting-table { width: 100%; min-width: 880px; border-collapse: collapse; }
.recruiting-table th { padding: 11px 14px; color: var(--slate-500); background: var(--slate-50); font-size: 8px; text-align: left; text-transform: uppercase; letter-spacing: .09em; }
.recruiting-table td { padding: 13px 14px; vertical-align: middle; border-top: 1px solid var(--slate-150); }
.recruiting-table tbody tr:first-child td { border-top: 0; }
.recruiting-table tbody tr:hover td { background: #fbfdff; }
.recruiting-table .form-control { min-width: 130px; font-size: 10px; }
.recruiting-table textarea.form-control { min-width: 220px; resize: vertical; }
.recruiting-rank-cell { width: 72px; }
.recruiting-rank-input { width: 62px; min-width: 62px !important; text-align: center; }
.recruiting-rank { width: 42px; height: 42px; display: grid; place-items: center; color: var(--navy-900); background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 12px; font-size: 17px; font-weight: 900; }
.recruiting-rank.is-first { color: #533d00; background: linear-gradient(145deg,#ffe284,#f1bd2f); border-color: #dcae29; box-shadow: 0 6px 16px rgba(184,134,11,.2); }
.recruiting-team { display: flex; align-items: center; gap: 11px; min-width: 190px; }
.recruiting-team-logo { width: 42px; height: 42px; flex: 0 0 42px; object-fit: cover; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: 11px; }
.recruiting-team-fallback { display: grid; place-items: center; color: var(--navy-700); font-size: 11px; font-weight: 900; }
.recruiting-team strong,.recruiting-team small { display: block; }
.recruiting-team strong { color: var(--navy-900); font-size: 11px; }
.recruiting-team small { margin-top: 2px; color: var(--slate-500); font-size: 8px; }
.recruiting-points { color: var(--navy-900); font-size: 15px; }
.recruiting-points-input { width: 110px; min-width: 110px !important; }
.recruiting-status { display: inline-flex; padding: 6px 9px; color: #075c3b; background: #e8f8f1; border: 1px solid #bce8d5; border-radius: 999px; font-size: 8px; font-weight: 800; white-space: nowrap; }
.recruiting-status.is-empty { color: var(--slate-500); background: var(--slate-100); border-color: var(--slate-200); }
.recruiting-note { max-width: 360px; margin: 0; color: var(--slate-600); font-size: 9px; line-height: 1.55; }
.recruiting-save-bar { position: sticky; bottom: 16px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 4px; padding: 15px 18px; background: rgba(7,26,51,.96); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; box-shadow: var(--shadow-lg); backdrop-filter: blur(10px); }
.recruiting-save-bar strong,.recruiting-save-bar small { display: block; }
.recruiting-save-bar strong { color: #fff; font-size: 11px; }
.recruiting-save-bar small { margin-top: 2px; color: #9eb4ca; font-size: 8px; }
.member-recruiting-card { margin-bottom: 20px; }
.member-recruiting-list { display: grid; background: var(--slate-200); border-top: 1px solid var(--slate-200); gap: 1px; }
.member-recruiting-row { display: grid; grid-template-columns: 92px minmax(220px,.8fr) minmax(260px,1.4fr); gap: 20px; align-items: center; padding: 18px 22px; background: #fff; }
.member-recruiting-rank { text-align: center; }
.member-recruiting-rank small,.member-recruiting-rank strong,.member-recruiting-rank em,.member-recruiting-status small,.member-recruiting-status strong,.member-recruiting-status em { display: block; }
.member-recruiting-rank small,.member-recruiting-status small { color: var(--slate-500); font-size: 8px; font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.member-recruiting-rank strong { margin: 2px 0; color: var(--navy-900); font-size: 28px; }
.member-recruiting-rank em { color: var(--slate-500); font-size: 8px; font-style: normal; }
.member-recruiting-status strong { margin-top: 4px; color: var(--navy-900); font-size: 11px; }
.member-recruiting-status em { margin-top: 4px; color: var(--slate-500); font-size: 8px; font-style: normal; line-height: 1.5; }
.member-profile-heading { align-items: center; }
.member-profile-grid { display: grid; gap: 22px; }
.member-profile-card { overflow: hidden; }
.member-profile-cover { min-height: 210px; display: grid; place-items: center; padding: 20px; color: var(--slate-500); background: linear-gradient(135deg,#e9eef4,#d7e3f0); background-position: center; background-size: cover; border-bottom: 1px solid var(--slate-200); font-size: 10px; font-weight: 700; }
.member-profile-cover.has-image span { padding: 7px 11px; color: #fff; background: rgba(7,26,51,.76); border-radius: 8px; }
.member-profile-card-body { display: grid; gap: 20px; padding: 25px; }
.member-profile-identity { display: flex; align-items: center; gap: 14px; margin-top: -60px; }
.member-profile-identity > span:last-child { align-self: end; padding-bottom: 5px; }
.member-profile-identity strong,.member-profile-identity small { display: block; }
.member-profile-identity strong { color: var(--navy-900); font-size: 20px; }
.member-profile-identity small { margin-top: 2px; color: var(--slate-500); font-size: 9px; }
.member-profile-logo { width: 92px; height: 92px; flex: 0 0 92px; object-fit: cover; color: var(--navy-800); background: #fff; border: 5px solid #fff; border-radius: 22px; box-shadow: var(--shadow-md); }
.member-profile-locked { display: flex; align-items: center; gap: 10px; padding: 13px 15px; color: var(--slate-600); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 12px; }
.member-profile-locked svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--blue-600); }
.member-profile-locked strong,.member-profile-locked small { display: block; }
.member-profile-locked strong { color: var(--navy-900); font-size: 10px; }
.member-profile-locked small { margin-top: 2px; font-size: 8px; }
.member-profile-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 4px; }
.member-profile-actions .branding-form-status { margin-right: auto; }
.member-metric-card { min-height: 125px; padding: 22px; background: #fff; border: 1px solid var(--slate-200); border-radius: 16px; box-shadow: var(--shadow-sm); }
.member-metric-card > span,.member-metric-card small { display: block; color: var(--slate-500); font-size: 9px; }
.member-metric-card > span { font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.member-metric-card strong { display: block; margin: 8px 0 5px; color: var(--navy-900); font-size: 28px; line-height: 1; }
.member-records-card { margin-bottom: 30px; }
.member-record-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); }
.member-record-list > div { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; padding: 17px 20px; background: #fff; }
.member-record-list span strong,.member-record-list span small { display: block; }
.member-record-list span small { color: var(--slate-500); font-size: 9px; }
.member-record-list b { color: var(--navy-900); font-size: 20px; }
.team-avatar-image { padding: 0; object-fit: cover; }
.member-week-heading { margin-top: 34px; }
.member-matchup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.member-betting-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.member-betting-summary article { padding: 18px 20px; background: #fff; border: 1px solid var(--slate-200); border-radius: 15px; box-shadow: var(--shadow-sm); }
.member-betting-summary article.is-eligible { color: #fff; background: linear-gradient(135deg,#087fab,#00aeef); border-color: #00aeef; }
.member-betting-summary span,.member-betting-summary small { display: block; color: var(--slate-500); font-size: 8px; }
.member-betting-summary span { font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.member-betting-summary strong { display: block; margin: 5px 0; color: var(--navy-900); font-size: 27px; line-height: 1; }
.member-betting-summary .is-eligible span,.member-betting-summary .is-eligible small { color: #d3f4ff; }
.member-betting-summary .is-eligible strong { color: #fff; }
.member-betting-notice { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; padding: 14px 17px; color: #0d526f; background: #e9f8ff; border: 1px solid #a9ddf2; border-radius: 14px; }
.member-betting-notice svg { width: 24px; height: 24px; flex: 0 0 24px; }
.member-betting-notice strong,.member-betting-notice span { display: block; }
.member-betting-notice strong { font-size: 10px; }
.member-betting-notice span { margin-top: 3px; font-size: 8px; line-height: 1.5; }
.member-betting-game.is-bettable { position: relative; border-color: #53c6ed; box-shadow: 0 12px 30px rgba(0,126,178,.14); }
.bettable-matchup-ribbon { padding: 8px 20px; color: #064b68; background: linear-gradient(90deg,#ccefff,#83dcfa); font-size: 9px; font-weight: 900; text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.member-game-card { overflow: hidden; background: #fff; border: 1px solid var(--slate-200); border-radius: 19px; box-shadow: var(--shadow-sm); }
.member-game-card.is-your-matchup { position: relative; border: 2px solid #e5a500; box-shadow: 0 14px 34px rgba(184,134,11,.18); }
.member-scout-opponent { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 18px 18px; padding: 15px 16px; color: #fff; background: linear-gradient(125deg,#17121f,#382055 62%,#6441a5); border: 1px solid rgba(191,148,255,.42); border-radius: 14px; box-shadow: 0 10px 24px rgba(39,18,67,.2); }
.member-scout-opponent.no-film { color: var(--slate-700); background: var(--slate-50); border-color: var(--slate-200); box-shadow: none; }
.member-scout-identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.member-scout-identity > img,.member-scout-identity > span { width: 45px; height: 45px; flex: 0 0 45px; border: 1px solid rgba(255,255,255,.4); border-radius: 11px; }
.member-scout-identity > img { object-fit: cover; background: #fff; }
.member-scout-identity > span { display: grid; place-items: center; color: #fff; background: #6441a5; font-size: 15px; font-weight: 900; }
.member-scout-identity small,.member-scout-identity strong,.member-scout-identity em { display: block; }
.member-scout-identity small { color: #c9a9f3; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.member-scout-opponent.no-film .member-scout-identity small { color: var(--slate-500); }
.member-scout-identity strong { overflow: hidden; margin-top: 2px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.member-scout-identity em { margin-top: 2px; color: rgba(255,255,255,.65); font-size: 7px; font-style: normal; }
.member-scout-opponent.no-film .member-scout-identity em { color: var(--slate-500); }
.member-scout-opponent .btn { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 7px; padding: 9px 12px; font-size: 8px; }
.member-scout-opponent .btn svg,.member-film-unavailable svg { width: 16px; height: 16px; }
.member-film-unavailable { display: inline-flex; align-items: center; gap: 7px; color: var(--slate-500); font-size: 8px; font-weight: 800; }
.your-matchup-ribbon { padding: 8px 20px; color: #533d00; background: linear-gradient(90deg,#ffd665,#ffecad); font-size: 9px; font-weight: 800; text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.member-game-card > header { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; background: var(--slate-50); border-bottom: 1px solid var(--slate-200); }
.member-game-card > header span:first-child small,.member-game-card > header span:first-child strong { display: block; }
.member-game-card > header span:first-child small { color: var(--slate-500); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.member-game-card > header span:first-child strong { color: var(--navy-900); }
.member-matchup-teams { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 13px; align-items: center; padding: 24px 20px; }
.member-matchup-teams > div { display: grid; justify-items: center; text-align: center; }
.member-matchup-teams > div strong { margin-top: 8px; color: var(--navy-900); font-size: 12px; }
.member-matchup-teams > div small { color: var(--slate-500); font-size: 9px; }
.member-matchup-teams > div b { margin-top: 8px; color: var(--navy-900); font-size: 25px; }
.member-matchup-teams > em { color: var(--slate-400); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .1em; }
.member-game-meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px 18px; padding: 0 20px 14px; color: var(--slate-500); font-size: 9px; text-align: center; }
.member-needs-scheduling { margin: 0 20px 18px; padding: 14px 15px; color: #6a4b00; background: #fff4cd; border: 1px solid #f0cf65; border-radius: 11px; }
.member-needs-scheduling strong,.member-needs-scheduling span { display: block; }
.member-needs-scheduling strong { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.member-needs-scheduling span { margin-top: 3px; font-size: 9px; line-height: 1.5; }
.member-line { display: grid; grid-template-columns: 1fr 1fr; margin: 0 20px 18px; color: #fff; background: var(--navy-900); border-radius: 12px; }
.member-line span { padding: 13px 15px; }
.member-line span + span { border-left: 1px solid rgba(255,255,255,.13); }
.member-line small,.member-line strong { display: block; }
.member-line small { color: #87a4c2; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.member-line strong { margin-top: 2px; font-size: 11px; }
.member-shared-summary { margin: 0 20px 18px; padding: 14px 15px; background: #fff9e9; border: 1px solid #f2dfad; border-radius: 11px; }
.member-shared-summary p { margin: 5px 0 0; color: #63522d; font-size: 10px; line-height: 1.6; white-space: pre-wrap; }
.member-result-form,.member-wager-form,.member-schedule-form { display: grid; gap: 13px; padding: 20px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }
.member-schedule-form { background: #f4f9ff; }
.member-form-title strong,.member-form-title small { display: block; }
.member-form-title strong { color: var(--navy-900); font-size: 13px; }
.member-form-title small { margin-top: 3px; color: var(--slate-500); font-size: 9px; }
.member-score-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.member-score-inputs label > span { display: block; margin-bottom: 5px; color: var(--slate-600); font-size: 9px; font-weight: 700; }
.member-wager-form .input-group .btn { min-width: 105px; }
.member-forfeit-warning { margin: -3px 0 0; color: #8c5d00; font-size: 8px; line-height: 1.5; }
.member-own-game-notice,.member-unavailable { margin: 0 20px 18px; padding: 13px 15px; color: var(--slate-600); background: var(--slate-50); border: 1px solid var(--slate-200); border-radius: 11px; font-size: 9px; }
.member-own-game-notice strong,.member-own-game-notice span { display: block; }
.member-own-game-notice strong { color: var(--navy-900); font-size: 10px; }
.member-wagers { padding: 17px 20px; border-top: 1px solid var(--slate-200); }
.member-wagers > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; }
.member-wagers > div span:first-child strong,.member-wagers > div span:first-child small { display: block; }
.member-wagers > div span:first-child strong { color: var(--navy-900); font-size: 10px; }
.member-wagers > div span:first-child small { color: var(--slate-500); font-size: 8px; }

/* Responsive */
.sidebar-backdrop { display: none; }
@media (max-width: 1199.98px) {
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .game-layout { grid-template-columns: 320px minmax(0,1fr); }
  .settings-layout { grid-template-columns: 1fr; }
  .bankroll-layout { grid-template-columns: 1fr; }
  .bankroll-adjust-card { position: static; }
  .member-bankroll-chart-grid { grid-template-columns: minmax(0,1fr) 280px; }
  .magazine-studio-layout { grid-template-columns: 1fr; }
  .magazine-studio-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .settings-layout > aside { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
}
@media (max-width: 991.98px) {
  .member-bankroll-chart-grid { grid-template-columns: 1fr; }
  :root { --topbar-height: 70px; }
  .app-sidebar { transform: translateX(-100%); transition: transform .22s ease; }
  .app-page { margin-left: 0; }
  .sidebar-open { overflow: hidden; }
  .sidebar-open .app-sidebar { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 1035; background: rgba(6,20,39,.5); backdrop-filter: blur(2px); }
  .sidebar-open .sidebar-backdrop { display: block; }
  .app-topbar { padding-inline: 20px; }
  .app-content { padding: 24px 20px 36px; }
  .member-dashboard-surface { margin: -24px -20px -36px; padding: 24px 20px 36px; }
  .app-footer { padding-inline: 20px; }
  .game-layout { grid-template-columns: 1fr; }
  .wager-entry-form { grid-template-columns: 1fr 1fr; }
  .wager-entry-form .btn { width: 100%; }
  .magazine-content-layout { grid-template-columns: 1fr; }
  .sticky-panel { position: static; }
  .login-shell { grid-template-columns: 1fr; }
  .login-visual { min-height: 430px; padding: 36px; }
  .login-form-side { padding: 38px 20px; }
  .member-matchup-grid { grid-template-columns: 1fr; }
  .commissioner-preview-card { grid-template-columns: 1fr; }
  .commissioner-week-ops { grid-template-columns: 1fr; }
  .member-week-command { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .member-betting-summary { grid-template-columns: 1fr 1fr; }
  .member-bankroll-overview { grid-template-columns: 1fr 1fr; }
  .page-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .page-actions .btn, .page-actions form, .page-actions form .btn { width: 100%; }
  .league-tabs { grid-template-columns: 1fr; }
  .league-tab { align-items: flex-start; flex-direction: column; }
  .league-panel-heading { align-items: flex-start; flex-direction: column; }
  .app-topbar { padding: 11px 15px; }
  .topbar-kicker { display: none; }
  .app-topbar h1 { font-size: 17px; }
  .topbar-create { width: 36px; min-width: 36px; padding: 0; font-size: 0; }
  .topbar-create .button-icon { margin: 0; }
  .topbar-profile { display: none; }
  .app-content { padding: 19px 14px 30px; }
  .member-dashboard-surface { margin: -19px -14px -30px; padding: 19px 14px 30px; }
  .member-weekly-feature { min-height: 105px; gap: 14px; padding: 23px 20px; }
  .member-weekly-feature-action { padding: 11px; font-size: 0; }
  .member-weekly-feature-action svg { width: 21px; height: 21px; }
  .member-task-feature { grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; padding: 22px 18px; }
  .member-task-feature-action { padding: 11px; font-size: 0; }
  .app-footer { flex-direction: column; padding: 16px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .outside-recruiting-form { grid-template-columns: 1fr; }
  .outside-recruiting-form .btn { width: 100%; }
  .member-week-command { grid-template-columns: 1fr 1fr; }
  .member-week-tasks { grid-column: 1 / -1; }
  .member-weekly-task-list { grid-template-columns: 1fr; }
  .member-weekly-readonly { grid-template-columns: 1fr; }
  .member-weekly-update-form .btn { width: 100%; justify-self: stretch; }
  .commissioner-alert-form .btn { width: 100%; justify-self: stretch; }
  .commissioner-alert-list > div { grid-template-columns: 1fr; }
  .magazine-masthead-logo { width: 58%; height: 52px; border-radius: 9px; }
  .magazine-logo-masthead strong { font-size: 25px; }
  .recruiting-page-heading .recruiting-edit-badge { width: 100%; justify-content: center; }
  .recruiting-save-bar { align-items: stretch; flex-direction: column; bottom: 8px; }
  .recruiting-save-bar .btn { width: 100%; }
  .member-recruiting-row { grid-template-columns: 72px minmax(0,1fr); gap: 14px; }
  .member-recruiting-status { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--slate-150); }
  .member-profile-heading .btn { width: 100%; }
  .member-profile-cover { min-height: 155px; }
  .member-profile-card-body { padding: 20px 16px; }
  .member-profile-actions { align-items: stretch; flex-direction: column; }
  .member-profile-actions .btn { width: 100%; }
  .page-heading h2, .page-heading h1 { font-size: 27px; }
  .dashboard-hero { grid-template-columns: 1fr; padding: 27px 24px; }
  .hero-actions { width: 100%; min-width: 0; flex-direction: row; }
  .hero-actions .btn { flex: 1; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric-card { min-height: 118px; }
  .week-status-row { grid-template-columns: 1fr 1fr; }
  .summary-strip { grid-template-columns: repeat(2,1fr); }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .filter-bar > :first-child { grid-column: 1 / -1; }
  .filter-bar .btn { width: 100%; }
  .game-card-main { grid-template-columns: 64px minmax(0,1fr); gap: 13px; }
  .week-tile { min-height: 80px; }
  .game-state { grid-column: 1 / -1; min-width: 0; align-items: center; justify-content: space-between; flex-direction: row; padding-top: 2px; }
  .game-line-card { grid-template-columns: 1fr; }
  .projection-records { grid-column: auto; }
  .projection-records small { width: 100%; margin-left: 0; }
  .game-card-actions .delete-action { margin-left: 0; }
  .settings-layout > aside { grid-template-columns: 1fr; }
  .danger-zone-row { align-items: stretch; flex-direction: column; }
  .danger-zone-row .btn { width: 100%; }
  .admin-grid { grid-template-columns: 1fr; }
  .directory-toolbar { align-items: stretch; flex-direction: column; }
  .directory-search { width: 100%; }
  .magazine-studio-sidebar { grid-template-columns: 1fr; }
  .magazine-public-bar { align-items: stretch; flex-direction: column; padding: 14px 20px; }
  .magazine-public-bar .btn { width: 100%; }
  .magazine-public-shell { width: min(100% - 24px,1040px); margin-top: 20px; }
  .magazine-reader-controls { grid-template-columns: auto minmax(110px,1fr) auto; gap: 7px; bottom: 8px; padding: 8px; }
  .magazine-reader-controls .btn { padding-inline: 10px; font-size: 9px; }
  .magazine-recruiting-page { min-height: 680px; padding: 18px 16px; }
  .magazine-honors-page { min-height: 680px; padding: 18px 16px; }
  .magazine-honors-masthead { align-items: stretch; flex-direction: column; }
  .magazine-honors-masthead > div { text-align: left; }
  .magazine-honors-grid { grid-template-columns: 1fr; }
  .magazine-recruiting-masthead { align-items: stretch; flex-direction: column; }
  .magazine-recruiting-masthead .magazine-masthead-logo { width: 190px; height: 50px; flex-basis: 50px; }
  .magazine-recruiting-masthead > div { text-align: left; }
  .magazine-recruiting-ranking-list { grid-template-columns: 1fr; }
  .magazine-recruiting-rank-row { grid-template-columns: 38px 42px minmax(0,1fr); gap: 9px; }
  .magazine-recruiting-rank-row > img,.magazine-recruiting-fallback { width: 42px; height: 42px; }
  .magazine-cover { min-height: 540px; padding: 22px; }
  .magazine-cover-editorial { min-height: 730px; padding: 17px; }
  .magazine-editorial-masthead { gap: 8px; border-bottom-width: 3px; }
  .magazine-editorial-masthead strong { font-size: 39px; }
  .magazine-editorial-masthead span { padding-bottom: 3px; font-size: 8px; }
  .magazine-editorial-headline h1 { font-size: clamp(42px,12vw,62px); line-height: .96; }
  .magazine-editorial-headline h1.is-long { font-size: clamp(35px,9.5vw,50px); line-height: 1; }
  .magazine-editorial-headline h1.is-very-long { font-size: clamp(29px,8vw,41px); line-height: 1.04; }
  .magazine-editorial-bottom { grid-template-columns: 1fr; gap: 18px; }
  .magazine-cover-lines { grid-template-columns: 1fr 1fr; }
  .magazine-masthead { align-items: flex-start; flex-direction: column; }
  .magazine-cover-meta, .magazine-cover-footer { flex-direction: column; }
  .magazine-cover-feature { grid-template-columns: 1fr; }
  .magazine-team-emblem { width: 170px; order: -1; }
  .magazine-source-strip { grid-template-columns: repeat(2,1fr); }
  .magazine-source-strip > div { border-bottom: 1px solid #ece9e0; }
  .magazine-content-layout { padding: 24px 20px; }
  .magazine-story-grid { grid-template-columns: 1fr; }
  .magazine-story-lead { grid-column: auto; }
  .magazine-issue-footer { grid-template-columns: 1fr; }
  .login-visual { min-height: 390px; padding: 28px 24px; }
  .login-features { grid-template-columns: 1fr; }
  .login-feature small { display: none; }
  .login-visual-footer { display: none; }
  .login-form-side { padding: 26px 14px; }
  .login-card { padding: 26px 22px; border-radius: 17px; }
  .member-hero { grid-template-columns: 1fr; padding: 27px 24px; }
  .member-hero-balance { min-width: 0; }
  .member-metrics { grid-template-columns: 1fr; }
  .commissioner-preview-card form { grid-template-columns: 1fr; }
  .member-preview-banner { align-items: stretch; flex-direction: column; }
  .member-preview-banner .btn { width: 100%; }
}
@media (max-width: 575.98px) {
  .member-scout-opponent { align-items: stretch; flex-direction: column; }
  .member-scout-opponent .btn,.member-film-unavailable { justify-content: center; width: 100%; }
  .member-hero-heading > img,.member-hero-heading > span { width: 48px; height: 48px; flex-basis: 48px; border-radius: 12px; }
  .member-betting-summary { grid-template-columns: 1fr; }
  .member-bankroll-overview { grid-template-columns: 1fr; }
  .member-balance-chart-wrap { padding-left: 39px; padding-right: 8px; }
  .member-ledger-list article { grid-template-columns: 1fr auto; }
  .member-ledger-date { grid-column: 1 / -1; }
  .member-weekly-feature { align-items: flex-start; min-height: 0; padding: 25px 18px 20px; }
  .member-weekly-feature-copy strong { font-size: 24px; }
  .member-weekly-feature-copy small { font-size: 8px; }
  .member-weekly-feature-badge { left: 18px; }
  .member-task-feature { grid-template-columns: auto minmax(0,1fr); }
  .member-task-feature-icon { width: 43px; height: 43px; }
  .member-task-feature-action { grid-column: 1 / -1; justify-content: center; width: 100%; font-size: 9px; }
  .metric-grid { grid-template-columns: 1fr; }
  .summary-strip { grid-template-columns: 1fr 1fr; }
  .filter-bar { grid-template-columns: 1fr; }
  .filter-bar > * { grid-column: 1 !important; }
  .game-card-main { grid-template-columns: 1fr; }
  .week-tile { min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
  .matchup-title { font-size: 15px; }
  .game-card-actions > form:not(.delete-action) { flex: 1 1 140px; }
  .game-card-actions .btn, .game-card-actions .form-select { width: 100%; }
  .game-card-actions form.d-flex { display: grid !important; grid-template-columns: 1fr auto; }
  .game-card-actions .delete-action { width: 100%; }
  .game-card-actions .delete-action .btn { width: 100%; }
  .hero-actions { flex-direction: column; }
  .saved-line-banner { grid-template-columns: 1fr; }
  .saved-line-banner > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .saved-line-banner > div:last-child { border-bottom: 0; }
  .wager-entry-form { grid-template-columns: 1fr; }
  .wager-row { grid-template-columns: 1fr auto; }
  .wager-money { text-align: left; }
  .login-message h1 { font-size: 42px; }
}

@media print {
  .app-sidebar, .app-topbar, .app-footer, .magazine-page-heading, .magazine-studio-sidebar, .sidebar-backdrop, .magazine-public-bar, .magazine-public-footer, .magazine-reader-controls, .magazine-reader-hint { display: none !important; }
  .app-page { margin: 0 !important; }
  .app-content { padding: 0 !important; background: #fff !important; }
  .magazine-studio-layout { display: block; }
  .magazine-issue { border: 0; border-radius: 0; box-shadow: none; }
  .magazine-cover { min-height: 92vh; break-after: page; print-color-adjust: exact; }
  .magazine-public-shell.is-flipbook .magazine-issue { min-height: 0 !important; }
  .magazine-public-shell.is-flipbook .magazine-sheet { display: block !important; position: static !important; animation: none !important; transform: none !important; break-after: page; }
  .magazine-content-layout { break-before: page; }
  .magazine-story, .magazine-rankings { break-inside: avoid; }
  .magazine-public-shell { width: 100%; margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .magazine-public-shell.is-flipbook .magazine-sheet.is-flipping-next,.magazine-public-shell.is-flipbook .magazine-sheet.is-flipping-previous { animation-duration: .01ms; }
}
