/* Portal-only presentation. Shared public website styles remain unchanged. */
body.portal-ui { --draft-sidebar:244px; --draft-bar:0px; background:#101113; color:#f0ede7; }
.portal-ui button, .portal-ui select { font:inherit; }
.portal-ui button:focus-visible,.portal-ui a:focus-visible,.portal-ui summary:focus-visible,.portal-ui select:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.draft-shell { display:grid; grid-template-columns:var(--draft-sidebar) minmax(0,1fr); align-items:start; min-height:calc(100vh - var(--draft-bar)); }
.draft-sidebar { position:sticky; top:0; height:calc(100dvh - var(--draft-bar)); margin-top:0; display:flex; flex-direction:column; overflow-y:auto; gap:28px; padding:26px 18px 18px; background:#121316; border-right:1px solid var(--line); scrollbar-width:thin; }
.draft-brand { display:grid; justify-items:center; gap:8px; padding:0 12px; }
.draft-brand img { width:173px; height:59px; object-fit:contain; }
.draft-brand > span { display:none; color:var(--gold); font-size:19px; font-weight:850; }
.draft-brand small { color:#aaa69d; font-size:10px; letter-spacing:2.1px; font-weight:650; }
.draft-nav,.draft-admin-nav { display:grid; gap:5px; }
.draft-nav-caption { display:block; margin:0 12px 10px; font-size:10px; letter-spacing:1.7px; color:#99968f; }
.draft-link { display:flex; gap:12px; align-items:center; width:100%; min-height:44px; padding:11px 12px; color:#bcbab4; background:transparent; border:1px solid transparent; border-radius:6px; font-size:13px; text-align:left; cursor:pointer; font-weight:550; }
.draft-link.is-active { background:#302a18; border-color:#4b4024; color:#e5c55b; }
.draft-link svg,.draft-toggle svg,.draft-website summary svg,.draft-icon-button svg,.draft-join-button svg { width:18px; height:18px; flex-shrink:0; }
.draft-admin-nav { margin-left:17px; padding-left:11px; border-left:1px solid #37352d; }
.portal-ui:not(.is-signed-in) .draft-nav,.portal-ui:not(.is-signed-in) .draft-admin { display:none; }
.draft-admin-nav button { padding:9px 12px; background:transparent; border:0; border-radius:5px; color:#bcbab4; font-size:12px; text-align:left; cursor:pointer; min-height:38px; }
.draft-admin-nav button.is-active { color:#e5c55b; background:#242218; }
.draft-sidebar-bottom { margin-top:auto; display:grid; gap:6px; padding-top:28px; }
.draft-website { position:relative; }
.draft-website summary { display:flex; gap:12px; align-items:center; padding:11px 12px; color:#bcbab4; font-size:13px; cursor:pointer; list-style:none; }
.draft-website summary::-webkit-details-marker { display:none; }
.draft-website .desktop-nav { display:grid; justify-content:stretch; gap:2px; padding:8px 7px; margin:0 0 10px; background:#1b1c20; border:1px solid var(--line); border-radius:6px; }
.draft-website .desktop-nav a { padding:8px; font-size:11px; font-weight:550; border-radius:4px; }
.draft-website .desktop-nav a:hover { color:var(--gold); background:#28292d; }
.draft-website .desktop-nav .social-action { width:auto; height:auto; min-width:0; justify-content:flex-start; }
.draft-website .desktop-nav .social-action svg { width:16px; height:16px; }
.draft-website .desktop-nav .social-action span { display:inline; }
.draft-account { border-top:1px solid var(--line); padding-top:17px; margin-top:8px; }
.draft-account .header-tools { justify-self:stretch; }
.draft-account .header-session { display:grid; grid-template-columns:minmax(0,1fr) 30px; gap:4px; }
.draft-account .header-user { min-width:0; min-height:42px; padding:0; background:transparent; border:0; gap:10px; }
.draft-account .header-user img { width:35px; height:35px; object-fit:contain; border-radius:9px; background:#24252a; }
.draft-account .header-user strong { font-size:12px; white-space:normal; }
.draft-account .header-user small { font-size:10px; color:#bcbab4; margin-top:3px; }
.draft-account .header-logout { width:30px; min-height:34px; padding:6px; border:0; background:transparent; color:#bcbab4; }
.draft-account .header-logout svg { width:16px; }
.draft-workspace { min-width:0; }
.draft-topbar { position:sticky; top:0; z-index:30; min-height:69px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 35px; border-bottom:1px solid #292a2e; background:#141518; }
.draft-topbar > div { display:flex; align-items:center; gap:16px; min-width:0; }
.draft-toggle,.draft-icon-button { width:34px; min-height:34px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; padding:7px; color:#c0beb8; background:transparent; border:1px solid var(--line); border-radius:5px; cursor:pointer; }
.draft-breadcrumb { font-size:12px; color:#b0ada5; overflow-wrap:anywhere; }
.draft-breadcrumb span { margin:0 7px; color:#6f6c65; }
.draft-top-note { font-size:11px; color:#8d8b84; white-space:nowrap; }
.portal-ui .draft-workspace > main { min-height:calc(100vh - 216px); }
.portal-ui .portal-dashboard { padding:30px 35px 45px; max-width:1600px; margin:auto; }
.draft-page-heading { margin-bottom:25px; }
.draft-page-heading .eyebrow { font-size:10px; letter-spacing:1.7px; margin:0 0 8px; }
.draft-page-heading h1 { font-size:30px; font-weight:750; letter-spacing:-.8px; line-height:1.15; margin:0 0 10px; text-transform:none; }
.draft-page-heading > p:last-child { font-size:13px; color:#aaa69d; margin:0; }
.portal-ui #managerDashboard { grid-template-columns:minmax(0,1.3fr) minmax(270px,.9fr); gap:18px; }
.portal-ui .manager-required-actions-card { grid-column:1 / -1; }
.portal-ui .manager-overview-card { min-height:0; }
.portal-ui .dashboard-card { padding:21px; gap:17px; box-shadow:none; background:#18191d; }
.portal-ui .dashboard-card h3 { font-size:18px; }
.portal-ui .manager-required-actions-head h3 { font-size:19px; }
.portal-ui .eyebrow { font-size:10px; letter-spacing:1.2px; }
.portal-ui .manager-required-action { padding:13px 15px; }
.portal-ui .manager-required-action strong { font-size:13px; }
.portal-ui .manager-required-action span { font-size:12px; }
.portal-ui .primary-button,.portal-ui .ghost-button { font-size:12px; min-height:36px; padding:8px 13px; font-weight:700; }
.draft-consent-details { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:13px; margin-top:3px; font-size:12px; color:#b4afa3; }
.draft-consent-details > summary { cursor:pointer; padding:7px 0; }
.draft-consent-details > summary span { color:#99948a; margin-left:8px; }
.portal-ui .manager-consent-banner { margin-top:12px; }
.portal-ui .backend-entry-toolbar { grid-template-columns:minmax(140px,.4fr) minmax(0,1fr); padding:17px 20px; align-items:end; }
.portal-ui .backend-entry-toolbar h3 { font-size:16px; margin:4px 0; }
.portal-ui .backend-entry-toolbar p { font-size:11px; }
.portal-ui .backend-entry-filters { grid-template-columns:minmax(140px,1.4fr) minmax(95px,.7fr) minmax(95px,.7fr) auto; gap:10px; align-items:end; }
.portal-ui .backend-entry-filters input,.portal-ui .backend-entry-filters select { min-height:36px; font-size:12px; padding:0 10px; font-weight:450; }
.portal-ui .backend-entry-filters label > span { font-size:10px; }
.portal-ui .draft-join-button { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.portal-ui .draft-join-button svg { width:14px; height:14px; }
.portal-ui #backendEntryList .backend-entry-browser { grid-template-columns:minmax(0,1fr); gap:16px; }
.draft-entry-switcher { display:grid; gap:6px; max-width:550px; }
.draft-entry-switcher > span { font-size:10px; text-transform:uppercase; color:#aaa69d; font-weight:700; letter-spacing:.8px; }
.draft-entry-switcher select { width:100%; min-width:0; padding:10px 12px; color:#eeece5; background:#1e2024; border:1px solid var(--line); border-radius:5px; font-size:13px; color-scheme:dark; }
.portal-ui .backend-entry-action-tabs { gap:4px 18px; padding-bottom:10px; }
.portal-ui .backend-entry-action-tabs button { border-radius:0; border:0; background:transparent; padding:7px 0; font-size:12px; color:#b7b2a7; }
.portal-ui .backend-entry-action-tabs button.is-active { color:#e1c459; background:transparent; box-shadow:0 2px #d7b23e; }
.portal-ui .backend-entry-title h3 { font-size:21px; }
.portal-ui .admin-master-head { padding:17px 20px; }
.portal-ui #adminDashboard { grid-template-columns:minmax(0,1fr); gap:19px; }
.portal-ui .admin-task-list { margin-top:0; }
.portal-ui .admin-work-card { padding:22px; }
.portal-ui .admin-metric-grid { grid-template-columns:repeat(5,minmax(0,1fr)); order:-1; gap:10px; }
.portal-ui .admin-metric { padding:13px 15px; min-height:0; gap:4px; }
.portal-ui .admin-metric strong { font-size:25px; }
.portal-ui .admin-metric span { font-size:10px; }
.portal-ui .admin-metric p { font-size:10px; }
.portal-ui .site-footer { padding:20px 35px; margin:0; min-height:0; background:transparent; border-top:1px solid #292a2e; font-size:10px; display:flex; gap:15px; align-items:center; justify-content:space-between; }
.portal-ui .site-footer .footer-brand { display:none; }
.portal-ui .portal-hero { min-height:calc(100vh - 110px); padding:70px 35px; }
.portal-ui .portal-shell { grid-template-columns:1fr; max-width:650px; }
.portal-ui .portal-copy h1 { font-size:38px; }
.draft-dialog { width:min(760px,calc(100vw - 35px)); max-height:calc(100vh - 60px); border:1px solid #444038; border-radius:10px; padding:24px; background:#18191d; color:#f0ede7; box-shadow:0 30px 110px #0008; }
.draft-dialog::backdrop { background:#000b; backdrop-filter:blur(3px); }
.draft-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.draft-dialog-head h2 { margin:0; font-size:22px; text-transform:none; }
.portal-ui .draft-dialog .dashboard-card { padding:0; border:0; margin:0; }
.portal-ui .draft-dialog .profile-edit-card { grid-template-columns:1fr; align-items:start; }
.portal-ui .draft-dialog .profile-edit-heading { display:none; }
.portal-ui .draft-dialog .profile-edit-form { display:grid; grid-template-columns:1fr; }
.draft-guide-list { display:grid; gap:10px; }
.draft-guide-list a { padding:14px; border:1px solid var(--line); border-radius:6px; font-size:14px; }
.draft-guide-list span { display:block; font-size:12px; color:#aaa69d; margin-top:4px; }
.draft-collapsed { --draft-sidebar:76px; }
.draft-collapsed .draft-sidebar { padding:29px 12px 18px; }
.draft-collapsed .draft-nav-caption,.draft-collapsed .draft-nav-text,.draft-collapsed .draft-brand img,.draft-collapsed .draft-brand small,.draft-collapsed .draft-account .header-user > span,.draft-collapsed .draft-account .header-logout,.draft-collapsed .draft-admin { display:none!important; }
.draft-collapsed .draft-brand { padding:0; min-height:72px; justify-content:center; }
.draft-collapsed .draft-brand > span { display:block; }
.draft-collapsed .draft-link,.draft-collapsed .draft-website summary { justify-content:center; padding:12px; }
.draft-collapsed .draft-account .header-session { display:flex; justify-content:center; }
.draft-collapsed .draft-website .desktop-nav { position:absolute; bottom:0; left:52px; width:220px; z-index:100; }
.draft-backdrop { display:none; }
@media(min-width:1500px) { .portal-ui .portal-dashboard { padding-top:38px; } }
@media(max-width:1150px) { .portal-ui { --draft-sidebar:220px; } .draft-collapsed { --draft-sidebar:76px; } .draft-topbar { padding:0 24px; } .portal-ui .portal-dashboard { padding:28px 24px 40px; } .portal-ui .backend-entry-toolbar { grid-template-columns:1fr; gap:13px; } .portal-ui #managerDashboard { grid-template-columns:1fr; } .portal-ui .admin-metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:800px) {
 .portal-ui { --draft-bar:0px; }
 .draft-shell { display:block; }
 .draft-sidebar { position:fixed; inset:0 auto 0 0; z-index:120; width:260px; height:100dvh; transform:translateX(-100%); visibility:hidden; }
 .draft-mobile-open .draft-sidebar { transform:translateX(0); visibility:visible; }
 .draft-mobile-open .draft-backdrop { display:block; position:fixed; inset:0; z-index:110; background:#0009; border:0; }
 .draft-topbar { min-height:60px; padding:0 17px; }
 .draft-top-note { display:none; }
 .portal-ui .portal-dashboard { padding:24px 17px 32px; }
 .draft-page-heading h1 { font-size:27px; }
 .portal-ui .backend-entry-filters { grid-template-columns:1fr 1fr; }
 .portal-ui .backend-entry-search { grid-column:1 / -1; }
 .portal-ui .draft-join-button { justify-content:center; grid-column:1 / -1; }
 .portal-ui .dashboard-card { padding:17px; }
 .portal-ui .manager-required-action { flex-wrap:wrap; align-items:flex-start; }
 .portal-ui .manager-required-action > div { width:100%; }
 .portal-ui .backend-entry-title { align-items:flex-start; flex-wrap:wrap; }
 .portal-ui .backend-entry-title h3 { font-size:20px; }
 .portal-ui .admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .portal-ui .site-footer { padding:18px; flex-wrap:wrap; }
 .portal-ui .backend-entry-action-tabs { gap:4px 16px; }
 .portal-ui .primary-button,.portal-ui .ghost-button,.draft-icon-button,.draft-toggle { min-height:42px; }
 .draft-toggle { min-width:42px; }
 .portal-ui input,.portal-ui select { max-width:100%; }
}
@media(prefers-reduced-motion:no-preference) { .draft-shell { transition:grid-template-columns .18s ease; } .draft-sidebar { transition:transform .18s ease; } }

/* Focused administration: filters, selection, then the selected record. */
.portal-ui .portal-dashboard { container-type:inline-size; }
.portal-ui .draft-admin-toolbar { display:flex; flex-direction:row; align-items:end; justify-content:flex-start; flex-wrap:wrap; gap:16px; padding:16px 18px; background:#151619; }
.portal-ui .draft-admin-toolbar > label { flex:0 1 260px; min-width:160px; }
.portal-ui .draft-admin-toolbar label:has(#adminTeamSearch) { flex:1 1 240px; }
.portal-ui .draft-admin-toolbar label > span,.portal-ui .draft-admin-toolbar .admin-bop-lock > span { font-size:10px; letter-spacing:.8px; }
.portal-ui .draft-admin-toolbar input,.portal-ui .draft-admin-toolbar select { min-height:38px; font-size:13px; font-weight:450; }
.portal-ui .draft-admin-toolbar .admin-bop-lock { flex:0 0 auto; min-width:0; }
.portal-ui .draft-admin-toolbar .bop-segment button { min-height:35px; font-size:11px; }
.portal-ui .draft-new-event { margin-left:auto; }
.portal-ui .admin-team-browser,.portal-ui .admin-event-browser { display:grid; grid-template-columns:minmax(210px,245px) minmax(0,1fr); gap:20px; align-items:start; }
.portal-ui .admin-team-browser > .backend-entry-picker,.portal-ui .admin-event-browser > .backend-entry-picker { position:sticky; top:18px; max-height:calc(100dvh - 36px); }
.portal-ui .admin-team-browser .backend-entry-picker-head,.portal-ui .admin-event-browser .backend-entry-picker-head { min-height:46px; font-size:10px; }
.portal-ui .admin-team-browser .backend-entry-picker-head strong,.portal-ui .admin-event-browser .backend-entry-picker-head strong { min-width:24px; min-height:24px; font-size:11px; background:#2d291c; color:#e0c365; }
.portal-ui .admin-team-browser .backend-entry-picker-list,.portal-ui .admin-event-browser .backend-entry-picker-list { padding:8px; gap:6px; }
.portal-ui .admin-team-browser .backend-entry-picker-item,.portal-ui .admin-event-browser .backend-entry-picker-item { gap:5px; padding:12px 10px; }
.portal-ui .admin-team-browser .backend-entry-picker-item > strong,.portal-ui .admin-event-browser .backend-entry-picker-item > strong { font-size:13px; white-space:normal; overflow-wrap:anywhere; }
.portal-ui .admin-team-browser .backend-entry-picker-item > span,.portal-ui .admin-event-browser .backend-entry-picker-item > span { font-size:11px; }
.portal-ui .admin-team-browser .backend-entry-picker-meta,.portal-ui .admin-event-browser .backend-entry-picker-meta { flex-wrap:wrap; gap:5px; font-size:9px; }
.portal-ui .admin-team-browser .backend-entry-picker-item small,.portal-ui .admin-event-browser .backend-entry-picker-item small { font-size:10px; white-space:normal; }
.portal-ui .admin-team-browser .backend-entry-picker-meta .ready,.portal-ui .admin-event-browser .backend-entry-picker-meta .ready { min-height:20px; font-size:9px; padding:2px 6px; }
.portal-ui .admin-team-browser .backend-entry-detail > .dashboard-card,.portal-ui .admin-event-browser .backend-entry-detail > .dashboard-card { padding:22px; gap:17px; }
.portal-ui .admin-team-browser .backend-entry-title h3,.portal-ui .admin-event-browser .backend-entry-title h3 { font-size:23px; }
.portal-ui .admin-team-browser .backend-entry-title p,.portal-ui .admin-event-browser .backend-entry-title p { font-size:12px; }
.portal-ui .admin-team-browser .backend-entry-summary-grid,.portal-ui .admin-event-browser .backend-entry-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.portal-ui .admin-team-browser .backend-entry-summary-grid > div,.portal-ui .admin-event-browser .backend-entry-summary-grid > div { min-height:0; padding:12px 14px; background:#1d1e22; }
.portal-ui .admin-team-browser .backend-entry-summary-grid dd,.portal-ui .admin-event-browser .backend-entry-summary-grid dd { font-size:14px; font-weight:650; }
.portal-ui .admin-team-browser .admin-master-grid,.portal-ui .admin-event-browser .admin-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.portal-ui .admin-team-danger-actions { border-top:1px solid var(--line); padding-top:16px; margin-top:16px; }
.portal-ui .admin-team-danger-actions button { background:transparent; border:1px solid #663835; color:#e9a49b; padding:7px 12px; font-size:11px; }
.draft-admin-mobile-select { display:none; min-width:0; gap:6px; color:#aaa69d; font-size:11px; }
.draft-admin-mobile-select select { width:100%; min-width:0; padding:11px; color:#eeece5; background:#1e2024; border:1px solid var(--line); border-radius:5px; color-scheme:dark; }
.draft-dialog-context { color:#c8b66d; font-size:13px; margin:0 0 20px; }
.portal-ui #draft-new-event .admin-event-create { display:grid; gap:18px; padding:0; background:transparent; }
.portal-ui #draft-new-event .admin-event-create > .eyebrow { display:none; }
.portal-ui #draft-new-event .admin-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Portal dashboard: race readiness first, team setup and shortcuts alongside. */
.portal-ui #managerDashboard { grid-template-columns:minmax(0,1.4fr) minmax(270px,.85fr); gap:18px; }
.draft-dashboard-summary { grid-column:1 / -1; color:#b4afa3; font-size:13px; padding:0 0 3px; }
.portal-ui .draft-dashboard-races { grid-column:1; grid-row:2 / span 2; min-width:0; }
.portal-ui .draft-dashboard-setup { grid-column:2; grid-row:2; min-width:0; }
.portal-ui .draft-dashboard-setup { border:1px solid #ad8941; border-top:4px solid #e0bc52; background:linear-gradient(155deg,#2c2517,#1c1b1a 60%); box-shadow:0 0 0 1px #d7b23e1c; }
.portal-ui .draft-dashboard-setup .manager-required-actions-head { padding-bottom:16px; border-bottom:1px solid #705b31; align-items:flex-start; }
.portal-ui .draft-dashboard-setup .manager-required-actions-head .eyebrow { color:#e9cb76; font-size:11px; }
.portal-ui .draft-dashboard-entries { grid-column:2; grid-row:3; min-width:0; }
.portal-ui .draft-dashboard-races .manager-overview-list { gap:14px; }
.portal-ui .draft-dashboard-races .manager-race-summary { padding:18px; background:#1d1e22; border:1px solid #343439; gap:15px; }
.portal-ui .draft-dashboard-races .manager-event-head { align-items:flex-start; }
.portal-ui .draft-dashboard-races .manager-event-head h4 { font-size:20px; margin:4px 0 7px; }
.portal-ui .draft-dashboard-races .manager-event-head p:not(.eyebrow) { font-size:12px; }
.portal-ui .draft-dashboard-races .manager-race-tools { border-top:1px solid #39383a; padding-top:18px; }
.draft-race-readiness { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.draft-race-readiness > div,.draft-briefing-tile { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:10px; min-height:94px; padding:14px; background:#26272b; border:1px solid #55565c; border-left-width:4px; border-radius:6px; color:#eeece6; }
:is(.draft-race-readiness,.draft-briefing-tile) .draft-status-copy { display:grid; align-content:start; gap:7px; }
:is(.draft-race-readiness,.draft-briefing-tile) .draft-status-caption { color:#d2cec4; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.7px; }
:is(.draft-race-readiness,.draft-briefing-tile) .draft-status-symbol { display:flex; color:inherit; padding-top:2px; }
:is(.draft-race-readiness,.draft-briefing-tile) .draft-status-symbol svg { width:22px; height:22px; }
:is(.draft-race-readiness,.draft-briefing-tile) strong { color:inherit; font-size:15px; font-weight:750; line-height:1.4; }
.draft-briefing-tile { grid-column:1 / -1; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; background:#203649; border-color:#5b98c3; color:#e5f3ff; }
.draft-briefing-tile .draft-status-caption { color:#bfdaf0; }
.draft-briefing-tile:is(:hover,:focus-visible) { background:#29485e; border-color:#88c3ee; color:#fff; }
.draft-briefing-arrow { font-size:20px; line-height:1; }
.draft-race-readiness > .is-missing { background:#453317; border-color:#bb8c35; color:#ffe2a0; }
.draft-race-readiness .is-missing .draft-status-caption { color:#ead0a2; }
.draft-race-readiness > .is-submitted,.draft-race-readiness > .is-saved { background:#193d2a; border-color:#43895e; color:#dcf7e4; }
.draft-race-readiness .is-submitted .draft-status-caption,.draft-race-readiness .is-saved .draft-status-caption { color:#bedac8; }
.portal-ui .draft-dashboard-setup .manager-required-actions-head h3 { font-size:20px; color:#ffe6a7; }
.portal-ui .draft-dashboard-setup .manager-required-action { display:grid; padding:12px 0; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; gap:10px; }
.portal-ui .draft-dashboard-setup .manager-required-action .ghost-button { justify-self:start; }
.portal-ui .draft-dashboard-setup .manager-action-count { min-width:34px; min-height:34px; font-size:15px; color:#211b0e; background:#e7c45c; }
.portal-ui .draft-dashboard-entries .manager-overview-list { gap:0; }
.portal-ui .draft-dashboard-entries .manager-overview-entry { padding:13px 0; background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; gap:10px; }
.portal-ui .draft-dashboard-entries .manager-overview-entry-head h4 { font-size:14px; }
.portal-ui .draft-dashboard-entries .manager-entry-badges { display:none; }
.portal-ui .draft-dashboard-entries .manager-overview-entry > p,.portal-ui .draft-dashboard-entries .manager-overview-facts { display:none; }
.portal-ui .draft-dashboard-entries .manager-overview-actions button { padding:5px 10px; min-height:29px; border:0; background:transparent; color:#dfc05a; }

/* A confirmed registration and a submitted declaration are separate statuses. */
.draft-declaration-status { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 16px; border:1px solid #64532c; border-radius:6px; background:#302918; }
.draft-declaration-status > div { display:grid; gap:4px; }
.draft-declaration-status strong { font-size:14px; color:#f1d477; }
.draft-declaration-status span,.draft-declaration-status small { font-size:11px; color:#d1c6a7; }
.draft-declaration-status small { display:block; margin-top:3px; }
.draft-declaration-status button { flex-shrink:0; }
.draft-declaration-status.is-submitted { background:#1b2820; border-color:#36513e; }
.draft-declaration-status.is-submitted strong { color:#acd6b5; }
.draft-declaration-status.is-submitted span { color:#afc0b1; }
.draft-declaration-status.is-withdrawn { background:#222326; border-color:#46464a; }
.draft-declaration-status.is-withdrawn strong,.draft-declaration-status.is-withdrawn span { color:#bdbab4; }
@container (max-width:800px) {
 .portal-ui .admin-team-browser,.portal-ui .admin-event-browser { grid-template-columns:minmax(0,1fr); }
 .portal-ui .admin-team-browser > .backend-entry-picker,.portal-ui .admin-event-browser > .backend-entry-picker { display:none; }
 .draft-admin-mobile-select { display:grid; }
 .portal-ui #managerDashboard { grid-template-columns:minmax(0,1fr); }
 .portal-ui .draft-dashboard-races,.portal-ui .draft-dashboard-setup,.portal-ui .draft-dashboard-entries { grid-column:1; grid-row:auto; }
 .portal-ui .draft-dashboard-setup { grid-row:2; }
 .portal-ui .draft-dashboard-races { grid-row:3; }
 .portal-ui .draft-dashboard-entries { grid-row:4; }
}
@media(max-width:800px) {
 .portal-ui .draft-admin-toolbar { padding:14px; gap:13px; }
 .portal-ui .draft-admin-toolbar > label,.portal-ui .draft-admin-toolbar .admin-bop-lock { flex:1 1 100%; }
 .portal-ui .draft-new-event { width:100%; flex:1 1 100%; margin:0; }
 .portal-ui .admin-team-browser .backend-entry-detail > .dashboard-card,.portal-ui .admin-event-browser .backend-entry-detail > .dashboard-card { padding:17px; }
 .portal-ui .admin-team-browser .backend-entry-title h3,.portal-ui .admin-event-browser .backend-entry-title h3 { font-size:20px; }
 .draft-declaration-status { align-items:flex-start; flex-direction:column; gap:12px; }
 .portal-ui #draft-new-event .admin-event-grid { grid-template-columns:1fr; }
 .draft-race-readiness { grid-template-columns:1fr; }
}

/* One interaction palette, scoped to the independent local portal.
   Keep this after layout rules so compact buttons cannot mask their feedback. */
body.portal-ui {
 --portal-hover-bg:#e7c45c;
 --portal-hover-text:#211b0e;
 --portal-hover-border:#e7c45c;
 --portal-hover-shadow:none;
}
body.portal-ui :is(button,a.primary-button,a.ghost-button,a.header-action,a.header-user,.draft-guide-list a,.draft-website a,summary):not(.draft-backdrop) {
 transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,box-shadow 140ms ease;
}
body.portal-ui :is(.primary-button,.header-action,.declared-toggle.is-active,.bop-segment button.is-active) {
 --portal-hover-bg:#f4d570;
 --portal-hover-text:#211b0e;
 --portal-hover-border:#f4d570;
}
body.portal-ui :is(.draft-link,.draft-admin-nav button,.backend-entry-action-tabs button,.backend-entry-picker-item,.bop-segment button:not(.is-active),.header-user,.draft-guide-list a,.draft-website a,summary) {
 --portal-hover-bg:#49391b;
 --portal-hover-text:#ffe6a7;
 --portal-hover-border:#ba973c;
}
body.portal-ui .backend-entry-action-tabs button {
 --portal-hover-shadow:0 2px #d7b23e;
}
body.portal-ui :is(.admin-action-button,.reviewed-button) {
 --portal-hover-bg:#285c3a;
 --portal-hover-text:#e4ffea;
 --portal-hover-border:#76c58c;
}
body.portal-ui .warning-button {
 --portal-hover-bg:#5b451a;
 --portal-hover-text:#ffecb1;
 --portal-hover-border:#d4a94b;
}
body.portal-ui :is(.danger-button,.remove-driver-button) {
 --portal-hover-bg:#692c32;
 --portal-hover-text:#ffe4e4;
 --portal-hover-border:#e38b8b;
}
body.portal-ui :is(button,a.primary-button,a.ghost-button,a.header-action,a.header-user,.draft-guide-list a,.draft-website a,summary):not(.draft-backdrop):not(:disabled):not(.is-disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) {
 background:var(--portal-hover-bg);
 color:var(--portal-hover-text);
 border-color:var(--portal-hover-border);
 box-shadow:var(--portal-hover-shadow);
 transform:none;
 filter:none;
}
body.portal-ui :is(button,a.primary-button,a.ghost-button):not(.draft-backdrop):is(:disabled,.is-disabled,[aria-disabled="true"]) {
 background:#27282c;
 color:#96958e;
 border-color:#414147;
 box-shadow:none;
 transform:none;
 filter:none;
 cursor:not-allowed;
 opacity:.7;
}
body.portal-ui :is(button,a.primary-button,a.ghost-button).is-active:is(:disabled,.is-disabled,[aria-disabled="true"]) {
 background:#40361e;
 color:#c4ad70;
 border-color:#6d5c33;
}
body.portal-ui input[type="file"]::file-selector-button {
 padding:6px 10px;
 margin-right:10px;
 border:1px solid #55565c;
 border-radius:5px;
 background:#26272b;
 color:#eeece6;
 cursor:pointer;
 font:inherit;
 transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease;
}
body.portal-ui input[type="file"]:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible)::file-selector-button {
 background:var(--portal-hover-bg);
 color:var(--portal-hover-text);
 border-color:var(--portal-hover-border);
}
body.portal-ui input[type="file"]:focus-visible {
 outline:2px solid var(--gold);
 outline-offset:3px;
}
body.portal-ui input[type="file"]:disabled::file-selector-button {
 background:#27282c;
 color:#96958e;
 border-color:#414147;
 cursor:not-allowed;
 opacity:.7;
}
@media(prefers-reduced-motion:reduce) {
 body.portal-ui :is(button,a.primary-button,a.ghost-button,a.header-action,a.header-user,.draft-guide-list a,.draft-website a,summary):not(.draft-backdrop),
 body.portal-ui input[type="file"]::file-selector-button { transition:none; }
}

.portal-ui .admin-master-head { flex-wrap:wrap; gap:16px; }
.portal-ui .admin-master-head > div:first-child { flex:1 1 240px; min-width:0; }
.portal-ui .admin-master-head > label { flex:1 1 240px; min-width:0; }

/* Keep long admin lists inside their borders and below the sticky header. */
.portal-ui :is(.admin-team-browser,.admin-event-browser,.admin-driver-browser) > .backend-entry-picker {
 position:sticky; top:86px; max-height:calc(100dvh - 104px);
 min-height:0; min-width:0;
 grid-template-rows:auto minmax(0,1fr); overflow:hidden;
}
.portal-ui :is(.admin-team-browser,.admin-event-browser,.admin-driver-browser) > .backend-entry-picker > .backend-entry-picker-list {
 min-height:0; min-width:0; overflow-y:auto; overflow-x:hidden;
 overscroll-behavior-y:contain; scrollbar-width:thin;
}
.portal-ui:not(.is-admin-user) .draft-guide-staff { display:none; }
.portal-ui .draft-help-intro { margin:0 0 18px; color:#bcbab4; font-size:13px; line-height:1.6; }

/* Admin event status rows only; public pages and manager views are unaffected. */
.portal-ui .admin-event-declaration-row { flex-wrap:wrap; }
.portal-ui .admin-event-declaration-row > span:first-child { flex:1 1 230px; }
.portal-ui .admin-event-statuses { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:7px; max-width:100%; }
.portal-ui .admin-event-attendance-chip { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border:1px solid #bb8c35; border-radius:999px; background:#453317; color:#ffe2a0; font-size:10px; font-weight:750; line-height:1.4; white-space:nowrap; }
.portal-ui .admin-event-attendance-chip[data-attendance="confirmed"] { background:#193d2a; border-color:#43895e; color:#dcf7e4; }
.portal-ui .admin-event-attendance-chip[data-attendance="withdrawn"] { background:#292a2e; border-color:#62636b; color:#e1dfe1; }
@media(max-width:640px) {
 .portal-ui .admin-event-declaration-row > span:first-child { flex-basis:100%; }
 .portal-ui .admin-event-statuses { justify-content:flex-start; }
}

/* Driver declaration states, scoped to the portal. Keep hover in the same state colour. */
body.portal-ui :is(.declared-toggle,.manager-lineup-status-row > strong) {
 background:#713139;
 color:#fff1f1;
 border-color:#c96565;
 --portal-hover-bg:#883b45;
 --portal-hover-text:#fff1f1;
 --portal-hover-border:#ee9090;
}
body.portal-ui :is(.declared-toggle.is-active,.manager-lineup-status-row > strong.is-declared) {
 background:#1f653f;
 color:#edfff1;
 border-color:#57b77b;
 --portal-hover-bg:#287a4e;
 --portal-hover-text:#edfff1;
 --portal-hover-border:#91dbaa;
}
body.portal-ui span.declared-toggle { cursor:default; }

.portal-ui .draft-race-readiness > .is-incomplete { background:#453317; border-color:#bb8c35; color:#ffe2a0; }
