/*
 * Professional admin theme
 * A calm, accessible design layer for the Golf Tournament System.
 */
:root {
  --c50: #f0fdfa;
  --c100: #ccfbf1;
  --c200: #99f6e4;
  --c300: #5eead4;
  --c400: #2dd4bf;
  --c500: #14b8a6;
  --c600: #0d9488;
  --c700: #0f766e;
  --c800: #115e59;
  --c900: #134e4a;
  --c950: #042f2e;

  --sidebar: #0b1720;
  --bg: #f5f7f9;
  --surface: #ffffff;
  --s2: #f7f9fa;
  --s3: #edf2f3;
  --text: #17252d;
  --text-mid: #3c505a;
  --text-muted: #6b7f88;
  --text-light: #9aabb2;
  --border: #dce5e8;
  --border-mid: #c6d3d8;
  --accent: #0f766e;
  --accent-dk: #115e59;
  --gold: #b7791f;
  --gold-lt: #d69e2e;
  --gold-pale: #fff8e7;
  --green: #16835f;
  --red: #c2413b;
  --purple: #6956b8;
  --orange: #c76425;

  --sh-sm: 0 1px 2px rgba(18, 38, 48, .04), 0 5px 16px rgba(18, 38, 48, .045);
  --sh: 0 2px 4px rgba(18, 38, 48, .04), 0 12px 30px rgba(18, 38, 48, .07);
  --sh-lg: 0 24px 60px rgba(7, 25, 34, .18);
  --r: 14px;
  --rs: 9px;
  --sw: 252px;

  /* Animation timing variables */
  --transition-fast: 150ms;
  --transition-normal: 250ms;
  --transition-slow: 350ms;
  --transition-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

html { background: var(--bg); }
body {
  background:
    radial-gradient(circle at 92% 2%, rgba(15, 118, 110, .055), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  animation: bodyPulse 4s ease-in-out infinite;
}
@keyframes bodyPulse {
  0%, 100% { background-color: var(--bg); }
  50% { background-color: #ffe0b2; }
}

button, input, select, textarea { font: inherit; }
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(20, 184, 166, .22);
  outline-offset: 2px;
  transition: outline-color var(--transition-fast) var(--transition-smooth);
}

/* Sidebar */
.sidebar {
  background:
    radial-gradient(circle at 30% 0%, rgba(20, 184, 166, .13), transparent 18rem),
    linear-gradient(180deg, #0b1b24 0%, #09151d 100%);
  border-right: 1px solid rgba(255, 255, 255, .055);
  box-shadow: 10px 0 40px rgba(7, 25, 34, .10);
  transition: box-shadow var(--transition-normal) var(--transition-smooth);
}
.sidebar:hover {
  box-shadow: 12px 0 48px rgba(7, 25, 34, .15);
}
.sb-logo {
  padding: 28px 22px 24px;
  border-bottom-color: rgba(255, 255, 255, .08);
}
.sb-company-logo {
  width: min(78%, 154px);
  max-height: 62px;
  margin-bottom: 16px;
}
.sb-logo h2 {
  font-family: 'DM Sans', sans-serif;
  font-size: .98rem;
  font-weight: 700;
  letter-spacing: -.02em;
}
.sb-logo span {
  color: rgba(255, 255, 255, .38);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: 2.4px;
  margin-top: 5px;
}
nav { margin-top: 16px; padding: 0 12px; }
.nav-sec {
  color: rgba(255, 255, 255, .31);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: 1.8px;
  padding: 15px 12px 7px;
}
.nav-item {
  min-height: 46px;
  gap: 12px;
  padding: 9px 12px;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, .62);
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 600;
}
.nav-item:hover {
  color: #fff;
  background: rgba(255, 255, 255, .065);
  border-color: rgba(255, 255, 255, .055);
  transform: translateX(2px);
}
.nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(15, 118, 110, .82), rgba(13, 148, 136, .62));
  border-color: rgba(94, 234, 212, .22);
  box-shadow: 0 8px 22px rgba(2, 44, 42, .30), inset 0 1px rgba(255, 255, 255, .12);
}
.nav-item .ni {
  width: 29px;
  height: 29px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  filter: saturate(.8);
}
.nav-item.active .ni { background: rgba(255, 255, 255, .14); }
.sb-footer {
  padding: 16px 20px 20px;
  border-top-color: rgba(255, 255, 255, .08);
}
.auth-user-avatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(20, 184, 166, .18);
  border-color: rgba(94, 234, 212, .25);
}
.auth-user-name { font-size: .8rem; }
.auth-user-role { color: rgba(255, 255, 255, .42); }
.auth-logout {
  min-height: 34px;
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .045);
}

/* Page structure */
.main {
  padding: 38px clamp(28px, 4vw, 58px) 60px;
  max-width: 1540px;
}
.section.active { animation: professional-page-in .22s ease-out both; }
@keyframes professional-page-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}
.page-hd {
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.page-hd h2 {
  font-family: 'DM Sans', sans-serif;
  color: #132b35;
  font-size: clamp(1.55rem, 2.4vw, 2.05rem);
  line-height: 1.2;
  letter-spacing: -.035em;
  font-weight: 750;
}
.page-hd p {
  color: var(--text-muted);
  font-size: .86rem;
  margin-top: 6px;
}

/* Cards and stats */
.ov-stat-strip { gap: 16px; margin-bottom: 26px; }
.ov-stat {
  min-height: 142px;
  padding: 20px 22px;
  gap: 8px;
  border: 1px solid var(--border);
  border-left-width: 1px;
  border-radius: 16px;
  box-shadow: var(--sh-sm);
  position: relative;
  overflow: hidden;
}
.ov-stat::after {
  content: '';
  position: absolute;
  width: 84px;
  height: 84px;
  right: -28px;
  top: -28px;
  border-radius: 50%;
  background: currentColor;
  opacity: .045;
}
.ov-stat:hover {
  border-color: var(--border-mid);
  box-shadow: var(--sh);
  transform: translateY(-2px);
}
.ov-stat-blue { color: #256b8a; }
.ov-stat-green { color: #16835f; }
.ov-stat-amber { color: #b7791f; }
.ov-stat-purple { color: #6956b8; }
.ov-stat-icon { font-size: 1.2rem; line-height: 1; }
.ov-stat-val {
  color: var(--text);
  font-size: 2rem;
  letter-spacing: -.04em;
}
.ov-stat-lbl {
  color: var(--text-muted);
  font-size: .64rem;
  letter-spacing: 1.3px;
  font-weight: 700;
}

.att-widget,
.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card {
  border-color: var(--border);
  box-shadow: var(--sh-sm);
}
.att-widget { border-radius: 16px; }
.att-widget-hd,
.score-team-head {
  background: linear-gradient(135deg, #123a42 0%, #0f766e 100%);
}
.att-widget-hd { padding: 16px 20px; }
.tourney-card { padding: 22px; }
.tourney-card:hover {
  border-color: rgba(15, 118, 110, .35);
  box-shadow: var(--sh);
  transform: translateY(-3px);
}

.tournament-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
}
.tournament-type-badge.type-team {
  color: #075985;
  background: #e0f2fe;
  border: 1px solid #7dd3fc;
}
.tournament-type-badge.type-solo {
  color: #9d174d;
  background: #fce7f3;
  border: 1px solid #f9a8d4;
}

.registration-live-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid #a7f3d0;
  border-radius: 999px;
  background: #ecfdf5;
  color: #047857;
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
}
.registration-live-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16,185,129,.12);
}
.registration-live-status[data-state="checking"]::before { animation: reg-live-pulse .8s ease infinite; }
.registration-live-status[data-state="updated"] { border-color: #7dd3fc; background: #f0f9ff; color: #0369a1; }
.registration-live-status[data-state="updated"]::before { background: #0ea5e9; box-shadow: 0 0 0 4px rgba(14,165,233,.12); }
.registration-live-status[data-state="error"] { border-color: #fecaca; background: #fff1f2; color: #be123c; }
.registration-live-status[data-state="error"]::before { background: #f43f5e; box-shadow: none; }
@keyframes reg-live-pulse { 50% { opacity: .35; transform: scale(.7); } }

/* Controls */
.btn,
.ov-refresh-btn,
.btn-export,
.tab-pill,
.score-tab {
  min-height: 38px;
  border-radius: 9px;
  font-weight: 650;
  letter-spacing: -.005em;
  transition: transform var(--transition-fast) var(--transition-smooth),
              box-shadow var(--transition-normal) var(--transition-smooth),
              background var(--transition-normal) var(--transition-smooth),
              border-color var(--transition-normal) var(--transition-smooth);
  position: relative;
  overflow: hidden;
}
.btn { padding: 9px 16px; }
.btn:hover,
.ov-refresh-btn:hover,
.btn-export:hover {
  transform: translateY(-2px);
}
.btn:active,
.ov-refresh-btn:active,
.btn-export:active {
  transform: translateY(0);
}
.btn-primary {
  background: linear-gradient(135deg, #0f766e, #0d9488);
  box-shadow: 0 5px 14px rgba(15, 118, 110, .20);
  position: relative;
  overflow: hidden;
}
.btn-primary:hover {
  background: linear-gradient(135deg, #115e59, #0f766e);
  box-shadow: 0 8px 20px rgba(15, 118, 110, .3);
}
.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(15, 118, 110, .2);
}
.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: all .6s ease;
}
.btn-primary:hover::before {
  left: 100%;
}
.btn-outline,
.ov-refresh-btn {
  background: #fff;
  border: 1px solid var(--border-mid);
  color: var(--text-mid);
  position: relative;
  overflow: hidden;
}
.btn-outline:hover,
.ov-refresh-btn:hover {
  color: var(--accent);
  border-color: rgba(15, 118, 110, .45);
  background: #f6fffd;
  box-shadow: 0 4px 12px rgba(15, 118, 110, .08);
  transform: translateY(-2px);
}
.btn-outline:active,
.ov-refresh-btn:active {
  transform: translateY(0);
}
.btn-outline::before,
.ov-refresh-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(15,118,110,.1), transparent);
  transition: all .6s ease;
}
.btn-outline:hover::before,
.ov-refresh-btn:hover::before {
  left: 100%;
}
.btn-sm { min-height: 32px; padding: 6px 11px; }
.export-bar {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--sh-sm);
  padding: 14px 16px;
}
.export-bar-lbl { color: var(--text-mid); font-weight: 700; }
.ov-picker-row {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--sh-sm);
}
.ov-picker-lbl { color: var(--text-mid); }
.ov-picker-sel,
.form-select,
.score-search,
.form-group input,
.form-group select,
.rd-field input,
.rd-field select,
.cc-inp {
  min-height: 42px;
  background: #fff;
  border: 1px solid var(--border-mid);
  border-radius: 9px;
  color: var(--text);
  box-shadow: 0 1px 2px rgba(18, 38, 48, .025);
}
.ov-picker-sel:focus,
.form-select:focus,
.score-search:focus,
.form-group input:focus,
.form-group select:focus,
.rd-field input:focus,
.rd-field select:focus,
.cc-inp:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .12);
}

/* Tabs and tables */
.filter-bar,
.score-filter-bar {
  background: #fff;
  border-color: var(--border);
  padding: 14px;
  border-radius: 14px;
}
.tab-pill,
.score-tab {
  background: #fff;
  border: 1px solid var(--border);
  color: var(--text-mid);
  padding-inline: 14px;
}
.tab-pill.active,
.score-tab.active {
  background: #123a42;
  border-color: #123a42;
  color: #fff;
  box-shadow: 0 4px 12px rgba(18, 58, 66, .16);
}
.reg-table-wrap { border-radius: 14px; }
.reg-table { min-width: 900px; font-size: .81rem; }
.reg-table th,
.acct-table th {
  background: #f5f8f9;
  color: #60747d;
  padding: 13px 15px;
  letter-spacing: 1.1px;
  border-bottom-color: var(--border);
}
.reg-table td,
.acct-table td {
  padding: 13px 15px;
  border-bottom-color: #e8eef0;
}
.reg-table .reg-player-name {
  min-width: 170px;
  color: #102f38;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reg-player-name-wrap {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.reg-qr-download {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid #cbdcdf;
  border-radius: 8px;
  background: #f7fbfb;
  color: #0f6f69;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.reg-qr-download svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}
.reg-qr-download:hover {
  border-color: #0f8279;
  background: #e8f7f4;
  color: #095f5a;
  transform: translateY(-1px);
}
.reg-qr-download:focus-visible {
  outline: 3px solid rgba(15, 130, 121, .22);
  outline-offset: 2px;
}

/* Tournament creation selector */
.tourney-create-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
  padding: 14px 16px;
  border: 1px solid #d9e4e7;
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffff, #f5f9fa);
  box-shadow: 0 8px 24px rgba(18, 58, 66, .07);
}
.tourney-create-copy {
  width: 100%;
  text-align: left;
}
.tourney-create-copy span {
  display: block;
  color: #173942;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.tourney-create-copy small {
  display: block;
  margin-top: 2px;
  color: #71848b;
  font-size: .65rem;
}
.tourney-create-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tourney-format-btn {
  border: 1px solid #c8d7db;
  background: #fff;
  color: #38515a;
  box-shadow: none;
}
.tourney-format-btn:hover,
.tourney-format-btn:focus-visible {
  border-color: #16877f;
  background: #edf8f6;
  color: #0c6c65;
  box-shadow: 0 5px 14px rgba(15, 130, 121, .12);
}

@media (max-width: 720px) {
  .tourney-create-actions {
    width: 100%;
    align-items: stretch;
  }
  .tourney-create-buttons .btn {
    flex: 1;
  }
}
.reg-table tbody tr:hover td,
.acct-table tbody tr:hover td { background: #f8fbfb; }

/* Modals and detail surfaces */
.modal-ov {
  background: rgba(5, 20, 27, .58);
  backdrop-filter: blur(8px);
}
.modal {
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 18px;
  box-shadow: var(--sh-lg);
  padding: 30px;
}
.modal h3,
.sc-player-name,
.tc-name,
.class-col-title,
.score-team-head h4 {
  font-family: 'DM Sans', sans-serif;
  letter-spacing: -.02em;
}
.modal h3 { font-size: 1.3rem; }
.modal-footer { border-top-color: var(--border); }
.acct-password-btn { margin-right: 6px; }
.acct-password-help {
  color: var(--text-muted);
  font-size: .82rem;
  line-height: 1.55;
  margin: -8px 0 20px;
}
.acct-password-help strong { color: var(--text); }
.acct-password-modal .acct-status {
  min-height: 20px;
  margin-top: 4px;
  font-weight: 600;
}
.acct-access-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  padding: 16px 18px 13px;
  border: 1px solid #dce8e5;
  border-radius: 13px;
  background: linear-gradient(135deg, #f7fbfa, #f1f8f6);
}
.acct-access-note {
  grid-column: 1 / -1;
  margin: -3px 0 0;
  color: var(--text-muted);
  font-size: .72rem;
  line-height: 1.5;
}
.acct-optional { color: var(--text-muted); font-weight: 500; text-transform: none; letter-spacing: 0; }
.acct-access-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 800;
  white-space: nowrap;
}
.acct-access-badge::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.acct-access-badge.active { color:#08755b; background:#e7f8f2; border:1px solid #b9e8d8; }
.acct-access-badge.scheduled { color:#99610b; background:#fff7df; border:1px solid #eed595; }
.acct-access-badge.expired { color:#a33838; background:#fff0f0; border:1px solid #efc4c4; }
.acct-access-badge.unrestricted { color:#526d73; background:#f2f6f6; border:1px solid #dce5e6; }
.acct-access-window { margin-top:5px; color:var(--text-muted); font-size:.65rem; line-height:1.45; }
.acct-schedule-btn { margin-right:6px; }
.acct-modal-kicker { margin-bottom:6px; color:var(--green); font-size:.65rem; font-weight:900; letter-spacing:1.6px; text-transform:uppercase; }
.acct-access-modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.acct-access-preview { margin:3px 0 14px; padding:12px 13px; border-left:3px solid var(--green); border-radius:8px; color:#46656a; background:#f2f8f7; font-size:.75rem; line-height:1.5; }
@media (max-width: 700px) {
  .acct-access-fields, .acct-access-modal-grid { grid-template-columns:1fr; }
}

/* Golf command dashboard */
#section-overview {
  --dash-navy: #081a33;
  --dash-navy-2: #123a62;
  --dash-blue: #2d6df3;
  --dash-green: #18845d;
  --dash-ink: #102636;
}
.dashboard-hero {
  position: relative;
  min-height: 210px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
  padding: 34px 40px;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(130, 180, 239, .2);
  border-radius: 24px;
  background:
    radial-gradient(circle at 72% -20%, rgba(77, 164, 255, .32), transparent 38%),
    linear-gradient(118deg, #07182f 0%, #0d2a4d 58%, #123f68 100%);
  box-shadow: 0 22px 55px rgba(7, 28, 55, .2);
}
.dashboard-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .42;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}
.dashboard-hero-copy { position: relative; z-index: 1; max-width: 650px; }
.dashboard-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 13px;
  color: #8ebef0;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.dashboard-kicker span { width: 26px; height: 1px; background: currentColor; }
.dashboard-hero h2 {
  color: #fff;
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.055em;
}
.dashboard-hero p { max-width: 570px; margin-top: 14px; color: rgba(221,235,250,.68); font-size: .9rem; line-height: 1.65; }
.dashboard-hero-mark { position: relative; z-index: 1; flex: 0 0 155px; color: #84c8ff; opacity: .95; }
.dashboard-hero-mark svg { display: block; width: 155px; height: 155px; }

#section-overview .ov-stat-strip { gap: 14px; margin-bottom: 20px; }
#section-overview .ov-stat {
  min-height: 138px;
  padding: 18px 19px;
  gap: 4px;
  border: 1px solid #dce6ef;
  border-radius: 17px;
  background: linear-gradient(145deg, #fff, #f9fbfd);
  box-shadow: 0 8px 28px rgba(23, 50, 71, .07);
}
#section-overview .ov-stat::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 17px 0 0 17px;
  background: currentColor;
}
#section-overview .ov-stat-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin-bottom: 3px;
  border-radius: 10px;
  background: color-mix(in srgb, currentColor 10%, white);
  font-size: 1rem;
}
#section-overview .ov-stat-val { color: var(--dash-ink); font-family: 'DM Sans', sans-serif; font-size: 2rem; font-weight: 800; }
#section-overview .ov-stat-lbl { color: #687d8c; font-size: .63rem; font-weight: 800; letter-spacing: 1px; }

.dashboard-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: 16px;
  margin-bottom: 18px;
}
.dashboard-control-card,
#section-overview .export-bar {
  min-width: 0;
  padding: 21px;
  border: 1px solid #dce6ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(23,50,71,.065);
}
.dashboard-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.dashboard-card-kicker { display: block; margin-bottom: 3px; color: #2d6df3; font-size: .59rem; font-weight: 850; letter-spacing: 1.3px; text-transform: uppercase; }
.dashboard-card-heading h3 { color: var(--dash-ink); font-size: 1rem; font-weight: 800; letter-spacing: -.025em; }
#section-overview .ov-picker-row {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  align-items: end;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#section-overview .ov-picker-lbl { grid-column: 1 / -1; color: #718492; font-size: .65rem; letter-spacing: .8px; text-transform: uppercase; }
#section-overview .ov-picker-sel { grid-column: 1 / -1; width: 100%; max-width: none; min-width: 160px; min-height: 43px; border-color: #cbd9e4; }
#section-overview .ov-refresh-btn { min-height: 43px; padding-inline: 13px; white-space: nowrap; }
#section-overview .ov-refresh-btn:nth-of-type(2) {
  color: #fff;
  border-color: #173f68;
  background: linear-gradient(135deg, #0e2c4d, #174d79);
  box-shadow: 0 6px 14px rgba(14,44,77,.16);
}
#section-overview .ov-refresh-btn:nth-of-type(3) {
  color: #fff;
  border-color: #1e5cdf;
  background: linear-gradient(135deg, #397af4, #2459dd);
  box-shadow: 0 6px 14px rgba(36,89,221,.2);
}
#section-overview .export-bar { display: flex; align-content: flex-start; gap: 8px; flex-wrap: wrap; }
#section-overview .export-bar-lbl { flex: 1 0 100%; color: var(--dash-ink); font-size: 1rem; }
#section-overview .btn-export {
  flex: 1 1 120px;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #d6e0e8;
  border-radius: 10px;
  color: #344c5c;
  background: #f7f9fb;
  box-shadow: none;
  font-size: .7rem;
  font-weight: 750;
}
#section-overview .btn-export:hover { color: #1e5cdf; border-color: #97b5e8; background: #f1f6ff; }
#section-overview .export-status { flex: 1 0 100%; min-height: 0; }

#section-overview .att-widget {
  margin: 0;
  border: 1px solid #d8e4ed;
  border-radius: 19px;
  box-shadow: 0 10px 32px rgba(23,50,71,.075);
}
#section-overview .att-widget-hd {
  min-height: 66px;
  padding: 15px 20px;
  background:
    radial-gradient(circle at 75% 0, rgba(67,157,244,.2), transparent 30%),
    linear-gradient(110deg, #091c34, #113c62);
}
#section-overview .att-widget-hd > span:first-child { font-size: .84rem; }
#section-overview .att-live-badge { margin-left: auto; }
#section-overview .att-refresh-btn { min-height: 34px; border-radius: 8px; }
#section-overview .att-empty { padding: 42px 20px; color: #738694; }
#section-overview .att-empty .att-ei { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 10px; border-radius: 50%; background: #edf5fb; opacity: 1; }

@media (max-width: 1120px) {
  #section-overview .ov-picker-row { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 900px) {
  .dashboard-workspace { grid-template-columns: 1fr; }
  .dashboard-hero { min-height: 190px; }
}
@media (max-width: 700px) {
  .dashboard-hero { min-height: auto; padding: 28px 24px; border-radius: 20px; }
  .dashboard-hero-mark { display: none; }
  #section-overview .ov-stat-strip { grid-template-columns: 1fr 1fr; }
  #section-overview .ov-stat { min-height: 122px; }
  #section-overview .ov-picker-row { grid-template-columns: 1fr; }
  #section-overview .ov-picker-sel, #section-overview .ov-refresh-btn { grid-column: auto; width: 100%; }
}
.back-btn {
  min-height: 34px;
  color: var(--text-mid);
  font-weight: 650;
}
.empty-state { padding: 64px 24px; }
.empty-state .ei { filter: grayscale(.3); }

/* Scrollbars */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: #c5d1d5;
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover { background-color: #9fb1b8; }
.auth-readonly-banner {
  position: sticky;
  top: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 10px 22px;
  color: #714b08;
  background: linear-gradient(90deg, #fff9e9, #fff3ce);
  border-bottom: 1px solid #e8cb83;
  box-shadow: 0 6px 20px rgba(91, 66, 13, .09);
}

.auth-readonly-banner strong,
.auth-readonly-banner span {
  display: block;
}

.auth-readonly-banner strong {
  margin-bottom: 2px;
  font-size: .82rem;
}

.auth-readonly-banner span {
  color: #856a32;
  font-size: .7rem;
}

.auth-readonly-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(198, 154, 66, .17);
}

.auth-read-only main button:disabled,
.auth-read-only main input:disabled,
.auth-read-only main textarea:disabled,
.auth-read-only main select:disabled {
  cursor: not-allowed;
  opacity: .52;
  filter: grayscale(.25);
}


/* Responsive refinements */
@media (max-width: 900px) {
  :root { --sw: 218px; }
  .main { padding: 28px 22px 44px; }
  .ov-stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ov-stat { min-height: 122px; }
  .filter-bar { align-items: stretch; }
  .filter-bar #reg-search {
    flex: 1 0 100% !important;
    width: 100%;
    max-width: none !important;
  }
  .filter-bar .filter-input { min-height: 38px; }
  .filter-bar > div:last-child {
    margin-left: 0 !important;
    flex: 1 0 100%;
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  :root { --sw: 76px; }
  .sidebar { width: var(--sw); }
  .sb-logo { padding: 18px 10px; }
  .sb-company-logo { width: 48px; margin-bottom: 0; }
  .sb-logo h2, .sb-logo span, .nav-sec, .nav-item:not(.active)::after,
  .nav-item { font-size: 0; }
  nav { padding: 0 9px; }
  .nav-item {
    justify-content: center;
    padding: 8px;
    min-height: 46px;
  }
  .nav-item .ni { font-size: .92rem; }
  .sb-footer { padding: 12px 9px; }
  .auth-user-meta { justify-content: center; }
  .auth-user-name, .auth-user-role, .auth-logout, .sb-copy { display: none; }
  .main { width: calc(100% - var(--sw)); min-width: 0; max-width: none; margin-left: var(--sw); padding: 24px 16px 40px; }
  .page-hd { margin-bottom: 20px; }
  .ov-stat-strip { gap: 10px; }
  .ov-stat { min-height: 112px; padding: 15px; }
  .ov-stat-val { font-size: 1.65rem; }
  .ov-picker-row { align-items: stretch; }
  .ov-picker-sel { min-width: 100%; max-width: none; }
  .modal { padding: 22px 18px; }
  
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ==========================================================
   Midnight Golf UI — application-wide dark command theme
   ========================================================== */
:root {
  color-scheme: dark;
  --c50: #eaf5ff;
  --c100: #cce8ff;
  --c200: #96d0ff;
  --c300: #5db5ff;
  --c400: #2998ff;
  --c500: #0b7cf4;
  --c600: #0866d0;
  --c700: #0954a8;
  --c800: #0b4587;
  --c900: #0b3567;
  --c950: #061d3c;
  --sidebar: #050b1d;
  --bg: #050f25;
  --surface: #091a36;
  --surface-alt: #0b2142;
  --s2: #0b2142;
  --s3: #102a4e;
  --text: #f4f8ff;
  --text-mid: #cad7e9;
  --text-muted: #8296b5;
  --text-light: #617593;
  --border: rgba(113, 153, 211, .20);
  --border-mid: rgba(126, 169, 229, .32);
  --accent: #1687ff;
  --accent-dk: #0864d8;
  --gold: #f2b84b;
  --gold-lt: #ffd272;
  --gold-pale: rgba(242,184,75,.12);
  --green: #18c88a;
  --red: #ff6476;
  --purple: #9b7cff;
  --orange: #ff9c52;
  --sh-sm: 0 8px 24px rgba(0, 5, 20, .22);
  --sh: 0 16px 40px rgba(0, 5, 20, .34);
  --sh-lg: 0 28px 72px rgba(0, 3, 15, .50);
}

html, body { background: #050f25; }
body {
  color: var(--text);
  background:
    radial-gradient(circle at 82% 0%, rgba(0, 116, 255, .18), transparent 34rem),
    radial-gradient(circle at 40% 100%, rgba(34, 63, 213, .12), transparent 42rem),
    linear-gradient(145deg, #06142d 0%, #050d20 58%, #071933 100%);
}
.app { background: transparent; }
.main {
  max-width: none;
  background:
    linear-gradient(rgba(30, 101, 190, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30, 101, 190, .025) 1px, transparent 1px);
  background-size: 38px 38px;
}

/* Global type and navigation */
.page-hd { border-bottom-color: var(--border); }
.page-hd h2,
.acct-panel h3,
.dashboard-card-heading h3,
.tournament-sponsors-heading h3 { color: var(--text) !important; }
.page-hd p { color: var(--text-muted); }
.sidebar {
  background:
    radial-gradient(circle at 0 0, rgba(22, 135, 255, .12), transparent 18rem),
    linear-gradient(180deg, #060d22 0%, #040919 100%);
  border-right-color: rgba(116, 162, 227, .12);
  box-shadow: 14px 0 46px rgba(0, 4, 18, .34);
}
.sb-logo { border-bottom-color: rgba(132, 174, 231, .11); }
.nav-sec { color: #526987; }
.nav-item { color: #8799b4; }
.nav-item:hover {
  color: #eaf3ff;
  background: rgba(32, 125, 255, .10);
  border-color: rgba(69, 144, 255, .13);
}
.nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(16, 119, 242, .95), rgba(18, 72, 192, .88));
  border-color: rgba(103, 175, 255, .34);
  box-shadow: 0 10px 26px rgba(0, 79, 205, .32), inset 0 1px rgba(255,255,255,.14);
}
.nav-item .ni { background: rgba(45, 120, 228, .12); }
.nav-item.active .ni { background: rgba(255,255,255,.16); }
.sb-footer { border-top-color: rgba(132,174,231,.11); }
.auth-user-card { border-color: rgba(96,154,235,.18); background: rgba(19,64,126,.22); }
.auth-user-avatar { color: #ddecff; background: rgba(17,125,255,.23); border-color: rgba(83,163,255,.38); }
.auth-logout { color: #9aacc5; border-color: rgba(115,157,215,.2); background: rgba(255,255,255,.025); }
.auth-logout:hover { color: #fff; border-color: rgba(255,100,118,.35); background: rgba(255,100,118,.12); }

/* Shared surfaces */
.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card,
.lb-section,
.pod-card,
.dashboard-control-card,
#section-overview .export-bar,
#section-overview .att-widget,
.sponsor-form-block,
.registration-field-card,
.solo-dist-col,
.att-team-block,
.modal {
  color: var(--text);
  border-color: var(--border) !important;
  background: linear-gradient(145deg, rgba(11, 32, 64, .97), rgba(7, 22, 47, .98)) !important;
  box-shadow: var(--sh-sm);
}
.acct-panel:hover,
.tourney-card:hover,
.detail-card:hover {
  border-color: rgba(55, 142, 255, .42) !important;
  box-shadow: var(--sh);
}

/* Dashboard */
#section-overview { --dash-ink: #f4f8ff; }
.dashboard-hero {
  border-color: rgba(77, 155, 255, .30);
  background:
    radial-gradient(circle at 72% -20%, rgba(36, 135, 255, .48), transparent 40%),
    linear-gradient(118deg, #07142e 0%, #082a5a 58%, #063a78 100%);
  box-shadow: 0 24px 62px rgba(0, 44, 126, .34);
}
#section-overview .ov-stat {
  color: #54a7ff;
  border-color: var(--border);
  background:
    radial-gradient(circle at 100% 0, currentColor 0, transparent 34%),
    linear-gradient(145deg, #0b2143, #081934);
  box-shadow: var(--sh-sm);
}
#section-overview .ov-stat::after { opacity: .07; }
#section-overview .ov-stat-icon { background: rgba(38, 125, 236, .16); }
#section-overview .ov-stat-val { color: #fff; }
#section-overview .ov-stat-lbl { color: #8498b7; }
#section-overview .ov-picker-lbl { color: #7f94b2; }
#section-overview .att-widget-hd {
  border-bottom: 1px solid rgba(109,169,244,.16);
  background: linear-gradient(110deg, #07162e, #0a3470);
}

/* Inputs, filters and buttons */
.form-group input,
.form-group select,
.form-group textarea,
.ov-picker-sel,
.form-select,
.score-search,
.filter-input,
.rd-field input,
.rd-field select,
.cc-inp,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
  color: var(--text) !important;
  border-color: var(--border-mid) !important;
  background: rgba(5, 19, 43, .78) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.015);
}
input::placeholder, textarea::placeholder { color: #536a8b !important; }
select option { color: #eaf3ff; background: #091a36; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.ov-picker-sel:focus,
.form-select:focus,
.score-search:focus,
.filter-input:focus,
.rd-field input:focus,
.rd-field select:focus,
.cc-inp:focus {
  border-color: #1687ff !important;
  background: #0a2348 !important;
  box-shadow: 0 0 0 3px rgba(22,135,255,.18) !important;
}
.form-group label, .rd-field label { color: #8197b7; }
.btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #1687ff, #075ed1);
  box-shadow: 0 7px 18px rgba(0, 100, 235, .28);
}
.btn-primary:hover { background: linear-gradient(135deg, #2997ff, #0870ec); }
.btn-outline,
.ov-refresh-btn,
.btn-export,
.tab-pill,
.score-tab {
  color: #b9c9df;
  border-color: var(--border-mid) !important;
  background: rgba(15, 42, 81, .72) !important;
}
.btn-outline:hover,
.ov-refresh-btn:hover,
.btn-export:hover,
.tab-pill:hover,
.score-tab:hover {
  color: #fff !important;
  border-color: rgba(53,144,255,.62) !important;
  background: rgba(20, 94, 190, .38) !important;
  box-shadow: 0 7px 18px rgba(0,78,190,.16);
}
.btn-danger { color: #ffd8dd; background: rgba(207,50,73,.25); border-color: rgba(255,100,118,.35); }
.btn-gold { color: #171006; background: linear-gradient(135deg,#ffd778,#eaa62f); }
.tab-pill.active,
.score-tab.active,
.sc-day-tab.active,
.att-day-tab.active { color: #fff !important; border-color: transparent !important; background: linear-gradient(135deg,#1687ff,#075ecf) !important; }

/* Tables and data-heavy views */
table { color: var(--text); }
.reg-table,
.acct-table,
.att-grid-table { background: transparent; }
.reg-table thead,
.acct-table thead,
.att-grid-table thead,
.fl-table thead {
  color: #7890b2 !important;
  background: rgba(13, 42, 82, .88) !important;
}
.reg-table th,
.reg-table td,
.acct-table th,
.acct-table td,
.att-grid-table th,
.att-grid-table td {
  border-color: var(--border) !important;
}
.reg-table tbody tr,
.acct-table tbody tr,
.att-player-row { background: transparent; }
.reg-table tbody tr:hover,
.acct-table tbody tr:hover,
.att-player-row:hover { background: rgba(24, 105, 220, .09) !important; }
.acct-table-wrap,
.att-table-wrap { border-color: var(--border); background: transparent; }
.att-th-player, .att-th-day, .att-td-player, .att-td-day { border-color: var(--border) !important; }
.att-p-name, .att-player-name, .att-team-name { color: var(--text) !important; }
.att-p-role, .att-player-meta { color: var(--text-muted) !important; }

/* Tournament, registration and scoring detail surfaces */
.filter-bar,
.tourney-toolbar,
.score-team-head,
.att-team-hd,
.solo-dist-col-title,
.class-col-title {
  color: var(--text);
  border-color: var(--border) !important;
  background: rgba(12, 39, 76, .88) !important;
}
.score-team-head,
.att-team-hd { background: linear-gradient(115deg,#0a2349,#0b4d92) !important; }
.tourney-card h3,
.tc-name,
.detail-card h3,
.team-detail-card h3,
.score-team-head h4,
.class-col-title { color: #f4f8ff !important; }
.tourney-card p,
.tc-meta,
.detail-card p,
.team-detail-card p { color: var(--text-muted) !important; }
.empty-state, .att-empty, .acct-empty { color: var(--text-muted); }
.att-stat,
.att-player-card,
.solo-player-row,
.scoring-opts-wrap,
.mode-info {
  color: var(--text);
  border-color: var(--border) !important;
  background: rgba(12, 39, 76, .62) !important;
}
.att-stat-val { color: #70b9ff; }
.att-stat-lbl { color: #7891b4; }
.att-day-header, .att-player-row { border-color: var(--border) !important; }
.att-day-cell { border-color: var(--border) !important; background: rgba(5,18,42,.72); }
.att-day-cell.lit { color: #61e7b1; border-color: rgba(55,216,155,.45) !important; background: rgba(15,121,84,.28); }
.att-cell-dash { color: #506583; }

/* Leaderboard */
.lb-hero {
  border: 1px solid rgba(55,145,255,.3);
  background: linear-gradient(125deg,#07152e,#09356d 60%,#075cb5);
  box-shadow: var(--sh-lg);
}
.pod-card,
.rank-row { border-color: var(--border) !important; background: linear-gradient(145deg,#0c2243,#081831) !important; }
.rank-row:hover { background: rgba(17,72,139,.44) !important; }
.pod-name, .rank-name { color: var(--text) !important; }
.pod-meta, .rank-meta, .pod-lbl { color: var(--text-muted) !important; }

/* Accounts, schedules and modal dialogs */
.modal-ov { background: rgba(0, 4, 17, .72); backdrop-filter: blur(10px); }
.modal { box-shadow: 0 34px 90px rgba(0,2,12,.64); }
.modal h3 { color: #f5f8ff; }
.modal-footer { border-top-color: var(--border); }
.acct-password-help, .acct-access-note, .acct-access-window { color: var(--text-muted); }
.acct-access-fields,
.acct-access-preview {
  color: #bcd3ec;
  border-color: var(--border) !important;
  background: rgba(10, 39, 78, .68) !important;
}
.acct-role-pill,
.acct-access-badge.unrestricted { color: #a9c3df; border-color: var(--border); background: rgba(31,67,111,.45); }
.acct-access-badge.active { color: #5ee6b2; border-color: rgba(63,218,161,.3); background: rgba(18,132,91,.22); }
.acct-access-badge.scheduled { color: #ffd272; border-color: rgba(242,184,75,.3); background: rgba(157,101,18,.22); }
.acct-access-badge.expired { color: #ff9da9; border-color: rgba(255,100,118,.3); background: rgba(155,40,59,.24); }

/* Scrollbars and read-only notice */
::-webkit-scrollbar-track { background: #061127; }
::-webkit-scrollbar-thumb { background: #1a3c67; }
::-webkit-scrollbar-thumb:hover { background: #176fcf; }
.auth-readonly-banner { color: #ffdc91; border-color: rgba(242,184,75,.28); background: #172038; }

@media (max-width: 680px) {
  body { background: linear-gradient(160deg,#06142d,#050d20); }
  .main { background-size: 28px 28px; }
}

/* Midnight contrast corrections for legacy hard-coded surfaces */
#section-overview .ov-picker-row { background: transparent !important; }
.reg-table thead th,
.acct-table thead th,
.att-grid-table thead th,
.fl-table thead th { color: #7890b2 !important; background: transparent !important; }
.tc-stat-val,
.tc-stat strong,
.tourney-stat strong { color: #71b7ff !important; }
.rtc-header {
  color: #dce8f8 !important;
  border-color: var(--border) !important;
  background: linear-gradient(90deg, rgba(17,55,102,.92), rgba(9,35,72,.94)) !important;
}
.rtc-header .rtc-team-name { color: #e9f2ff !important; }
.rtc-header .rtc-team-meta,
.rtc-header .rtc-count { color: #8297b7 !important; }
#section-overview .btn-export { color: #b9c9df !important; }
#section-overview .btn-export:hover { color: #fff !important; }

/* ==========================================================
   Accessible Daylight UI — bright, high-contrast, elder-friendly
   ========================================================== */
:root {
  color-scheme: light;
  --sidebar: #ffffff;
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-alt: #f7faff;
  --s2: #f5f8fc;
  --s3: #eaf1f8;
  --text: #142536;
  --text-mid: #354b60;
  --text-muted: #65798c;
  --text-light: #8998a7;
  --border: #d7e1ea;
  --border-mid: #bac9d6;
  --accent: #176fca;
  --accent-dk: #0f559f;
  --green: #137a55;
  --red: #bc3d4a;
  --purple: #6955b6;
  --orange: #b96024;
  --sh-sm: 0 5px 18px rgba(25, 53, 78, .07);
  --sh: 0 12px 30px rgba(25, 53, 78, .11);
  --sh-lg: 0 24px 60px rgba(25, 53, 78, .16);
}

html, body { background: #f4f7fb; }
body {
  color: var(--text);
  font-size: 16px;
  background:
    radial-gradient(circle at 88% 0%, rgba(40, 133, 221, .09), transparent 32rem),
    linear-gradient(145deg, #f7faff, #eef4f9) !important;
}
.main {
  background:
    linear-gradient(rgba(60, 113, 163, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(60, 113, 163, .025) 1px, transparent 1px);
  background-size: 38px 38px;
}

/* Light navigation */
.sidebar {
  color: var(--text);
  background: linear-gradient(180deg, #ffffff, #f4f8fc) !important;
  border-right: 1px solid #d8e2eb;
  box-shadow: 8px 0 28px rgba(27, 55, 81, .08);
}
.sb-logo { border-bottom-color: #dce5ed; }
.sb-logo h2 { color: #173047; }
.sb-logo span { color: #718499; }
.nav-sec { color: #7a8b9c; }
.nav-item { color: #44596d; }
.nav-item .ni { background: #edf3f8; }
.nav-item:hover {
  color: #155ca3;
  background: #edf5fd;
  border-color: #d5e6f7;
}
.nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, #2685df, #1766ba) !important;
  border-color: #1766ba;
  box-shadow: 0 8px 20px rgba(23,102,186,.22), inset 0 1px rgba(255,255,255,.2);
}
.sb-footer { border-top-color: #dce5ed; }
.auth-user-card { border-color: #d5e0e9; background: #f1f6fa; }
.auth-user-avatar { color: #145a9c; background: #dceeff; border-color: #acd2f4; }
.auth-user-name { color: #1d354b; }
.auth-user-role { color: #718397; }
.auth-logout { color: #4a6074; border-color: #cbd7e1; background: #fff; }
.auth-logout:hover { color: #a42e3d; border-color: #e3adb5; background: #fff3f4; }
.sb-copy { color: #93a1ae; }

/* High-contrast typography */
.page-hd h2,
.acct-panel h3,
.dashboard-card-heading h3,
.tournament-sponsors-heading h3,
.tourney-card h3,
.tc-name,
.detail-card h3,
.team-detail-card h3,
.class-col-title { color: #172c3f !important; }
.page-hd p,
.tourney-card p,
.tc-meta,
.detail-card p,
.team-detail-card p { color: #65798c !important; }
.nav-item,
.btn,
.ov-refresh-btn,
.btn-export,
.form-group input,
.form-group select,
.form-group textarea { font-size: .84rem; }

/* Bright cards and panels */
.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card,
.lb-section,
.pod-card,
.dashboard-control-card,
#section-overview .export-bar,
#section-overview .att-widget,
.sponsor-form-block,
.registration-field-card,
.solo-dist-col,
.att-team-block,
.modal {
  color: var(--text);
  border-color: #d7e1ea !important;
  background: #ffffff !important;
  box-shadow: var(--sh-sm);
}

/* Dashboard cards */
#section-overview { --dash-ink: #142536; }
.dashboard-hero {
  color: #fff;
  border-color: #b9d6f0;
  background:
    radial-gradient(circle at 75% -20%, rgba(255,255,255,.3), transparent 40%),
    linear-gradient(118deg, #164f86, #2478bc 60%, #50a1d2) !important;
  box-shadow: 0 16px 36px rgba(35, 105, 163, .2);
}
.dashboard-hero h2 { color: #fff !important; }
.dashboard-hero p { color: rgba(255,255,255,.84); }
.dashboard-kicker { color: #d8edff; }
#section-overview .ov-stat {
  color: #2a78b8;
  border-color: #d4e0e9;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, currentColor 12%, white), transparent 38%),
    #ffffff !important;
  box-shadow: var(--sh-sm);
}
#section-overview .ov-stat-val { color: #152b3d; }
#section-overview .ov-stat-lbl { color: #5f7487; }
#section-overview .ov-stat-icon { background: #edf5fc; }
#section-overview .ov-picker-lbl { color: #5d7388; }
#section-overview .att-widget-hd {
  color: #fff;
  background: linear-gradient(110deg, #174f7d, #2580b8) !important;
}

/* Forms and controls */
.form-group input,
.form-group select,
.form-group textarea,
.ov-picker-sel,
.form-select,
.score-search,
.filter-input,
.rd-field input,
.rd-field select,
.cc-inp,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
  color: #172c3f !important;
  border-color: #bdccd9 !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(25,53,78,.03);
}
input::placeholder, textarea::placeholder { color: #8595a4 !important; }
select option { color: #172c3f; background: #fff; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.ov-picker-sel:focus,
.form-select:focus,
.score-search:focus,
.filter-input:focus,
.rd-field input:focus,
.rd-field select:focus,
.cc-inp:focus {
  border-color: #2478c3 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(36,120,195,.14) !important;
}
.form-group label, .rd-field label { color: #5e7488; }
.btn-primary { color: #fff; background: linear-gradient(135deg,#2585dc,#1767b9); }
.btn-outline,
.ov-refresh-btn,
.btn-export,
.tab-pill,
.score-tab {
  color: #334c62 !important;
  border-color: #bdccd9 !important;
  background: #ffffff !important;
}
.btn-outline:hover,
.ov-refresh-btn:hover,
.btn-export:hover,
.tab-pill:hover,
.score-tab:hover {
  color: #155fa8 !important;
  border-color: #76acd8 !important;
  background: #f1f8ff !important;
}
.tab-pill.active,
.score-tab.active,
.sc-day-tab.active,
.att-day-tab.active { color: #fff !important; background: linear-gradient(135deg,#2788df,#1766b8) !important; }
#section-overview .btn-export { color: #334c62 !important; }
#section-overview .btn-export:hover { color: #155fa8 !important; }

/* Tables */
table { color: #203649; }
.reg-table thead,
.acct-table thead,
.att-grid-table thead,
.fl-table thead { color: #536b7f !important; background: #edf3f7 !important; }
.reg-table thead th,
.acct-table thead th,
.att-grid-table thead th,
.fl-table thead th { color: #536b7f !important; background: transparent !important; }
.reg-table th,
.reg-table td,
.acct-table th,
.acct-table td,
.att-grid-table th,
.att-grid-table td { border-color: #dce5ec !important; }
.reg-table tbody tr:hover,
.acct-table tbody tr:hover,
.att-player-row:hover { background: #f2f8fd !important; }
.acct-table-wrap, .att-table-wrap { background: #fff; }

/* Operational sections */
.filter-bar,
.tourney-toolbar,
.solo-dist-col-title,
.class-col-title { color: #263d51; border-color: #d7e1ea !important; background: #f1f6fa !important; }
.score-team-head,
.att-team-hd { color: #fff; background: linear-gradient(115deg,#1c5b8d,#2787bd) !important; }
.score-team-head h4,
.att-team-name { color: #fff !important; }
.att-stat,
.att-player-card,
.solo-player-row,
.scoring-opts-wrap,
.mode-info {
  color: #203649;
  border-color: #d7e1ea !important;
  background: #f4f8fb !important;
}
.att-stat-val { color: #1766a8; }
.att-stat-lbl { color: #61778b; }
.att-p-name, .att-player-name { color: #203649 !important; }
.att-p-role, .att-player-meta { color: #6c8092 !important; }
.att-day-cell { color: #4d6173; border-color: #d4dfe7 !important; background: #f7f9fb; }
.att-day-cell.lit { color: #08784f; border-color: #8bd5b5 !important; background: #e5f7ef; }
.empty-state, .att-empty, .acct-empty { color: #687d8f; }

/* Leaderboard */
.lb-hero { border-color: #9dc5e8; background: linear-gradient(125deg,#19588d,#247dc0 60%,#3c99cf) !important; }
.pod-card,
.rank-row { color: #203649; border-color: #d7e1ea !important; background: #fff !important; }
.pod-name, .rank-name { color: #203649 !important; }
.pod-meta, .rank-meta, .pod-lbl { color: #687d8f !important; }
.rtc-header { color: #263e53 !important; border-color: #d8e2ea !important; background: #edf3f7 !important; }
.rtc-header .rtc-team-name { color: #263e53 !important; }
.rtc-header .rtc-team-meta, .rtc-header .rtc-count { color: #667b8e !important; }

/* Modals and access states */
.modal-ov { background: rgba(31, 51, 70, .46); backdrop-filter: blur(8px); }
.modal { color: #203649; box-shadow: 0 30px 80px rgba(28,53,77,.28); }
.modal h3 { color: #172c3f; }
.modal-footer { border-top-color: #d9e2e9; }
.acct-password-help, .acct-access-note, .acct-access-window { color: #677b8e; }
.acct-access-fields,
.acct-access-preview { color: #41596e; border-color: #d1dee8 !important; background: #f1f7fb !important; }
.acct-role-pill,
.acct-access-badge.unrestricted { color: #456078; border-color: #ccd9e2; background: #edf3f7; }
.acct-access-badge.active { color: #087451; border-color: #a7ddc8; background: #e9f7f1; }
.acct-access-badge.scheduled { color: #8b5b0b; border-color: #e8ce8b; background: #fff7df; }
.acct-access-badge.expired { color: #a33844; border-color: #ebbac0; background: #fff0f2; }

::-webkit-scrollbar-track { background: #edf2f6; }
::-webkit-scrollbar-thumb { background: #b4c4d1; }
::-webkit-scrollbar-thumb:hover { background: #7f9db5; }

@media (max-width: 680px) {
  body { background: linear-gradient(160deg,#f8fbfe,#eef4f9) !important; }
}

/* ==========================================================
   Clubhouse Daylight — calm, dimensional, and easy to scan
   ========================================================== */
:root {
  --sidebar: #edf2ee;
  --bg: #eef2ef;
  --surface: #fbfcf8;
  --surface-alt: #f3f6f1;
  --s2: #f0f4f0;
  --s3: #e3eae4;
  --text: #18302f;
  --text-mid: #405a57;
  --text-muted: #677d79;
  --text-light: #879894;
  --border: #d1dcd4;
  --border-mid: #b7c8bd;
  --accent: #166b61;
  --accent-dk: #0f514a;
  --green: #27785c;
  --sh-sm: 0 1px 2px rgba(28,52,47,.04), 0 8px 22px rgba(28,52,47,.055);
  --sh: 0 2px 5px rgba(28,52,47,.05), 0 16px 38px rgba(28,52,47,.08);
  --sh-lg: 0 26px 70px rgba(28,52,47,.16);
}

html, body { background: #eef2ef; }
body {
  color: var(--text);
  background:
    radial-gradient(ellipse at 75% -12%, rgba(153,190,207,.32), transparent 44rem),
    radial-gradient(ellipse at 12% 105%, rgba(171,194,169,.28), transparent 38rem),
    #eef2ef !important;
}
.main {
  background:
    linear-gradient(rgba(44,84,76,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(44,84,76,.026) 1px, transparent 1px);
  background-size: 46px 46px;
}

/* Soft clubhouse navigation */
.sidebar {
  background:
    linear-gradient(180deg, rgba(255,255,255,.62), transparent 24%),
    #e8eeea !important;
  border-right: 1px solid #c9d6ce;
  box-shadow: 10px 0 32px rgba(34,66,58,.075);
}
.sb-logo { border-bottom-color: #cbd7cf; }
.sb-logo h2 { color: #193c38; letter-spacing: -.025em; }
.sb-logo span { color: #6d817c; }
.nav-sec { color: #7a8c87; }
.nav-item { color: #405b57; border-radius: 12px; }
.nav-item .ni {
  color: #376c64;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(181,201,190,.72);
}
.nav-item:hover {
  color: #145c54;
  background: rgba(255,255,255,.68);
  border-color: #c4d4ca;
}
.nav-item.active {
  color: #fff;
  background: #176d63 !important;
  border-color: #176d63;
  box-shadow: 0 8px 20px rgba(23,109,99,.2), inset 0 1px rgba(255,255,255,.2);
}
.nav-item.active .ni { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.15); }
.sb-footer { border-top-color: #cbd7cf; }
.auth-user-card { border-color: #c7d5cc; background: rgba(255,255,255,.62); }
.auth-user-avatar { color: #155e55; background: #d9ebe3; border-color: #a9cdbd; }
.auth-user-name { color: #23443f; }
.auth-user-role { color: #70827d; }
.auth-logout { color: #3f5d58; border-color: #bdccc3; background: rgba(255,255,255,.72); }
.sb-copy { color: #86958f; }

/* Editorial hierarchy */
.page-hd {
  border-bottom-color: #ced9d2;
  position: relative;
}
.page-hd::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 72px;
  height: 2px;
  background: #2d8072;
}
.page-hd h2,
.acct-panel h3,
.dashboard-card-heading h3,
.tournament-sponsors-heading h3,
.tourney-card h3,
.tc-name,
.detail-card h3,
.team-detail-card h3,
.class-col-title { color: #193532 !important; }
.page-hd p, .tc-meta, .detail-card p, .team-detail-card p { color: #687d78 !important; }

/* Layered daylight surfaces instead of flat white */
.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card,
.lb-section,
.pod-card,
.dashboard-control-card,
#section-overview .export-bar,
#section-overview .att-widget,
.sponsor-form-block,
.registration-field-card,
.solo-dist-col,
.att-team-block,
.modal {
  color: var(--text);
  border-color: #ccd8d0 !important;
  background: linear-gradient(145deg, #fcfdf9, #f5f8f3) !important;
  box-shadow: var(--sh-sm);
}
.dashboard-control-card,
#section-overview .export-bar,
.filter-bar,
.score-filter-bar {
  background: rgba(250,252,247,.84) !important;
  backdrop-filter: blur(12px);
}

/* Command-center composition */
.dashboard-hero {
  min-height: 184px;
  color: #fff;
  border: 1px solid #719c96 !important;
  background:
    radial-gradient(circle at 84% 20%, rgba(255,255,255,.19), transparent 18rem),
    linear-gradient(112deg, #315f67 0%, #2f7b75 58%, #73a49b 100%) !important;
  box-shadow: 0 18px 42px rgba(41,93,87,.18);
}
.dashboard-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 5px;
  background: linear-gradient(90deg, #d5b86f 0 22%, rgba(255,255,255,.24) 22% 100%);
}
.dashboard-hero h2 { color: #fff !important; letter-spacing: -.04em; }
.dashboard-hero p { color: rgba(255,255,255,.88); max-width: 620px; }
.dashboard-kicker { color: #e7f0e7; }
.dashboard-kicker span { background: #dbc27d; }
.dashboard-hero-mark { color: #f3e8c3; }

.ov-stat-strip { gap: 18px; }
#section-overview .ov-stat {
  min-height: 134px;
  color: #2a7167;
  border: 1px solid #cad7cf !important;
  border-top: 3px solid currentColor !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(244,248,242,.92)) !important;
  box-shadow: var(--sh-sm);
}
#section-overview .ov-stat-blue { color: #3c718c; }
#section-overview .ov-stat-green { color: #28785b; }
#section-overview .ov-stat-amber { color: #a97727; }
#section-overview .ov-stat-purple { color: #6b668e; }
#section-overview .ov-stat-icon {
  background: color-mix(in srgb, currentColor 10%, #f8faf6);
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
#section-overview .ov-stat-val { color: #183632; }
#section-overview .ov-stat-lbl { color: #637a75; }

#section-overview .att-widget-hd,
.score-team-head,
.att-team-hd {
  color: #fff;
  background: #315f62 !important;
  border-bottom: 4px solid #cdb56e;
}

/* Controls: warm paper fields and restrained green actions */
.form-group input,
.form-group select,
.form-group textarea,
.ov-picker-sel,
.form-select,
.score-search,
.filter-input,
.rd-field input,
.rd-field select,
.cc-inp,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
  color: #1c3835 !important;
  border-color: #b9c9bf !important;
  background: #fffef9 !important;
}
input::placeholder, textarea::placeholder { color: #82938e !important; }
select option { color: #1c3835; background: #fffef9; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.ov-picker-sel:focus,
.form-select:focus,
.score-search:focus,
.filter-input:focus,
.rd-field input:focus,
.rd-field select:focus,
.cc-inp:focus {
  border-color: #2c7c70 !important;
  background: #fffef9 !important;
  box-shadow: 0 0 0 4px rgba(44,124,112,.14) !important;
}
.btn-primary { color: #fff; background: #176d63; box-shadow: 0 5px 14px rgba(23,109,99,.17); }
.btn-primary:hover { background: #105d55; }
.btn-outline,
.ov-refresh-btn,
.btn-export,
.tab-pill,
.score-tab {
  color: #385752 !important;
  border-color: #b9c9bf !important;
  background: #fffef9 !important;
}
.btn-outline:hover,
.ov-refresh-btn:hover,
.btn-export:hover,
.tab-pill:hover,
.score-tab:hover {
  color: #125d54 !important;
  border-color: #7eaa9d !important;
  background: #edf6f1 !important;
}
.tab-pill.active,
.score-tab.active,
.sc-day-tab.active,
.att-day-tab.active {
  color: #fff !important;
  border-color: #176d63 !important;
  background: #176d63 !important;
}

/* Tables use tinted bands for faster scanning */
table { color: #24413d; }
.reg-table thead,
.acct-table thead,
.att-grid-table thead,
.fl-table thead {
  color: #516963 !important;
  background: #e6ece7 !important;
}
.reg-table thead th,
.acct-table thead th,
.att-grid-table thead th,
.fl-table thead th { color: #516963 !important; background: transparent !important; }
.reg-table th, .reg-table td,
.acct-table th, .acct-table td,
.att-grid-table th, .att-grid-table td { border-color: #d7e0da !important; }
.reg-table tbody tr:nth-child(even),
.acct-table tbody tr:nth-child(even) { background: rgba(235,241,236,.55); }
.reg-table tbody tr:hover,
.acct-table tbody tr:hover,
.att-player-row:hover { background: #e7f2ec !important; }
.reg-qr-download { background: #edf5f0; border-color: #b8ccc0; color: #176d63; }

/* Secondary operational surfaces */
.filter-bar,
.tourney-toolbar,
.solo-dist-col-title,
.class-col-title { color: #304d48; border-color: #ccd8d0 !important; background: #e8eee9 !important; }
.att-stat,
.att-player-card,
.solo-player-row,
.scoring-opts-wrap,
.mode-info {
  color: #29443f;
  border-color: #d0dbd3 !important;
  background: #f0f4ef !important;
}
.att-day-cell { color: #516963; border-color: #d0dbd3 !important; background: #f4f6f2; }
.att-day-cell.lit { color: #176346; border-color: #91c4aa !important; background: #e4f2e9; }
.lb-hero {
  border-color: #88aaa4;
  background: linear-gradient(115deg,#315d63,#397c75 62%,#85aaa1) !important;
  box-shadow: 0 16px 38px rgba(48,91,87,.16);
}
.pod-card, .rank-row { color: #29443f; border-color: #cedad2 !important; background: #fafbf7 !important; }
.pod-name, .rank-name { color: #203d38 !important; }
.rtc-header { color: #304d48 !important; border-color: #cdd9d1 !important; background: #e7ede8 !important; }
.rtc-header .rtc-team-name { color: #304d48 !important; }

.modal-ov { background: rgba(34,55,50,.43); backdrop-filter: blur(8px); }
.modal { box-shadow: 0 30px 80px rgba(28,53,47,.25); }
.acct-access-fields,
.acct-access-preview { color: #405c56; border-color: #ccd9d1 !important; background: #edf3ee !important; }

::-webkit-scrollbar-track { background: #e5ebe7; }
::-webkit-scrollbar-thumb { background: #aabbb1; }
::-webkit-scrollbar-thumb:hover { background: #7f9d91; }

@media (max-width: 680px) {
  body {
    background:
      radial-gradient(circle at 90% 0, rgba(153,190,207,.24), transparent 24rem),
      #eef2ef !important;
  }
  .dashboard-hero { min-height: 170px; }
}

/* ==========================================================
   Luminous Indigo — light interpretation of the reference UI
   ========================================================== */
:root {
  --sidebar: #f2f3fa;
  --bg: #eef0f8;
  --surface: #f9faff;
  --surface-alt: #f3f5fc;
  --s2: #f0f2fa;
  --s3: #e5e8f4;
  --text: #18213d;
  --text-mid: #3f4968;
  --text-muted: #6d7590;
  --text-light: #9399ad;
  --border: #d5d9e8;
  --border-mid: #bcc3d8;
  --accent: #3b5ccc;
  --accent-dk: #2947ad;
  --green: #19815d;
  --sh-sm: 0 2px 4px rgba(30,39,82,.035), 0 10px 26px rgba(45,55,103,.07);
  --sh: 0 4px 8px rgba(30,39,82,.04), 0 18px 42px rgba(45,55,103,.10);
  --sh-lg: 0 28px 72px rgba(31,39,81,.18);
}

html, body { background: #eef0f8; }
body {
  color: var(--text);
  background:
    radial-gradient(ellipse at 76% -8%, rgba(129,145,225,.22), transparent 42rem),
    radial-gradient(ellipse at 8% 105%, rgba(112,202,224,.16), transparent 38rem),
    linear-gradient(145deg, #f3f4fa, #e9edf7) !important;
}
.main {
  background:
    linear-gradient(rgba(70,80,145,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70,80,145,.025) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* Reference-inspired light sidebar */
.sidebar {
  background:
    radial-gradient(circle at 0 0, rgba(104,121,221,.11), transparent 18rem),
    linear-gradient(180deg, #f7f7fc, #eceff7) !important;
  border-right: 1px solid #d0d5e5;
  box-shadow: 10px 0 34px rgba(37,45,89,.085);
}
.sb-logo { border-bottom-color: #d1d6e5; }
.sb-logo h2 { color: #17213e; }
.sb-logo span { color: #777f99; }
.nav-sec { color: #858ba2; }
.nav-item { color: #46506f; }
.nav-item .ni {
  color: #4059b7;
  background: #e9ecf7;
  border-color: #d6dbea;
}
.nav-item:hover {
  color: #2c46a5;
  background: #e9ecf8;
  border-color: #d1d7eb;
}
.nav-item.active {
  color: #fff;
  background: linear-gradient(135deg, #526fec, #354fc7) !important;
  border-color: #405bd5;
  box-shadow: 0 9px 24px rgba(57,80,199,.25), inset 0 1px rgba(255,255,255,.23);
}
.nav-item.active .ni { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.13); }
.sb-footer { border-top-color: #d1d6e5; }
.auth-user-card { border-color: #ccd2e3; background: rgba(255,255,255,.66); }
.auth-user-avatar { color: #3450b8; background: #e1e6fb; border-color: #bec9f0; }
.auth-user-name { color: #283352; }
.auth-user-role { color: #798098; }
.auth-logout { color: #4e5875; border-color: #c6cce0; background: rgba(255,255,255,.78); }

.page-hd { border-bottom-color: #d2d7e5; }
.page-hd::after { background: linear-gradient(90deg,#4865d7,#58b7d4); }
.page-hd h2,
.acct-panel h3,
.dashboard-card-heading h3,
.tournament-sponsors-heading h3,
.tourney-card h3,
.tc-name,
.detail-card h3,
.team-detail-card h3,
.class-col-title { color: #1a2442 !important; }
.page-hd p, .tc-meta, .detail-card p, .team-detail-card p { color: #6b7490 !important; }

/* Lavender-white panels with the rounded rhythm of the reference */
.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card,
.lb-section,
.pod-card,
.dashboard-control-card,
#section-overview .export-bar,
#section-overview .att-widget,
.sponsor-form-block,
.registration-field-card,
.solo-dist-col,
.att-team-block,
.modal {
  color: var(--text);
  border-color: #d3d8e8 !important;
  background: linear-gradient(145deg, #fbfbff, #f4f6fc) !important;
  box-shadow: var(--sh-sm);
}
.dashboard-control-card,
#section-overview .export-bar,
.filter-bar,
.score-filter-bar {
  background: rgba(248,249,255,.88) !important;
  border-color: #d3d8e8 !important;
  backdrop-filter: blur(12px);
}

.dashboard-hero {
  min-height: 190px;
  color: #fff;
  border-color: #8b98d8 !important;
  background:
    radial-gradient(circle at 76% 18%, rgba(120,209,236,.25), transparent 18rem),
    radial-gradient(circle at 102% 110%, rgba(126,92,231,.42), transparent 24rem),
    linear-gradient(112deg, #263a78 0%, #3e59bd 58%, #7184da 100%) !important;
  box-shadow: 0 20px 46px rgba(46,61,137,.23);
}
.dashboard-hero::after {
  height: 4px;
  background: linear-gradient(90deg, #5fd0e5 0 28%, rgba(255,255,255,.18) 28% 100%);
}
.dashboard-hero h2 { color: #fff !important; }
.dashboard-hero p { color: rgba(245,248,255,.88); }
.dashboard-kicker { color: #dce7ff; }
.dashboard-kicker span { background: #6bd5e8; }
.dashboard-hero-mark { color: #dce8ff; }

#section-overview .ov-stat {
  color: #526ed5;
  border-color: #d3d8e8 !important;
  border-top: 1px solid #d3d8e8 !important;
  background:
    radial-gradient(circle at 103% -8%, color-mix(in srgb, currentColor 14%, transparent), transparent 40%),
    linear-gradient(145deg, #fcfcff, #f2f4fb) !important;
  box-shadow: var(--sh-sm);
}
#section-overview .ov-stat-blue { color: #3f6fd3; }
#section-overview .ov-stat-green { color: #258a78; }
#section-overview .ov-stat-amber { color: #b68031; }
#section-overview .ov-stat-purple { color: #755bc2; }
#section-overview .ov-stat-icon {
  background: color-mix(in srgb, currentColor 11%, #f8f9ff);
  border-color: color-mix(in srgb, currentColor 20%, transparent);
}
#section-overview .ov-stat-val { color: #1b2543; }
#section-overview .ov-stat-lbl { color: #69738e; }

#section-overview .att-widget-hd,
.score-team-head,
.att-team-hd {
  color: #fff;
  background: linear-gradient(105deg,#2e417e,#425bb7) !important;
  border-bottom: 4px solid #62c5df;
}

.form-group input,
.form-group select,
.form-group textarea,
.ov-picker-sel,
.form-select,
.score-search,
.filter-input,
.rd-field input,
.rd-field select,
.cc-inp,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
  color: #202a48 !important;
  border-color: #bcc4dc !important;
  background: #fafbff !important;
}
input::placeholder, textarea::placeholder { color: #8990a7 !important; }
select option { color: #202a48; background: #fafbff; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.ov-picker-sel:focus,
.form-select:focus,
.score-search:focus,
.filter-input:focus,
.rd-field input:focus,
.rd-field select:focus,
.cc-inp:focus {
  border-color: #536fd7 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(83,111,215,.14) !important;
}
.btn-primary { color: #fff; background: linear-gradient(135deg,#5675eb,#3b57ca); box-shadow: 0 6px 16px rgba(59,87,202,.2); }
.btn-primary:hover { background: linear-gradient(135deg,#4968dd,#3049b6); }
.btn-outline,
.ov-refresh-btn,
.btn-export,
.tab-pill,
.score-tab {
  color: #414d70 !important;
  border-color: #bdc5dc !important;
  background: #fafbff !important;
}
.btn-outline:hover,
.ov-refresh-btn:hover,
.btn-export:hover,
.tab-pill:hover,
.score-tab:hover {
  color: #314eb7 !important;
  border-color: #8d9ed7 !important;
  background: #eef1ff !important;
}
.tab-pill.active,
.score-tab.active,
.sc-day-tab.active,
.att-day-tab.active {
  color: #fff !important;
  border-color: #405bcf !important;
  background: linear-gradient(135deg,#5775e8,#3d56c8) !important;
}

.reg-table thead,
.acct-table thead,
.att-grid-table thead,
.fl-table thead { color: #59627e !important; background: #e9ecf5 !important; }
.reg-table thead th,
.acct-table thead th,
.att-grid-table thead th,
.fl-table thead th { color: #59627e !important; }
.reg-table th, .reg-table td,
.acct-table th, .acct-table td,
.att-grid-table th, .att-grid-table td { border-color: #dbe0ed !important; }
.reg-table tbody tr:nth-child(even),
.acct-table tbody tr:nth-child(even) { background: rgba(237,240,248,.64); }
.reg-table tbody tr:hover,
.acct-table tbody tr:hover,
.att-player-row:hover { background: #e9edfb !important; }
.reg-qr-download { background: #eef1fb; border-color: #c4cce3; color: #3e5bc8; }

.filter-bar,
.tourney-toolbar,
.solo-dist-col-title,
.class-col-title { color: #414c6b; border-color: #d2d7e5 !important; background: #e9ecf4 !important; }
.att-stat,
.att-player-card,
.solo-player-row,
.scoring-opts-wrap,
.mode-info { color: #35405f; border-color: #d5dae8 !important; background: #f0f2f8 !important; }
.att-day-cell { color: #606985; border-color: #d4d9e7 !important; background: #f2f4f9; }
.att-day-cell.lit { color: #1b7054; border-color: #98cfb8 !important; background: #e7f5ed; }
.lb-hero {
  border-color: #8995d0;
  background:
    radial-gradient(circle at 88% 12%, rgba(111,207,231,.24), transparent 18rem),
    linear-gradient(115deg,#283b7a,#435eb9 62%,#7284d8) !important;
  box-shadow: 0 18px 44px rgba(45,59,133,.2);
}
.pod-card, .rank-row { color: #34405f; border-color: #d4d9e7 !important; background: #fafbff !important; }
.pod-name, .rank-name { color: #252f4e !important; }
.rtc-header { color: #414c6b !important; border-color: #d1d7e5 !important; background: #e9ecf4 !important; }
.rtc-header .rtc-team-name { color: #414c6b !important; }
.modal-ov { background: rgba(29,36,69,.45); }
.acct-access-fields,
.acct-access-preview { color: #4d5875; border-color: #d0d6e5 !important; background: #eef1f8 !important; }

::-webkit-scrollbar-track { background: #e6e9f2; }
::-webkit-scrollbar-thumb { background: #adb5cd; }
::-webkit-scrollbar-thumb:hover { background: #838eae; }

@media (max-width: 680px) {
  body {
    background:
      radial-gradient(circle at 92% 0, rgba(129,145,225,.2), transparent 25rem),
      #eef0f8 !important;
  }
}

/* ==========================================================
   Fairway Tournament — forest navigation + bright clubhouse UI
   ========================================================== */
:root {
  color-scheme: light;
  --sidebar: #043b23;
  --bg: #f4f7f1;
  --surface: #ffffff;
  --surface-alt: #f7faf4;
  --s2: #f0f6ec;
  --s3: #e2edda;
  --text: #102519;
  --text-mid: #435749;
  --text-muted: #738079;
  --text-light: #9aa49e;
  --border: #dbe4d7;
  --border-mid: #c4d3be;
  --accent: #2f8b18;
  --accent-dk: #1c6810;
  --green: #2f8b18;
  --gold: #b48625;
  --sh-sm: 0 2px 5px rgba(19,53,31,.035), 0 10px 26px rgba(25,65,36,.07);
  --sh: 0 4px 9px rgba(19,53,31,.04), 0 18px 42px rgba(25,65,36,.1);
  --sh-lg: 0 28px 72px rgba(8,49,27,.18);
}

html, body { background: #f4f7f1; }
body {
  color: var(--text);
  background:
    radial-gradient(ellipse at 82% -10%,rgba(179,215,161,.24),transparent 42rem),
    linear-gradient(145deg,#f8faf6,#eef4eb) !important;
}
.main {
  background:
    linear-gradient(rgba(53,111,59,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(53,111,59,.022) 1px,transparent 1px);
  background-size: 44px 44px;
}

.sidebar {
  color: #fff;
  background:
    radial-gradient(circle at 105% 55%,rgba(77,156,30,.26),transparent 18rem),
    radial-gradient(ellipse at 50% 108%,rgba(22,100,40,.7),transparent 23rem),
    linear-gradient(165deg,#04391f,#002916 70%,#063b21) !important;
  border-right: 1px solid rgba(154,214,109,.18);
  box-shadow: 12px 0 38px rgba(5,45,25,.17);
}
.sidebar::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 20% 100%,rgba(109,164,51,.18),transparent 50%),
    linear-gradient(8deg,rgba(7,63,28,.6),transparent 62%);
}
.sb-logo { position: relative; z-index: 1; border-bottom-color: rgba(255,255,255,.12); }
.sb-company-logo { filter: brightness(0) invert(1); }
.sb-logo h2 { color: #fff; }
.sb-logo span { color: #9fcd63; }
nav,.sb-footer { position: relative; z-index: 1; }
.nav-sec { color: rgba(210,234,206,.48); }
.nav-item { color: rgba(241,248,239,.77); }
.nav-item .ni { color: #b5dc6f; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.08); }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.08); }
.nav-item.active {
  color: #fff;
  background: linear-gradient(100deg,#68b52a,#308b16) !important;
  border-color: rgba(184,229,118,.45);
  box-shadow: 0 10px 25px rgba(19,98,15,.34),inset 0 1px rgba(255,255,255,.22);
}
.nav-item.active .ni { color:#fff; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.12); }
.sb-footer { border-top-color: rgba(255,255,255,.12); }
.auth-user-card { color:#fff; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.auth-user-avatar { color:#174f1b; background:#caedab; border-color:#9ed073; }
.auth-user-name { color:#fff; }
.auth-user-role { color:rgba(230,242,226,.63); }
.auth-logout { color:#e7f3e3; border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.07); }
.auth-logout:hover { color:#fff; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.12); }
.sb-copy { color:rgba(225,240,220,.48); }

.page-hd { border-bottom-color:#d9e3d5; }
.page-hd::after { background:linear-gradient(90deg,#3b961c,#9acb58); }
.page-hd h2,
.acct-panel h3,
.dashboard-card-heading h3,
.tournament-sponsors-heading h3,
.tourney-card h3,
.tc-name,
.detail-card h3,
.team-detail-card h3,
.class-col-title { color:#11281a !important; }
.page-hd p,.tc-meta,.detail-card p,.team-detail-card p { color:#707e74 !important; }

.acct-panel,
.reg-table-wrap,
.score-filter-bar,
.score-team-block,
.class-col,
.tourney-card,
.detail-card,
.team-detail-card,
.lb-section,
.pod-card,
.dashboard-control-card,
#section-overview .export-bar,
#section-overview .att-widget,
.sponsor-form-block,
.registration-field-card,
.solo-dist-col,
.att-team-block,
.modal {
  color:var(--text);
  border-color:#d9e3d5 !important;
  background:linear-gradient(145deg,#fff,#f8faf6) !important;
  box-shadow:var(--sh-sm);
}
.dashboard-control-card,#section-overview .export-bar,.filter-bar,.score-filter-bar {
  background:rgba(255,255,255,.9) !important;
  border-color:#d9e3d5 !important;
  backdrop-filter:blur(12px);
}

.dashboard-hero {
  min-height:210px;
  color:#123119;
  border-color:#b9d4aa !important;
  background:
    radial-gradient(ellipse at 79% 122%,rgba(42,135,22,.72) 0 8%,transparent 8.5%),
    radial-gradient(ellipse at 65% 116%,rgba(112,181,63,.7) 0 17%,transparent 17.5%),
    radial-gradient(ellipse at 92% 116%,rgba(83,157,37,.65) 0 23%,transparent 23.5%),
    radial-gradient(circle at 82% 34%,rgba(77,139,37,.9) 0 3%,transparent 3.5%),
    linear-gradient(102deg,#fff 0%,#f9fbf4 43%,rgba(226,242,215,.85) 62%,rgba(178,220,142,.82) 100%) !important;
  box-shadow:0 18px 42px rgba(38,94,35,.13);
}
.dashboard-hero::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.95) 0 40%,rgba(255,255,255,.58) 58%,transparent 76%);
}
.dashboard-hero::after { height:4px; background:linear-gradient(90deg,#2f8b18,#89c145 32%,transparent 72%); }
.dashboard-hero-copy,.dashboard-hero-mark { position:relative; z-index:1; }
.dashboard-hero h2 { color:#102519 !important; }
.dashboard-hero p { color:#526459; }
.dashboard-kicker { color:#33781f; }
.dashboard-kicker span { background:#5fa52a; }
.dashboard-hero-mark { color:#31781d; }

#section-overview .ov-stat {
  color:#3f951f;
  border-color:#d9e3d5 !important;
  border-top:1px solid #d9e3d5 !important;
  background:radial-gradient(circle at 105% -12%,color-mix(in srgb,currentColor 12%,transparent),transparent 42%),#fff !important;
  box-shadow:var(--sh-sm);
}
#section-overview .ov-stat-blue { color:#4a9025; }
#section-overview .ov-stat-green { color:#25824a; background:linear-gradient(145deg,#f9fff7,#edf8e9) !important; }
#section-overview .ov-stat-amber { color:#aa7a22; background:linear-gradient(145deg,#fffdf8,#fff7e7) !important; }
#section-overview .ov-stat-purple { color:#668c31; }
#section-overview .ov-stat-icon { background:color-mix(in srgb,currentColor 12%,#f8fbf5); border-color:color-mix(in srgb,currentColor 20%,transparent); }
#section-overview .ov-stat-val { color:#14271a; }
#section-overview .ov-stat-lbl { color:#6f7e73; }

#section-overview .att-widget-hd,.score-team-head,.att-team-hd {
  color:#fff;
  background:linear-gradient(105deg,#0c542d,#287e24) !important;
  border-bottom:4px solid #8dc94c;
}
.form-group input,.form-group select,.form-group textarea,.ov-picker-sel,.form-select,.score-search,.filter-input,.rd-field input,.rd-field select,.cc-inp,input[type="text"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="datetime-local"],select,textarea {
  color:#1b3020 !important;
  border-color:#c4d3be !important;
  background:#fff !important;
}
input::placeholder,textarea::placeholder { color:#8b968e !important; }
select option { color:#1b3020; background:#fff; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.ov-picker-sel:focus,.form-select:focus,.score-search:focus,.filter-input:focus,.rd-field input:focus,.rd-field select:focus,.cc-inp:focus {
  border-color:#4c9d2a !important;
  box-shadow:0 0 0 4px rgba(76,157,42,.14) !important;
}
.btn-primary { color:#fff; background:linear-gradient(135deg,#54a923,#2d8815); box-shadow:0 7px 18px rgba(45,136,21,.21); }
.btn-primary:hover { background:linear-gradient(135deg,#489a1d,#23750f); }
.btn-outline,.ov-refresh-btn,.btn-export,.tab-pill,.score-tab { color:#364c3b !important; border-color:#c3d2bd !important; background:#fff !important; }
.btn-outline:hover,.ov-refresh-btn:hover,.btn-export:hover,.tab-pill:hover,.score-tab:hover { color:#246d16 !important; border-color:#84b96d !important; background:#f2f8ed !important; }
.tab-pill.active,.score-tab.active,.sc-day-tab.active,.att-day-tab.active { color:#fff !important; border-color:#338b19 !important; background:linear-gradient(135deg,#60ad28,#318818) !important; }

.reg-table thead,.acct-table thead,.att-grid-table thead,.fl-table thead { color:#5a6c5f !important; background:#edf3ea !important; }
.reg-table thead th,.acct-table thead th,.att-grid-table thead th,.fl-table thead th { color:#5a6c5f !important; }
.reg-table th,.reg-table td,.acct-table th,.acct-table td,.att-grid-table th,.att-grid-table td { border-color:#dce5d8 !important; }
.reg-table tbody tr:nth-child(even),.acct-table tbody tr:nth-child(even) { background:rgba(239,245,236,.62); }
.reg-table tbody tr:hover,.acct-table tbody tr:hover,.att-player-row:hover { background:#eaf5e5 !important; }
.reg-qr-download { background:#eef7e9; border-color:#bfd3b5; color:#2c8118; }
.filter-bar,.tourney-toolbar,.solo-dist-col-title,.class-col-title { color:#3f5444; border-color:#d7e2d3 !important; background:#edf3ea !important; }
.att-stat,.att-player-card,.solo-player-row,.scoring-opts-wrap,.mode-info { color:#314638; border-color:#d8e3d4 !important; background:#f2f6ef !important; }
.att-day-cell { color:#647269; border-color:#d8e2d4 !important; background:#f5f7f3; }
.att-day-cell.lit { color:#176f3e; border-color:#96cbae !important; background:#e7f5ec; }
.lb-hero {
  border-color:#80aa68;
  background:radial-gradient(circle at 87% 20%,rgba(177,224,120,.25),transparent 18rem),linear-gradient(115deg,#084529,#176933 62%,#4d963b) !important;
  box-shadow:0 18px 44px rgba(17,80,39,.2);
}
.pod-card,.rank-row { color:#33483a; border-color:#d6e0d2 !important; background:#fff !important; }
.pod-name,.rank-name { color:#1f3627 !important; }
.rtc-header { color:#435749 !important; border-color:#d5e0d1 !important; background:#edf3ea !important; }
.rtc-header .rtc-team-name { color:#435749 !important; }
.modal-ov { background:rgba(14,45,24,.46); }
.acct-access-fields,.acct-access-preview { color:#4c5e50; border-color:#d4dfd0 !important; background:#f0f5ed !important; }
::-webkit-scrollbar-track { background:#e8eee5; }
::-webkit-scrollbar-thumb { background:#aabda2; }
::-webkit-scrollbar-thumb:hover { background:#7f9d74; }
@media(max-width:680px) { body { background:linear-gradient(145deg,#f8faf6,#eef4eb) !important; } }

/* ==========================================================
   Tournament Portal Blue — dashboard, registration, scoring
   ========================================================== */
:root {
  color-scheme:light;
  --sidebar:#071a32;
  --bg:#eef4fc;
  --surface:#ffffff;
  --surface-alt:#f6f9fe;
  --s2:#f1f6fc;
  --s3:#e3edf8;
  --text:#10253f;
  --text-mid:#405a77;
  --text-muted:#71849b;
  --text-light:#98a6b7;
  --border:#d7e2ef;
  --border-mid:#b9cbe0;
  --accent:#2f63e9;
  --accent-dk:#214dc3;
  --green:#17805e;
  --gold:#a87922;
  --sh-sm:0 2px 5px rgba(16,46,82,.035),0 10px 26px rgba(30,69,114,.07);
  --sh:0 4px 9px rgba(16,46,82,.04),0 18px 42px rgba(30,69,114,.1);
  --sh-lg:0 28px 72px rgba(5,27,55,.2);
}
html,body { background:#eef4fc; }
body {
  color:var(--text);
  background:radial-gradient(ellipse at 82% -12%,rgba(76,129,215,.17),transparent 42rem),linear-gradient(145deg,#f7faff,#eaf2fb) !important;
}
.main {
  background:linear-gradient(rgba(52,101,160,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(52,101,160,.022) 1px,transparent 1px);
  background-size:44px 44px;
}

.sidebar {
  color:#fff;
  background:radial-gradient(circle at 110% 20%,rgba(48,104,184,.25),transparent 19rem),linear-gradient(175deg,#0a2342,#06172e 66%,#071a32) !important;
  border-right:1px solid rgba(126,169,219,.14);
  box-shadow:12px 0 38px rgba(5,27,55,.2);
}
.sidebar::after { display:none; }
.sb-logo { border-bottom-color:rgba(255,255,255,.1); }
.sb-company-logo { filter:brightness(0) invert(1); }
.sb-logo h2 { color:#fff; }
.sb-logo span { color:#8daed2; }
.nav-sec { color:rgba(189,210,233,.44); }
.nav-item { color:rgba(228,238,249,.72); }
.nav-item .ni { color:#90b7ea; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.07); }
.nav-item:hover { color:#fff; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.07); }
.nav-item.active {
  color:#fff;
  background:linear-gradient(110deg,#3978ee,#2857cf) !important;
  border-color:rgba(130,176,255,.4);
  box-shadow:0 10px 26px rgba(31,77,190,.34),inset 0 1px rgba(255,255,255,.22);
}
.nav-item.active .ni { color:#fff; background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.12); }
.sb-footer { border-top-color:rgba(255,255,255,.1); }
.auth-user-card { color:#fff; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.07); }
.auth-user-avatar { color:#17417c; background:#d9e8ff; border-color:#9ec0f3; }
.auth-user-name { color:#fff; }
.auth-user-role { color:rgba(210,226,244,.58); }
.auth-logout { color:#e1ebf7; border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.06); }
.auth-logout:hover { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.1); }
.sb-copy { color:rgba(207,224,242,.44); }

.page-hd { border-bottom-color:#d6e2ef; }
.page-hd::after { background:linear-gradient(90deg,#2f63e9,#65aaf1); }
.page-hd h2,.acct-panel h3,.dashboard-card-heading h3,.tournament-sponsors-heading h3,.tourney-card h3,.tc-name,.detail-card h3,.team-detail-card h3,.class-col-title { color:#10253f !important; }
.page-hd p,.tc-meta,.detail-card p,.team-detail-card p { color:#71849b !important; }

.acct-panel,.reg-table-wrap,.score-filter-bar,.score-team-block,.class-col,.tourney-card,.detail-card,.team-detail-card,.lb-section,.pod-card,.dashboard-control-card,#section-overview .export-bar,#section-overview .att-widget,.sponsor-form-block,.registration-field-card,.solo-dist-col,.att-team-block,.modal {
  color:var(--text);
  border-color:#d6e2ef !important;
  background:linear-gradient(145deg,#fff,#f7fafe) !important;
  box-shadow:var(--sh-sm);
}
.dashboard-control-card,#section-overview .export-bar,.filter-bar,.score-filter-bar { background:rgba(255,255,255,.9) !important; border-color:#d6e2ef !important; backdrop-filter:blur(12px); }

.dashboard-hero {
  min-height:200px;
  color:#fff;
  border-color:#527aaa !important;
  background:radial-gradient(circle at 82% 20%,rgba(80,155,235,.28),transparent 18rem),radial-gradient(circle at 104% 110%,rgba(43,97,199,.48),transparent 23rem),linear-gradient(112deg,#102c50,#1b4a7a 58%,#346da7) !important;
  box-shadow:0 20px 46px rgba(18,60,106,.23);
}
.dashboard-hero::before { display:none; }
.dashboard-hero::after { height:4px; background:linear-gradient(90deg,#2f63e9,#5ea9ee 34%,transparent 75%); }
.dashboard-hero h2 { color:#fff !important; }
.dashboard-hero p { color:rgba(224,237,251,.84); }
.dashboard-kicker { color:#a9c5e6; }
.dashboard-kicker span { background:#74b5f0; }
.dashboard-hero-mark { color:#a9d4ff; }

#section-overview .ov-stat {
  color:#3674cc;
  border-color:#d6e2ef !important;
  border-top:1px solid #d6e2ef !important;
  background:radial-gradient(circle at 105% -12%,color-mix(in srgb,currentColor 11%,transparent),transparent 42%),#fff !important;
  box-shadow:var(--sh-sm);
}
#section-overview .ov-stat-blue { color:#3674cc; }
#section-overview .ov-stat-green { color:#17805e; background:linear-gradient(145deg,#fff,#f1faf7) !important; }
#section-overview .ov-stat-amber { color:#a87922; background:linear-gradient(145deg,#fff,#fff9ec) !important; }
#section-overview .ov-stat-purple { color:#6656ad; }
#section-overview .ov-stat-icon { background:color-mix(in srgb,currentColor 11%,#f8fbff); border-color:color-mix(in srgb,currentColor 20%,transparent); }
#section-overview .ov-stat-val { color:#122842; }
#section-overview .ov-stat-lbl { color:#6e8299; }
#section-overview .att-widget-hd,.score-team-head,.att-team-hd { color:#fff; background:linear-gradient(105deg,#12375f,#245f98) !important; border-bottom:4px solid #4d91dc; }

.form-group input,.form-group select,.form-group textarea,.ov-picker-sel,.form-select,.score-search,.filter-input,.rd-field input,.rd-field select,.cc-inp,input[type="text"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="datetime-local"],select,textarea {
  color:#142b45 !important;
  border-color:#b9cbe0 !important;
  background:#fff !important;
}
input::placeholder,textarea::placeholder { color:#8999aa !important; }
select option { color:#142b45; background:#fff; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.ov-picker-sel:focus,.form-select:focus,.score-search:focus,.filter-input:focus,.rd-field input:focus,.rd-field select:focus,.cc-inp:focus { border-color:#3974df !important; box-shadow:0 0 0 4px rgba(57,116,223,.14) !important; }
.btn-primary { color:#fff; background:linear-gradient(135deg,#3978ee,#2859d4); box-shadow:0 7px 18px rgba(40,89,212,.23); }
.btn-primary:hover { background:linear-gradient(135deg,#2f6de0,#214dc3); }
.btn-outline,.ov-refresh-btn,.btn-export,.tab-pill,.score-tab { color:#354f6d !important; border-color:#b9cbe0 !important; background:#fff !important; }
.btn-outline:hover,.ov-refresh-btn:hover,.btn-export:hover,.tab-pill:hover,.score-tab:hover { color:#2455bd !important; border-color:#7ca4db !important; background:#eef5ff !important; }
.tab-pill.active,.score-tab.active,.sc-day-tab.active,.att-day-tab.active { color:#fff !important; border-color:#2c5ed7 !important; background:linear-gradient(135deg,#3978ee,#2859d4) !important; }

.reg-table thead,.acct-table thead,.att-grid-table thead,.fl-table thead { color:#58708a !important; background:#edf3f9 !important; }
.reg-table thead th,.acct-table thead th,.att-grid-table thead th,.fl-table thead th { color:#58708a !important; }
.reg-table th,.reg-table td,.acct-table th,.acct-table td,.att-grid-table th,.att-grid-table td { border-color:#dae5f0 !important; }
.reg-table tbody tr:nth-child(even),.acct-table tbody tr:nth-child(even) { background:rgba(239,245,252,.65); }
.reg-table tbody tr:hover,.acct-table tbody tr:hover,.att-player-row:hover { background:#eaf3fe !important; }
.reg-player-name { color:#15304d !important; }
.reg-qr-download { color:#285dc6; background:#edf4ff; border-color:#b9cde9; }
.filter-bar,.tourney-toolbar,.solo-dist-col-title,.class-col-title { color:#3b5571; border-color:#d4e1ee !important; background:#edf3f9 !important; }
.att-stat,.att-player-card,.solo-player-row,.scoring-opts-wrap,.mode-info { color:#304b68; border-color:#d7e3ef !important; background:#f1f6fb !important; }
.att-day-cell { color:#61758a; border-color:#d7e2ee !important; background:#f5f8fb; }
.att-day-cell.lit { color:#176f50; border-color:#96cbb4 !important; background:#e7f5ed; }

/* Registration emphasis */
#section-registration .filter-bar { box-shadow:0 10px 28px rgba(32,72,118,.07); }
#section-registration .reg-table-wrap { border-radius:16px; overflow:visible; }
#section-registration .status-pill { font-weight:800; letter-spacing:.045em; }
#section-registration .action-btn { color:#38536f; border-color:#c6d5e4; background:#f7faff; }
#section-registration .action-btn:hover { color:#2455bd; border-color:#8badd7; background:#edf5ff; }
#section-registration .action-dd { border-color:#cbd9e7; background:#fff; box-shadow:0 18px 44px rgba(14,44,78,.16); }

/* Scoring emphasis */
#section-scoring .score-filter-bar { box-shadow:0 10px 28px rgba(32,72,118,.07); }
#section-scoring .score-team-block { overflow:hidden; }
#section-scoring .score-team-head { background:linear-gradient(105deg,#11385f,#28679f) !important; }
#section-scoring .score-table th { color:#567088; background:#edf3f9; }
#section-scoring .score-table td { border-color:#dae5f0; }

.lb-hero { border-color:#527aaa; background:radial-gradient(circle at 87% 18%,rgba(92,169,237,.24),transparent 18rem),linear-gradient(115deg,#102c50,#1c4b7b 62%,#3976ad) !important; box-shadow:0 18px 44px rgba(18,60,106,.22); }
.pod-card,.rank-row { color:#304b68; border-color:#d6e2ef !important; background:#fff !important; }
.pod-name,.rank-name { color:#18324e !important; }
.rtc-header { color:#405a77 !important; border-color:#d4e1ee !important; background:#edf3f9 !important; }
.rtc-header .rtc-team-name { color:#405a77 !important; }
.modal-ov { background:rgba(7,29,54,.48); }
.acct-access-fields,.acct-access-preview { color:#4d6379; border-color:#d3dfec !important; background:#f0f5fa !important; }
::-webkit-scrollbar-track { background:#e7eef6; }
::-webkit-scrollbar-thumb { background:#a8bad0; }
::-webkit-scrollbar-thumb:hover { background:#7894b4; }
@media(max-width:680px) { body { background:linear-gradient(145deg,#f7faff,#eaf2fb) !important; } }
