/* Football Skills: admin shell and overview only. */
body.admin-redesign {--sidebar-w:256px;}
.admin-redesign .main-content {background:#f5f6f8;}
.admin-redesign.desktop .main-content {padding:32px 36px;}
.admin-redesign .sidebar {background:#191c22;border:0;}
.admin-redesign .sidebar-brand {padding:28px 20px 24px;gap:12px;border-color:#ffffff0d;}
.ad-logo {width:42px;height:42px;object-fit:contain;border-radius:12px;flex-shrink:0;}
.ad-brand strong {font-size:15px;letter-spacing:.015em;color:#fff;line-height:1.15;display:block;}
.ad-brand strong span {display:block;color:#fb923c;font-size:13px;letter-spacing:.15em;margin-top:3px;}
.ad-brand small {display:block;color:#a5a9b3;font-size:10px;margin-top:8px;}
.admin-redesign .sidebar-nav {padding:10px 14px;gap:3px;scrollbar-width:thin;}
.ad-nav-label {font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8e95a2;font-weight:600;padding:19px 12px 8px;}
.admin-redesign .sidebar-item {min-height:44px;padding:10px 12px;gap:11px;color:#bac0cc;font-size:13px;border-radius:9px;position:relative;}
.admin-redesign .sidebar-item:hover {background:#ffffff09;color:#fff;}
.admin-redesign .sidebar-item.active {background:#f9731619;color:#ffad6b;box-shadow:inset 3px 0 #f97316;}
.admin-redesign .sidebar-item.active .sidebar-item-icon {color:inherit;}
.admin-redesign .sidebar-footer {padding:14px;border-color:#ffffff0d;}
.admin-redesign .sidebar-user {padding:8px 10px;}
.admin-redesign .sidebar-user-name {color:#e9eaf0;}
.admin-redesign .sidebar-user-role {color:#969dab;}
.admin-redesign .sidebar-logout {min-height:44px;color:#b7bdc8;}
.admin-redesign .top-app-bar {background:#fff;border-bottom:1px solid #e9ebf0;box-shadow:none;}
.admin-redesign .top-app-bar-inner {height:70px;padding:0 36px;}
.admin-redesign .top-app-bar h1 {font-size:15px;font-weight:600;}
.admin-redesign #btn-parent-messages-topbar {width:44px;height:44px;border:1px solid #e9ebf0;border-radius:12px;color:#575f6f;}
.ad-dashboard {max-width:1280px;margin:0 auto;color:#20242c;}
.ad-dashboard * {box-sizing:border-box;}
.ad-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 28px;}
.ad-eyebrow {font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#8b919d;}
.ad-heading h2 {font-size:clamp(24px,2.2vw,34px);font-weight:750;letter-spacing:-1.2px;line-height:1.25;margin:9px 0 8px;overflow-wrap:anywhere;}
.ad-orange {color:#f97316;}
.ad-heading p {font-size:14px;color:#767d89;margin:0;}
.ad-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 19px;border-radius:11px;font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .16s,transform .16s;}
.ad-primary {background:#f97316;color:#191c22;box-shadow:0 4px 10px #f9731615;}
.ad-primary:hover {background:#fb923c;transform:translateY(-1px);}
.ad-button svg {width:18px;height:18px;}
.ad-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.ad-metric {background:#fff;border:1px solid #e7eaf0;border-radius:16px;padding:20px 22px;min-width:0;color:inherit;box-shadow:0 3px 8px #191c2202;transition:border-color .16s,transform .16s;}
a.ad-metric:hover {border-color:#f7bd91;transform:translateY(-2px);}
.ad-metric-top {display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#737b89;}
.ad-metric-top svg {color:#939ba9;width:20px;height:20px;flex-shrink:0;}
.ad-metric strong {display:block;font-size:40px;font-weight:650;letter-spacing:-1.5px;line-height:1.2;margin:16px 0 14px;font-variant-numeric:tabular-nums;}
.ad-metric-foot {border-top:1px solid #f0f1f4;padding-top:12px;font-size:11px;color:#9a9faa;display:flex;align-items:center;justify-content:space-between;min-height:30px;}
.ad-metric-foot svg {width:16px;height:16px;}
.ad-metrics[aria-busy="true"] [data-metric] {opacity:.3;}
#ad-stats-error:not(:empty) {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;background:#fff7ed;border-radius:10px;margin-top:12px;padding:8px 16px;}
.ad-workspace {display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:28px;align-items:stretch;}
.ad-hero {min-height:337px;background:#20252e;border-radius:20px;position:relative;overflow:hidden;display:flex;flex-direction:column;color:#fff;padding:28px 30px 20px;}
.ad-hero-copy {position:relative;z-index:1;}
.ad-hero-tag {display:flex;align-items:center;gap:8px;font-size:9px;font-weight:650;letter-spacing:.11em;color:#ffc18f;}
.ad-hero-tag svg {width:16px;height:16px;}
.ad-hero h2 {font-size:clamp(25px,2.25vw,34px);font-weight:650;letter-spacing:-.9px;line-height:1.2;margin:19px 0 12px;}
.ad-hero p {color:#b2b9c5;font-size:12px;line-height:1.7;margin-bottom:23px;}
.ad-hero .ad-button {font-size:12px;}
.ad-pitch {position:absolute;right:-46px;top:28px;width:230px;transform:rotate(-19deg);opacity:.5;}
.ad-pitch svg {width:100%;stroke:#737f92;stroke-width:1;}
.ad-pitch .ad-player {fill:#fb923c;stroke:#ffbd86;stroke-width:5;}
.ad-pitch .ad-player-muted {fill:#aebaca;stroke:#aebaca;}
.ad-pitch .ad-run {stroke:#fb923c;stroke-width:2;stroke-dasharray:5 5;}
.ad-hero-bottom {display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff12;margin-top:26px;padding-top:15px;font-size:8px;letter-spacing:.12em;color:#9aa4b2;position:relative;z-index:1;}
.ad-hero-bottom>span {font-size:7px;color:#737f90;}
.ad-section-title {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;}
.ad-section-title h3 {font-size:16px;font-weight:650;}
.ad-section-title>span {font-size:10px;color:#9a9faa;}
.ad-shortcuts {display:flex;flex-direction:column;min-width:0;}
.ad-shortcut-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;flex:1;}
.ad-shortcut {padding:20px;background:#fff;border:1px solid #e7eaf0;border-radius:15px;color:#20242c;transition:transform .16s,border-color .16s;}
.ad-shortcut:hover {transform:translateY(-2px);border-color:#f7bd91;}
.ad-shortcut-top {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px;}
.ad-shortcut-top>svg {color:#a3aab6;width:17px;height:17px;transform:rotate(-40deg);}
.ad-tile-icon {display:flex;align-items:center;justify-content:center;border-radius:10px;width:38px;height:38px;background:#f5f6f8;color:#646e7e;}
.ad-shortcut:first-child .ad-tile-icon {background:#fff3e9;color:#d26923;}
.ad-shortcut h3 {font-size:14px;font-weight:650;line-height:1.3;margin:0 0 5px;}
.ad-shortcut p {font-size:11px;color:#858c98;line-height:1.5;margin:0;}
.ad-dashboard-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px;border-top:1px solid #e5e8ee;padding-top:16px;color:#979da8;font-size:11px;}
.ad-export {min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:500;color:#626d7e;padding:8px;border-radius:8px;}
.ad-export svg {width:16px;height:16px;}
.ad-export:hover {color:#b34c08;background:#fff1e6;}
.ad-badge {font-size:10px;min-width:18px;padding:1px 5px;background:#e96435;color:white;border-radius:20px;margin-left:auto;text-align:center;}
.ad-more {border:0;border-radius:22px 22px 0 0;background:#fff;color:#20242c;padding:0;width:100%;max-width:600px;max-height:88dvh;margin:auto auto 0;box-shadow:0 -10px 50px #15192226;}
.ad-more::backdrop {background:#11182788;backdrop-filter:blur(3px);}
.ad-more-head {display:flex;align-items:center;justify-content:space-between;padding:22px 24px 14px;background:white;position:sticky;top:0;z-index:2;border-bottom:1px solid #f0f1f4;}
.ad-more-head h2 {font-size:23px;letter-spacing:-.5px;margin-top:5px;}
.ad-icon-button {width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f5f6f8;color:#657080;border-radius:12px;flex-shrink:0;}
.ad-more nav {padding:0 16px 16px;}
.ad-more .sidebar-item {color:#414956;font-size:14px;}
.ad-more .sidebar-item:hover {color:#191c22;background:#f5f6f8;}
.ad-more .sidebar-item.active {color:#b74f08;background:#fff3e9;}
.ad-more .ad-nav-label {color:#8a92a0;}
.ad-more-user {display:flex;align-items:center;justify-content:space-between;padding:16px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #e9ebf0;background:#fafbfc;}
.ad-more-user strong {font-size:14px;overflow-wrap:anywhere;}
.ad-more-user small {display:block;color:#828b99;font-size:11px;margin-top:4px;}
.admin-redesign :is(.sidebar-item,.nav-item,.ad-button,.ad-metric,.ad-hero,.ad-shortcut,.ad-export,.ad-icon-button):focus-visible {outline:3px solid #e87924;outline-offset:3px;}
@media (min-width:768px) and (max-width:1150px) {
  body.admin-redesign {--sidebar-w:220px;}
  .admin-redesign.desktop .main-content {padding:24px;}
  .ad-heading {align-items:flex-start;}
  .ad-heading>.ad-button {padding:10px 13px;font-size:12px;}
  .ad-metric {padding:16px 12px;}
  .ad-metric-top {font-size:11px;}
  .ad-metric-top svg {width:16px;height:16px;}
  .ad-metric strong {font-size:32px;}
  .ad-workspace {grid-template-columns:1fr;}
  .ad-pitch {right:35px;width:245px;top:-12px;}
  .ad-shortcut-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px) {
  .admin-redesign .top-app-bar-inner {height:60px;padding:0 20px;}
  .admin-redesign .top-app-bar h1 {text-align:left;font-size:16px;}
  .admin-redesign .main-content {padding:22px 18px 24px;}
  .ad-heading {display:block;margin:0 0 22px;}
  .ad-heading h2 {font-size:28px;letter-spacing:-.9px;margin-top:9px;}
  .ad-heading p {font-size:13px;}
  .ad-heading>.ad-button {margin-top:18px;font-size:13px;min-height:44px;}
  .ad-eyebrow {font-size:8px;letter-spacing:.075em;}
  .ad-metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .ad-metric {padding:16px;border-radius:14px;}
  .ad-metric-top {font-size:12px;}
  .ad-metric-top svg {width:18px;height:18px;}
  .ad-metric strong {font-size:34px;margin:11px 0 10px;}
  .ad-metric-foot {font-size:10px;padding-top:9px;}
  .ad-workspace {grid-template-columns:1fr;gap:24px;margin-top:20px;}
  .ad-hero {padding:24px 24px 18px;min-height:330px;border-radius:18px;}
  .ad-hero h2 {font-size:30px;}
  .ad-pitch {width:200px;right:-72px;top:62px;opacity:.35;}
  .ad-hero-bottom>span {display:none;}
  .ad-shortcut {padding:16px;}
  .ad-shortcut-grid {gap:12px;}
  .ad-shortcut p {font-size:11px;}
  .ad-dashboard-footer {font-size:9px;gap:5px;}
  .ad-export {font-size:11px;}
  .admin-redesign .bottom-nav {border-top:1px solid #e9ebf0;box-shadow:0 -3px 15px #191c2203;}
  .admin-redesign .bottom-nav .nav-item {height:66px;color:#8b94a3;position:relative;padding:8px 2px;gap:4px;}
  .admin-redesign .bottom-nav .nav-item>span:not([id]) {font-size:10px;font-weight:550;letter-spacing:0;line-height:1.3;}
  .admin-redesign .bottom-nav .nav-item svg {width:21px;height:21px;margin:0;transform:none;}
  .admin-redesign .bottom-nav .nav-item.active {color:#bd570e;}
  .admin-redesign .bottom-nav .nav-item.active::before {content:'';position:absolute;top:0;width:24px;height:3px;border-radius:0 0 4px 4px;background:#f97316;}
  #ad-more-dot:not([hidden]) {position:absolute;top:10px;left:calc(50% + 8px);width:7px;height:7px;border:2px solid white;border-radius:50%;background:#ef6237;box-sizing:content-box;}
}
@media (prefers-reduced-motion:reduce) {.ad-dashboard *, .admin-redesign .sidebar-item {transition:none!important;}}

/* The selector remains available in both designs. */
.fs-theme-button {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:0 11px;border:1px solid #e1e5ec;border-radius:11px;color:#475266;background:#fff;flex-shrink:0;margin-left:10px;font-size:12px;font-weight:600;}
.fs-theme-button[hidden],.fs-theme-menu[hidden] {display:none!important;}
.fs-theme-button:hover,.fs-theme-button[aria-expanded="true"] {border-color:#f3ad77;background:#fff8f2;color:#a64b08;}
.fs-theme-menu {position:fixed;width:240px;padding:7px;background:#fff;border:1px solid #e5e8ef;border-radius:15px;box-shadow:0 14px 45px #11182726;z-index:10000;color:#263041;}
.fs-theme-caption {font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8a94a4;padding:10px 10px 9px;}
.fs-theme-menu button {width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 9px;border-radius:10px;min-height:58px;color:#263041;}
.fs-theme-menu button:hover {background:#f6f7fa;}
.fs-theme-menu button[aria-checked="true"] {background:#fff3e9;}
.fs-theme-menu strong {font-size:13px;display:block;font-weight:600;}
.fs-theme-menu small {font-size:10px;display:block;color:#838b97;margin-top:4px;}
.fs-theme-check {margin-left:auto;visibility:hidden;color:#bf560d;}
.fs-theme-menu button[aria-checked="true"] .fs-theme-check {visibility:visible;}
.fs-theme-swatch {width:27px;height:30px;border-radius:6px;border:1px solid #e1e5eb;flex-shrink:0;background:linear-gradient(90deg,#292929 30%,#f5f5f4 30%);}
.fs-theme-swatch.graphite {background:linear-gradient(90deg,#191c22 32%,#f5f6f8 32%);box-shadow:inset 0 -6px #f97316;}
.fs-theme-menu button:focus-visible,.fs-theme-button:focus-visible {outline:3px solid #ea7a27;outline-offset:2px;}
@media (max-width:480px) {.fs-theme-button {padding:0 8px;gap:5px;margin-left:7px;font-size:11px;}.fs-theme-button>svg:last-child{display:none;}}

/* Shared graphite components. No layout or state changes to working forms. */
body.admin-redesign {
  --primary:#ed751e;--primary-h:#ce5f10;--bg:#f5f6f8;--card:#ffffff;
  --border:#e3e7ee;--text:#252b35;--muted:#768092;
  --surface:#ffffff;--surface-2:#f2f4f7;--radius:16px;
  --shadow-sm:0 2px 6px rgba(25,28,34,.025);--shadow:0 8px 24px rgba(25,28,34,.07);
  --sidebar-bg:#191c22;--sidebar-border:rgba(255,255,255,.07);
}
.admin-redesign .main-content>.page-header h2 {letter-spacing:-.6px;font-weight:700;}
.admin-redesign :is(.card,.chart-card,.list-item,.stat-box,.att-card) {border-color:var(--border);box-shadow:var(--shadow-sm);}
.admin-redesign .card {border:1px solid var(--border);border-radius:16px;}
.admin-redesign .chart-card {border:1px solid var(--border);border-radius:16px;padding:20px;}
.admin-redesign .chart-card:has(>.chart-card-header,>.chart-card-body) {padding:0;}
.admin-redesign .test-form-card {border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);}
.admin-redesign .test-form-card h3,.admin-redesign .session-row .sr-name {color:var(--text);font-weight:650;}
.admin-redesign .session-row {border-radius:13px;border-color:var(--border);}
.admin-redesign .disc-input-row input {border-width:1px;border-radius:10px;background:#fafbfc;min-height:44px;}
.admin-redesign .disc-input-row input:focus {border-color:#ed9a5d;box-shadow:0 0 0 3px #f9731614;}
.admin-redesign .list-item {border:1px solid var(--border);border-radius:13px;padding:16px;}
.admin-redesign .list-item:hover {border-color:#d1d7e1;}
.admin-redesign .list-item-title {font-weight:650;}
.admin-redesign .list-item-sub {line-height:1.5;}
.admin-redesign .btn {border-radius:10px;min-height:44px;font-weight:600;box-shadow:none;}
.admin-redesign .btn-primary {background:#ef7b26;color:#22252c;box-shadow:0 3px 9px #f9731614;}
.admin-redesign .btn-primary:hover {background:#fb923c;}
.admin-redesign .btn-secondary {background:#e9edf2;color:#424d5f;}
.admin-redesign .btn-outline {border-width:1px;background:#fff;}
.admin-redesign .btn-outline:hover {border-color:#edb58b;background:#fffaf6;}
.admin-redesign .btn-sm {min-height:36px;border-radius:8px;}
.admin-redesign .form-control {background:#fafbfc;border:1px solid #dfe4ec;border-radius:10px;min-height:44px;color:var(--text);}
.admin-redesign .form-control:focus {background:#fff;border-color:#ed9a5d;box-shadow:0 0 0 3px #f9731614;}
.admin-redesign .form-label {font-size:13px;color:#555f70;font-weight:600;}
.admin-redesign :is(.segment-ctrl,.month-nav) {background:#edf0f5;border:1px solid #e3e7ee;border-radius:12px;}
.admin-redesign .segment-btn {border-radius:8px;min-height:38px;}
.admin-redesign .segment-btn.active {color:#ad500d;background:#fff;box-shadow:0 2px 5px #19203308;}
.admin-redesign .bottom-sheet {border:1px solid #e5e8ef;box-shadow:0 20px 70px #151b2b26;border-radius:20px 20px 0 0;}
.admin-redesign.desktop .bottom-sheet {border-radius:20px;}
.admin-redesign .bottom-sheet-header {padding:22px 24px 12px;border-bottom:1px solid #eef0f4;}
.admin-redesign .bottom-sheet-body {padding:20px 24px;}
.admin-redesign .bottom-sheet-footer {background:#fafbfc;border-color:#e6eaf0;}
.admin-redesign .bottom-sheet-header h3 {font-weight:650;letter-spacing:-.3px;}
.admin-redesign .bottom-sheet-header .icon-btn {min-height:44px;min-width:44px;justify-content:center;border-radius:11px;background:#f3f5f8;}
.admin-redesign .absentees-table {border-collapse:separate;border-spacing:0;}
.admin-redesign .absentees-table th {background:#f4f6f9;color:#798494;font-size:11px;font-weight:600;border-color:#e4e8ef;}
.admin-redesign .absentees-table td {border-color:#edf0f4;color:#3d485b;}
.admin-redesign .absentees-table tr:hover td {background:#fafbfe;}
.admin-redesign .data-table thead th {background:#f2f4f8;border-color:#e4e8ef;color:#768295;font-size:11px;font-weight:600;letter-spacing:.015em;}
.admin-redesign .data-table tbody td {border-color:#edf0f4;color:#3d485b;}
.admin-redesign .data-table tbody tr:hover td {background:#fafbfe;}
.admin-redesign :is(.analytics-card,.analytics-summary-card) {border:1px solid var(--border);background:var(--card);border-radius:15px;box-shadow:var(--shadow-sm);}
.admin-redesign .group-drag-handle {background:#f5f7fa;border-color:#e3e7ee;border-radius:10px;box-shadow:none;color:#94a0af;}
.admin-redesign .sch-pill {background:#fff3e9;border-color:#f7dfcc;color:#b86222;}
.admin-redesign .badge-gray {background:#edf0f5;color:#626f82;}
.admin-redesign .progress-bar-wrap {background:#edf0f5;}
.admin-redesign .chart-card-header {border-color:#e8ecf2;}
.admin-redesign .chart-card-header h3 {font-weight:650;}
.admin-redesign .empty {color:#8c96a5;}
.admin-redesign .att-card {border-radius:13px;}
.admin-redesign .att-card.present {background:#f0faf5;border-color:#93cdb4;}
.admin-redesign .att-card.absent {background:#fff3f2;border-color:#efb0ad;}
.admin-redesign .att-actions {border-color:#e4e8ef;}
.admin-redesign :is(.btn,.form-control,.segment-btn,.month-nav-btn):focus-visible {outline:3px solid #e87924;outline-offset:2px;}
@media (max-width:767px) {
  .admin-redesign .list-item {padding:14px;}
  .admin-redesign .bottom-sheet-body {padding:18px;}
  .admin-redesign .bottom-sheet-header {padding:18px 18px 10px;}
}
