/* NRL Auth Screen Styles */

/* Container */
.nrl-auth {
  display: block;
  min-height: 0;
  padding: 12px 0 24px;
  background: transparent;
}

/* Card */
.nrl-auth-card {
  max-width: 420px;
  width: 100%;
  margin: 24px auto;
  padding: 28px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Logo */
.nrl-auth-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}
.nrl-auth-logo img {
  width: 84px;
  height: 84px;
  object-fit: contain;
  border-radius: 12px;
}

/* Title */
.nrl-auth-title {
  margin: 8px 0 18px;
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2;
}

/* Form */
.nrl-auth p { margin: 0 0 .8rem; }
.nrl-auth p + p { margin-top: .8rem; }
.nrl-auth p label {
  display: block;
  font-weight: 600;
  margin: 0 0 .25rem;
}

.nrl-auth p input[type=text],
.nrl-auth p input[type=email],
.nrl-auth p input[type=password] {
  width: 100%;
  padding: .6rem .7rem;
  border-radius: 10px;
  border: 1px solid #e2e4e8;
  background: #fff;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.nrl-auth p input[type=text]:focus,
.nrl-auth p input[type=email]:focus,
.nrl-auth p input[type=password]:focus {
  border-color: #8aa3ff;
  box-shadow: 0 0 0 3px rgba(138,163,255,.25);
}

/* Buttons */
.nrl-auth .button,
.nrl-auth button[type=submit],
.nrl-auth input[type=submit] {
  width: 100%;
  padding: .7rem 1rem;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
}

.nrl-auth .button.button-primary,
.nrl-auth button[type=submit].button-primary,
.nrl-auth input[type=submit].button-primary {
  color: #fff;
}

/* Links */
.nrl-auth .nrl-auth-links {
  text-align: center;
  margin-top: 12px;
  opacity: .9;
}
.nrl-auth .nrl-auth-links a {
  text-decoration: none;
}
.nrl-auth .nrl-auth-links a:hover,
.nrl-auth .nrl-auth-links a:focus {
  text-decoration: underline;
}

/* Notices (front-end) */
.nrl-auth .notice {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #e2e4e8;
  background: #f8f9fb;
  font-size: .95rem;
}
.nrl-auth .notice-success {
  background: #eefbf1;
  border-color: #cdeed5;
  color: #0b6b2b;
}
.nrl-auth .notice-error {
  background: #fceeee;
  border-color: #f2c3c3;
  color: #9b1c1c;
}
.nrl-auth .notice-info {
  background: #eef5ff;
  border-color: #cfe0ff;
  color: #1d3c78;
}

/* Page header normalization on auth pages */
.nrl-auth-page .site-header,
.nrl-auth-page .main-header-bar {
  background: #fff !important;
}

/* Mobile tweaks */
@media (max-width: 480px) {
  .nrl-auth-card { padding: 22px; border-radius: 16px; }
  .nrl-auth-logo img { width: 72px; height: 72px; border-radius: 10px; }
  .nrl-auth-title { font-size: 1.15rem; margin-bottom: 14px; }
}

/* 
NRL Season Register — scoped CSS (paste into your site CSS)
----------------------------------------------------------------
Tweak selectors if your markup differs:
- Outer wrapper: .nrlsr
- Shortcode root: .nrl-season-register
- Section cards: .nrl-card  (already in markup)
- Alerts: .nrl-alert, .nrl-alert-info|warning|error
- Pills: .nrl-pill OR [data-status], .status
- Buttons: .button, .button-primary, button[type], [role="button"]
- Optional progress: .nrl-steps, .nrl-progress, .step (only if present)
No HTML/JS changes; all styles are additive and respect inline styles.
---------------------------------------------------------------- */

/* 0) Scope variables, base surface, spacing, and shadows */
.nrlsr {
  /* Brand palette */
  --nrl-primary: #1BAE70;
  --nrl-primary-dark: #06752E;
  --nrl-ink: #14261C;
  --nrl-muted: #4E5652;
  --nrl-paper: #FFFFFF;

  /* Surfaces & accents */
  --nrl-bg: #f3f4f6;            /* light page gray */
  --nrl-border: #e5e7eb;        /* soft border */
  --nrl-shadow: 0 6px 18px rgba(20, 38, 28, 0.06);
  --nrl-shadow-soft: 0 2px 10px rgba(20, 38, 28, 0.05);

  /* Status colors */
  --nrl-success: #1BAE70;
  --nrl-warning: #F59E0B;
  --nrl-danger:  #EF4444;
  --nrl-neutral: #6B7280;

  /* Radii & spacing scale */
  --nrl-radius-lg: 20px;
  --nrl-radius-md: 16px;
  --nrl-radius-pill: 999px;
  --nrl-space-1: 6px;
  --nrl-space-2: 10px;
  --nrl-space-3: 12px;
  --nrl-space-4: 16px;
  --nrl-space-5: 20px;
  --nrl-space-6: 24px;

  /* Focus */
  --nrl-focus-ring: 0 0 0 3px rgba(27, 174, 112, 0.28);
  background: var(--nrl-bg);
  color: inherit;
}

/* 1) Outer container card */
.nrlsr .nrl-season-register {
  max-width: 960px;
  margin: var(--nrl-space-6) auto;
  padding: clamp(16px, 3vw, 28px);
  background: var(--nrl-paper);
  border: 1px solid var(--nrl-border);
  border-radius: var(--nrl-radius-lg);
  box-shadow: var(--nrl-shadow);
}

/* Headings: keep typography inherit, only spacing/color */
.nrlsr .nrl-season-register .nrl-head,
.nrlsr .nrl-season-register h3,
.nrlsr .nrl-season-register h4 {
  color: var(--nrl-ink);
  margin: 0 0 var(--nrl-space-4);
}

/* 2) Immediate child sections styled as “cards” */
.nrlsr .nrl-season-register > .nrl-card,
.nrlsr .nrl-season-register .nrl-card {
  background: var(--nrl-paper);
  border: 1px solid var(--nrl-border);
  border-radius: var(--nrl-radius-md);
  padding: var(--nrl-space-4);
  box-shadow: var(--nrl-shadow-soft);
  margin-bottom: var(--nrl-space-4);
}

/* Grid responsiveness for the 2-up qual/pay row (uses your .nrl-grid) */
.nrlsr .nrl-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--nrl-space-4);
}
@media (max-width: 720px) {
  .nrlsr .nrl-grid { grid-template-columns: 1fr; }
}

/* 3) Pills (neutral + variants) */
.nrlsr .nrl-pill,
.nrlsr [data-status],
.nrlsr .status {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--nrl-border);
  border-radius: var(--nrl-radius-pill);
  background: var(--nrl-paper);
  color: var(--nrl-ink);
  font-weight: 600;
  line-height: 1.1;
}

/* Variant mappings */
.nrlsr .nrl-pill.success,
.nrlsr [data-status="success"],
.nrlsr .status.success {
  border-color: color-mix(in oklab, var(--nrl-success) 40%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-success) 10%, var(--nrl-paper));
  color: var(--nrl-primary-dark);
}
.nrlsr .nrl-pill.warning,
.nrlsr [data-status="warning"],
.nrlsr .status.warning {
  border-color: color-mix(in oklab, var(--nrl-warning) 35%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-warning) 12%, var(--nrl-paper));
  color: #7a4a00;
}
.nrlsr .nrl-pill.danger,
.nrlsr [data-status="danger"],
.nrlsr .status.danger,
.nrlsr [data-status="error"] {
  border-color: color-mix(in oklab, var(--nrl-danger) 35%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-danger) 12%, var(--nrl-paper));
  color: #7b1111;
}
.nrlsr .nrl-pill.neutral,
.nrlsr [data-status="neutral"] {
  color: var(--nrl-neutral);
}

/* 4) Buttons & links (brand green, accessible states) */
.nrlsr a { color: var(--nrl-primary-dark); text-decoration: underline; }
.nrlsr a:hover { text-decoration: none; }

.nrlsr .button,
.nrlsr .button-primary,
.nrlsr button,
.nrlsr [role="button"],
.nrlsr input[type="button"],
.nrlsr input[type="submit"] {
  appearance: none;
  border: 1px solid var(--nrl-primary);
  background: var(--nrl-primary);
  color: #fff;
  border-radius: 10px;
  padding: 8px 14px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03);
  transition: background-color .18s ease, border-color .18s ease, transform .12s ease;
}
.nrlsr .button.button-secondary,
.nrlsr .button.is-secondary {
  background: var(--nrl-paper);
  color: var(--nrl-primary-dark);
  border-color: var(--nrl-border);
}
.nrlsr .button:hover,
.nrlsr button:hover,
.nrlsr input[type="submit"]:hover {
  background: var(--nrl-primary-dark);
  border-color: var(--nrl-primary-dark);
}
.nrlsr .button:disabled,
.nrlsr button:disabled,
.nrlsr input[disabled] {
  opacity: .6;
  cursor: not-allowed;
}
.nrlsr .button:focus-visible,
.nrlsr button:focus-visible,
.nrlsr a:focus-visible {
  outline: none;
  box-shadow: var(--nrl-focus-ring);
}

/* 5) Form controls (inputs/selects/checkboxes/radios) */
.nrlsr input[type="text"],
.nrlsr input[type="email"],
.nrlsr input[type="search"],
.nrlsr input[type="tel"],
.nrlsr input[type="url"],
.nrlsr input[type="number"],
.nrlsr select,
.nrlsr textarea {
  width: 100%;
  max-width: 480px;
  background: var(--nrl-paper);
  border: 1px solid var(--nrl-border);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--nrl-ink);
  line-height: 1.4;
  box-shadow: inset 0 1px 0 rgba(0,0,0,0.02);
}
.nrlsr input[type="text"]:focus,
.nrlsr input[type="email"]:focus,
.nrlsr input[type="search"]:focus,
.nrlsr input[type="tel"]:focus,
.nrlsr input[type="url"]:focus,
.nrlsr input[type="number"]:focus,
.nrlsr select:focus,
.nrlsr textarea:focus {
  outline: none;
  border-color: var(--nrl-primary);
  box-shadow: var(--nrl-focus-ring);
}
.nrlsr input[type="radio"],
.nrlsr input[type="checkbox"] {
  accent-color: var(--nrl-primary);
}
.nrlsr label { color: var(--nrl-ink); }

/* Compact helper text */
.nrlsr small,
.nrlsr .help,
.nrlsr .description {
  color: var(--nrl-muted);
}

/* 6) Gentle step/progress row (only if present) */
.nrlsr .nrl-steps,
.nrlsr .nrl-progress {
  display: flex;
  gap: var(--nrl-space-3);
  align-items: center;
  padding: var(--nrl-space-3) 0 var(--nrl-space-4);
  border-bottom: 1px dashed var(--nrl-border);
  margin-bottom: var(--nrl-space-4);
}
.nrlsr .nrl-steps .step,
.nrlsr .nrl-progress .step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid var(--nrl-border);
  border-radius: var(--nrl-radius-pill);
  background: var(--nrl-paper);
  color: var(--nrl-muted);
  font-weight: 600;
}
.nrlsr .nrl-steps .step[aria-current="step"],
.nrlsr .nrl-progress .step[aria-current="step"] {
  border-color: var(--nrl-primary);
  color: var(--nrl-primary-dark);
  box-shadow: 0 0 0 3px rgba(27, 174, 112, 0.12);
}

/* 7) Alerts (info/warning/error) */
.nrlsr .nrl-alert {
  padding: 10px 12px;
  border: 1px solid var(--nrl-border);
  border-radius: 12px;
  background: #fafafa;
  color: var(--nrl-ink);
  box-shadow: var(--nrl-shadow-soft);
}
.nrlsr .nrl-alert-info {
  border-color: color-mix(in oklab, var(--nrl-primary) 30%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-primary) 8%, #fafafa);
}
.nrlsr .nrl-alert-warning {
  border-color: color-mix(in oklab, var(--nrl-warning) 30%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-warning) 10%, #fff7ed);
}
.nrlsr .nrl-alert-error {
  border-color: color-mix(in oklab, var(--nrl-danger) 30%, var(--nrl-border));
  background: color-mix(in oklab, var(--nrl-danger) 10%, #fef2f2);
}

/* 8) Header row alignment (driver + pill + actions) */
.nrlsr .nrl-card:has(#nrl-recheck-status) {
  display: flex;
  gap: var(--nrl-space-4);
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* 9) Fine-tune small UI bits */
.nrlsr #paypal-button-container { margin-top: var(--nrl-space-2); }
.nrlsr #nrl-app-actions { display: flex; flex-wrap: wrap; gap: var(--nrl-space-3); align-items: center; }
.nrlsr #nrl-app-msg { color: var(--nrl-muted); }

/* 10) Reduced motion friendly */
@media (prefers-reduced-motion: reduce) {
  .nrlsr .button,
  .nrlsr button,
  .nrlsr input[type="submit"],
  .nrlsr a { transition: none; }
}
/* Remove the outermost off-white page background */
.nrlsr {
  --nrl-bg: transparent;
  background: transparent;
}
/* Tighter button text inside .nrlsr */
.nrlsr .button,
.nrlsr .button-primary,
.nrlsr button,
.nrlsr [role="button"],
.nrlsr input[type="button"],
.nrlsr input[type="submit"] {
  letter-spacing: normal; /* resets to default */
}

/* ---------- NRL UI (generic, shortcode-friendly) ---------- */
/* Scope everything so it won’t leak outside your Elementor block */
.nrlui {
  --nrl-radius: 12px;
  --nrl-pad: 14px;
  --nrl-gap: 14px;
  --nrl-shadow: 0 2px 8px rgba(0,0,0,.08);
  --nrl-border: 1px solid rgba(0,0,0,.08);
  --nrl-muted: #6b7280; /* Tailwind-ish gray-500 */
  --nrl-accent: #1bae70; /* NRL green */
  --nrl-accent-weak: rgba(27,174,112,.1);
  --nrl-danger: #dc2626;
  --nrl-danger-weak: rgba(220,38,38,.1);
  --nrl-bg: #fff;
}

/* Headings & layout rhythm */
.nrlui h1, .nrlui h2, .nrlui h3, .nrlui h4 {
  margin: 0 0 10px;
  line-height: 1.2;
}
.nrlui h1 { font-size: 1.75rem; }
.nrlui h2 { font-size: 1.35rem; }
.nrlui h3 { font-size: 1.15rem; color: var(--nrl-muted); }

/* Paragraphs & small text */
.nrlui p { margin: 0 0 10px; }
.nrlui .muted, .nrlui small { color: var(--nrl-muted); }

/* Generic “card” feel for blocks your shortcodes output */
.nrlui .nrl-card,
.nrlui .card,
.nrlui .box {
  background: var(--nrl-bg);
  border: var(--nrl-border);
  border-radius: var(--nrl-radius);
  box-shadow: var(--nrl-shadow);
  padding: var(--nrl-pad);
  margin-bottom: var(--nrl-gap);
}

/* Grids that often appear in detail/summary areas */
.nrlui .grid {
  display: grid;
  gap: var(--nrl-gap);
}
@media (min-width: 768px) {
  .nrlui .grid.cols-2 { grid-template-columns: 1fr 1fr; }
  .nrlui .grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
}

/* Tables (standings, previous seasons, round results) */
.nrlui table {
  width: 100%;
  border-collapse: collapse;
  background: var(--nrl-bg);
  border: var(--nrl-border);
  border-radius: var(--nrl-radius);
  overflow: hidden;
  box-shadow: var(--nrl-shadow);
  margin: 0 0 var(--nrl-gap);
}
.nrlui thead th {
  text-align: left;
  font-weight: 600;
  padding: 10px 12px;
  background: #f8fafc;
  border-bottom: var(--nrl-border);
}
.nrlui tbody td {
  padding: 10px 12px;
  border-top: var(--nrl-border);
}
.nrlui tbody tr:nth-child(odd) td {
  background: #fcfcfd;
}

/* Definition lists (common in detail shortcodes) */
.nrlui dl {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px 12px;
  margin: 0 0 var(--nrl-gap);
}
.nrlui dt { color: var(--nrl-muted); }
.nrlui dd { margin: 0; }

/* Badges / status chips */
.nrlui .badge,
.nrlui .pill {
  display: inline-block;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2f7;
  color: #111827;
  font-size: 12px;
  line-height: 1;
}
.nrlui .badge.ok, .nrlui .pill.ok {
  background: var(--nrl-accent-weak);
  color: #065f46;
}
.nrlui .badge.warn, .nrlui .pill.warn {
  background: #fff7ed;
  color: #9a3412;
}
.nrlui .badge.danger, .nrlui .pill.danger {
  background: var(--nrl-danger-weak);
  color: #7f1d1d;
}

/* Notices */
.nrlui .notice {
  border-radius: var(--nrl-radius);
  padding: 10px 12px;
  border: var(--nrl-border);
  margin: 0 0 var(--nrl-gap);
  background: #f8fafc;
}
.nrlui .notice.success { background: var(--nrl-accent-weak); border-color: rgba(27,174,112,.2); }
.nrlui .notice.error   { background: var(--nrl-danger-weak); border-color: rgba(220,38,38,.2); }

/* Buttons (in case a shortcode renders any) */
.nrlui .btn,
.nrlui button,
.nrlui .button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--nrl-accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.nrlui .btn.secondary,
.nrlui .button.secondary {
  background: #111827;
}
.nrlui .btn.ghost,
.nrlui .button.ghost {
  background: transparent;
  color: #111827;
  border-color: rgba(0,0,0,.12);
}

/* Simple list polish */
.nrlui ul, .nrlui ol { padding-left: 1.25rem; margin: 0 0 var(--nrl-gap); }
.nrlui li + li { margin-top: 6px; }

/* Tighten form controls if any appear inside these blocks */
.nrlui input[type="text"],
.nrlui input[type="number"],
.nrlui select {
  border: var(--nrl-border);
  border-radius: 10px;
  padding: 8px 10px;
}

/* ===== NRL Shortcode UI (scoped) ===== */
.nrlsc {
  --nrl-radius: 12px;
  --nrl-pad: 14px;
  --nrl-gap: 14px;
  --nrl-shadow: 0 2px 8px rgba(0,0,0,.08);
  --nrl-border: 1px solid rgba(0,0,0,.08);
  --nrl-muted: #6b7280;
  --nrl-accent: #1bae70;
  --nrl-accent-weak: rgba(27,174,112,.10);
  --nrl-danger: #dc2626;
  --nrl-danger-weak: rgba(220,38,38,.10);

  /* help long tables on mobile if needed */
  overflow-x: auto;
}

/* Wraps used by your shortcode */
.nrlsc .nrl-driver-detail,
.nrlsc .nrl-driver-dir {
  background: #fff;
  border: var(--nrl-border);
  border-radius: var(--nrl-radius);
  box-shadow: var(--nrl-shadow);
  padding: var(--nrl-pad);
  margin-top: 0 !important; /* override inline margins */
}

/* Headings */
.nrlsc h2 { margin: 0 0 12px 0 !important; line-height: 1.2; }
.nrlsc h3 { margin: 10px 0 8px 0 !important; line-height: 1.25; }
.nrlsc h4 { margin: 6px 0 6px 0 !important; line-height: 1.25; color: var(--nrl-muted); }

/* Search inputs the shortcodes render */
.nrlsc input[type="text"] {
  max-width: 340px;
  width: 100%;
  border: var(--nrl-border);
  border-radius: 10px;
  padding: 8px 10px;
}

/* “Chips” your shortcode prints via <span class="tag"> */
.nrlsc .tag {
  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1;
}

/* Buttons your markup uses (anchors with .button/.button-secondary) */
.nrlsc a.button,
.nrlsc .button,
.nrlsc button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px !important;
  border-radius: 10px;
  border: 1px solid transparent !important;
  background: var(--nrl-accent) !important;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.05);
}
.nrlsc a.button.button-secondary,
.nrlsc .button.button-secondary {
  background: #111827 !important;
}

/* Tables (your shortcodes use .widefat.striped) */
.nrlsc table.widefat {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: var(--nrl-border);
  border-radius: var(--nrl-radius);
  overflow: hidden;
  box-shadow: var(--nrl-shadow);
  font-size: 14px; /* overrides inline 13px in dir table */
}
.nrlsc table.widefat thead th {
  text-align: left;
  font-weight: 600;
  padding: 10px 12px;
  background: #f8fafc;
  border-bottom: var(--nrl-border);
}
.nrlsc table.widefat tbody td {
  padding: 10px 12px;
  border-top: var(--nrl-border);
}
.nrlsc table.widefat tbody tr:nth-child(odd) td {
  background: #fcfcfd;
}

/* Links in cells */
.nrlsc table.widefat td a {
  text-decoration: none;
  border-bottom: 1px dotted rgba(0,0,0,.25);
}
.nrlsc table.widefat td a:hover {
  border-bottom-style: solid;
}

/* Utility */
.nrlsc .muted, .nrlsc small { color: var(--nrl-muted); }

/* Status badges you print as text (DNS/DNF/DQ) – optional highlight */
.nrlsc td:has(> :where(span, strong):contains("DQ")),
.nrlsc td:has(> :where(span, strong):contains("DNF")),
.nrlsc td:has(> :where(span, strong):contains("DNS")) {
  color: #7f1d1d;
}

/* =========================
   Shared NRL shortcode UI
   ========================= */
.nrlsc {
  /* tweak to your exact brand green if needed */
  --nrl-green: #0b6e4f;
  --nrl-green-dark: #09513b;
  --nrl-green-tint: #0e7c59;
}

/* Buttons (links rendered with .button / .button-secondary) */
.nrlsc .button,
.nrlsc .button-secondary,
.nrlsc a.button,
.nrlsc a.button.button-secondary {
  background: var(--nrl-green);
  color: #fff;
  border: 1px solid var(--nrl-green-dark);
  box-shadow: 0 6px 14px rgba(11,110,79,.25);
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.nrlsc .button:hover,
.nrlsc .button-secondary:hover,
.nrlsc a.button:hover {
  background: var(--nrl-green-tint);
  border-color: var(--nrl-green-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(11,110,79,.35);
}
.nrlsc .button:active,
.nrlsc .button-secondary:active,
.nrlsc a.button:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(11,110,79,.2);
}
.nrlsc .button:focus,
.nrlsc .button-secondary:focus,
.nrlsc a.button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(11,110,79,.35), 0 6px 14px rgba(11,110,79,.25);
}

/* Tables: stronger lift + darker header */
.nrlsc table.widefat {
  border: none;
  border-radius: 10px;
  overflow: hidden; /* keep rounded corners on header */
  box-shadow: 0 10px 28px rgba(0,0,0,.16); /* stronger lift */
}
.nrlsc table.widefat thead th {
  background: #e0e0e3;          /* darker grey header */
  color: #121212;
  font-weight: 600;
  border-bottom: 2px solid #c7c7cc;
}
.nrlsc table.widefat td,
.nrlsc table.widefat th {
  border-color: #e6e6eb;        /* slightly darker cell borders */
}

/* Stripe polish */
.nrlsc table.widefat.striped > tbody > tr:nth-child(odd)  { background: #fafafa; }
.nrlsc table.widefat.striped > tbody > tr:nth-child(even) { background: #ffffff; }

/* Force deep-green buttons inside shortcode blocks (driver detail + directory) */
.nrlsc { --nrl-green: #0b6e4f; --nrl-green-dark: #09513b; --nrl-green-tint: #0e7c59; }

.nrlsc .nrl-driver-detail a.button,
.nrlsc .nrl-driver-detail .button,
.nrlsc .nrl-driver-dir a.button,
.nrlsc .nrl-driver-dir .button,
.nrlsc a.button,
.nrlsc .button,
.nrlsc button,
.nrlsc input[type="submit"] {
  background: var(--nrl-green) !important;
  border: 1px solid var(--nrl-green-dark) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(11,110,79,.25);
}

.nrlsc a.button:hover,
.nrlsc .button:hover,
.nrlsc button:hover,
.nrlsc input[type="submit"]:hover {
  background: var(--nrl-green-tint) !important;
  border-color: var(--nrl-green-dark) !important;
}

/* Make “secondary” buttons green too */
.nrlsc a.button.button-secondary,
.nrlsc .button.button-secondary {
  background: var(--nrl-green) !important;
  border-color: var(--nrl-green-dark) !important;
  color: #fff !important;
}

/* Filter chips (driver directory subset) */
.nrlsc .nrlsc-filters{
  display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 12px;
}

.nrlsc .nrl-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  line-height:1;
  box-shadow: 0 2px 8px rgba(11,110,79,.10);
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .1s ease;
}

/* Brandy green chips for active filters */
.nrlsc .nrl-chip--day,
.nrlsc .nrl-chip--division{
  background:#eefaf3;                    /* soft green */
  color:#065f46;                          /* deep green text */
  border:1px solid #bfe6d3;
}

.nrlsc .nrl-chip--day:hover,
.nrlsc .nrl-chip--division:hover{
  background:#e2f6ec;
  border-color:#99d4bc;
  box-shadow:0 4px 12px rgba(11,110,79,.16);
  transform: translateY(-1px);
}

/* The small “×” puck */
.nrlsc .nrl-chip__x{
  display:inline-grid; place-items:center;
  width:18px; height:18px;
  border-radius:50%;
  background:rgba(11,110,79,.12);
  font-weight:800;
  line-height:1;
  padding-bottom:2px; /* optical alignment */
}
.nrlsc .nrl-chip:hover .nrl-chip__x{
  background:rgba(11,110,79,.22);
}

/* Subtle label/value separation */
.nrlsc .nrl-chip__label{ opacity:.8; }

/* Clear-all chip (neutral style) */
.nrlsc .nrl-chip--clear{
  background:#f3f4f6;
  color:#111827;
  border:1px solid #e5e7eb;
}
.nrlsc .nrl-chip--clear:hover{
  background:#e9eaee;
  border-color:#d7dbe0;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  transform: translateY(-1px);
}
.nrlsc .nrl-chip--clear { margin-left:auto; }

/* Standings filter bar spacing and selects polish */
.nrlsc .filters-row select {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}
.nrlsc .filters-row #nrl-standings-search {
  margin-right: 4px;
}
.nrlsc .nrl-standings-table { margin-top: 8px; } /* a bit more space before header */

/* nrlsc: compact ✏️/Edit buttons (tiny icon chips) */
.nrlsc :is(a.button, button, .button):is([aria-label*="Edit"], [title*="Edit"]),
.nrlsc :is(a.button, button, .button):has(:is(span, em, strong):contains("✏️")) {
  all: unset;                       /* wipe inherited big-button styles */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--nrl-green);
  color: #fff;
  text-decoration: none;
  cursor: pointer;

  /* tiny chip sizing */
  font-size: 13px;                  /* just big enough for the emoji */
  line-height: 1;
  padding: 2px;                     /* tight! */
  min-width: 22px;
  min-height: 22px;
  border-radius: 6px;

  /* subtle shadow so it still reads as a control */
  box-shadow: 0 1px 2px rgba(0,0,0,.2);
}

/* hover/focus states */
.nrlsc :is(a.button, button, .button):is([aria-label*="Edit"], [title*="Edit"]):hover,
.nrlsc :is(a.button, button, .button):has(:is(span, em, strong):contains("✏️")):hover {
  background: var(--nrl-green-tint);
}
.nrlsc :is(a.button, button, .button):is([aria-label*="Edit"], [title*="Edit"]):focus-visible,
.nrlsc :is(a.button, button, .button):has(:is(span, em, strong):contains("✏️")):focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(11,110,79,.28);
}

/* My Profile summary: make the ✏️ edit buttons tiny */
#nrl-profile-summary .nrl-edit,
#nrl-profile-summary .nrl-edit-inline,
#nrl-profile-summary .nrl-edit-header {
  /* override WP .button styles */
  padding: 2px 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: 8px !important;
  min-height: 22px !important;
  min-width: 22px !important;
  width: auto !important;
  background: var(--nrl-green, #0b6e4f) !important;
  border: 1px solid var(--nrl-green-dark, #09513b) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0 !important;
  font-weight: 600; /* or 500 if you want lighter */
  cursor: pointer;
}
#nrl-profile-summary .nrl-edit:hover,
#nrl-profile-summary .nrl-edit-inline:hover,
#nrl-profile-summary .nrl-edit-header:hover {
  background: var(--nrl-green-tint, #0e7c59) !important;
}

/* (optional) make them perfectly circular pucks: uncomment to use */
/*
#nrl-profile-summary .nrl-edit,
#nrl-profile-summary .nrl-edit-inline,
#nrl-profile-summary .nrl-edit-header {
  border-radius: 50% !important;
  padding: 2px !important;
  min-width: 24px !important;
  min-height: 24px !important;
}
*/
