.theme-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);cursor:pointer;font-size:1.05rem}.back-button{display:inline-flex;align-items:center;min-height:38px;margin:0 0 28px;padding:7px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--muted);font:inherit;font-weight:750;line-height:1.2;text-decoration:none;cursor:pointer}.back-button:hover{color:var(--text);border-color:var(--accent)}.stat-link{text-decoration:none;transition:transform .18s,border-color .18s}.stat-link:hover{transform:translateY(-2px);border-color:var(--accent)}.stat-link small{display:block;color:var(--accent2);margin-top:8px}.two-stats{grid-template-columns:repeat(2,1fr)}.small-stat{font-size:1rem!important;overflow-wrap:anywhere}.member-chip{display:inline-flex;margin:6px 5px 0 0;padding:4px 9px;border-radius:999px;background:rgba(141,125,255,.14);border:1px solid rgba(141,125,255,.32);font-size:.78rem}.team-card{border-left:4px solid var(--team-color)!important}.stacked-form input[type="color"]{width:56px;height:46px;padding:3px;cursor:pointer}.danger-link{color:var(--danger);margin-left:10px}.danger-button{background:var(--danger);border-color:transparent;color:#fff}.confirm-title{font-size:2.5rem}.roster-row{display:flex;align-items:center;justify-content:space-between}.bar-chart{display:grid;gap:18px;padding:24px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}.bar-label{display:flex;justify-content:space-between;margin-bottom:7px}.bar-track{height:18px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.bar-fill{display:block;height:100%;min-width:2px;border-radius:999px;transition:width .4s ease}
html[data-theme="light"]{--bg:#f5f3ff;--panel:#ffffff;--panel2:#f9f8ff;--text:#18172a;--muted:#65657a;--accent:#6251d8;--accent2:#087d67;--border:#dcd8eb;--danger:#ba2846;--shadow:0 18px 50px rgba(41,35,79,.10);color-scheme:light}html[data-theme="light"] body{background:radial-gradient(circle at top left,#e2deff 0,transparent 34rem),var(--bg)}html[data-theme="light"] .site-header{background:rgba(245,243,255,.86)}html[data-theme="light"] .stacked-form input,html[data-theme="light"] .stacked-form select,html[data-theme="light"] .stacked-form textarea{background:#fff;color:var(--text)}
.page-heading h1{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.06;letter-spacing:-.035em}
.form-card h1,.auth-card h1{font-size:clamp(1.9rem,2.7vw,2.35rem);line-height:1.08;letter-spacing:-.025em}
#id_weekdays{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;list-style:none;padding:0}#id_weekdays li{margin:0}#id_weekdays label{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.03);cursor:pointer}#id_weekdays input{width:auto;margin:0}
.stat-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.stat-breakdown>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;color:var(--muted);font-size:.85rem}.stat-breakdown strong{grid-column:2;font-size:1.55rem;color:var(--text);margin:0}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent2)}.status-dot-muted{background:var(--muted)}.account-directory-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:8px 24px;align-items:end;margin-bottom:12px}.account-directory-tools>label{font-weight:750}.account-directory-tools>input{grid-column:1;width:100%;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);padding:12px 13px;font:inherit}.status-filter{grid-column:2;grid-row:1 / span 2;display:flex;gap:8px;border:0;padding:0;margin:0}.status-filter legend{font-weight:750;margin-bottom:8px}.status-filter label{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel);cursor:pointer}.table-sort{border:0;background:none;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;padding:0}.table-sort:hover{color:var(--text)}@media(max-width:760px){.account-directory-tools{grid-template-columns:1fr}.account-directory-tools>input,.status-filter{grid-column:1;grid-row:auto}.status-filter{flex-wrap:wrap}.stat-breakdown{grid-template-columns:1fr}}
.contextual-edit{min-height:38px;padding:0 14px;margin:0 0 10px}
.contextual-edit+.lede{margin-top:6px}
@media(max-width:760px){.page-heading h1{font-size:2.15rem}.form-card h1,.auth-card h1{font-size:2rem}}
.announcement{margin:0 0 28px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--accent2) 48%,var(--border));border-left:4px solid var(--accent2);border-radius:16px;background:color-mix(in srgb,var(--accent2) 8%,var(--panel));box-shadow:var(--shadow)}
.announcement-label{display:block;color:var(--accent2);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.announcement p{margin:6px 0 0;font-size:1.02rem}
.announcement-editor{margin-top:14px}.announcement-editor summary{width:max-content;list-style:none}.announcement-editor summary::-webkit-details-marker{display:none}.announcement-editor form{margin-top:12px;max-width:680px}.announcement-editor .action-row{margin-top:10px}
.lifecycle-menu summary{list-style:none}.lifecycle-menu summary::-webkit-details-marker{display:none}.lifecycle-menu[open]>.action-row{margin-top:10px}
.challenge-upper-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 36px;align-items:start}.challenge-upper-layout>.challenge-schedule:only-child{grid-column:1/-1}.challenge-schedule{margin:0}.challenge-schedule h2{margin:0 0 14px;font-size:1.2rem}.challenge-schedule .details{max-width:680px}.challenge-upper-layout .challenge-botm-preview{min-width:0;margin:0}.challenge-upper-layout .challenge-botm-preview .section-heading{margin-top:-6px}@media(max-width:800px){.challenge-upper-layout{grid-template-columns:minmax(0,1fr);gap:28px}.challenge-upper-layout>.challenge-schedule:only-child{grid-column:auto}}
.challenge-summary{grid-template-columns:repeat(2,1fr)}
.review-title{font-size:clamp(2.1rem,3.2vw,3.2rem);line-height:1.06;letter-spacing:-.035em;overflow-wrap:anywhere}
.stacked-form input[type="checkbox"],.stacked-form input[type="radio"]{width:auto;padding:0;accent-color:var(--accent)}
.stacked-form #id_themes{display:grid;gap:10px;margin-top:2px}
@media(max-width:760px){.challenge-summary{grid-template-columns:1fr}}
.stacked-form #id_themes>div label{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer;font-weight:700}
.stacked-form #id_themes>div label:hover{border-color:var(--accent)}
.stacked-form #id_themes input{flex:0 0 auto;width:18px;height:18px;margin:0}
@media(max-width:760px){.review-title{font-size:2.15rem}}
.stacked-form p:has(>input[type="checkbox"]){display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;column-gap:10px}
.stacked-form p:has(>input[type="checkbox"])>.helptext{flex:0 0 100%}
.stacked-form input[type="checkbox"]{justify-self:start;margin:0}
.stacked-form #id_themes>.theme-claim-option{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}
.stacked-form #id_themes>.theme-claim-option>label{border:0;border-radius:0;background:transparent}
.stacked-form #id_themes>.theme-claim-option>.theme-response{margin:0;padding:2px 14px 14px}
.stacked-form #id_themes>.theme-claim-option>.theme-response label{display:block;margin-bottom:7px}
[hidden]{display:none!important}
.backup-action-layout{margin-top:24px}
.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.system-status-grid .card,.system-status-grid .details dd{min-width:0}
.system-status-grid .details dd,.system-status-grid .details code{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:760px){.system-status-grid{grid-template-columns:1fr}.system-status-grid .details{grid-template-columns:minmax(110px,140px) minmax(0,1fr)}}
.audit-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;align-items:end;margin:0 0 14px;padding:20px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}
.audit-filter-form p{display:grid;gap:7px;margin:0}.audit-filter-form label{font-weight:750}.audit-filter-form input,.audit-filter-form select{width:100%;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);padding:12px 13px;font:inherit}.audit-search-field{grid-column:span 2}.audit-filter-actions{display:flex;align-items:center;gap:10px;grid-column:span 2}.audit-results-summary{margin:14px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
@media(max-width:900px){.audit-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.audit-filter-form{grid-template-columns:1fr}.audit-search-field,.audit-filter-actions{grid-column:1}.audit-filter-actions{flex-wrap:wrap}.pagination{justify-content:space-between}}
.settings-layout{align-items:start}.settings-boundary-card{min-width:0}.settings-boundary-card p{overflow-wrap:anywhere}
.maintenance-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.maintenance-operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.maintenance-operation-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.maintenance-operation-card>.button,.maintenance-operation-card>.pill,.maintenance-operation-card>.maintenance-inline-form{margin-top:auto}.maintenance-inline-form{width:100%}.maintenance-inline-form p{margin-top:0}@media(max-width:900px){.maintenance-overview,.maintenance-operation-grid{grid-template-columns:1fr}}
.inactive-participation .participant-cell,
.inactive-participation > td:not(:last-child) {
  opacity: 0.68;
}

.inactive-participation .participant-cell strong,
.inactive-participation .participant-cell > span:last-child {
  text-decoration: line-through;
}
.participant-planning-mobile{display:none}.participant-planning-table{min-width:1040px}.planning-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.planning-actions .danger-link{margin-left:0}.registration-response-details>summary{color:var(--accent);font-weight:750;cursor:pointer;white-space:nowrap}.registration-response-details[open]{min-width:280px}.registration-response-details .details{margin:12px 0}.participant-planning-card{display:grid;gap:16px}.planning-card-details{margin:0}.planning-card-actions{display:grid;gap:10px}.planning-card-actions>.button,.planning-card-actions>.registration-response-details>.button{width:100%;justify-content:center}.planning-card-actions .registration-response-details>summary{list-style:none}.planning-card-actions .registration-response-details>summary::-webkit-details-marker{display:none}
@media(max-width:760px){.participant-planning-desktop{display:none}.participant-planning-mobile{display:grid;gap:16px}.participant-planning-mobile .inactive-participation>dl{opacity:.68}}
.checkpoint-warning{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--danger);font-size:.78rem;font-weight:750;line-height:1.3}.checkpoint-warning-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--danger)}
.attention-checkpoints{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.attention-checkpoints h3{margin-top:0}
.challenge-settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.settings-navigation-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.settings-navigation-card>.button,.settings-navigation-card>.action-row{margin-top:auto}.compact-settings-details{width:100%;margin-bottom:18px}@media(max-width:560px){.challenge-settings-grid{grid-template-columns:1fr}.compact-settings-details{grid-template-columns:minmax(105px,125px) minmax(0,1fr)}}
.schedule-settings-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:22px}.schedule-setting-card{min-width:0}.schedule-setting-card h2{margin-top:0}.schedule-setting-card input[type="datetime-local"]{width:100%;min-width:0}@media(max-width:560px){.schedule-settings-grid{grid-template-columns:1fr}}
.host-builder{display:grid;gap:8px}.host-builder>label{font-weight:750}.host-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.host-picker-row select{width:100%;min-width:0}.selected-hosts{margin:10px 0 8px;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}.selected-hosts h2{margin:0 0 10px;font-size:1rem}.selected-host-list{display:grid;gap:8px}.selected-host-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.selected-host-remove{margin:0;padding:0;border:0;background:none;font:inherit;cursor:pointer}@media(max-width:560px){.host-picker-row{grid-template-columns:1fr}.host-picker-row .button{width:100%;justify-content:center}.selected-host-row{align-items:flex-start}}
.team-overview-card{padding:0;overflow:hidden}.team-card-entry{display:block;padding:22px;color:inherit;text-decoration:none;cursor:pointer}.team-card-entry h2{margin-top:12px}.team-card-entry:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.team-overview-card:has(.team-card-entry:hover){border-color:var(--accent);transform:translateY(-2px)}.team-overview-actions{margin:0;padding:14px 22px;border-top:1px solid var(--border)}.team-detail-summary{margin-bottom:30px}.team-detail-summary .stat small,.team-discord,.team-participant-card .participant-cell small{display:block;margin-top:5px;color:var(--muted)}.score-display-toggle{display:flex;align-items:center;gap:8px;font-weight:750}.score-display-toggle input{width:auto;margin:0;accent-color:var(--accent)}.team-participant-table{width:100%}.team-participant-table th,.team-participant-table td{vertical-align:middle}.team-roster-action{display:inline-block;margin:0;white-space:nowrap}.team-detail-mobile{display:none}.team-mobile-sort{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.team-mobile-sort label{grid-column:1/-1;font-weight:750}.team-mobile-sort select{width:100%;min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);padding:11px 12px;font:inherit}.team-mobile-roster{display:grid;gap:16px}.team-participant-card{display:grid;gap:16px}.team-participant-details{margin:0}.team-participant-actions{padding-top:4px;border-top:1px solid var(--border)}.team-participant-actions .button{width:100%;justify-content:center}@media(max-width:900px){.team-detail-summary{grid-template-columns:1fr}.team-detail-desktop{display:none}.team-detail-mobile{display:grid;gap:16px}}@media(max-width:560px){.team-mobile-sort{grid-template-columns:1fr}.team-mobile-sort label{grid-column:1}.team-mobile-sort .button{width:100%;justify-content:center}}
.challenge-section-heading-link{display:inline-flex;align-items:center;gap:.42em;min-height:44px;margin:-6px;padding:6px;border-radius:8px;text-decoration:none}.challenge-section-heading-link:hover .challenge-section-arrow{transform:translateX(3px)}.challenge-section-heading-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.challenge-section-arrow{color:var(--accent);font-weight:700;transition:transform .18s}.challenge-section-empty{min-width:0;overflow-wrap:anywhere}.themes-preview-list{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-preview-item{min-width:0}.theme-preview-item h3{margin:0 0 6px}.theme-preview-item p{margin:0;overflow-wrap:anywhere}.themes-preview-more{margin:16px 0 0}@media(max-width:700px){.themes-preview-list{grid-template-columns:1fr}}
.tbr-registration-section{margin:34px 0 12px;padding-top:28px;border-top:1px solid var(--border)}.tbr-registration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.tbr-registration-heading h2,.tbr-entry-method h3{margin:0 0 7px}.tbr-registration-heading p,.tbr-entry-method p{margin:0;color:var(--muted)}.tbr-registration-heading>[data-tbr-count]{white-space:nowrap}.tbr-incentives{display:grid;gap:4px;margin:0 0 26px;padding:12px 15px;border-left:3px solid var(--accent2);background:rgba(255,255,255,.025)}.tbr-incentives p{margin:0}.tbr-entry-method{margin:22px 0 16px}.tbr-catalog-tools{margin-top:12px;padding:0 0 22px;border-bottom:1px solid var(--border)}@media(max-width:620px){.tbr-registration-heading{display:block}.tbr-registration-heading>[data-tbr-count]{display:block;margin-top:12px}.tbr-incentives{padding:11px 12px}}
.games-preview-list{grid-template-columns:repeat(3,minmax(0,1fr))}.game-preview-item,.game-management-card,.game-history-card{min-width:0;overflow-wrap:anywhere}.games-preview-more{margin:16px 0 0}.game-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.game-history-list{display:grid;gap:18px}.game-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.game-history-heading h3{margin:10px 0 0}.game-history-details{margin:18px 0 0}.responsive-name-list{margin:0;padding-left:20px;columns:2;column-gap:28px}.responsive-name-list li{break-inside:avoid;overflow-wrap:anywhere;margin:6px 0}@media(max-width:700px){.games-preview-list,.game-detail-summary{grid-template-columns:1fr}.game-history-heading{display:block}.game-history-details{grid-template-columns:1fr}.game-history-details dd{margin-bottom:8px}.responsive-name-list{columns:1}}
select:not([multiple]){padding-right:2rem!important}
.botm-cover-row{display:flex;gap:1rem;overflow-x:auto;max-width:100%;padding:.25rem 0 1rem;scrollbar-gutter:stable}.botm-cover-preview{display:flex;flex:0 0 8rem;flex-direction:column;gap:.5rem;color:inherit;text-decoration:none}.botm-cover-preview img,.botm-cover-placeholder{aspect-ratio:2/3;border-radius:12px;display:grid;object-fit:cover;place-items:center;width:100%;background:var(--panel);border:1px solid var(--border);font-size:2rem;font-weight:700}.botm-cover-preview span:last-child{font-weight:700}.botm-management-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}.botm-management-card{display:grid;grid-template-columns:7rem 1fr;gap:1rem}.botm-management-cover{aspect-ratio:2/3;border-radius:12px;object-fit:cover;width:7rem}@media(max-width:520px){.botm-management-card{grid-template-columns:5rem 1fr}.botm-management-cover{width:5rem}}
.book-cover-frame{aspect-ratio:2/3;border-radius:12px;display:block;isolation:isolate;overflow:hidden;position:relative;width:100%}.book-cover-frame>.botm-management-cover,.book-cover-frame>.botm-cover-placeholder,.book-cover-frame>img:not(.book-completion-overlay){height:100%;width:100%}.book-completion-overlay{aspect-ratio:auto!important;background:transparent!important;border:0!important;border-radius:0!important;height:auto!important;left:auto;max-width:none;object-fit:contain!important;pointer-events:none;position:absolute;right:0;top:0;transform:none;width:62%!important;z-index:2}.book-cover-frame.is-pending::after{background:rgba(24,31,27,.28);border-radius:12px;content:"";inset:0;pointer-events:none;position:absolute}.book-pending-label{background:var(--panel);border:1px solid var(--border);border-radius:999px;bottom:.55rem;color:var(--text);font-size:.72rem;font-weight:800;left:50%;padding:.2rem .55rem;position:absolute;transform:translateX(-50%);z-index:2}.book-progress-summary{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem;margin-top:1rem}.book-progress-summary strong{font-size:1.15rem}.book-progress-summary span,.book-progress-compact{color:var(--muted)}.book-progress-compact{font-size:.9rem;margin:.25rem 0 0;white-space:nowrap}.book-state-completed{border-color:#228b43;color:#228b43}.book-state-pending{border-color:#a87914;color:#8a620d}.book-state-not_completed{color:var(--muted)}@media(max-width:520px){.book-progress-summary span{max-width:30ch}.book-progress-compact{white-space:normal}}
.participant-detail-summaries{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:2rem}.participant-detail-summaries section{margin:0}.participant-book-strip{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.participant-book{min-width:0}.participant-book .book-cover-frame{margin-bottom:.75rem}.participant-book h3{font-size:1rem;margin:.55rem 0 .25rem}.participant-book p{font-size:.88rem;margin:0}.provenance-list{display:grid;gap:.75rem}.provenance-list .card{align-items:flex-start;display:flex;justify-content:space-between}.provenance-amount{display:flex;flex-direction:column;text-align:right}.provenance-amount strong{color:var(--accent2);font-size:1.25rem}@media(max-width:800px){.participant-detail-summaries{grid-template-columns:1fr}.participant-book-strip{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}}
.team-filters{position:relative}.team-filters>summary{list-style:none}.team-filters>summary::-webkit-details-marker{display:none}.team-filter-panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;display:grid;gap:.8rem;margin-top:.75rem;padding:1rem;position:absolute;right:0;width:min(38rem,calc(100vw - 3rem));z-index:5}.team-filter-panel fieldset{border:0;border-top:1px solid var(--border);display:grid;gap:.55rem;margin:0;padding:.8rem 0 0}.team-filter-panel fieldset:first-of-type{border-top:0;padding-top:0}.team-filter-panel legend{font-weight:800;padding:0}.date-filter-row,.team-filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.team-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.date-filter-row label,.team-filter-grid label{display:grid;gap:.35rem;font-weight:700}.team-filter-panel input,.team-filter-panel select{width:100%}.filter-options{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-options label{align-items:center;display:flex;gap:.45rem}.filter-options input[type=checkbox]{width:auto}.form-errors{background:rgba(220,53,69,.1);border:1px solid var(--danger);border-radius:10px;color:var(--danger);padding:.5rem .75rem}.form-errors p{margin:.25rem 0}@media(max-width:800px){.team-filters{width:100%}.team-filters>summary{justify-content:center;width:100%}.team-filter-panel{position:static;width:100%}.date-filter-row,.team-filter-grid,.filter-options{grid-template-columns:1fr}}
.team-filter-status{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.team-date-range{white-space:nowrap}.roster-table-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.roster-table-scroll .team-participant-table{min-width:max-content}.roster-table-scroll .team-participant-table th,.roster-table-scroll .team-participant-table td{white-space:nowrap}.team-roster-remove{font-size:.82rem;min-height:0;padding:.42rem .68rem;white-space:nowrap}.team-participant-actions .team-roster-remove{justify-content:center;width:auto}@media(max-width:800px){.team-filter-status{justify-content:flex-start;width:100%}.team-filters{width:auto}.team-filters>summary{width:auto}}

/* UI.1 shared presentation conventions. Feature-specific layout stays below
   these semantic component classes and can migrate one bounded slice at a time. */
.page-header{align-items:flex-start;margin-bottom:36px}
.page-header-content{min-width:0}
.page-header-content>h1{overflow-wrap:anywhere}
.page-header-content>.lede{margin-bottom:0}
.page-actions,.form-actions,.card-action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.page-actions{justify-content:flex-end;margin:0}
.form-actions{margin-top:6px}
.card-action-row{margin-top:auto;padding-top:18px}

.button{gap:8px;max-width:100%;line-height:1.2;text-align:center;transition:background-color .18s,border-color .18s,color .18s,transform .18s}
.button:hover:not(:disabled){border-color:var(--accent)}
.button:active:not(:disabled){transform:translateY(1px)}
.button:disabled,.button[aria-disabled="true"]{cursor:not-allowed;opacity:.5}
.button.secondary{background:var(--panel);border-color:var(--border);color:var(--text)}
.button.subtle{min-height:38px;padding:6px 12px;background:transparent;color:var(--muted)}
.button.danger,.danger-button{background:var(--danger);border-color:transparent;color:#fff}
.button.recovery{background:#8f2539;border-color:#d86578;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}

.navigation-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.navigation-card::after{content:"Open →";margin-top:auto;padding-top:18px;color:var(--accent2);font-size:.85rem;font-weight:800}
.summary-card{min-width:0}
.card.summary-card:not(a){cursor:default}
.entity-card{display:flex;flex-direction:column;min-width:0}.entity-card>.pill{align-self:flex-start}
.task-card>h1,.task-card>h2{margin-top:0}
.task-card>.eyebrow+ h1,.task-card>.eyebrow+ h2{margin-top:0}

.status-badge{align-items:center;gap:6px;font-weight:750;line-height:1.2}
.status-neutral{background:color-mix(in srgb,var(--muted) 10%,transparent);border-color:color-mix(in srgb,var(--muted) 45%,var(--border));color:var(--muted)}
.status-info{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 52%,var(--border));color:color-mix(in srgb,var(--accent) 70%,var(--text))}
.status-success{background:color-mix(in srgb,var(--accent2) 12%,transparent);border-color:color-mix(in srgb,var(--accent2) 55%,var(--border));color:var(--accent2)}
.status-warning{background:rgba(208,151,35,.12);border-color:#9c762a;color:#e1b75b}
.status-attention{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 58%,var(--border));color:var(--danger)}
.status-inactive{background:color-mix(in srgb,var(--muted) 8%,transparent);border-color:var(--border);color:var(--muted)}
.status-destructive{background:color-mix(in srgb,var(--danger) 16%,transparent);border-color:var(--danger);color:var(--danger)}
.status-recovery-hold{background:#402538;border-color:#bf6f9d;color:#f1b5d8}

.standard-form{display:grid;gap:18px}
.standard-form>p{margin:0}
.stacked-form{min-width:0}
.stacked-form>p,.stacked-form>div,.stacked-form fieldset{min-width:0}
.stacked-form .helptext{display:block;margin-top:2px;line-height:1.45;overflow-wrap:anywhere}
.stacked-form .errorlist{background:color-mix(in srgb,var(--danger) 10%,transparent);border-left:3px solid var(--danger);border-radius:6px;color:var(--danger);list-style-position:inside;margin:4px 0 0;padding:7px 9px}
.stacked-form input,.stacked-form select,.stacked-form textarea{max-width:100%;min-width:0}
.stacked-form input[type="file"]{overflow:hidden}
.stacked-form input[type="checkbox"],.stacked-form input[type="radio"]{min-width:18px;min-height:18px}

.contextual-back{gap:7px}
.catalog-book-cover-link{display:block;border-radius:14px;color:inherit}
.catalog-book-cover-link:hover{transform:translateY(-1px)}
.catalog-book-cover-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.catalog-book-title-link{color:inherit;text-decoration-color:var(--accent2);text-underline-offset:3px}
.external-book-link{display:inline-flex;align-items:center;gap:5px;font-size:.9rem;font-weight:750}
.entity-card-stack{display:grid;gap:8px;align-content:start}.entity-card-stack>.card{height:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.status-cluster{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-cluster>h1{margin:0}
.group-navigation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.group-detail-card-grid .navigation-card{padding:20px}
.group-detail-card-grid .navigation-card::after{padding-top:12px}
.team-comparison-link{color:inherit;text-decoration:none;transition:border-color .18s,transform .18s}
.team-comparison-link:hover{border-color:var(--accent);transform:translateY(-2px)}
.team-comparison-action{color:var(--accent2);font-size:.85rem;font-weight:800;margin-top:2px}
.group-management-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin:0 0 36px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.group-management-actions h2{margin:0 0 4px;font-size:1.05rem}.group-management-actions p{margin:0}
.challenge-staff-summary{margin-top:36px}.challenge-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-navigation-card{padding:18px}.compact-navigation-card::after{padding-top:10px}
.disabled-feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.compact-feature-state{padding:18px}.compact-feature-state h3{margin-top:12px}
.page-section+.page-section{margin-top:54px}
.hc-oauth-page-header{margin-bottom:20px}
.hc-oauth-page-header+.hc-oauth-setup-card{margin-top:0}
.hc-oauth-setup-card>.section-heading{margin-top:0}
.recovery-unsupported-panel{margin-top:54px}
.submission-hardcover-disconnected+.submission-book-details{margin-top:12px}
.submission-book-details>.section-heading,.book-details-card>.section-heading{margin-top:0}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.button:focus-visible,.back-button:focus-visible{outline-offset:2px}
.navigation-card:focus-visible,.card.interactive:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

html[data-theme="light"] .status-warning{background:#fff6df;border-color:#9b6d12;color:#78510a}
html[data-theme="light"] .status-recovery-hold{background:#f9e8f2;border-color:#9f4d7e;color:#713458}
html[data-theme="light"] .button.recovery{background:#9d2940;border-color:#9d2940;color:#fff}

@media(max-width:760px){
  .page-header{display:grid;gap:18px}
  .page-actions{justify-content:flex-start;width:100%}
  .page-actions>.button,.form-actions>.button{flex:0 1 auto}
  .navigation-card::after{padding-top:14px}
  .group-navigation-grid,.challenge-staff-grid{grid-template-columns:1fr}
  .group-management-actions{align-items:flex-start;flex-direction:column}
}

/* UI.3 operational workflow polish. */
.operational-table-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.operational-table-region table{min-width:max-content}
.planning-actions{align-items:center;display:flex;flex-wrap:wrap;gap:4px}
.planning-actions .button{margin:0}
.operational-danger-link{color:var(--danger)!important}
.review-queue-grid{align-items:stretch}
.review-queue-card{height:100%}
.review-statuses{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.review-card-action{color:var(--accent2);font-size:.85rem;font-weight:800;margin-top:auto;padding-top:16px}
.submission-review{align-items:start}
.submission-review-summary,.submission-review-decision{min-width:0}
.submission-review-summary h2,.submission-review-decision h2{margin-top:0}
.review-claim-list{border-top:1px solid var(--border);display:grid;gap:12px;padding-top:18px}
.review-claim-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;padding:14px}
.review-claim-item p{margin:.5rem 0 0}
@media(max-width:760px){.review-queue-grid{grid-template-columns:1fr}}

/* UI.4 Phase 3 feature presentation. */
.feature-card-grid{align-items:stretch}
.feature-card{gap:10px;height:100%}
.feature-card>.status-badge{align-self:flex-start;max-width:100%}
.feature-card>h2,.feature-card>h3{margin-bottom:0}
.feature-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:7px}
.feature-facts{display:grid;gap:10px;margin:4px 0 0}
.feature-facts>div{display:grid;gap:2px}
.feature-facts dt{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.feature-facts dd{margin:0}
.feature-page-header .book-progress-summary{margin-top:14px}
.feature-lock-notice>.status-badge{margin-bottom:10px}
.game-history-card.is-voided{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));opacity:.88}
.destructive-action-row{border-top:1px solid var(--border);justify-content:flex-end;padding-top:16px}
.botm-management-card{gap:14px}.botm-management-card>div:last-child{display:flex;flex-direction:column;min-width:0}
.botm-management-card .action-row{margin-top:auto;padding-top:14px}
@media(max-width:560px){.feature-facts>div{min-width:0}.destructive-action-row{justify-content:flex-start}.game-history-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:420px){
  .page-actions,.form-actions,.card-action-row{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .page-actions>.button,.form-actions>.button,.card-action-row>.button{width:100%}
}

/* UI.5 Platform Administration and recovery presentation. */
.admin-hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}
.admin-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-status-grid .details{grid-template-columns:minmax(110px,145px) minmax(0,1fr)}
.admin-history-table{min-width:880px}
.stored-backup-table{min-width:760px}
.admin-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}
.admin-row-actions .button{margin:0;min-height:36px}
.restore-action-card{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}
.recovery-confirmation{max-width:760px}
.recovery-confirmation>h1{margin-top:18px}
.recovery-confirmation .notice.error{border-color:var(--danger)}
@media(max-width:760px){
  .admin-status-grid{grid-template-columns:1fr}
  .admin-status-grid .details{grid-template-columns:1fr}
  .admin-status-grid .details dd{margin-bottom:8px}
  .admin-row-actions{align-items:stretch;display:grid;grid-template-columns:1fr}
  .admin-row-actions .button{width:100%}
}

/* UI.6 shared forms, filters, empty states, and narrow-width safety. */
.filter-panel{min-width:0}
.filter-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}
.empty-state{max-width:100%;overflow-wrap:anywhere}
.table-wrap,.operational-table-region{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.form-card,.auth-card{min-width:0}
@media(max-width:560px){
  .filter-actions{align-items:stretch;display:grid;grid-template-columns:1fr}
  .filter-actions>.button{width:100%}
  .form-card,.auth-card{padding:20px}
  .stacked-form .errorlist{font-size:.9rem}
}

.stacked-form p[hidden]{display:none}
