.admin-shell-clean{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}
.admin-nav-stack{min-width:0;flex:1}
.admin-groups{display:flex;gap:5px;flex-wrap:wrap;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.admin-group{appearance:none;border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:8px;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}
.admin-group:hover{color:var(--text);background:rgba(255,255,255,.04)}
.admin-group.active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}
.admin-subtabs{display:none;gap:6px;flex-wrap:wrap;padding:9px 4px 0}
.admin-subtabs.active{display:flex}
.admin-tab{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);padding:7px 10px;border-radius:7px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}
.admin-tab:hover{color:var(--text);background:rgba(255,255,255,.035)}
.admin-tab.active{border-color:rgba(229,57,53,.45);background:rgba(229,57,53,.08);color:var(--accent)}
.admin-signout{flex:none;margin-top:5px}
.admin-panel{display:none}
.admin-panel.active{display:block}
.admin-panel-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.admin-race-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.admin-race-toolbar input,.admin-race-toolbar select{min-width:170px;flex:1}
.admin-race-actions{display:flex;gap:7px;flex-wrap:nowrap;align-items:center}
.admin-race-actions .button{padding:7px 10px}
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.admin-summary .stat-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.admin-summary .stat-card strong{display:block;font-size:1.35rem}
.track-db-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.track-db-toolbar input{flex:1;min-width:220px}
.track-db-list .button{padding:7px 10px}
.track-picker-note{display:block;margin-top:6px}
@media(max-width:760px){.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-race-toolbar>*{min-width:100%}.admin-shell-clean{display:block}.admin-signout{margin-top:10px}.admin-groups{overflow:auto;flex-wrap:nowrap}.admin-group,.admin-tab{white-space:nowrap}.admin-subtabs.active{overflow:auto;flex-wrap:nowrap}.admin-panel-grid{display:block}.admin-panel-grid>.card{margin-bottom:14px}}
.settings-lockbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 16px;margin:14px 0 18px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.settings-lockbar.unlocked{border-color:rgba(255,181,38,.55);background:rgba(255,181,38,.07)}
.settings-lock-status{font-weight:800;letter-spacing:.04em}
.settings-lock-status span{color:var(--accent)}
.settings-locked input{opacity:.68;cursor:not-allowed}
.settings-actions-locked #save-settings,.settings-actions-locked #restore-settings-defaults,.settings-actions-locked #cancel-settings-edit{display:none}

.calendar-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.calendar-admin-head .button{white-space:nowrap}
.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 10px}
.calendar-toolbar-left,.calendar-toolbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.calendar-toolbar select{width:auto;min-width:165px}
.calendar-page-size-label{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 4px}
.calendar-table table{min-width:1020px}
.calendar-table th{white-space:nowrap}
.calendar-table td{vertical-align:middle}
.calendar-date-cell{min-width:118px}
.calendar-date-cell strong{display:block}
.calendar-next-row>td{background:rgba(229,57,53,.04)}
.calendar-next-row.calendar-day-start>td{border-top:2px solid var(--accent)}
.calendar-next-row.calendar-day-continuation>td{border-top-color:rgba(229,57,53,.22)}
.calendar-next-row.calendar-day-end>td{border-bottom:2px solid var(--accent)}
.calendar-next-date-cell{background:rgba(229,57,53,.07)!important;border:2px solid var(--accent)!important;border-right:0!important}
.calendar-next-row.calendar-day-start>td:nth-child(2){border-left:2px solid var(--accent)}
.calendar-next-row.calendar-day-continuation>td:first-child,
.calendar-next-row.calendar-day-end>td:first-child{border-left:2px solid var(--accent)}
.calendar-next-row>td:last-child{border-right:2px solid var(--accent)}
.calendar-past-badge{display:inline-flex;margin-top:5px;font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--muted);border:1px solid var(--line);padding:3px 6px;border-radius:999px}
.calendar-track-cell{display:flex;gap:9px;align-items:center;min-width:150px}
.calendar-track-thumb{width:34px;height:34px;object-fit:contain;border-radius:7px;background:rgba(255,255,255,.035);border:1px solid var(--line);padding:3px;flex:none}
.calendar-event-cell{min-width:270px;max-width:390px}
.calendar-event-cell strong{display:block;line-height:1.3}
.calendar-notes-cell{max-width:260px}
.calendar-source-link{white-space:nowrap}
.calendar-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px}
.calendar-pagination-actions{display:flex;gap:8px}
.calendar-pagination .button[disabled]{opacity:.42;cursor:not-allowed}
.calendar-import-details{margin-top:18px}
.calendar-import-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:900;font-size:1rem}
.calendar-import-details>summary::-webkit-details-marker{display:none}
.calendar-import-details>summary:after{content:'+';font-size:1.35rem;color:var(--accent)}
.calendar-import-details[open]>summary:after{content:'–'}
.calendar-import-body{padding-top:18px;margin-top:14px;border-top:1px solid var(--line)}
.calendar-dialog{width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid #303942;border-radius:14px;background:#11171d;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.55);overflow:hidden}
.calendar-dialog::backdrop{background:rgba(0,0,0,.34);backdrop-filter:none}
.calendar-dialog-inner{padding:22px;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
.entity-editor-modal{width:min(1040px,calc(100vw - 36px));max-width:1040px}
.entity-editor-modal .entity-editor-dialog{max-height:88vh;overflow-y:auto;overflow-x:hidden}
.entity-editor-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.entity-editor-modal .form-field,.entity-editor-modal input,.entity-editor-modal select,.entity-editor-modal textarea{min-width:0;max-width:100%;box-sizing:border-box}
#quick-series-dialog,#quick-sanction-dialog,#quick-track-dialog{width:min(1040px,calc(100vw - 36px));max-width:1040px}
#quick-series-dialog .entity-editor-dialog,#quick-sanction-dialog .entity-editor-dialog,#quick-track-dialog .entity-editor-dialog{max-height:88vh;overflow-y:auto;overflow-x:hidden}
#quick-series-dialog .form-field,#quick-sanction-dialog .form-field,#quick-track-dialog .form-field{min-width:0}
@media(max-width:700px){.entity-editor-modal,#quick-series-dialog,#quick-sanction-dialog,#quick-track-dialog{width:calc(100vw - 18px)}.entity-editor-modal .form-grid{grid-template-columns:1fr}.entity-editor-modal .form-field.full{grid-column:auto}}
.calendar-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}
.calendar-dialog-close{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;width:36px;height:36px;font:inherit;font-size:1.15rem;cursor:pointer}
.calendar-dialog-close:hover{color:var(--text);border-color:var(--muted)}
.calendar-dialog .form-actions{justify-content:flex-end}

.schedule-type-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.schedule-track-new{color:var(--accent)}
.schedule-duplicate-note{font-size:.72rem;color:var(--muted);margin-top:5px;line-height:1.35;max-width:260px}
.schedule-action-select{min-width:168px}
.schedule-review-row{box-shadow:inset 3px 0 0 #d88b2b}

.field-label-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.field-label-row label{margin:0}
.quick-add-link{appearance:none;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:2px 0}
.quick-add-link:hover{text-decoration:underline}
.quick-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.quick-admin-head .button{white-space:nowrap}
.quick-color-row{display:flex;gap:12px;align-items:center}
.quick-color-row input[type="color"]{width:58px;height:42px;padding:3px;flex:none}
@media(max-width:760px){
  .calendar-toolbar-left,.calendar-toolbar-right{width:100%}
  .calendar-toolbar select{flex:1}
  .calendar-pagination{align-items:stretch}
  .calendar-pagination-actions{width:100%}
  .calendar-pagination-actions .button{flex:1}
}

.import-progress{display:none;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.import-progress.active{display:block}
.import-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.import-progress-label{font-size:.82rem;font-weight:850;color:var(--text)}
.import-progress-percent{font-size:.72rem;font-weight:900;color:var(--accent);min-width:36px;text-align:right}
.import-progress-track{height:7px;background:rgba(255,255,255,.055);border-radius:999px;overflow:hidden}
.import-progress-bar{height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .22s ease}
.import-progress-spinner{width:14px;height:14px;border:2px solid rgba(229,57,53,.25);border-top-color:var(--accent);border-radius:50%;animation:import-spin .75s linear infinite;flex:none}
.import-progress-label-wrap{display:flex;align-items:center;gap:8px;min-width:0}
.import-status-near-action{margin-top:10px}
@keyframes import-spin{to{transform:rotate(360deg)}}


.new-race-card{grid-column:1/-1!important}
.result-import-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 0;padding-bottom:12px;border-bottom:1px solid var(--line)}
.result-import-tab{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:10px 16px;border-radius:8px;font:inherit;font-size:.82rem;font-weight:900;letter-spacing:.02em;cursor:pointer}
.result-import-tab:hover{border-color:#7D2422}
.result-import-tab.active{background:var(--accent);border-color:var(--accent);color:#120d04}
.result-import-panel{display:none;padding-top:16px}
.result-import-panel.active{display:block}
.csv-format-details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.csv-format-details summary{cursor:pointer;font-weight:900;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.csv-format-details summary::-webkit-details-marker{display:none}
.csv-format-details summary::after{content:'+';color:var(--accent);font-size:1.25rem}
.csv-format-details[open] summary::after{content:'−'}
.csv-format-body{margin-top:12px}
.csv-format-body pre{max-width:100%;overflow:auto}
.mrp-full-preview{margin-top:16px}
.mrp-preview-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.mrp-preview-chip{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-size:.72rem;font-weight:850;color:var(--muted)}
.mrp-stage-preview{margin-top:18px}
.mrp-stage-preview:first-child{margin-top:0}
.mrp-stage-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.mrp-stage-preview-head h4{margin:3px 0 0;font-size:1rem}
.mrp-stage-type{font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);font-weight:900}
.mrp-stage-count{font-size:.74rem;color:var(--muted);font-weight:800}
.mrp-preview-table td,.mrp-preview-table th{white-space:nowrap}
.mrp-preview-table td:nth-child(4),.mrp-preview-table td:nth-child(5){white-space:normal}
@media(max-width:720px){.result-import-tab{flex:1 1 160px}.mrp-preview-table{min-width:760px}}


.import-review-note{margin:12px 0 4px}
.import-edit-table input,.import-edit-table select{min-width:0;width:100%;padding:7px 8px;font-size:.78rem}
.import-edit-table .edit-finish{width:72px}
.import-edit-table .edit-start{width:72px}
.import-edit-table .edit-car{width:78px}
.import-edit-table .edit-status{width:105px}
.import-edit-table .edit-qtime{width:100px}
.import-edit-table .edit-driver{min-width:150px}
.import-edit-table .edit-hometown{min-width:150px}
.import-edit-table .edit-stage{min-width:130px}
.import-edit-table .row-delete{padding:7px 10px;white-space:nowrap}
.import-edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.import-edit-actions .button{padding:7px 10px;font-size:.75rem}
.import-edit-table td{vertical-align:middle}
.import-edit-table td:last-child,.import-edit-table th:last-child{text-align:right}
@media(max-width:760px){.import-edit-table{min-width:900px}}


#quick-track-dialog{width:min(900px,calc(100vw - 28px));max-height:92vh;overflow:auto}
.quick-track-logo-preview{min-height:96px;display:flex;align-items:center;margin:4px 0 10px}
.quick-track-logo-preview-box{width:180px;height:96px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);display:grid;place-items:center;padding:10px}
.quick-track-logo-preview-box img{display:block;max-width:100%;max-height:76px;object-fit:contain}

/* Race Manager: fixed desktop geometry so filters never resize columns. */
.admin-race-table{width:100%;table-layout:fixed}
.admin-race-table .race-col-date{width:110px}
.admin-race-table .race-col-event{width:auto}
.admin-race-table .race-col-track{width:200px}
.admin-race-table .race-col-entries{width:130px}
.admin-race-table .race-col-rating{width:115px}
.admin-race-table .race-col-actions{width:128px}
.admin-race-table th,.admin-race-table td{vertical-align:middle}
.admin-race-table td{overflow-wrap:anywhere}
.admin-race-table td:last-child{white-space:nowrap}
.admin-race-meta,.admin-entry-detail{margin-top:2px;line-height:1.35}

.admin-event-link{color:var(--text);font-weight:900;text-decoration:none}
.admin-event-link:hover,.admin-event-link:focus-visible{color:var(--accent);text-decoration:underline}
.admin-series-link{color:inherit;font-weight:700;text-decoration:none}
.admin-series-link:hover,.admin-series-link:focus-visible{color:var(--accent);text-decoration:underline}
.admin-meta-separator{opacity:.7;padding:0 2px}
@media(max-width:900px){.admin-race-table .race-col-track{width:170px}.admin-race-table .race-col-entries{width:110px}.admin-race-table .race-col-actions{width:120px}}

/* Race Manager containment + shared race-list presentation. */
#admin-race-list{max-width:100%;overflow-x:auto}
.admin-race-table{min-width:980px}
.admin-race-table .race-col-actions{width:142px}
.admin-race-actions{justify-content:flex-start;min-width:0}
.admin-race-actions .button{flex:0 0 auto}
.admin-sanction-link{color:inherit;font-weight:700;text-decoration:none}
.admin-sanction-link:hover,.admin-sanction-link:focus-visible{color:var(--accent);text-decoration:underline}


/* Race Manager sticky column header. Desktop allows viewport-sticky behavior;
   smaller screens keep the existing horizontal table scroller. */
.admin-race-table thead th{position:sticky;top:69px;z-index:8;background:var(--panel);box-shadow:0 1px 0 var(--line)}
@media(min-width:1100px){#admin-race-list{overflow:visible}}

/* Entity management: Series + Sanctions */
.entity-editor-dialog{width:min(920px,calc(100vw - 28px));max-height:92vh;overflow:auto}
.entity-check-grid{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 8px}
.entity-check-grid label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:.88rem}
.entity-check-grid input{width:auto}
.entity-admin-table{width:100%;table-layout:auto;min-width:880px}
.entity-admin-table th,.entity-admin-table td{vertical-align:middle}
.entity-status-row{display:flex;gap:6px;flex-wrap:wrap}
.entity-status{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);font-size:.68rem;font-weight:850;white-space:nowrap}
.entity-status.yes{color:#b9efd5;border-color:#285744;background:#11261f}
.entity-status.no{color:var(--muted);background:var(--panel-2)}
.entity-admin-table .crud-list-actions{flex-wrap:nowrap}
@media(max-width:760px){.entity-editor-dialog{width:calc(100vw - 18px)}.entity-check-grid{display:grid;grid-template-columns:1fr}.entity-admin-table{min-width:820px}}

/* Unified admin editor cleanup */
.entity-editor-modal{width:min(960px,calc(100vw - 32px));max-width:960px}
.entity-editor-modal .calendar-dialog-inner,.entity-editor-modal .entity-editor-dialog{width:100%;max-width:none;max-height:88vh;overflow-y:auto;overflow-x:hidden;padding:22px 26px;box-sizing:border-box}
.entity-editor-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:14px}
.modal-split-actions{display:flex!important;justify-content:space-between!important;align-items:center;gap:12px;flex-wrap:wrap}
.modal-primary-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.calendar-result-status{min-height:42px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted)}
.calendar-point-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px}
.calendar-linked-badge{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;border:1px solid #285744;background:#11261f;color:#b9efd5;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}

/* Track Database uses the full card width and one clear action. */
.track-db-list table,.track-admin-table{width:100%;table-layout:fixed;min-width:760px}
.track-admin-table th:nth-child(1),.track-admin-table td:nth-child(1){width:32%}
.track-admin-table th:nth-child(2),.track-admin-table td:nth-child(2){width:24%}
.track-admin-table th:nth-child(3),.track-admin-table td:nth-child(3){width:12%}
.track-admin-table th:nth-child(4),.track-admin-table td:nth-child(4){width:20%}
.track-admin-table th:nth-child(5),.track-admin-table td:nth-child(5){width:12%;text-align:right}
.track-admin-table td:last-child .admin-race-actions{justify-content:flex-end}
.admin-track-link{color:var(--text);text-decoration:none}
.admin-track-link:hover,.admin-track-link:focus-visible{color:var(--accent);text-decoration:underline}

.entity-logo-preview{min-height:92px;display:flex;align-items:center;justify-content:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);margin:4px 0 10px}
.entity-logo-preview img{display:block;max-width:220px;max-height:82px;object-fit:contain}
.entity-name-with-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.entity-name-with-logo img{width:34px;height:34px;object-fit:contain;border-radius:6px;background:var(--panel-2);padding:3px;box-sizing:border-box}

/* Calendar is schedule-first: date + track + event, then explicit racing classification. */
.calendar-table table{width:100%;table-layout:fixed;min-width:1080px}
.calendar-table th:nth-child(1),.calendar-table td:nth-child(1){width:11%}
.calendar-table th:nth-child(2),.calendar-table td:nth-child(2){width:18%}
.calendar-table th:nth-child(3),.calendar-table td:nth-child(3){width:27%}
.calendar-table th:nth-child(4),.calendar-table td:nth-child(4){width:10%}
.calendar-table th:nth-child(5),.calendar-table td:nth-child(5){width:16%}
.calendar-table th:nth-child(6),.calendar-table td:nth-child(6){width:10%}
.calendar-table th:nth-child(7),.calendar-table td:nth-child(7){width:8%;text-align:right}
.calendar-table td:last-child .admin-race-actions{justify-content:flex-end}
.calendar-track-cell{color:var(--text);text-decoration:none;min-width:0}
.calendar-track-cell:hover,.calendar-track-cell:focus-visible{color:var(--accent)}
.calendar-sanction-cell,.calendar-series-column,.calendar-division-cell{font-size:.82rem;line-height:1.2}
.calendar-series-column a,.calendar-sanction-cell a{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.calendar-event-cell .calendar-linked-badge{display:inline-flex;margin-top:5px}


@media(max-width:760px){
  .entity-editor-modal{width:calc(100vw - 18px)}
  .entity-editor-modal .calendar-dialog-inner,.entity-editor-modal .entity-editor-dialog{padding:18px}
  .entity-editor-modal .form-grid{grid-template-columns:1fr}
  .entity-editor-modal .form-field.full{grid-column:auto}
  .calendar-point-grid{grid-template-columns:1fr 1fr}
  .modal-split-actions{align-items:stretch}
  .modal-primary-actions{width:100%}
}


.admin-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.admin-panel-head .button{white-space:nowrap}
.admin-entity-list table{min-width:780px}
.points-editor-dialog,.championship-editor-dialog{width:min(1040px,calc(100vw - 28px));max-height:92vh}
.points-editor-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.points-editor-section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.points-editor-section h3{margin:4px 0 0}
.compact-admin-table input[type=number]{min-width:90px;width:100%}
.compact-admin-table td:last-child,.compact-admin-table th:last-child{width:48px;text-align:right}
.inline-check{display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;font-size:.86rem!important}
.inline-check input{width:auto!important}
.icon-button{appearance:none;border:0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer;padding:4px 8px}
.icon-button:hover{color:var(--text)}
.danger-text:hover{color:#ef4444}
.button.danger{background:#4b1519;border-color:#7f1d1d;color:#fecaca}
.button.danger:hover{background:#66191f}
.championship-event-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.championship-event-toolbar input{flex:1;min-width:240px}
.championship-events-editor{max-height:390px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.championship-events-table{border:0;border-radius:0}
.championship-events-table table{min-width:900px}
.championship-events-table input[type=number]{width:88px;min-width:88px}
.championship-events-table input[type=checkbox]{width:auto}
@media(max-width:760px){
  .admin-shell-clean{display:block}
  .admin-groups{overflow:auto;flex-wrap:nowrap}
  .admin-subtabs.active{overflow:auto;flex-wrap:nowrap}
  .admin-group,.admin-tab{white-space:nowrap}
  .admin-signout{margin-top:10px}
  .points-editor-dialog,.championship-editor-dialog{width:calc(100vw - 18px)}
}

/* Site Branding admin */
.branding-admin-preview{display:grid;grid-template-columns:2fr 1.35fr .8fr .8fr;gap:12px;margin:18px 0 22px}.branding-admin-preview>div>span{display:block;margin-bottom:6px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.branding-preview-box{height:112px;display:grid;place-items:center;padding:14px;border:1px solid var(--line);border-radius:6px;background:#0b0b0b}.branding-preview-box.large{height:150px}.branding-preview-box.square{height:112px}.branding-preview-box img{max-width:100%;max-height:100%;object-fit:contain}.branding-admin-form{margin-top:6px}.branding-color-control{display:grid;grid-template-columns:52px 1fr;gap:8px}.branding-color-control input[type=color]{height:43px;padding:3px;cursor:pointer}
@media(max-width:900px){.branding-admin-preview{grid-template-columns:1fr 1fr}.branding-preview-primary{grid-column:1/-1}.branding-preview-box.large{height:130px}}
@media(max-width:560px){.branding-admin-preview{grid-template-columns:1fr}.branding-preview-primary{grid-column:auto}.branding-preview-box,.branding-preview-box.large,.branding-preview-box.square{height:105px}}

/* Admin results queue — past scheduled races waiting for results */
.admin-tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:#E53935;color:#fff;font-size:.68rem;font-weight:900;line-height:1}
.missing-results-banner{max-width:1320px;margin:14px auto 18px;padding:12px 14px;border:1px solid rgba(229,57,53,.55);border-left:3px solid #E53935;background:rgba(229,57,53,.08);display:flex;align-items:center;justify-content:space-between;gap:18px}
.missing-results-banner[hidden]{display:none}.missing-results-banner>div{display:grid;gap:3px}.missing-results-banner strong{font-size:.92rem}.missing-results-banner .muted{font-size:.8rem}
.calendar-missing-badge,.danger-badge{border-color:rgba(229,57,53,.55)!important;background:rgba(229,57,53,.1)!important;color:#ff8b88!important}
.missing-results-head{margin-bottom:18px}.missing-results-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.missing-results-stat{border:1px solid var(--line);background:var(--panel-2);padding:13px 14px;border-radius:4px}.missing-results-stat span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.075em;font-weight:850}.missing-results-stat strong{display:block;margin-top:4px;font-size:1.45rem}.missing-results-stat.warning{border-color:rgba(229,57,53,.38)}
.missing-results-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:20px 0 10px}.missing-results-section-head h3{margin:0 0 4px}.missing-results-section-head p{margin:0}.missing-results-section-head.unlinked-head{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.missing-results-table table{width:100%;table-layout:fixed}.missing-upload-table{min-width:840px}.missing-upload-table th:nth-child(1),.missing-upload-table td:nth-child(1){width:10%}.missing-upload-table th:nth-child(2),.missing-upload-table td:nth-child(2){width:8%;text-align:left}.missing-upload-table th:nth-child(3),.missing-upload-table td:nth-child(3){width:32%}.missing-upload-table th:nth-child(4),.missing-upload-table td:nth-child(4){width:22%}.missing-upload-table th:nth-child(5),.missing-upload-table td:nth-child(5){width:11%;text-align:left}.missing-upload-table th:nth-child(6),.missing-upload-table td:nth-child(6){width:17%;text-align:right}.missing-upload-table td{padding-top:8px;padding-bottom:8px;vertical-align:middle}.missing-date-cell strong{white-space:nowrap;font-size:.84rem;letter-spacing:.01em}.missing-event-cell strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:2.45em;line-height:1.2;font-size:.86rem}.missing-track-cell{text-align:left!important}.missing-track-logo{width:70px;height:48px;margin:0;display:grid;place-items:center;text-decoration:none}.missing-track-logo img{display:block;max-width:68px;max-height:44px;width:auto;height:auto;object-fit:contain}.missing-track-logo-fallback{border:1px solid var(--line);color:var(--muted);font-size:.75rem}.missing-series-cell{font-size:.8rem;line-height:1.08}.missing-program{display:grid;gap:3px}.missing-program-sanction{font-weight:850;line-height:1}.missing-program-series{line-height:1.12}.missing-program-divisions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:2px}.missing-program-label{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.missing-division-chip{display:inline-flex;padding:2px 5px;border:1px solid rgba(229,57,53,.4);color:#ff9a97;font-size:.61rem;font-weight:800;line-height:1.15}.missing-status-cell{white-space:nowrap;padding-left:8px;padding-right:8px;text-align:left!important}.missing-status{display:inline-flex;max-width:100%;padding:2px 5px;border:1px solid rgba(229,57,53,.5);background:rgba(229,57,53,.08);color:#ff8b88;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.missing-age{margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.05;white-space:nowrap}.missing-actions-cell{padding-left:6px!important}.missing-actions{justify-content:flex-end;gap:5px;flex-wrap:nowrap}.missing-actions .button{min-height:32px;padding:6px 8px;font-size:.66rem;white-space:nowrap}.missing-unlinked-table{min-width:820px}.missing-results-table td:last-child .admin-race-actions{justify-content:flex-end}.missing-results-clear{padding:34px 18px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2)}
@media(max-width:760px){.missing-results-banner{margin:10px 0 16px;align-items:stretch;flex-direction:column}.missing-results-summary{grid-template-columns:1fr 1fr}.missing-results-banner .button{width:100%}}


/* Admin workflow landing / race operations refinement */
.admin-overview-card{border-radius:3px}
.admin-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.admin-overview-head h2{margin:5px 0 6px}
.admin-overview-head p{margin:0;max-width:820px}
.admin-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);margin-bottom:18px}
.admin-overview-stat{appearance:none;text-align:left;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);padding:15px 16px;cursor:pointer;font:inherit}
.admin-overview-stat:last-child{border-right:0}
.admin-overview-stat:hover{background:rgba(255,255,255,.025)}
.admin-overview-stat span,.admin-overview-stat small{display:block;color:var(--muted)}
.admin-overview-stat span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.admin-overview-stat strong{display:block;font-size:1.65rem;line-height:1;margin:6px 0}
.admin-overview-stat.attention.has-items strong{color:var(--accent)}
.admin-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin-bottom:18px}
.admin-workflow-step{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:18px;border-right:1px solid var(--line)}
.admin-workflow-step:last-child{border-right:0}
.admin-workflow-number{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font-weight:950}
.admin-workflow-step h3{margin:0 0 6px;font-size:1rem}
.admin-workflow-step p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}
.admin-workflow-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.admin-workflow-actions .button{padding:8px 10px;font-size:.7rem}
.admin-next-event{display:grid;grid-template-columns:110px 86px minmax(0,1fr) auto;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:17px}
.admin-next-event-date strong,.admin-next-event-date span{display:block}.admin-next-event-date strong{font-size:1rem}.admin-next-event-date span{font-size:.76rem;color:var(--muted);margin-top:3px}
.admin-next-event-track{height:52px;display:grid;place-items:center}.admin-next-event-track img{max-width:82px;max-height:50px;object-fit:contain}
.admin-next-event-copy h3{margin:3px 0 3px}.admin-next-event-copy p{margin:0;color:var(--muted);font-size:.82rem}
.admin-next-event-actions,.race-manager-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.race-manager-head{margin-bottom:14px}.race-manager-head .muted{max-width:760px}
.new-race-card .editor-header{align-items:flex-start;gap:14px}
.admin-race-actions{align-items:center}
.admin-race-actions .button{white-space:nowrap}
@media(max-width:900px){.admin-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-stat:nth-child(2){border-right:0}.admin-overview-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-workflow-grid{grid-template-columns:1fr}.admin-workflow-step{border-right:0;border-bottom:1px solid var(--line)}.admin-workflow-step:last-child{border-bottom:0}.admin-next-event{grid-template-columns:90px 72px minmax(0,1fr)}.admin-next-event-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:620px){.admin-overview-head{display:block}.admin-overview-head>.button{margin-top:12px}.admin-overview-stats{grid-template-columns:1fr}.admin-overview-stat{border-right:0!important;border-bottom:1px solid var(--line)}.admin-overview-stat:last-child{border-bottom:0}.admin-next-event{grid-template-columns:80px minmax(0,1fr)}.admin-next-event-track{display:none}.race-manager-head-actions{justify-content:flex-start}.new-race-card .editor-header{display:block}.new-race-card #new-race-back{margin-top:10px}}


/* Admin overview review center + upcoming five */
.admin-review-center{display:grid;gap:8px;margin-bottom:16px}
.admin-review-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(229,57,53,.7);border-left:3px solid var(--accent);background:rgba(229,57,53,.09);padding:10px 12px}
.admin-review-alert-copy{min-width:0}
.admin-review-alert-copy strong,.admin-review-alert-copy span{display:block}
.admin-review-alert-copy strong{font-size:.86rem;line-height:1.2}
.admin-review-alert-copy span{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.3}
.admin-review-alert .button{flex:0 0 auto;white-space:nowrap;padding:8px 12px;font-size:.7rem}
.admin-upcoming-overview{border-top:1px solid var(--line);padding-top:16px}
.admin-upcoming-overview-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6px}
.admin-upcoming-overview-head h3{margin:3px 0 0}
#overview-next-events{border-top:1px solid var(--line)}
.admin-next-event-row{border-top:0;border-bottom:1px solid var(--line);padding:11px 0;grid-template-columns:100px 86px minmax(0,1fr) auto}
.admin-next-event-row .admin-next-event-copy h3{margin:0 0 3px;font-size:.96rem}
.admin-next-event-row .admin-next-event-copy p{font-size:.78rem}
.admin-next-event-row .admin-next-event-track{height:46px}
.admin-next-event-row .admin-next-event-track img{max-width:78px;max-height:44px}
.admin-upcoming-overview-footer{display:flex;justify-content:flex-end;padding-top:14px}
.admin-upcoming-empty{padding:22px 0;border-bottom:1px solid var(--line)}
.admin-upcoming-empty h3{margin:0 0 4px}
@media(max-width:760px){
  .admin-review-alert{align-items:stretch;flex-direction:column}
  .admin-review-alert .button{width:100%;text-align:center}
  .admin-next-event-row{grid-template-columns:82px 64px minmax(0,1fr)}
  .admin-next-event-row .admin-next-event-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:620px){
  .admin-next-event-row{grid-template-columns:80px minmax(0,1fr)}
  .admin-next-event-row .admin-next-event-track{display:none}
}

/* Full schedule history import + verified result linking */
.schedule-action-select{min-width:230px;max-width:320px}
.schedule-verify-badge{display:inline-block;margin-bottom:6px;padding:3px 6px;border:1px solid #d88b2b;color:#f3b35b;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.schedule-verification-notice{border-color:#8c5a22;background:rgba(216,139,43,.08)}
.schedule-phase{margin-top:4px;font-size:.64rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.schedule-phase.past{color:#aaa}
.schedule-phase.upcoming{color:var(--accent)}
.schedule-link-complete{color:#70c987}
.schedule-past-row td{background:rgba(255,255,255,.008)}


/* Final safeguard before historical schedule events are linked to existing results */
.schedule-import-verify-dialog{width:min(900px,calc(100vw - 32px));max-width:900px}
.schedule-final-verify-list{display:grid;gap:8px;margin:16px 0}
.schedule-final-verify-item{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px;border:1px solid var(--line);background:#0c1014}
.schedule-final-verify-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--red);color:var(--red);font-weight:900}
.schedule-final-verify-date{margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.schedule-final-verify-pair{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:10px;align-items:center}
.schedule-final-verify-pair>div:not(.schedule-final-verify-arrow){min-width:0}
.schedule-final-verify-label{display:block;margin-bottom:3px;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.06em}
.schedule-final-verify-pair strong{display:block;line-height:1.18}
.schedule-final-verify-pair small{display:block;margin-top:3px;color:var(--muted);line-height:1.2}
.schedule-final-verify-arrow{text-align:center;color:var(--red);font-size:1.2rem;font-weight:900}
.schedule-final-verify-mode{margin-top:8px;color:#f3b35b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.schedule-final-verify-warning{margin:12px 0 4px;border-color:#8c5a22;background:rgba(216,139,43,.08)}
@media(max-width:700px){.schedule-final-verify-pair{grid-template-columns:1fr}.schedule-final-verify-arrow{transform:rotate(90deg)}}

/* Multi-division coverage + event division tracking */
.entity-status.tracked{border-color:rgba(77,166,255,.45);background:rgba(77,166,255,.08);color:#8fc5ff}
.entity-status.schedule{border-color:rgba(190,190,190,.35);background:rgba(190,190,190,.06);color:#bdbdbd}
.calendar-division-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:#090b0d}
.calendar-division-option{display:flex;align-items:center;gap:9px;min-height:52px;padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}
.calendar-division-option:nth-child(3n){border-right:0}.calendar-division-option input{width:auto}.calendar-division-option span{min-width:0}.calendar-division-option strong,.calendar-division-option small{display:block}.calendar-division-option strong{font-size:.8rem}.calendar-division-option small{margin-top:2px;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.calendar-division-option.active small{color:#ff807d}.calendar-division-option.tracked small{color:#8fc5ff}.calendar-division-option.schedule_only small{color:#aaa}.calendar-division-option:has(input:disabled){opacity:.72;cursor:not-allowed}
.schedule-division-list,.calendar-division-summary{display:flex;flex-wrap:wrap;gap:5px}.schedule-division-chip,.calendar-division-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid var(--line);background:#0b0d0f;font-size:.68rem;font-weight:850;white-space:nowrap}.schedule-division-chip small{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.schedule-division-chip.active,.calendar-division-tag.active{border-color:rgba(229,57,53,.5)}.schedule-division-chip.tracked,.calendar-division-tag.tracked{border-color:rgba(77,166,255,.4)}.schedule-division-chip.schedule_only,.calendar-division-tag.schedule_only{border-color:rgba(170,170,170,.28);color:#aaa}.calendar-division-tag.linked{box-shadow:inset 2px 0 0 #22c55e}
.missing-actions{align-items:center}.missing-division-dialog{width:min(520px,calc(100vw - 28px))}.missing-division-chooser-list{display:grid;gap:8px;margin:16px 0}.missing-division-choice{appearance:none;width:100%;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:12px 14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;font:inherit}.missing-division-choice:hover{border-color:var(--accent)}.missing-division-choice strong{font-size:.92rem}.missing-division-choice span{color:var(--accent);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:900px){.calendar-division-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-division-option:nth-child(3n){border-right:1px solid var(--line)}.calendar-division-option:nth-child(2n){border-right:0}}
@media(max-width:560px){.calendar-division-checklist{grid-template-columns:1fr}.calendar-division-option{border-right:0!important}}


/* Track/season class mapping + compact schedule preview */
.schedule-map-panel{margin:14px 0;border:1px solid var(--line);background:#0b0c0d}
.schedule-map-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}
.schedule-map-panel>summary::-webkit-details-marker{display:none}.schedule-map-panel>summary>span:first-child{display:flex;flex-direction:column;gap:3px}.schedule-map-panel>summary strong{font-size:.95rem}.schedule-map-season{font-size:.72rem;color:var(--muted);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.schedule-map-body{border-top:1px solid var(--line);padding:14px 16px}.schedule-map-body>p{margin:0 0 14px}.schedule-map-group{border-top:1px solid var(--line)}.schedule-map-group:first-of-type{border-top:0}.schedule-map-group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 0 7px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--muted)}.schedule-map-group-head span{font-weight:900}
.schedule-map-row{display:grid;grid-template-columns:minmax(280px,1.7fr) 120px minmax(180px,.9fr) minmax(210px,1fr);gap:10px;align-items:end;padding:9px 0;border-top:1px solid rgba(255,255,255,.07)}.schedule-map-source{min-width:0;padding-bottom:7px}.schedule-map-source strong{display:block;font-size:.84rem;line-height:1.2}.schedule-map-source small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}.schedule-map-row label{margin:0}.schedule-map-row label>span{display:block;margin:0 0 4px;color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.schedule-map-row select{width:100%;min-height:36px;padding:6px 8px;font-size:.76rem}.schedule-map-row.is-track{box-shadow:inset 2px 0 0 rgba(229,57,53,.8);padding-left:10px}.schedule-map-row.is-ignore{opacity:.72}.schedule-map-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.schedule-map-actions .muted{font-size:.72rem;max-width:650px}.schedule-map-error{margin:0 0 12px}.schedule-map-gate{margin-top:12px}.schedule-import-track-note{margin-bottom:12px}
.schedule-preview-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:20px 0 10px}.schedule-preview-head h3{margin:4px 0 0}.schedule-verification-notice,.schedule-skipped-summary{margin-bottom:10px}.schedule-preview-list{border:1px solid var(--line);background:#090a0b}.schedule-preview-row{display:grid;grid-template-columns:38px 100px minmax(310px,1.55fr) minmax(210px,.85fr) minmax(230px,1fr);gap:14px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}.schedule-preview-row:first-child{border-top:0}.schedule-preview-row.schedule-review-row{box-shadow:inset 3px 0 0 #d88b2b}.schedule-preview-row.schedule-past-row{background:rgba(255,255,255,.012)}.schedule-preview-check{display:grid;place-items:center}.schedule-preview-check input{width:auto}.schedule-preview-date strong{display:block;font-size:.8rem}.schedule-preview-event{min-width:0}.schedule-preview-event>input{width:100%;min-height:36px;padding:7px 9px;font-weight:750}.schedule-preview-track,.schedule-warning{display:block;margin-top:4px;color:var(--muted);font-size:.68rem}.schedule-warning{color:#d88b2b}.schedule-preview-series{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;margin-top:6px}.schedule-preview-series span,.schedule-preview-label{font-size:.59rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.schedule-preview-series input{min-height:30px;padding:5px 7px;font-size:.72rem}.schedule-preview-divisions{min-width:0}.schedule-preview-divisions strong{display:block;margin-top:4px;font-size:.8rem;line-height:1.35}.schedule-preview-divisions small{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.3}.schedule-preview-action{min-width:0}.schedule-action-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.schedule-action-stack small{color:var(--muted);font-size:.67rem;line-height:1.25}.schedule-action-select{width:100%;min-width:0!important;max-width:none!important;min-height:34px;padding:6px 8px;font-size:.72rem}.schedule-match-details{width:100%;font-size:.69rem;color:var(--muted)}.schedule-match-details summary{cursor:pointer;color:#ddd;font-weight:800}.schedule-match-details>div{display:grid;gap:2px;margin-top:6px;padding:7px 8px;border-left:2px solid var(--line);background:#0d0f11}.schedule-match-details>div strong,.schedule-match-details>div span{display:block}.schedule-match-details>small{display:block;margin-top:6px}.schedule-verify-badge{font-size:.63rem;padding:4px 6px}
@media(max-width:1100px){.schedule-map-row{grid-template-columns:1fr 110px 1fr 1fr}.schedule-preview-row{grid-template-columns:34px 90px minmax(240px,1.4fr) minmax(180px,.8fr) minmax(210px,1fr);gap:10px;padding:10px}}
@media(max-width:820px){.schedule-map-row{grid-template-columns:1fr 1fr}.schedule-map-source{grid-column:1/-1}.schedule-map-actions{align-items:flex-start;flex-direction:column}.schedule-preview-row{grid-template-columns:34px 90px 1fr}.schedule-preview-event{grid-column:3}.schedule-preview-divisions{grid-column:2/4}.schedule-preview-action{grid-column:2/4}.schedule-preview-head{align-items:flex-start;flex-direction:column}}


/* Action-local feedback: errors/status stay with the button that triggered them. */
.schedule-action-block{margin-top:12px}.schedule-action-block>.form-actions{margin:0}.schedule-action-message{margin-top:8px}.schedule-action-message:empty{display:none}.schedule-import-action-block{display:flex;flex-direction:column;align-items:flex-start}.schedule-import-action-block>.form-actions{width:100%}.schedule-import-action-block .schedule-action-message{width:100%}.schedule-map-action-primary{display:flex;flex-direction:column;align-items:flex-start;min-width:260px}.schedule-map-action-primary .schedule-action-message{width:min(100%,760px)}.action-message-right{margin-left:auto;max-width:760px}.action-message-right .notice{text-align:left}


/* Needs Results — ignore / results-required controls */
.calendar-results-required-label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.86rem}
.calendar-results-required-label input{width:auto}
.calendar-ignore-badge{display:inline-flex;margin-top:6px;padding:2px 6px;border:1px solid rgba(160,160,160,.45);color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.missing-actions{flex-wrap:wrap;row-gap:5px}
.missing-ignore-button{color:var(--muted)}
.missing-ignore-button:hover{color:var(--text);border-color:var(--muted)}
.missing-action-message{width:100%;min-height:0;margin-top:4px;text-align:right;color:var(--muted);font-size:.64rem;line-height:1.15}
.missing-action-message.error{color:#ff8b88}
.missing-action-message.success{color:#7ee6b2}
@media(min-width:980px){
  .missing-upload-table th:nth-child(3),.missing-upload-table td:nth-child(3){width:30%}
  .missing-upload-table th:nth-child(6),.missing-upload-table td:nth-child(6){width:19%}
}


/* Needs Results — ignored events recovery */
.missing-results-stat.ignored{border-color:rgba(160,160,160,.42)}
.ignored-results-head{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.ignored-badge{color:var(--muted);border-color:rgba(160,160,160,.45)}
.missing-ignored-table{min-width:820px}
.missing-ignored-table th:nth-child(1),.missing-ignored-table td:nth-child(1){width:12%}
.missing-ignored-table th:nth-child(2),.missing-ignored-table td:nth-child(2){width:10%}
.missing-ignored-table th:nth-child(3),.missing-ignored-table td:nth-child(3){width:36%}
.missing-ignored-table th:nth-child(4),.missing-ignored-table td:nth-child(4){width:22%}
.missing-ignored-table th:nth-child(5),.missing-ignored-table td:nth-child(5){width:20%;text-align:right}


/* Race Manager — group division results under one scheduled event */
.admin-race-event-table{table-layout:fixed;width:100%}
.admin-race-event-table .race-col-date{width:10%}
.admin-race-event-table .race-col-event{width:36%}
.admin-race-event-table .race-col-track{width:18%}
.admin-race-event-table .race-col-entries{width:14%}
.admin-race-event-table .race-col-rating{width:9%}
.admin-race-event-table .race-col-actions{width:13%}
.admin-race-event-table td{vertical-align:middle}
.admin-race-actions-cell{overflow:visible}
.admin-race-event-table .admin-race-actions-stacked{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}
.admin-race-event-table .admin-race-actions-stacked>.button,
.admin-race-event-table .admin-edit-results-menu>summary{width:100%;box-sizing:border-box;text-align:center;justify-content:center;white-space:nowrap}
.admin-entry-single{font-size:1rem}
.admin-entry-breakdown{display:flex;flex-direction:column;gap:4px;min-width:0}
.admin-entry-breakdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.admin-entry-breakdown span{color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-entry-breakdown strong{font-size:.84rem}
.admin-group-rating-label{display:block;margin-top:4px;color:var(--muted);font-size:.66rem;font-weight:800}
.admin-event-result-count{display:inline-flex;margin-top:6px;padding:2px 6px;border:1px solid var(--line);color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.admin-edit-results-menu{position:relative;min-width:0}
.admin-edit-results-menu>summary{list-style:none;cursor:pointer}
.admin-edit-results-menu>summary::-webkit-details-marker{display:none}
.admin-edit-results-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:25;min-width:180px;border:1px solid var(--line);background:var(--panel);padding:4px}
.admin-edit-results-menu-list a{display:flex;justify-content:space-between;gap:12px;padding:8px 9px;color:var(--text);text-decoration:none;font-size:.74rem;font-weight:800;border-bottom:1px solid var(--line)}
.admin-edit-results-menu-list a:last-child{border-bottom:0}
.admin-edit-results-menu-list a:hover{background:var(--panel-2)}
.admin-edit-results-menu-list small{color:var(--muted);font-weight:700;white-space:nowrap}
@media(max-width:980px){
  .admin-race-event-table{min-width:900px}
  .admin-race-event-table .race-col-event{width:33%}
  .admin-race-event-table .race-col-actions{width:16%}
}


/* Race Calendar — column spacing / overlap guard */
.calendar-table{overflow-x:auto}
.calendar-table table{min-width:1100px}
.calendar-table th,.calendar-table td{min-width:0;box-sizing:border-box}
.calendar-table th:nth-child(1),.calendar-table td:nth-child(1){width:10%}
.calendar-table th:nth-child(2),.calendar-table td:nth-child(2){width:15%}
.calendar-table th:nth-child(3),.calendar-table td:nth-child(3){width:29%}
.calendar-table th:nth-child(4),.calendar-table td:nth-child(4){width:8%}
.calendar-table th:nth-child(5),.calendar-table td:nth-child(5){width:15%}
.calendar-table th:nth-child(6),.calendar-table td:nth-child(6){width:12%}
.calendar-table th:nth-child(7),.calendar-table td:nth-child(7){width:11%;text-align:right}

.calendar-track-cell{min-width:0}
.calendar-event-cell{min-width:0;max-width:none}
.calendar-sanction-cell,.calendar-series-column,.calendar-division-cell{min-width:0;overflow:hidden}

.calendar-division-summary{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex-wrap:nowrap;
  gap:4px;
  min-width:0;
}
.calendar-division-tag{
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.calendar-table td:last-child{padding-left:8px}
.calendar-table td:last-child .admin-race-actions{
  width:100%;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
.calendar-table td:last-child .button{
  max-width:100%;
  padding:7px 8px;
  font-size:.69rem;
  white-space:nowrap;
}

@media(max-width:1180px){
  .calendar-table table{min-width:1080px}
}

/* Unified Add / Edit Race Results modal */
.race-results-modal{width:min(1240px,calc(100vw - 28px));max-width:none;height:min(94vh,1000px);max-height:94vh;padding:0;border:0;border-radius:18px;background:var(--panel,#10151d);color:inherit;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.46)}
.race-results-modal::backdrop{background:rgba(3,7,12,.78);backdrop-filter:blur(4px)}
.race-results-modal-shell{height:100%;display:flex;flex-direction:column;min-width:0}
.race-results-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.1);flex:0 0 auto}
.race-results-modal-head h2{margin:4px 0 2px}.race-results-modal-head p{margin:0;max-width:760px}
.race-results-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:18px}
.race-results-modal-body>.new-race-card{margin:0;max-width:none;box-shadow:none}
.race-results-modal-body>.new-race-card .editor-header{margin-bottom:14px}
.race-results-edit-frame{display:block;width:100%;height:100%;min-height:720px;border:0;border-radius:12px;background:transparent}
.admin-edit-results-menu-list button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;border:0;background:transparent;color:inherit;text-align:left;padding:10px 12px;cursor:pointer;font:inherit}
.admin-edit-results-menu-list button:hover{background:rgba(255,255,255,.06)}
.admin-edit-results-menu-list button small{opacity:.68}
@media(max-width:760px){.race-results-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0}.race-results-modal-head{padding:14px}.race-results-modal-body{padding:10px}.race-results-edit-frame{min-height:calc(100vh - 92px)}}

/* Accuracy Review dialog — containment/layout safeguard.
   These rules intentionally scope every image and row to the review modal so
   track logos can never render at their native asset dimensions. */
.admin-review-dialog{width:min(1040px,calc(100vw - 36px));max-width:1040px}
.admin-review-dialog-inner{width:100%;max-width:none;max-height:88vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
#admin-review-dialog-content{min-width:0;max-width:100%}
.admin-review-list{display:grid;gap:8px;margin-top:14px;min-width:0}
.admin-review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:12px 14px;border:1px solid var(--line);background:var(--panel-2)}
.admin-review-item-main{display:grid;grid-template-columns:92px 76px minmax(0,1fr);align-items:center;gap:12px;min-width:0}
.admin-review-date{min-width:0;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.035em;white-space:nowrap}
.admin-review-track-logo{display:grid;place-items:center;width:70px;height:48px;max-width:70px;max-height:48px;min-width:70px;overflow:hidden;text-decoration:none;box-sizing:border-box}
.admin-review-track-logo img{display:block!important;width:auto!important;height:auto!important;max-width:68px!important;max-height:44px!important;object-fit:contain!important}
.admin-review-track-fallback{border:1px solid var(--line);color:var(--muted);font-size:.72rem;background:rgba(255,255,255,.02)}
.admin-review-item-copy{min-width:0}
.admin-review-item-copy>strong{display:block;overflow-wrap:anywhere;font-size:.9rem;line-height:1.2}
.admin-review-item-copy>.muted{margin-top:2px;font-size:.76rem;line-height:1.25;overflow-wrap:anywhere}
.admin-review-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:7px;min-width:0}
.admin-review-tags>span{display:inline-flex;align-items:center;max-width:100%;padding:3px 6px;border:1px solid rgba(229,57,53,.42);background:rgba(229,57,53,.07);color:#ff9a97;font-size:.64rem;font-weight:850;line-height:1.15;overflow-wrap:anywhere}
.admin-review-candidate-note{margin-top:6px;color:#7ee6b2;font-size:.7rem;line-height:1.25}
.admin-review-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;min-width:0}
.admin-review-item-actions .button{flex:0 0 auto;min-height:32px;padding:7px 10px;font-size:.68rem;white-space:nowrap}
.admin-review-back-row{display:flex;justify-content:flex-start;margin:2px 0 14px}
.admin-review-subsection{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);min-width:0}
.admin-review-subsection>strong{display:block;margin-bottom:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.admin-driver-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.admin-driver-review-card{min-width:0;padding:14px;border:1px solid var(--line);background:var(--panel-2)}
.admin-driver-review-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-driver-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}
.admin-driver-review-stats>span{min-width:0;padding:8px;border:1px solid var(--line);background:rgba(255,255,255,.018)}
.admin-driver-review-stats small,.admin-driver-review-stats strong{display:block}
.admin-driver-review-stats small{color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em}
.admin-driver-review-stats strong{margin-top:3px;font-size:.9rem;overflow-wrap:anywhere}
.admin-driver-recent{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.7rem;min-width:0}
.admin-driver-recent:last-child{border-bottom:0}
.admin-driver-recent span{min-width:0;overflow-wrap:anywhere}
.admin-race-review-editor{min-width:0;padding:14px;border:1px solid var(--line);background:var(--panel-2)}
.admin-race-review-editor .admin-review-item-main{grid-template-columns:76px minmax(0,1fr);margin-bottom:10px}
.admin-race-review-editor h3{margin:2px 0 4px;overflow-wrap:anywhere}
.admin-race-review-form{margin-top:14px}
.admin-review-checkbox label{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0}
.admin-review-checkbox input{width:auto}
.admin-review-editor-actions{margin-top:14px}

@media(max-width:760px){
  .admin-review-dialog{width:calc(100vw - 18px)}
  .admin-review-dialog-inner{padding:16px}
  .admin-review-item{grid-template-columns:1fr;align-items:stretch}
  .admin-review-item-main{grid-template-columns:82px 68px minmax(0,1fr);gap:9px}
  .admin-review-track-logo{width:62px;height:44px;min-width:62px;max-width:62px;max-height:44px}
  .admin-review-track-logo img{max-width:60px!important;max-height:40px!important}
  .admin-review-item-actions{justify-content:flex-start}
  .admin-driver-review-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .admin-review-item-main{grid-template-columns:64px minmax(0,1fr)}
  .admin-review-date{grid-column:1/-1}
  .admin-review-track-logo{grid-column:1}
  .admin-review-item-copy{grid-column:2}
  .admin-driver-review-card .form-grid{grid-template-columns:1fr}
  .admin-driver-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-driver-recent{grid-template-columns:76px minmax(0,1fr)}
  .admin-driver-recent span:last-child{grid-column:2}
}

/* MyRacePass full-event import plan */
.mrp-batch-summary{margin-top:18px;min-width:0;max-width:100%}
.mrp-batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px;min-width:0}
.mrp-batch-head>div:first-child{min-width:0}.mrp-batch-head h3{margin:4px 0 5px}.mrp-batch-head p{margin:0;max-width:820px;line-height:1.45}
.mrp-batch-count{flex:0 0 auto;padding:7px 9px;border:1px solid var(--line);background:var(--panel-2);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.mrp-batch-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#0b0d0f;box-sizing:border-box}
.mrp-batch-table{width:100%;min-width:1060px}
.mrp-batch-header,.mrp-batch-row{display:grid;grid-template-columns:54px minmax(250px,2fr) minmax(150px,1fr) minmax(190px,1.15fr) minmax(245px,1.45fr) 92px;gap:0;align-items:stretch;min-width:0}
.mrp-batch-header{background:rgba(255,255,255,.025);border-bottom:1px solid var(--line)}
.mrp-batch-header>span{display:flex;align-items:center;min-width:0;padding:9px 10px;color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.055)}
.mrp-batch-header>span:last-child{border-right:0}
.mrp-batch-row{border-top:1px solid rgba(255,255,255,.065);transition:background .12s ease,box-shadow .12s ease}
.mrp-batch-row:first-of-type{border-top:0}.mrp-batch-row.selected{background:rgba(229,57,53,.045);box-shadow:inset 3px 0 0 var(--accent)}.mrp-batch-row.disabled{background:rgba(255,255,255,.008)}
.mrp-batch-row>div{min-width:0;padding:11px 10px;border-right:1px solid rgba(255,255,255,.055);box-sizing:border-box}.mrp-batch-row>div:last-child{border-right:0}
.mrp-batch-check{display:grid;place-items:start center}.mrp-batch-check input{width:17px;height:17px;margin-top:2px;accent-color:var(--accent)}
.mrp-batch-source strong{display:block;font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
.mrp-batch-races{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:.66rem;line-height:1.3}.mrp-batch-races span{white-space:nowrap}.mrp-race-separator{opacity:.55}
.mrp-batch-status{display:inline-flex;max-width:100%;margin-top:7px;padding:3px 5px;border:1px solid var(--line);font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;line-height:1.15;overflow-wrap:anywhere}
.mrp-batch-status.status-ready{border-color:rgba(62,185,116,.5);color:#78dca4}.mrp-batch-status.status-results-already-exist,.mrp-batch-status.status-will-replace-existing,.mrp-batch-status.status-multiple-results-found{border-color:rgba(216,139,43,.58);color:#f3b35b}.mrp-batch-status.status-choose-division,.mrp-batch-status.status-schedule-only,.mrp-batch-status.status-ignored,.mrp-batch-status.status-no-a-feature{border-color:rgba(229,57,53,.55);color:#ff8e8a}
.mrp-batch-sanction,.mrp-batch-map,.mrp-batch-existing{display:flex;flex-direction:column;justify-content:center;gap:5px}
.mrp-batch-sanction select,.mrp-batch-map select,.mrp-existing-result select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:36px;padding:7px 8px;font-size:.72rem}
.mrp-batch-map small,.mrp-existing-result small,.mrp-existing-clear small,.mrp-existing-warning small{display:block;color:var(--muted);font-size:.64rem;line-height:1.3;overflow-wrap:anywhere}
.mrp-existing-result strong,.mrp-existing-clear strong,.mrp-existing-warning strong{display:block;font-size:.72rem;line-height:1.25;overflow-wrap:anywhere}.mrp-existing-result select{margin-top:5px}
.mrp-existing-clear strong{color:#78dca4}.mrp-existing-result strong,.mrp-existing-warning strong{color:#f3b35b}
.mrp-batch-action{display:flex;align-items:center;justify-content:center}.mrp-batch-action .button{width:100%;max-width:78px;min-width:0;padding:7px 8px;font-size:.66rem;white-space:nowrap}
.mrp-batch-foot{padding:9px 2px 0;font-size:.69rem;line-height:1.4}
.mrp-batch-result-list{display:grid;gap:6px;margin-top:10px}.mrp-batch-result-list>div{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.5fr) auto;gap:10px;align-items:center;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.mrp-batch-result-list span{color:var(--muted);font-size:.76rem}.mrp-batch-result-list a{white-space:nowrap;font-size:.72rem}
.mrp-batch-failures{margin-top:10px}.mrp-batch-failures>div{margin-top:5px;font-size:.76rem}.mrp-batch-failures span{font-weight:850}

@media(max-width:820px){
  .mrp-batch-head{display:block}.mrp-batch-count{display:inline-block;margin-top:10px}
  .mrp-batch-table-wrap{overflow:visible;border:0;background:transparent}.mrp-batch-table{min-width:0;display:grid;gap:9px}.mrp-batch-header{display:none}
  .mrp-batch-row{grid-template-columns:38px minmax(0,1fr);grid-template-areas:"check source" "check sanction" "check division" "check existing" "check action";border:1px solid var(--line);background:#0b0d0f}
  .mrp-batch-row>div{border-right:0;border-top:1px solid rgba(255,255,255,.055);padding:10px}.mrp-batch-row>div:first-child,.mrp-batch-source{border-top:0}
  .mrp-batch-check{grid-area:check;align-items:start;padding-top:13px!important}.mrp-batch-source{grid-area:source}.mrp-batch-sanction{grid-area:sanction}.mrp-batch-map{grid-area:division}.mrp-batch-existing{grid-area:existing}.mrp-batch-action{grid-area:action;justify-content:flex-start}
  .mrp-batch-sanction:before,.mrp-batch-map:before,.mrp-batch-existing:before{display:block;margin-bottom:3px;color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mrp-batch-sanction:before{content:'Sanction'}.mrp-batch-map:before{content:'Dirt Ranks Division'}.mrp-batch-existing:before{content:'Existing Results'}
  .mrp-batch-action .button{width:auto;max-width:none}
  .mrp-batch-result-list>div{grid-template-columns:1fr}.mrp-batch-result-list a{justify-self:start}
}

/* Compact Division administration */
#division-admin-list{overflow-x:hidden}
.division-admin-compact-table{width:100%;min-width:0!important;table-layout:fixed}
.division-admin-compact-table th,.division-admin-compact-table td{padding:12px 14px;vertical-align:middle}
.division-admin-compact-table th:nth-child(1),.division-admin-compact-table td:nth-child(1){width:31%}
.division-admin-compact-table th:nth-child(2),.division-admin-compact-table td:nth-child(2){width:22%}
.division-admin-compact-table th:nth-child(3),.division-admin-compact-table td:nth-child(3){width:19%}
.division-admin-compact-table th:nth-child(4),.division-admin-compact-table td:nth-child(4){width:14%}
.division-admin-compact-table th:nth-child(5),.division-admin-compact-table td:nth-child(5){width:14%}
.division-admin-row{cursor:pointer;transition:background .12s ease}
.division-admin-row:nth-child(even){background:rgba(255,255,255,.018)}
.division-admin-row:hover,.division-admin-row:focus-visible{background:#1a1a1a;outline:none}
.division-admin-name{font-size:.95rem;font-weight:900}
.division-admin-cell-stack{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.division-admin-inline-meta{color:var(--muted);font-size:.72rem;white-space:nowrap}
.division-admin-result-count{font-size:1rem}
.division-admin-compact-table .entity-status{border-radius:2px;padding:3px 6px}

.division-editor-dialog{max-width:900px!important}
.division-editor-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin:0 0 18px;background:#0b0b0b}
.division-editor-summary>div{padding:11px 13px;min-width:0;text-align:center}
.division-editor-summary>div+div{border-left:1px solid var(--line)}
.division-editor-summary span{display:block;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.division-editor-summary strong{display:block;margin-top:3px;font-size:1rem}
.division-logo-preview{min-height:120px;border-radius:2px;background:#0b0b0b;justify-content:center}
.division-logo-preview img{max-width:320px;max-height:105px;width:auto;height:auto;object-fit:contain}
.division-logo-tools{display:flex;align-items:center;gap:10px;min-width:0}
.division-logo-tools input{min-width:0;flex:1}
.division-logo-tools .button{flex:0 0 auto}
.division-editor-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:#0b0b0b}
.division-editor-status-card{min-width:0;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px}
.division-editor-status-card+.division-editor-status-card{border-left:1px solid var(--line)}
.division-editor-status-card>span{grid-column:1/-1;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850}
.division-editor-status-card>strong{font-size:1rem}
.division-editor-status-card .button{min-height:34px;padding:0 10px;font-size:.67rem}
.division-editor-status-active{color:#9de0bd}
.division-editor-status-muted{color:var(--muted)}
.division-editor-secondary-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){
  .division-admin-compact-table th,.division-admin-compact-table td{padding:10px 8px}
  .division-admin-compact-table th:nth-child(1),.division-admin-compact-table td:nth-child(1){width:29%}
  .division-admin-compact-table th:nth-child(2),.division-admin-compact-table td:nth-child(2){width:23%}
  .division-admin-compact-table th:nth-child(3),.division-admin-compact-table td:nth-child(3){width:20%}
  .division-admin-compact-table th:nth-child(4),.division-admin-compact-table td:nth-child(4){width:14%}
  .division-admin-compact-table th:nth-child(5),.division-admin-compact-table td:nth-child(5){width:14%}
  .division-admin-inline-meta{white-space:normal}
  .division-editor-summary,.division-editor-status-grid{grid-template-columns:1fr}
  .division-editor-summary>div+div,.division-editor-status-card+.division-editor-status-card{border-left:0;border-top:1px solid var(--line)}
  .division-logo-tools{align-items:stretch;flex-direction:column}
}

/* Compact Entity administration — shared with Divisions */
#track-db-list,#series-admin-list,#sanction-admin-list,#ruleset-admin-list{overflow-x:hidden}
.entity-admin-overview-table{width:100%;min-width:0!important;table-layout:fixed}
.entity-admin-overview-table th,.entity-admin-overview-table td{padding:12px 14px;vertical-align:middle;min-width:0}
.entity-admin-overview-row{cursor:pointer;transition:background .12s ease}
.entity-admin-overview-row:nth-child(even){background:rgba(255,255,255,.018)}
.entity-admin-overview-row:hover,.entity-admin-overview-row:focus-visible{background:#1a1a1a;outline:none}
.entity-admin-primary{display:flex;align-items:center;gap:10px;min-width:0}
.entity-admin-primary>strong,.entity-admin-primary>div{min-width:0}
.entity-admin-primary strong{display:block;font-size:.95rem;font-weight:900;line-height:1.15;overflow-wrap:anywhere}
.entity-admin-primary span{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.2;overflow-wrap:anywhere}
.entity-admin-thumb{width:54px;height:38px;flex:0 0 54px;object-fit:contain;object-position:center;background:transparent;border:0;padding:0}
.entity-admin-cell-stack{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.entity-admin-overview-table .entity-status{border-radius:2px;padding:3px 6px;white-space:nowrap}

.entity-admin-tracks-table th:nth-child(1),.entity-admin-tracks-table td:nth-child(1){width:34%}
.entity-admin-tracks-table th:nth-child(2),.entity-admin-tracks-table td:nth-child(2){width:30%}
.entity-admin-tracks-table th:nth-child(3),.entity-admin-tracks-table td:nth-child(3){width:14%}
.entity-admin-tracks-table th:nth-child(4),.entity-admin-tracks-table td:nth-child(4){width:22%}

.entity-admin-series-table th:nth-child(1),.entity-admin-series-table td:nth-child(1){width:30%}
.entity-admin-series-table th:nth-child(2),.entity-admin-series-table td:nth-child(2){width:13%}
.entity-admin-series-table th:nth-child(3),.entity-admin-series-table td:nth-child(3){width:13%}
.entity-admin-series-table th:nth-child(4),.entity-admin-series-table td:nth-child(4){width:17%}
.entity-admin-series-table th:nth-child(5),.entity-admin-series-table td:nth-child(5){width:9%}
.entity-admin-series-table th:nth-child(6),.entity-admin-series-table td:nth-child(6){width:18%}

.entity-admin-sanctions-table th:nth-child(1),.entity-admin-sanctions-table td:nth-child(1){width:46%}
.entity-admin-sanctions-table th:nth-child(2),.entity-admin-sanctions-table td:nth-child(2){width:14%}
.entity-admin-sanctions-table th:nth-child(3),.entity-admin-sanctions-table td:nth-child(3){width:14%}
.entity-admin-sanctions-table th:nth-child(4),.entity-admin-sanctions-table td:nth-child(4){width:26%}

.entity-admin-rulesets-table th:nth-child(1),.entity-admin-rulesets-table td:nth-child(1){width:32%}
.entity-admin-rulesets-table th:nth-child(2),.entity-admin-rulesets-table td:nth-child(2){width:24%}
.entity-admin-rulesets-table th:nth-child(3),.entity-admin-rulesets-table td:nth-child(3){width:24%}
.entity-admin-rulesets-table th:nth-child(4),.entity-admin-rulesets-table td:nth-child(4){width:20%}

@media(max-width:760px){
  .entity-admin-overview-table th,.entity-admin-overview-table td{padding:10px 8px;font-size:.78rem}
  .entity-admin-thumb{width:42px;height:32px;flex-basis:42px}
  .entity-admin-primary{gap:7px}
  .entity-admin-series-table th:nth-child(1),.entity-admin-series-table td:nth-child(1){width:29%}
  .entity-admin-series-table th:nth-child(2),.entity-admin-series-table td:nth-child(2){width:12%}
  .entity-admin-series-table th:nth-child(3),.entity-admin-series-table td:nth-child(3){width:13%}
  .entity-admin-series-table th:nth-child(4),.entity-admin-series-table td:nth-child(4){width:18%}
  .entity-admin-series-table th:nth-child(5),.entity-admin-series-table td:nth-child(5){width:9%}
  .entity-admin-series-table th:nth-child(6),.entity-admin-series-table td:nth-child(6){width:19%}
}


/* =========================================================
   DIRT RANKS STANDARD PAGE SYSTEM — ADMIN
   Matches Rankings / Drivers / Races / Tracks / Divisions /
   Series / Sanctions / Methodology / Driver / Track Profile.
   ========================================================= */

.admin-page .page-title{
  margin-bottom:20px;
}
.admin-page .page-title h1{
  margin:0;
  color:var(--accent);
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:.94;
}
.admin-page-description{
  margin:10px 0 0;
  max-width:860px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.45;
}
.admin-content-shell{
  min-width:0;
  margin-top:18px;
  padding:18px 18px 26px;
  background:var(--panel);
}

/* ---------------------------------------------------------
   Primary admin navigation
   --------------------------------------------------------- */
.admin-shell-clean{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  margin:0 0 18px;
}
.admin-nav-stack{
  min-width:0;
}
.admin-groups{
  display:flex;
  gap:0;
  flex-wrap:wrap;
  padding:0;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--panel);
  overflow:hidden;
}
.admin-group{
  appearance:none;
  min-height:44px;
  padding:9px 15px;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:var(--panel);
  color:var(--text);
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.015em;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:none;
}
.admin-group:last-child{
  border-right:0;
}
.admin-group:hover{
  background:var(--panel-2);
  color:var(--text);
}
.admin-group.active{
  background:var(--accent);
  color:#fff;
  box-shadow:none;
}
.admin-subtabs{
  display:none;
  gap:0;
  flex-wrap:wrap;
  padding:0;
  border:0;
  background:var(--panel-2);
}
.admin-subtabs.active{
  display:flex;
  border:1px solid var(--line);
  border-top:0;
}
.admin-tab{
  appearance:none;
  min-height:38px;
  padding:7px 12px;
  border:0;
  border-right:1px solid var(--line);
  border-bottom:2px solid transparent;
  border-radius:0;
  background:var(--panel-2);
  color:var(--muted);
  font:inherit;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.admin-tab:last-child{
  border-right:0;
}
.admin-tab:hover{
  background:var(--panel);
  color:var(--text);
}
.admin-tab.active{
  border-color:var(--accent);
  border-top:0;
  border-left:0;
  border-right:1px solid var(--line);
  background:var(--panel);
  color:var(--accent);
}
.admin-tab-count{
  display:inline-flex;
  min-width:18px;
  min-height:18px;
  align-items:center;
  justify-content:center;
  margin-left:4px;
  padding:1px 4px;
  border-radius:0;
  background:var(--accent);
  color:#fff;
  font-size:.62rem;
}
.admin-signout{
  min-height:44px;
  margin:0;
  border-radius:0;
  white-space:nowrap;
}

/* ---------------------------------------------------------
   Main admin workspace treatment
   --------------------------------------------------------- */
.admin-content-shell .admin-panel{
  min-width:0;
}
.admin-content-shell .admin-panel-grid{
  gap:16px;
}
.admin-content-shell .card,
.admin-content-shell .card-pad,
.admin-content-shell details.card,
.admin-content-shell .admin-overview-card{
  border-radius:0!important;
  background:var(--panel)!important;
  box-shadow:none!important;
}
.admin-content-shell .card{
  border-color:var(--line)!important;
}
.admin-content-shell .card-pad{
  padding:18px;
}
.admin-content-shell .notice,
.admin-content-shell .empty-state,
.admin-content-shell .badge{
  border-radius:0!important;
}
.admin-content-shell input,
.admin-content-shell select,
.admin-content-shell textarea{
  min-width:0;
  border-radius:0!important;
  background:var(--panel)!important;
  color:var(--text)!important;
}
.admin-content-shell button,
.admin-content-shell .button{
  border-radius:0!important;
}
.admin-content-shell .table-wrap{
  border-radius:0!important;
  background:var(--panel)!important;
}
.admin-content-shell table{
  background:var(--panel);
}
.admin-content-shell table th{
  background:var(--panel-2)!important;
  color:var(--muted)!important;
}
.admin-content-shell table td{
  color:var(--text);
}
.admin-content-shell table tbody tr:nth-child(even){
  background:var(--panel-2);
}
.admin-content-shell table tbody tr:hover{
  background:var(--panel-2);
}

/* ---------------------------------------------------------
   Overview
   --------------------------------------------------------- */
.admin-overview-head{
  margin-bottom:14px;
}
.admin-overview-head h2{
  margin:5px 0 4px;
  color:var(--text);
}
.admin-overview-stats{
  gap:0!important;
  border:1px solid var(--line);
  background:var(--panel);
}
.admin-overview-stat{
  min-height:108px;
  border:0!important;
  border-left:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--panel)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
.admin-overview-stat:first-child{
  border-left:0!important;
}
.admin-overview-stat:nth-child(even){
  background:var(--panel-2)!important;
}
.admin-overview-stat:hover{
  background:var(--panel-2)!important;
  transform:none!important;
}
.admin-overview-stat span,
.admin-overview-stat small{
  color:var(--muted)!important;
}
.admin-overview-stat strong{
  color:var(--text)!important;
}
.admin-overview-stat.attention strong{
  color:var(--accent)!important;
}

.admin-workflow-grid{
  gap:0!important;
  border:1px solid var(--line);
  background:var(--panel);
}
.admin-workflow-step{
  margin:0!important;
  border:0!important;
  border-left:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--panel)!important;
  box-shadow:none!important;
}
.admin-workflow-step:first-child{
  border-left:0!important;
}
.admin-workflow-step:nth-child(even){
  background:var(--panel-2)!important;
}
.admin-workflow-number{
  border-radius:0!important;
}
.admin-upcoming-overview{
  border-radius:0!important;
  background:var(--panel)!important;
}

/* ---------------------------------------------------------
   Section headers / toolbars / common admin pieces
   --------------------------------------------------------- */
.editor-header,
.quick-admin-head,
.calendar-admin-head,
.admin-upcoming-overview-head,
.admin-review-dialog .race-results-modal-head{
  gap:16px;
}
.editor-title,
.quick-admin-head h2,
.calendar-admin-head h2{
  color:var(--text);
}
.settings-lockbar,
.admin-summary .stat-card,
.track-db-toolbar,
.admin-review-center{
  border-radius:0!important;
  background:var(--panel)!important;
}
.admin-summary{
  gap:0!important;
  border:1px solid var(--line);
}
.admin-summary .stat-card{
  border:0!important;
  border-left:1px solid var(--line)!important;
}
.admin-summary .stat-card:first-child{
  border-left:0!important;
}
.admin-summary .stat-card:nth-child(even){
  background:var(--panel-2)!important;
}

/* Dialogs/popups use the same flat workspace system. */
.admin-content-shell dialog,
.admin-content-shell .calendar-dialog-inner,
.admin-content-shell .race-results-modal-shell,
.admin-content-shell .admin-review-dialog-inner{
  border-radius:0!important;
}
.admin-content-shell .calendar-dialog-inner,
.admin-content-shell .race-results-modal-shell,
.admin-content-shell .admin-review-dialog-inner{
  background:var(--panel)!important;
}

/* Keep search/filter/button rows contained at all widths. */
.admin-race-toolbar,
.track-db-toolbar,
.calendar-toolbar,
.form-actions,
.admin-workflow-actions{
  min-width:0;
}
.admin-race-toolbar > *,
.track-db-toolbar > *,
.calendar-toolbar > *{
  min-width:0;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:900px){
  .admin-shell-clean{
    grid-template-columns:1fr;
  }
  .admin-signout{
    justify-self:start;
  }
  .admin-overview-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-overview-stat{
    border-top:1px solid var(--line)!important;
  }
  .admin-overview-stat:nth-child(-n+2){
    border-top:0!important;
  }
  .admin-overview-stat:nth-child(odd){
    border-left:0!important;
  }
  .admin-overview-stat:nth-child(even){
    border-left:1px solid var(--line)!important;
  }
}
@media(max-width:760px){
  .admin-page{
    padding-top:26px;
  }
  .admin-page .page-title{
    margin-bottom:16px;
  }
  .admin-page .page-title h1{
    font-size:clamp(2.25rem,12vw,3.4rem);
  }
  .admin-page-description{
    font-size:.84rem;
  }
  .admin-content-shell{
    margin-top:14px;
    padding:12px 10px 20px;
  }
  .admin-groups,
  .admin-subtabs.active{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .admin-group,
  .admin-tab{
    flex:0 0 auto;
  }
  .admin-panel-grid{
    display:block!important;
  }
  .admin-panel-grid>.card{
    margin-bottom:14px;
  }
  .admin-workflow-grid{
    display:block!important;
  }
  .admin-workflow-step{
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  .admin-workflow-step:first-child{
    border-top:0!important;
  }
}
@media(max-width:520px){
  .admin-overview-stats{
    grid-template-columns:1fr!important;
  }
  .admin-overview-stat:nth-child(n){
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  .admin-overview-stat:first-child{
    border-top:0!important;
  }
}



/* Race Calendar — grouped race dates + compact 8-column layout */
.calendar-table{
  overflow-x:auto;
}
.calendar-table table{
  width:100%;
  min-width:1060px;
  table-layout:fixed;
}
.calendar-table th,
.calendar-table td{
  min-width:0;
  box-sizing:border-box;
}
.calendar-table th:nth-child(1),
.calendar-table td.calendar-date-cell{width:10%}
.calendar-table th:nth-child(2),
.calendar-table td.calendar-track-logo-cell{width:10%}
.calendar-table th:nth-child(3),
.calendar-table td.calendar-event-cell{width:27%}
.calendar-table th:nth-child(4),
.calendar-table td.calendar-location-cell{width:11%}
.calendar-table th:nth-child(5),
.calendar-table td.calendar-source-cell{width:11%}
.calendar-table th:nth-child(6),
.calendar-table td.calendar-division-cell{width:13%}
.calendar-table th:nth-child(7),
.calendar-table td.calendar-results-cell{width:9%}
.calendar-table th:nth-child(8),
.calendar-table td.calendar-actions-cell{width:9%}

.calendar-table td{
  padding-top:10px;
  padding-bottom:10px;
  vertical-align:middle;
}
.calendar-date-cell{
  min-width:0;
  vertical-align:top!important;
  padding-top:14px!important;
}
.calendar-date-cell strong{
  display:block;
  font-size:.86rem;
  line-height:1.15;
}
.calendar-date-cell>.muted{
  display:block;
  margin-top:3px;
  font-size:.71rem;
  line-height:1.15;
}
.calendar-day-start:not(:first-child)>td{
  border-top:2px solid var(--line);
}
.calendar-day-continuation>td{
  border-top-color:color-mix(in srgb,var(--line) 55%,transparent);
}
.calendar-day-multi .calendar-date-cell{
  padding-bottom:14px;
}

/* Upcoming next race date highlight spans the full grouped date block */
.calendar-next-row>td{
  background:rgba(229,57,53,.04);
}
.calendar-next-row.calendar-day-start>td{
  border-top:2px solid var(--accent)!important;
}
.calendar-next-row.calendar-day-continuation>td{
  border-top-color:rgba(229,57,53,.22)!important;
}
.calendar-next-row.calendar-day-end>td{
  border-bottom:2px solid var(--accent)!important;
}
.calendar-next-date-cell{
  background:rgba(229,57,53,.07)!important;
  border:2px solid var(--accent)!important;
  border-right:0!important;
}
.calendar-next-row.calendar-day-start>td:nth-child(2){
  border-left:2px solid var(--accent)!important;
}
.calendar-next-row.calendar-day-continuation>td:first-child,
.calendar-next-row.calendar-day-end>td:first-child{
  border-left:2px solid var(--accent)!important;
}
.calendar-next-row>td:last-child{
  border-right:2px solid var(--accent)!important;
}

.calendar-track-logo-cell{
  text-align:center;
  padding-left:8px!important;
  padding-right:8px!important;
}
.calendar-track-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:64px;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted);
  text-decoration:none;
  overflow:hidden;
}
.calendar-track-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:64px;
  object-fit:contain;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.calendar-track-logo-fallback{
  height:auto;
  min-height:42px;
  font-size:.68rem;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.calendar-event-cell{
  min-width:0;
  max-width:none;
  overflow-wrap:anywhere;
}
.calendar-event-cell .admin-event-link,
.calendar-event-cell>strong{
  display:inline;
  font-size:.88rem;
  font-weight:850;
  line-height:1.24;
}
.calendar-location-cell{
  font-size:.8rem;
  line-height:1.2;
}
.calendar-source-cell{
  font-size:.76rem;
  line-height:1.15;
}
.calendar-source-link{
  white-space:nowrap;
}

.calendar-division-cell{
  min-width:0;
  overflow:hidden;
}
.calendar-division-display{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-width:0;
}
.calendar-division-display strong{
  display:block;
  max-width:100%;
  font-size:.79rem;
  line-height:1.12;
}
.calendar-series-code{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.67rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--muted);
}
.calendar-division-multiple strong{
  white-space:nowrap;
}

.calendar-results-cell{
  font-size:.76rem;
  line-height:1.1;
}
.calendar-results-count{
  display:block;
  font-weight:900;
  line-height:1.05;
}
.calendar-results-cell small{
  display:block;
  margin-top:3px;
  font-size:.66rem;
  line-height:1.12;
}
.calendar-actions-cell{
  padding-left:6px!important;
  padding-right:6px!important;
}
.calendar-actions-cell .admin-race-actions{
  width:100%;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
.calendar-actions-cell .button{
  width:100%;
  max-width:100%;
  padding:7px 6px;
  font-size:.66rem;
  white-space:nowrap;
}

@media(max-width:1180px){
  .calendar-table table{min-width:1020px}
  .calendar-track-logo{height:58px}
  .calendar-track-logo img{max-height:58px}
}

/* Race Calendar — linked rows + linked racing metadata */
.calendar-table tr[data-calendar-event-href]{cursor:pointer;outline:none}
.calendar-table tr[data-calendar-event-href]:hover>td{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
.calendar-table tr[data-calendar-event-href]:focus-visible>td{box-shadow:inset 0 0 0 1px var(--accent)}
.calendar-table tr.calendar-next-row[data-calendar-event-href]:hover>td{background:color-mix(in srgb,var(--accent) 9%,var(--panel))}
.calendar-table a{cursor:pointer}
.calendar-division-link,.calendar-meta-link{color:inherit;text-decoration:none}
.calendar-division-link:hover,.calendar-meta-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.calendar-division-meta{display:flex;align-items:center;gap:3px;max-width:100%;min-width:0;color:var(--muted)}
.calendar-division-meta .calendar-series-code{display:inline-block;min-width:0}
.calendar-meta-separator{font-size:.62rem;color:var(--muted);flex:none}

/* RESTORED: theme-safe admin modals + canonical event editor layout */
/* Shared Admin modal shell — keep pop-outs aligned with the Dirt Ranks site theme. */
.calendar-dialog,
.race-results-modal{
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:2px;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.calendar-dialog::backdrop,
.race-results-modal::backdrop{
  background:rgba(3,7,12,.68);
  backdrop-filter:blur(3px);
}
.calendar-dialog-inner,
.race-results-modal-shell,
.race-results-modal-body{
  background:var(--panel);
  color:var(--text);
}
.calendar-dialog-head{
  margin:-22px -22px 18px;
  padding:18px 20px 14px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.race-results-modal-head{
  border-bottom-color:var(--line);
  background:var(--panel);
}
.calendar-dialog-close{
  border-color:var(--line);
  border-radius:2px;
  background:var(--panel-2);
  color:var(--text);
}
.calendar-dialog-close:hover,
.calendar-dialog-close:focus-visible{
  border-color:var(--accent);
  color:var(--accent);
  outline:none;
}

/* Replace dark-only admin surfaces with theme variables so Light mode stays light. */
.calendar-result-status,
.schedule-final-verify-item,
.calendar-division-checklist,
.schedule-division-chip,
.calendar-division-tag,
.schedule-map-panel,
.schedule-preview-list,
.schedule-match-details>div,
.mrp-batch-table-wrap,
.division-editor-summary,
.division-logo-preview,
.division-editor-status-grid,
.branding-preview-box{
  background:var(--panel-2);
  color:var(--text);
  border-color:var(--line);
}
.calendar-division-option,
.missing-division-choice{
  background:var(--panel);
  color:var(--text);
}
.division-admin-row:hover,
.division-admin-row:focus-visible,
.entity-admin-overview-row:hover,
.entity-admin-overview-row:focus-visible{
  background:var(--panel-2);
}

/* Light mode modal polish.  styles.css owns the palette; this keeps admin-only pop-outs on it. */
html[data-theme="light"] .calendar-dialog,
html[data-theme="light"] .race-results-modal,
html[data-theme="light"] .calendar-dialog-inner,
html[data-theme="light"] .calendar-dialog-head,
html[data-theme="light"] .race-results-modal-shell,
html[data-theme="light"] .race-results-modal-head,
html[data-theme="light"] .race-results-modal-body{
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
html[data-theme="light"] .calendar-dialog::backdrop,
html[data-theme="light"] .race-results-modal::backdrop{
  background:rgba(0,0,0,.32);
}
html[data-theme="light"] .calendar-dialog-close{
  background:var(--panel-2)!important;
  color:var(--text)!important;
  border-color:#aaa!important;
}
html[data-theme="light"] .calendar-dialog-close:hover,
html[data-theme="light"] .calendar-dialog-close:focus-visible{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}
html[data-theme="light"] :is(
  .calendar-result-status,
  .schedule-final-verify-item,
  .calendar-division-checklist,
  .schedule-division-chip,
  .calendar-division-tag,
  .schedule-map-panel,
  .schedule-preview-list,
  .schedule-match-details>div,
  .mrp-batch-table-wrap,
  .division-editor-summary,
  .division-logo-preview,
  .division-editor-status-grid,
  .branding-preview-box
){
  background:var(--panel-2)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
html[data-theme="light"] :is(.calendar-division-option,.missing-division-choice){
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
html[data-theme="light"] :is(.division-admin-row:hover,.division-admin-row:focus-visible,.entity-admin-overview-row:hover,.entity-admin-overview-row:focus-visible){
  background:var(--panel-2)!important;
}

@media(max-width:760px){
  .calendar-dialog-head{margin:-18px -18px 16px;padding:15px 16px 12px}
}

/* Per-division series assignments in the calendar event editor */
.calendar-division-series{display:grid;gap:8px;border:1px solid var(--line);background:var(--panel-2);padding:10px;min-width:0}
.calendar-division-series-row{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}
.calendar-division-series-row:last-child{border-bottom:0}
.calendar-division-series-title{font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--text);padding-top:7px}
.calendar-division-series-options{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.calendar-division-series-option{display:inline-flex;align-items:flex-start;gap:7px;border:1px solid var(--line);background:var(--panel);padding:7px 9px;min-width:0;cursor:pointer}
.calendar-division-series-option input{margin-top:2px;flex:0 0 auto}
.calendar-division-series-option span{display:grid;gap:1px;min-width:0}
.calendar-division-series-option strong{font-size:.7rem;letter-spacing:.055em;color:var(--accent);text-transform:uppercase}
.calendar-division-series-option small{font-size:.66rem;line-height:1.25;color:var(--muted);white-space:normal}
.calendar-division-series-option:has(input:checked){border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
@media (max-width:760px){.calendar-division-series-row{grid-template-columns:1fr}.calendar-division-series-title{padding-top:0}.calendar-division-series-option{width:100%}}

/* Scalable series participation picker shared by Add Race and Edit Event. */
.calendar-division-series-picker{display:grid;gap:7px;min-width:0}
.division-series-search{width:100%;min-width:0;height:34px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 9px;font:inherit}
.calendar-division-series-options{max-height:190px;overflow:auto;align-content:flex-start;padding-right:2px}
.calendar-division-series-option[hidden]{display:none!important}

/* Phase 2 — canonical event/division editor */
.editor-section-head.compact{margin:18px 0 10px}.editor-section-head.compact h3{margin:4px 0 0}.editor-section-head.compact p{margin:5px 0 0;max-width:920px}
.inline-check{display:flex;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;min-height:42px}.inline-check input{width:auto}
.canonical-weather-card{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:12px}.canonical-weather-card strong{display:block;margin-top:4px;font-size:.82rem;color:var(--text)}
.canonical-divisions-head{border-top:1px solid var(--line);padding-top:16px}.canonical-event-division-scopes{display:grid;gap:12px;margin-top:12px}.canonical-scope-section{margin-top:4px}.canonical-scope-section-head,.canonical-scope-card-head,.canonical-series-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.canonical-scope-section-head{margin-bottom:9px}.canonical-scope-section-head h3,.canonical-scope-card-head h4{margin:4px 0 0}.canonical-scope-card{border:1px solid var(--line);background:var(--panel);padding:14px;min-width:0}.canonical-scope-card.single{margin-top:2px}.canonical-scope-card-head{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}.canonical-scope-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid var(--line);font-size:.63rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.canonical-scope-status.imported{color:#28a46b;border-color:rgba(40,164,107,.5)}
.canonical-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}.canonical-scope-grid .form-field{min-width:0}.canonical-scope-grid select{width:100%;max-width:100%}.canonical-scope-flags{display:flex;gap:8px 18px;flex-wrap:wrap;padding:11px 0;margin:4px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.canonical-scope-flags label{display:flex;align-items:center;gap:7px;text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:800}.canonical-scope-flags input{width:auto}
.canonical-series-block{display:grid;gap:8px}.canonical-series-head strong,.canonical-series-head small{display:block}.canonical-series-head strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.canonical-series-head small{margin-top:2px;color:var(--muted);font-size:.7rem;line-height:1.35}.canonical-series-picker{padding:0;border:0;background:transparent}.canonical-series-option{display:flex!important;align-items:center!important;justify-content:space-between;gap:10px;min-width:210px}.canonical-series-membership{display:flex;align-items:flex-start;gap:7px;min-width:0;cursor:pointer}.canonical-series-membership input{margin-top:2px}.canonical-series-points-toggle{display:flex;align-items:center;gap:5px;padding-left:8px;border-left:1px solid var(--line);font-size:.63rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.04em!important;white-space:nowrap}.canonical-series-points-toggle input{width:auto}.canonical-series-points-toggle.disabled{opacity:.35}.canonical-scope-review{margin:0 0 10px}.canonical-result-summary{margin-top:12px}.canonical-division-picker{width:min(460px,100%)}
@media(max-width:850px){.canonical-scope-grid{grid-template-columns:1fr}.canonical-scope-section-head,.canonical-scope-card-head,.canonical-series-head{align-items:stretch}.canonical-scope-status{align-self:flex-start}.canonical-series-option{width:100%;min-width:0}}
@media(max-width:560px){.canonical-scope-section-head,.canonical-scope-card-head,.canonical-series-head{display:grid;grid-template-columns:1fr}.canonical-scope-flags{display:grid;grid-template-columns:1fr 1fr}.canonical-series-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto}.canonical-weather-card{align-items:flex-start}}

/* Phase 2.1 — canonical scope safeguards + row-style series membership */
.canonical-scope-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.canonical-scope-results-button{min-height:28px;padding:5px 9px;font-size:.68rem}
.canonical-safeguard-disabled{opacity:.5;cursor:not-allowed}
.canonical-safeguard-disabled input{cursor:not-allowed}
.canonical-safeguard-note{display:block;margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.35}
.canonical-safeguard-banner{margin:-2px 0 10px;padding:8px 10px;border-left:3px solid var(--accent);background:var(--panel-2);font-size:.7rem;line-height:1.4;color:var(--muted)}
.canonical-safeguard-banner strong{color:var(--text)}
.canonical-series-list-head{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;padding:6px 10px;border:1px solid var(--line);border-bottom:0;background:var(--panel-2);font-size:.62rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.canonical-series-list-head span:last-child{text-align:center}
.canonical-series-list{display:grid!important;gap:0!important;max-height:230px;overflow:auto;border:1px solid var(--line);padding:0!important;background:var(--panel)}
.canonical-series-list .canonical-series-option{display:grid!important;grid-template-columns:minmax(0,1fr) 170px;align-items:center!important;gap:12px;width:100%;min-width:0;border:0!important;border-bottom:1px solid var(--line)!important;padding:9px 10px!important;background:transparent!important;box-shadow:none!important}
.canonical-series-list .canonical-series-option:last-child{border-bottom:0!important}
.canonical-series-list .canonical-series-option:has([data-calendar-series-division]:checked),
.canonical-series-list .canonical-series-option:has([data-new-race-series-division]:checked){box-shadow:inset 3px 0 0 var(--accent)!important;background:color-mix(in srgb,var(--accent) 5%,transparent)!important}
.canonical-series-list .canonical-series-membership{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-width:0}
.canonical-series-list .canonical-series-membership span{display:grid;gap:1px;min-width:0}
.canonical-series-list .canonical-series-membership strong{font-size:.72rem}
.canonical-series-list .canonical-series-membership small{font-size:.68rem;color:var(--muted);white-space:normal}
.canonical-series-list .canonical-series-points-toggle{display:flex;align-items:center;justify-content:center;gap:7px;padding:0;border-left:0;font-size:.68rem!important;text-transform:none!important;letter-spacing:0!important}
.canonical-series-list .canonical-series-points-toggle input{margin:0}
@media(max-width:650px){
  .canonical-series-list-head,.canonical-series-list .canonical-series-option{grid-template-columns:minmax(0,1fr) 115px}
  .canonical-scope-head-actions{justify-content:flex-start}
}

/* Phase 3 — canonical event results workspace */
#calendar-event-dialog{width:min(1180px,calc(100vw - 28px))}
.phase3-results-source,.phase3-division-results{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.phase3-results-source .editor-section-head,.phase3-division-results .editor-section-head{margin-bottom:12px}
#calendar-mrp-host{min-width:0}
#calendar-mrp-host>.result-import-panel{display:block!important;margin:0;padding:14px;border:1px solid var(--line);background:var(--card);min-width:0}
#calendar-mrp-host>.result-import-panel>div.eyebrow:first-child{margin-top:0}
.mrp-plan-actions{justify-content:flex-end;margin-top:10px}
.calendar-result-tabs{display:flex;gap:0;overflow-x:auto;border:1px solid var(--line);background:var(--panel-2);min-width:0}
.calendar-result-tab{appearance:none;display:grid;gap:2px;min-width:150px;padding:11px 14px;border:0;border-right:1px solid var(--line);border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer}
.calendar-result-tab:last-child{border-right:0}.calendar-result-tab:hover{color:var(--text);background:rgba(255,255,255,.025)}
.calendar-result-tab.active{color:var(--text);border-bottom-color:var(--accent);background:var(--card)}
.calendar-result-tab span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.calendar-result-tab small{font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.calendar-result-panel{border:1px solid var(--line);border-top:0;background:var(--card);padding:14px;min-width:0}
.phase3-result-empty,.phase3-result-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.phase3-result-empty h4,.phase3-result-summary h4{margin:4px 0 5px}.phase3-result-empty p,.phase3-result-summary p{margin:3px 0;line-height:1.4}
.phase3-result-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.phase3-result-actions .button{white-space:nowrap}
.phase3-result-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0}.phase3-result-stats>div{padding:10px 11px;border:1px solid var(--line);background:var(--panel-2)}.phase3-result-stats span{display:block;color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.phase3-result-stats strong{display:block;margin-top:3px;font-size:1.05rem}
.phase3-results-section{margin-top:16px}.phase3-results-section-head,.phase3-stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:7px}.phase3-results-section-head span,.phase3-stage-head span{display:block;color:var(--accent);font-size:.61rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.phase3-results-section-head h4,.phase3-stage-head strong{margin:2px 0 0;font-size:.95rem}.phase3-results-section-head small,.phase3-stage-head small{color:var(--muted);font-size:.7rem}
.phase3-results-table{max-width:100%;overflow-x:auto}.phase3-results-table table{width:100%;min-width:720px}.phase3-results-table.compact table{min-width:620px}.phase3-results-table td small{display:block;margin-top:2px;color:var(--muted);font-size:.67rem}.phase3-stage-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.phase3-calendar-mrp-panel .mrp-batch-table-wrap{max-width:100%}
.phase3-calendar-mrp-panel .mrp-full-preview{min-width:0}
.phase3-calendar-mrp-panel textarea{max-width:100%;box-sizing:border-box}
@media(max-width:900px){.phase3-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.phase3-result-empty,.phase3-result-summary{display:grid;grid-template-columns:1fr}.phase3-result-actions{justify-content:flex-start}}
@media(max-width:620px){#calendar-event-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh}.phase3-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-result-panel{padding:10px}.calendar-result-tab{min-width:130px;padding:9px 11px}}

/* Light-mode hardening for MyRacePass batch review rows. */
html[data-theme="light"] .mrp-batch-table{
  background:var(--panel-2)!important;
  color:var(--text)!important;
}
html[data-theme="light"] .mrp-batch-header{
  background:var(--panel-2)!important;
  border-color:var(--line)!important;
}
html[data-theme="light"] .mrp-batch-header>span,
html[data-theme="light"] .mrp-batch-row,
html[data-theme="light"] .mrp-batch-row>div{
  color:var(--text)!important;
  border-color:var(--line)!important;
}
html[data-theme="light"] .mrp-batch-row{
  background:var(--panel)!important;
}
html[data-theme="light"] .mrp-batch-row.selected{
  background:color-mix(in srgb,var(--accent) 5%,var(--panel))!important;
}
html[data-theme="light"] .mrp-batch-row.disabled{
  background:var(--panel-2)!important;
}
html[data-theme="light"] .mrp-batch-source strong,
html[data-theme="light"] .mrp-batch-races,
html[data-theme="light"] .mrp-batch-map small,
html[data-theme="light"] .mrp-existing-result small,
html[data-theme="light"] .mrp-existing-clear small,
html[data-theme="light"] .mrp-existing-warning small{
  color:var(--text)!important;
}
html[data-theme="light"] .mrp-batch-races,
html[data-theme="light"] .mrp-batch-map small,
html[data-theme="light"] .mrp-existing-result small,
html[data-theme="light"] .mrp-existing-clear small,
html[data-theme="light"] .mrp-existing-warning small{
  color:var(--muted)!important;
}

/* Calendar event editor — compact shared event details without reducing control size/usability. */
#calendar-event-dialog .calendar-dialog-head{margin-bottom:12px}
#calendar-event-dialog .calendar-dialog-head + p.muted{margin:0 0 12px;line-height:1.35}
#calendar-event-dialog .editor-section-head.compact{margin:12px 0 7px}
#calendar-event-dialog .form-grid{column-gap:14px;row-gap:9px}
#calendar-event-dialog .form-field label{margin-bottom:4px}
#calendar-event-dialog .form-field small{margin-top:3px;line-height:1.25}
#calendar-event-dialog #calendar-notes{height:64px;min-height:64px;resize:vertical}
#calendar-event-dialog .form-field:has(#calendar-source-verified){
  display:flex;
  align-items:center;
  min-height:100%;
  padding-top:19px;
}
#calendar-event-dialog .form-field:has(#calendar-source-verified) .inline-check{
  width:100%;
  min-height:42px;
  margin:0;
  justify-content:flex-start;
  align-items:center;
}
#calendar-event-dialog .canonical-weather-card{margin:10px 0 14px;padding:10px 12px}
#calendar-event-dialog .canonical-divisions-head{padding-top:13px}

/* Accuracy Review — compact horizontal filter toolbar on desktop. */
.admin-review-filterbar{
  display:grid;
  grid-template-columns:minmax(145px,1.25fr) minmax(135px,1.15fr) minmax(135px,1.05fr) minmax(138px,.9fr) minmax(125px,.85fr) auto;
  gap:9px;
  align-items:end;
  margin:14px 0 0;
  padding:11px 12px;
  border:1px solid var(--line);
  background:var(--panel-2);
  min-width:0;
}
.admin-review-filterbar .form-field{min-width:0;margin:0}
.admin-review-filterbar .form-field label{
  display:block;
  margin:0 0 4px;
  font-size:.66rem;
  line-height:1;
  letter-spacing:.065em;
}
.admin-review-filterbar :is(select,input[type="date"]){
  width:100%;
  min-width:0;
  height:38px;
  padding-top:6px;
  padding-bottom:6px;
}
.admin-review-filter-actions{
  display:flex;
  align-items:flex-end;
  min-width:0;
}
.admin-review-filter-actions .button{
  height:38px;
  min-height:38px;
  padding:0 11px;
  white-space:nowrap;
  font-size:.68rem;
}
.admin-review-filter-summary{
  margin:6px 0 10px;
  color:var(--muted);
  font-size:.75rem;
  line-height:1.25;
}
.admin-review-filter-summary strong{color:var(--text)}
.admin-review-filterbar + .admin-review-filter-summary + .admin-review-list{margin-top:0}

@media(max-width:920px){
  .admin-review-filterbar{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .admin-review-filter-actions{align-self:end}
  .admin-review-filter-actions .button{width:100%}
}
@media(max-width:620px){
  .admin-review-filterbar{
    grid-template-columns:1fr 1fr;
    padding:10px;
  }
  .admin-review-filter-actions{grid-column:1/-1}
}
@media(max-width:430px){
  .admin-review-filterbar{grid-template-columns:1fr}
  .admin-review-filter-actions{grid-column:auto}
}

/* Race Calendar — compact horizontal schedule filters.
   Mirrors the Accuracy Review filter toolbar on desktop. */
.calendar-filterbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:9px;
  align-items:end;
  margin:0 0 12px;
  padding:11px 12px;
  border:1px solid var(--line);
  background:var(--panel-2);
  min-width:0;
}
.calendar-filterbar select{
  width:100%;
  min-width:0;
  max-width:100%;
  height:38px;
  box-sizing:border-box;
  padding-top:6px;
  padding-bottom:6px;
}
.calendar-filter-clear{
  height:38px;
  min-height:38px;
  padding:0 11px;
  white-space:nowrap;
  font-size:.68rem;
}
.calendar-filter-clear[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

@media(max-width:920px){
  .calendar-filterbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .calendar-filter-clear{
    justify-self:start;
  }
}
@media(max-width:620px){
  .calendar-filterbar{
    grid-template-columns:1fr;
    padding:10px;
  }
  .calendar-filter-clear{
    width:100%;
    justify-self:stretch;
  }
}

/* Race Calendar — Results column alignment.
   Keep the Results header and every result value consistently left aligned. */
.calendar-table th:nth-child(7),
.calendar-table td.calendar-results-cell{
  text-align:left!important;
}
.calendar-results-cell,
.calendar-results-count,
.calendar-results-cell small{
  text-align:left!important;
}

