:root {
  color-scheme: light;
  --bg:#0c1014; --surface:#171d24; --surface2:#202832; --line:#303945;
  --muted:#9ba8b4; --text:#edf2f6; --accent:#d2f26b; --danger:#ff9c8b;
  --radius:0; --blue:#11181f; --blue-light:#18222d;
  font-family:"Lucida Console","Courier New",monospace; font-size:13px; font-synthesis:none;
}
* { box-sizing:border-box }
body { margin:0; color:var(--text); line-height:1.35; background-color:var(--bg); background-image:repeating-linear-gradient(45deg,#0c1014 0 2px,#0c1014 2px 4px) }
button,input,select { font:inherit }
button,a { touch-action:manipulation }
button { cursor:pointer }
a { color:inherit; text-decoration:none }
svg { width:16px; height:16px; vertical-align:middle; flex-shrink:0 }
h1,h2,h3,h4,p { margin:0 }
h1 { font-size:15px }
h2 { font-size:18px }
h3 { font-size:14px }
h4 { font-size:13px }
small,.small { font-size:11px }
button:disabled,input:disabled,select:disabled { cursor:not-allowed; opacity:.55 }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid #d2f26b; outline-offset:3px }
[hidden] { display:none!important }
.muted { color:var(--muted) }
.accent { color:#d2f26b }
.danger { color:var(--danger) }
.uppercase,.eyebrow { font-size:11px; font-weight:bold; text-transform:uppercase; letter-spacing:0 }
.mono { font-variant-numeric:tabular-nums }
.no-margin { margin:0!important }
.mt20 { margin-top:12px }
.mb20 { margin-bottom:12px }
.stack { display:grid; gap:10px; align-content:start }
.skip-link { position:fixed; top:-80px; left:10px; z-index:100; padding:8px; background:#d2f26b }
.skip-link:focus { top:8px }
.app-shell { max-width:1060px; margin:14px auto; padding:10px; border:4px solid; border-color:#c2c4d7 #37394e #37394e #c2c4d7; background-color:#10161d; background-image:repeating-linear-gradient(135deg,#7d819b88 0 3px,#686d8a66 3px 6px,#9195ae88 6px 8px); box-shadow:0 0 0 2px #181b31 }
.manager-header { margin-bottom:8px }
.brand { position:relative; display:flex; justify-content:center; align-items:center; min-height:67px; padding:4px 14px 13px; border:3px solid; border-color:#b7bacf #34364f #34364f #b7bacf; background:#10161d; overflow:hidden }
.brand strong { font-family:Georgia,"Times New Roman",serif; font-size:47px; font-weight:900; color:#f2f5f7; text-shadow:3px 4px #07091a; line-height:1; letter-spacing:-1.6px; white-space:nowrap }
.brand em { color:#d2f26b; text-shadow:1px 2px #200815; font-family:Georgia,serif; font-size:25px; font-weight:bold; position:absolute; right:9%; bottom:0; transform:skew(-12deg) }
.manager-strip { display:grid; grid-template-columns:minmax(0,1fr) 146px; gap:12px; padding:10px 2px }
.manager-record { display:flex; align-items:stretch; min-width:0; padding:8px; gap:10px; border:3px solid; border-color:#b7bcd3 #373b56 #373b56 #b7bcd3; background:#171e26 }
.manager-portrait { width:80px; min-width:65px; display:grid; place-items:center; background:var(--blue); border:3px solid; border-color:#252644 #d1d3df #d1d3df #252644 }
.manager-details { min-width:0; flex:1; display:flex; flex-direction:column; text-align:center; gap:4px }
.record-title { font-size:12px; font-weight:bold; padding:3px; border:2px solid; border-color:#b4b9d0 #4b506d #4b506d #b4b9d0 }
.manager-details>strong { background:var(--blue); color:var(--accent); padding:8px 5px; border:2px solid #383d60; font-size:17px; overflow-wrap:anywhere }
.manager-details>span { font-size:11px; overflow-wrap:anywhere }
.team-badge { display:grid; place-items:center; align-self:center; width:70px; height:72px; flex-shrink:0; background:#202b34; border:5px double #17182e; font-size:20px; font-weight:bold }
.calendar-leaf { background:#171e26; color:#a8b5c1; border:3px solid; border-color:#f1dfb9 #8b7151 #8b7151 #f1dfb9; box-shadow:4px 4px #534b52; text-align:center; padding:5px 2px; align-self:center; min-height:104px }
.calendar-leaf strong,.calendar-leaf span { display:block; font-size:12px; font-weight:bold }
.calendar-leaf b { font-size:38px; line-height:1.05; text-shadow:1px 1px #8a7c66 }
.topbar { background:#121920; color:#e7edf2; border:2px solid; border-color:#aeb3cb #292d48 #292d48 #aeb3cb; padding:6px 9px; display:flex; justify-content:space-between; align-items:center; gap:10px }
.topbar-tools { display:flex; align-items:center; gap:15px; min-width:0 }
.league-clock { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:bold }
.league-clock small { font-size:9px; color:#8c9baa }
.account { display:flex; align-items:center; gap:6px }
.account strong { font-size:11px }
.account small,.account .avatar { display:none }
.sidebar { padding:4px; border:2px solid; border-color:#bbc0d4 #3e425d #3e425d #bbc0d4; margin-bottom:8px }
body[data-page=overview] .sidebar { display:none }
#navigation { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:4px }
.nav-link { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:3px; padding:5px 2px; font-size:10px; font-weight:bold; text-align:center; background:#1a232c; border:2px solid; border-color:#d8dbe8 #373c58 #373c58 #d8dbe8 }
.nav-link span { min-width:0; overflow-wrap:anywhere }
.nav-link.active { background:#263328; border-color:#35394e #e4e5ed #e4e5ed #35394e; color:#d2f26b }
.notice-bar { display:flex; justify-content:space-between; gap:8px; padding:4px 6px; background:#141c24; border:1px solid #41465f; font-size:10px; margin-bottom:8px }
.notice-bar>div { display:flex; gap:10px; align-items:center }
.demo-badge { color:#ffab8a; font-weight:bold; border:1px solid #ffab8a; padding:0 4px }
.error { color:#ffab8a }
.status-dot { display:inline-block; width:6px; height:6px; background:#abd75c; margin-right:3px }
#main { min-height:280px; outline:none }
.page-heading { display:flex; justify-content:space-between; align-items:start; gap:10px; padding:7px 9px; margin-bottom:9px; background:#171e26; border:2px solid; border-color:#ececf0 #555a74 #555a74 #ececf0 }
.page-heading .eyebrow { display:none }
.page-heading h2 { font-size:18px; line-height:1.25 }
.page-heading p { font-size:11px; margin-top:4px; color:#a2afbc }
.pill { display:inline-flex; align-items:center; gap:4px; padding:3px 5px; font-size:10px; font-weight:bold; color:#dce5ec; background:#26313b; border:1px solid #545773; white-space:normal }
.pill.live { background:#253725 }
.pill.warning { background:#3d3022 }
.pill svg { width:13px; height:13px }
.button,.icon-button,.auth-tab { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:30px; padding:5px 10px; background:#25313d; color:#e4ecf2; border:2px solid; border-color:#ececf3 #393d57 #393d57 #ececf3; border-radius:0; font-size:12px; font-weight:bold }
.button:hover:not(:disabled),.icon-button:hover:not(:disabled),.auth-tab:hover,.menu-tile:hover,.nav-link:hover { background:#303e4a }
.button:active:not(:disabled),.icon-button:active:not(:disabled),.menu-tile:active { border-color:#34384f #e8eaf2 #e8eaf2 #34384f; transform:translate(1px,1px) }
.button-small { font-size:11px; min-height:26px; padding:3px 7px }
.button-full { display:flex; width:100% }
.icon-button { min-width:28px; padding:4px; min-height:27px }
.text-link { font-size:11px; text-decoration:underline; font-weight:bold; display:inline-flex; align-items:center; gap:4px }
.panel { min-width:0; border:3px solid; border-color:#bdc1d5 #383d59 #383d59 #bdc1d5; background:#171e26; margin-bottom:10px }
.panel-pad { padding:12px }
.panel-header { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:5px 8px; background:#1a242d; color:#f0f4f6; border-bottom:2px solid #2f3452 }
.panel-header h3 { font-size:12px; text-transform:uppercase; letter-spacing:.4px }
.panel-header .text-link { color:#aab7c2; font-size:10px }
.menu-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(220px,1fr); gap:10px }
.main-menu { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:10px }
.menu-tile { display:flex; flex-direction:column; align-items:center; gap:6px; min-height:102px; padding:8px 4px 6px; background:#1c252e; border:3px solid; border-color:#d5d8e8 #373c59 #373c59 #d5d8e8; text-align:center }
.menu-tile strong { font-size:11px }
.icon-well { display:grid; place-items:center; width:68px; height:62px; border:3px solid; border-color:#292e4b #c4c8da #c4c8da #292e4b; background:var(--blue) }
.blue-field { background:var(--blue); color:#e0e7ed; margin:8px; border:2px solid; border-color:#313451 #d4d7e2 #d4d7e2 #313451; padding:8px }
.track-name { display:block; text-align:center; font-size:16px; color:#edf4e0; padding:3px 0 9px }
.record-list { display:grid; grid-template-columns:auto 1fr; margin:0; gap:5px 8px; font-size:11px }
.record-list dt { color:#99a8b6 }
.record-list dd { margin:0; text-align:right; overflow-wrap:anywhere }
.next-race>.button { width:calc(100% - 16px); margin:0 8px 8px }
.summary-strip { display:flex; flex-wrap:wrap; gap:2px; padding:4px; margin-bottom:10px; border:2px solid; border-color:#cbd0e0 #303650 #303650 #cbd0e0; background:#444c71 }
.summary-strip>span { flex:1; min-width:115px; padding:5px 7px; color:#aebbc6; font-size:11px; background:#171f28; display:flex; justify-content:space-between; gap:8px }
.summary-strip strong { color:#eaf3d1 }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:10px }
.table-wrap { overflow-x:auto; max-width:100%; background:var(--blue) }
.data-table { width:100%; border-collapse:collapse; background:var(--blue); color:#d8e2ea; font-size:11px; text-align:left; font-variant-numeric:tabular-nums }
.data-table th { background:#202b36; color:#a8b7c5; font-weight:bold; border-bottom:1px solid #a7acc7 }
.data-table th,.data-table td { padding:6px 7px; white-space:nowrap; border-right:1px solid #474c9a }
.data-table td { border-bottom:1px solid #343b8e }
.data-table tbody tr:nth-child(even) { background:#19232d }
.data-table .own-row,.data-table .leader { color:#e4f6bd; background:#243329 }
.data-table tr:hover { background:#26323d }
.data-table .muted { color:#98a9b8 }
.data-table strong { font-weight:normal }
.table-foot { padding:4px 7px; font-size:10px }
.driver-cell { display:inline-flex; align-items:center; gap:6px }
.team-color { width:7px; height:10px; display:inline-block; border:1px solid #e3e5ee }
.schedule-list { font-size:11px; background:#11181f; color:#dae4ec }
.schedule-item { display:grid; grid-template-columns:40px 1fr auto; gap:7px; padding:6px 8px; border-bottom:1px solid #44489c; align-items:start }
.schedule-day { color:#cfeb9f; font-weight:bold }
.schedule-info strong,.schedule-info small { display:block; font-size:10px }
.schedule-info small { color:#98a9b7 }
.schedule-tail { text-align:right; font-size:10px; color:#c3d0db }
.schedule-item.active { background:#25372b }
.schedule-tail .accent { color:#d2f26b }
.activity-list { padding:0 8px }
.activity-row { display:flex; align-items:start; gap:8px; padding:7px 0; border-bottom:1px solid #7b819d }
.activity-icon { display:none }
.activity-copy { flex:1; min-width:0; font-size:11px }
.activity-copy p { color:#a4b2bf; font-size:10px; margin-top:2px }
.activity-row time { font-size:10px; white-space:nowrap }
.section-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start }
.section-intro { font-size:11px; line-height:1.5; margin:7px 0 12px; color:#9eacb9 }
.info-banner { display:flex; gap:8px; align-items:start; padding:8px 10px; border:2px solid; border-color:#444b6c #c8ccdb #c8ccdb #444b6c; background:#1b2a37; color:#c4d8e7; font-size:11px; margin-bottom:10px }
.info-banner.warning { background:#352e23; color:#e5c591 }
.field { display:flex; flex-direction:column; gap:4px; min-width:0; margin-bottom:10px }
.field label,.field-label { font-size:11px; font-weight:bold }
.field small { font-size:10px; color:#9ba8b4 }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
input,select { background:#111820; color:#eaf0f5; border:2px solid; border-color:#484f6f #e9e9e9 #e9e9e9 #484f6f; min-width:0; max-width:100%; padding:5px; border-radius:0; min-height:29px }
input[type=color] { min-height:33px; padding:2px; width:100% }
input[type=range] { width:100%; padding:0; accent-color:#d2f26b; min-height:20px }
.range-field { padding:7px 0; border-bottom:1px solid #7d849e }
.range-label { display:flex; justify-content:space-between; gap:8px; font-size:12px }
.range-label output { background:#101820; color:#d2f26b; border:1px solid #343b64; padding:2px 5px; min-width:60px; text-align:right }
.range-label output .muted { color:#a2b3bf }
.range-ends { display:flex; justify-content:space-between; gap:5px; font-size:10px; color:#99a6b1 }
.form-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:12px; font-size:10px }
.form-footer small { font-size:10px }
.car-showcase { padding:10px; background:#1b252d }
.car-showcase img { width:100%; height:160px; object-fit:contain; display:block; margin:5px 0 }
.car-model { display:flex; justify-content:space-between; gap:8px; align-items:center }
.car-model h3 { font-size:13px }
.car-model small { font-size:10px }
.technical-row { display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #7a819b; font-size:11px }
.technical-row strong { text-align:right; font-weight:bold }
.stop-row { display:grid; grid-template-columns:18px 1fr 1fr 1fr 27px; gap:6px; align-items:center; padding:7px 0; border-bottom:1px solid #7a819b }
.stop-row .field { margin:0 }
.stop-row label { font-size:10px }
.stop-row input,.stop-row select { width:100%; padding:4px }
.stop-number { font-weight:bold }
.empty { display:flex; justify-content:center; align-items:center; gap:8px; padding:18px 8px; font-size:11px; color:#94a5b3; text-align:center }
.blue-field .empty,.table-wrap .empty { color:#dfe8ef }
.driver-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:8px }
.driver-card { padding:10px }
.driver-card-head { display:flex; align-items:center; gap:6px; margin-bottom:10px; flex-wrap:wrap }
.driver-info { flex:1; min-width:0 }
.driver-info strong,.driver-info small { display:block; font-size:11px; overflow-wrap:anywhere }
.driver-info small { font-size:9px }
.avatar { display:grid; place-items:center; width:26px; height:28px; flex-shrink:0; background:var(--blue); color:#e8dfb8; border:2px solid #454a70; font-size:11px; font-weight:bold }
.attribute { display:grid; grid-template-columns:1fr 35px; gap:3px; padding:4px 0; border-bottom:1px solid #7d839a; font-size:10px }
.attribute .progress-meter { display:none }
.attribute strong { text-align:right; color:#edf2f6 }
details { margin:8px 0 }
summary { cursor:pointer; font-size:11px; font-weight:bold; padding:4px 0; color:#18204b }
.budget-summary,.budget-foot { display:flex; justify-content:space-between; gap:8px; font-size:10px; padding:5px 0 }
.budget-foot { flex-wrap:wrap }
.budget-meter,.progress-meter { height:10px; background:#2d3b48; border:1px solid #303b5e; margin:6px 0 }
.budget-meter i,.progress-meter i { display:block; height:100%; background:#a6d666 }
.budget-form { margin-top:8px }
.budget-form input { width:100% }
.budget-form .button { width:100% }
.report { border-bottom:1px solid #666f8b; padding:10px 0 }
.report-head { display:flex; justify-content:space-between; align-items:start; gap:8px }
.report-head strong,.report-head small { display:block; font-size:11px }
.report-head small { font-size:10px; margin-top:3px }
.report-summary { display:flex; flex-wrap:wrap; gap:12px; font-size:10px; margin:8px 0 }
.pending-session { background:#20323f; color:#d9eaf7; padding:10px; margin:10px 0; font-size:11px; border:2px solid #454d79 }
.pending-session p { font-size:10px; padding:5px 0 }
.upgrade-grid,.sponsor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.upgrade-card,.sponsor-card { padding:12px }
.upgrade-card h3,.sponsor-card h3 { margin:6px 0 }
.upgrade-card p { min-height:30px; font-size:11px }
.upgrade-symbol { float:right; color:#272d5b }
.upgrade-symbol svg { width:26px; height:26px }
.upgrade-level,.sponsor-category { font-size:10px; color:#9dadb8 }
.upgrade-stats { display:flex; justify-content:space-between; gap:10px; padding:12px 0 }
.upgrade-stats small,.upgrade-stats strong { display:block }
.upgrade-stats small { font-size:9px }
.upgrade-stats strong { font-size:13px; margin-top:3px }
.project-panel { padding:12px; background:#1c2932 }
.project-top,.project-foot { display:flex; justify-content:space-between; gap:10px; font-size:11px }
.project-top strong { font-size:17px }
.project-top h3 { margin-top:3px }
.sponsor-logo { background:#11181f; padding:18px 8px; border:2px solid #41496b; color:#edf2f6; text-align:center; font-size:20px; font-weight:bold; margin-bottom:12px }
.sponsor-stars { display:block; color:var(--accent,#c8ff48); font-size:16px; letter-spacing:2px; line-height:1.4; margin-top:7px }
.contract { display:flex; justify-content:space-between; align-items:start; gap:10px; border-bottom:1px solid #6c7590; padding:9px 0; font-size:12px }
.contract small { display:block; font-size:10px; margin-top:3px }
.contract-value { text-align:right }
.calendar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
.calendar-card { padding:10px; background:#1a242d }
.calendar-card.current { background:#25352a }
.calendar-top { display:flex; justify-content:space-between; align-items:center; gap:4px; font-size:9px; border-bottom:1px solid #6d7390; padding-bottom:5px }
.calendar-top strong { font-size:17px }
.calendar-card h3 { font-size:13px; margin:10px 0 }
.calendar-meta { display:flex; justify-content:space-between; gap:5px; font-size:10px }
.calendar-date { margin-top:10px; padding:6px 0 0; border-top:1px solid #747b96; font-size:10px }
.week-windows { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 }
.week-window { padding:10px; border-right:1px solid #6a7390; font-size:11px }
.week-window p { font-size:10px; line-height:1.7; padding-top:6px }
.week-window .eyebrow { font-size:10px; margin-bottom:5px }
.race-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(190px,1fr); gap:10px }
.race-header { padding:8px; display:flex; justify-content:space-between; align-items:center; gap:10px; background:#202c36; color:#dbe5ed; font-size:11px; border-bottom:2px solid #262f51 }
.race-header p { font-size:10px; margin-top:3px }
.track-scene { position:relative; background:#142622; min-height:300px; overflow:hidden }
.track-svg { width:100%; height:auto; min-height:300px; display:block }
.track-caption { position:absolute; left:8px; bottom:6px; font-size:8px; color:#cbd1be }
.track-center-label { position:absolute; left:44%; top:46%; color:#aec39a; pointer-events:none; text-align:center; opacity:.7 }
.track-center-label strong,.track-center-label span { display:block }
.track-center-label strong { font-size:20px }
.track-center-label span { font-size:8px }
.track-status { position:absolute; left:9px; top:8px; background:#263a2b }
.track-count { position:absolute; right:10px; top:8px; color:#dae9df; font-size:9px; text-align:right }
.track-count strong { display:block; font-size:22px }
.track-count .muted { color:#c6cdb5 }
.race-events { padding:12px; max-height:400px; overflow-y:auto }
.race-event { display:flex; gap:8px; padding:10px 0; border-bottom:1px solid #727c98; font-size:10px }
.race-dot { stroke:#16192b; stroke-width:1px }
.tyre { display:inline-grid; place-items:center; width:20px; height:20px; border:1px solid #b0b5d2; background:#17182b; font-weight:bold; color:#f2dc71 }
.tyre.soft { color:#ed9e9c }.tyre.hard { color:#eee }.tyre.wet { color:#8ac2f1 }
.checkered { width:40px; height:18px; background:repeating-conic-gradient(#e0ddc5 0 25%,#232a45 0 50%) 0 0/12px 12px }
.finance-grid,.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:10px }
.metric { background:#19232c; padding:10px; border:2px solid; border-color:#d8dce9 #434d70 #434d70 #d8dce9 }
.metric-top { display:flex; justify-content:space-between; gap:5px; font-size:11px }
.metric-value { font-size:22px; font-weight:bold; color:#f3f6f8; margin:8px 0 }
.metric-value small { font-size:11px }
.metric-note { font-size:10px; color:#9bafbd }
.finance-reserve { display:flex; height:22px; background:#585e7d; border:2px solid #3d4667; margin:15px 0 8px }
.finance-reserve .reserved { background:#ad7665 }.finance-reserve .free { background:#a5c66a }
.legend { display:flex; gap:16px; font-size:10px }
.legend i { display:inline-block; width:9px; height:9px; background:#ad7665; margin-right:5px }.legend span+span i { background:#a5c66a }
.team-onboarding { background:#1e2a35; padding:14px; border:3px solid; border-color:#e1e3ec #444d6d #444d6d #e1e3ec; margin-bottom:10px }
.team-onboarding h2 { margin:5px 0 8px }
.team-option { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid #7b839d }
.team-info { flex:1; min-width:0; font-size:11px }
.team-info strong,.team-info small { display:block; overflow-wrap:anywhere }
.team-tag { background:#1a2933; color:#d2f26b!important; border:2px solid #57607e; padding:5px; font-size:12px; font-weight:bold }
.request-row { padding:10px 0; border-top:1px solid #737c97 }
.request-row form { display:flex; flex-wrap:wrap; align-items:end; gap:10px }
.request-row .field { margin:0; flex:1 }
.auth-invite { display:flex; justify-content:space-between; align-items:center; gap:10px; background:#1d2a34; padding:10px; border:2px solid; border-color:#e4e6ed #424c6a #424c6a #e4e6ed; margin:10px 0 }
.auth-invite h3 { font-size:13px }.auth-invite p { font-size:10px; margin-top:3px }
.app-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:7px 5px 0; font-size:9px; color:#91a2b1; border-top:1px solid #afb5ce }
.app-footer a { text-decoration:underline; font-weight:bold }
dialog { width:min(520px,calc(100% - 24px)); max-height:90vh; padding:0; background:#1b2631; color:#e4edf3; border:4px solid; border-color:#e2e6f1 #3a456a #3a456a #e2e6f1; border-radius:0 }
dialog::backdrop { background:#121630b0 }
.auth-inner { padding:18px }
.auth-header { display:flex; justify-content:space-between; gap:10px; margin-bottom:14px }.auth-header p { font-size:11px; margin-top:5px }.auth-header h2 { font-size:20px }
.auth-tabs { display:flex; margin-bottom:14px; gap:5px }.auth-tab { flex:1 }.auth-tab.active { background:#2d3c2a; color:#d2f26b }
.auth-note { font-size:10px; line-height:1.5; margin-top:12px }
.auth-allocation { border:2px solid #606c8e; padding:10px; margin:12px 0 }
.allocation-header { display:flex; justify-content:space-between; gap:10px; font-size:12px; margin-bottom:6px }
.allocation-row { display:grid; grid-template-columns:1fr 58px 48px; gap:8px; align-items:center; padding:5px 0; font-size:11px }.allocation-row input { width:100% }
.form-error { color:#ff9d8b; font-size:12px; margin-bottom:10px }
.toasts { position:fixed; bottom:14px; right:14px; z-index:100; width:min(400px,calc(100% - 28px)); display:grid; gap:8px }
.toast { display:flex; align-items:center; gap:8px; padding:12px; background:#263642; color:#e0eaf2; border:3px solid; border-color:#fff5d7 #4a4860 #4a4860 #fff5d7; box-shadow:3px 3px #24283c }
.toast span { flex:1; font-size:12px }.toast button { background:none; border:0; font-size:20px; color:inherit }.toast.error { background:#492c2c }
.loading-screen,.error-screen { padding:40px 16px; text-align:center; background:#17232e }.error-screen p { margin:12px 0 }
.loader { display:inline-block; height:12px; width:12px; border:2px solid #656d91; border-top-color:#151c60; animation:spin 1s linear infinite }@keyframes spin { to { transform:rotate(360deg) } }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0) }
@media(max-width:900px) {
  .app-shell { margin:6px; padding:7px }
  .brand strong { font-size:40px }
  .driver-cards { grid-template-columns:repeat(2,minmax(0,1fr)) }
  #navigation { grid-template-columns:repeat(4,minmax(0,1fr)) }
  .nav-link { flex-direction:row; gap:6px; justify-content:start; padding:4px 7px }
  .dashboard-grid { grid-template-columns:1fr }
}
@media(max-width:650px) {
  .nav-link { flex-direction:column; justify-content:center; gap:3px; padding:4px 2px }
  .brand { min-height:55px }.brand strong { font-size:34px }.brand em { font-size:19px; right:5% }
  .manager-strip { grid-template-columns:minmax(0,1fr) 106px; gap:7px }
  .team-badge { display:none }.manager-details>strong { font-size:13px }.record-title { font-size:10px }.manager-details>span { font-size:10px }
  .calendar-leaf { min-height:92px }.calendar-leaf strong,.calendar-leaf span { font-size:10px }.calendar-leaf b { font-size:31px }
  .menu-layout,.section-grid,.race-layout { grid-template-columns:1fr }
  .main-menu { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:7px }.menu-tile { min-height:88px; padding:6px 2px }.menu-tile strong { font-size:10px }
  .next-race .blue-field { margin:6px }.record-list { grid-template-columns:auto 1fr auto 1fr }.record-list dt:last-of-type,.record-list dd:last-of-type { grid-column:span 2 }
  .track-name { font-size:14px; text-align:left }
  .calendar-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .upgrade-grid,.sponsor-grid { grid-template-columns:1fr }
  .week-windows { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .topbar-tools { gap:7px }.league-clock small,.account strong { display:none }
  .topbar h1 { font-size:13px }.topbar { padding:5px }.account .icon-button { min-width:26px }
  .notice-bar { font-size:9px }.notice-bar>div { gap:5px }
  .finance-grid,.metric-grid { grid-template-columns:1fr }.metric { display:grid; grid-template-columns:1fr auto; align-items:center }.metric-value { font-size:20px; margin:0 }.metric-note { grid-column:1/-1 }
  .auth-invite,.form-footer { align-items:start; flex-direction:column }
  .app-footer span:last-child { display:none }
}
@media(max-width:380px) {
  :root { font-size:12px }.app-shell { margin:3px; padding:5px; border-width:3px }.brand strong { font-size:28px; letter-spacing:-1px }.brand em { font-size:17px }
  .manager-strip { grid-template-columns:minmax(0,1fr) 83px; gap:6px }.manager-portrait { display:none }.manager-record { padding:5px }.manager-details>strong { padding:5px 2px }
  .calendar-leaf { min-height:87px }.calendar-leaf strong,.calendar-leaf span { font-size:9px }
  .topbar-tools { gap:5px }.league-clock { font-size:10px }.button-small { font-size:10px; padding:3px 5px }
  .main-menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px }.menu-tile { min-height:91px }.menu-tile strong { font-size:11px }
  .record-list { grid-template-columns:auto 1fr }.record-list dt:last-of-type,.record-list dd:last-of-type { grid-column:auto }
  .driver-cards { grid-template-columns:1fr }.calendar-grid { grid-template-columns:1fr }
  .field-row { gap:7px }.stop-row { grid-template-columns:16px 1fr 1fr 1fr 23px; gap:3px }.stop-row .icon-button { min-width:23px; padding:1px }.stop-row label { font-size:8px }
  .schedule-item { grid-template-columns:34px 1fr; gap:5px }.schedule-tail { grid-column:2; text-align:left }.activity-row time { font-size:8px }
  .auth-inner { padding:12px }.auth-header h2 { font-size:17px }.allocation-row { grid-template-columns:1fr 48px 40px; gap:4px }.allocation-header { flex-wrap:wrap }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation:none!important; transition:none!important } }


/* Motorsport design system: compact management layout, current visual styling. */
:root { color-scheme:dark; --line:#2a3540; font-family:"Segoe UI",Arial,sans-serif; font-size:14px }
.skip-link { color:#14200f; border:1px solid #93ac53; border-radius:3px; font-weight:600 }
body { background:#0b1015; background-image:none; line-height:1.5 }
.app-shell { max-width:1220px; margin:0 auto; padding:24px 28px 18px; background:none; border:0; box-shadow:none }
.brand { justify-content:flex-start; gap:12px; min-height:42px; padding:0; margin-bottom:18px; border:0; background:none; overflow:visible }
.brand strong { font-family:inherit; font-size:25px; font-weight:850; letter-spacing:-.8px; color:#f1f5f8; text-shadow:none; line-height:1 }
.brand strong span { color:#a8b5c0; font-weight:550 }
.brand em { position:static; margin-left:auto; color:#788b9a; font-family:inherit; font-size:10px; font-style:normal; font-weight:600; letter-spacing:2px; transform:none; text-shadow:none }
.brand-mark { display:block; height:24px; width:27px; flex-shrink:0; background:linear-gradient(110deg,transparent 0 14%,#d2f26b 14% 35%,transparent 35% 43%,#91b643 43% 65%,transparent 65% 73%,#4d6c28 73% 94%,transparent 94%) }
.manager-strip { grid-template-columns:minmax(0,1fr) 164px; gap:12px; padding:0; margin-bottom:18px }
.manager-record,.calendar-leaf { border:1px solid var(--line); box-shadow:none; border-radius:7px; background:#151e26 }
.manager-record { padding:15px; gap:14px; align-items:center; border-left:3px solid #b9db63 }
.manager-portrait { border:1px solid #2b3c48; background:#202d36; min-width:54px; width:54px; height:54px; border-radius:8px; color:#c6df8c }
.manager-portrait .manager-icon { width:34px; height:34px }
.manager-details { text-align:left; gap:3px }
.record-title { border:0; font-size:10px; letter-spacing:1.1px; color:#98aaba; padding:0; text-transform:uppercase; font-weight:500 }
.manager-details>strong { border:0; background:none; color:#f1f5f7; padding:0; font-size:23px; font-weight:700; line-height:1.3 }
.manager-details>span { font-size:11px; color:#8fa3b3 }
.team-badge { width:53px; height:53px; border:1px solid #495a64; border-radius:5px; background:#243139; color:#e8efd9; font-size:16px; letter-spacing:1px }
.calendar-leaf { align-self:stretch; min-height:0; display:grid; grid-template-columns:45px 1fr; align-content:center; text-align:left; padding:12px 15px; column-gap:11px }
.calendar-leaf b { grid-column:1; grid-row:1/3; font-size:33px; color:#eef3f7; text-shadow:none; line-height:1.2 }
.calendar-leaf strong { grid-column:2; font-size:11px; color:#c0ccd5; font-weight:600 }
.calendar-leaf span { grid-column:2; font-size:10px; color:#8397a8; font-weight:400; white-space:normal }
.topbar { background:none; border:0; padding:0 0 12px; gap:12px }
.topbar h1 { font-size:20px; letter-spacing:-.4px; font-weight:650 }
.topbar-tools { gap:14px }.league-clock { font-family:"Segoe UI",Arial,sans-serif; font-size:12px; font-variant-numeric:tabular-nums; font-weight:500; color:#c0ccd7 }
.league-clock small { color:#617788; font-size:9px; letter-spacing:1px }
.sidebar { padding:0; border:0; margin-bottom:14px }
#navigation { gap:5px }
.nav-link { border:1px solid var(--line); border-radius:5px; background:#151f28; padding:8px 4px; font-family:inherit; font-size:11px; font-weight:500; gap:5px }
.nav-link .manager-icon { width:21px; height:21px; color:#8ea2b3 }
.nav-link.active { background:#273329; border:1px solid #5e7845; color:#e0eec8 }
.nav-link.active .manager-icon { color:#c5e585 }
.nav-link:hover { background:#26333d }
.notice-bar { background:#111c25; border:1px solid #24323e; border-radius:4px; padding:5px 9px; margin-bottom:14px; color:#8fa4b4; font-size:10px }
.demo-badge { color:#d3e59f; border:1px solid #4b5c37; border-radius:3px; font-size:9px; letter-spacing:.5px }
.status-dot { background:#b4da61; border-radius:50% }
h2,h3 { font-family:inherit; letter-spacing:-.2px }
.page-heading { border:0; background:none; padding:4px 0 10px; margin:0 0 10px }
.page-heading h2 { font-size:23px }.page-heading p { color:#92a5b6; font-size:12px }
.pill { background:#23313b; color:#c5d2dc; border:1px solid #3a4b58; border-radius:4px; font-size:10px; font-weight:500; padding:4px 7px }
.pill.live { background:#263b2a; border-color:#4b6b42; color:#d5ecb8 }
.pill.warning { background:#3b3020; color:#e2c88e; border-color:#6a5130 }
.panel { background:#151f28; border:1px solid var(--line); border-radius:6px; margin-bottom:12px; overflow:hidden }
.panel-pad { padding:17px }
.panel-header { padding:10px 14px; background:#1a2630; border:0; border-bottom:1px solid var(--line); color:#dfe7ee }
.panel-header h3 { font-size:10px; font-weight:600; letter-spacing:1px }
.panel-header .text-link { color:#b3c58e; font-size:10px }
.button,.icon-button,.auth-tab { background:#d0ed83; color:#16200f; border:1px solid #c0dd75; border-radius:4px; min-height:34px; padding:6px 12px; font-size:12px; font-weight:650; transition:background .15s }
.button-secondary,.button-ghost,.icon-button,.auth-tab { background:#253440; border:1px solid #3a4b59; color:#dde5ec }
.button:hover:not(:disabled) { background:#e2f6b3 }
.button-secondary:hover:not(:disabled),.icon-button:hover:not(:disabled),.auth-tab:hover { background:#354858 }
.button:active:not(:disabled),.icon-button:active:not(:disabled),.menu-tile:active { transform:none; border-color:#8fa85e }
.button-small { min-height:28px; padding:4px 9px; font-size:11px }.icon-button { min-width:29px; padding:5px }.auth-tab.active { background:#2c402e; color:#e0f2c4; border-color:#607b49 }
.menu-layout { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:14px }
.main-menu { gap:9px; padding:12px }
.menu-tile { position:relative; min-width:0; min-height:119px; gap:7px; padding:13px 7px 11px; border:1px solid #2f3e4a; background:#1b2832; border-radius:5px; align-items:center }
.menu-tile:hover { background:#263842; border-color:#6b8052 }
.menu-tile strong { font-size:12px; font-weight:600; color:#e5edf3 }
.menu-tile small { color:#8a9fad; font-size:10px; line-height:1.3; max-width:100%; overflow-wrap:anywhere; text-align:center }
.icon-well { width:46px; height:38px; border:0; background:none; color:#bed885 }
.icon-well .manager-icon { width:31px; height:31px }
.blue-field { border:0; background:#111b24; border-radius:4px; margin:10px; padding:10px 12px; color:#c8d4dd }
.next-race-car { display:block; height:82px; width:100%; object-fit:contain; margin:-2px 0 6px }
.track-name { text-align:left; font-size:17px; font-weight:650; padding:0 0 9px; color:#ecf2f5 }
.record-list { gap:5px 10px; font-size:11px }.record-list dt { color:#839bae }.record-list dd { color:#d7e2ea }
.next-race>.button { width:calc(100% - 20px); margin:0 10px 10px; min-height:32px }
.summary-strip { background:#101922; border:1px solid var(--line); border-radius:5px; padding:0; gap:0; margin-bottom:14px }
.summary-strip>span { background:none; border-right:1px solid #2a3946; padding:11px 13px; color:#91a6b6; font-size:11px; align-items:center }
.summary-strip>span:last-child { border:0 }.summary-strip strong { color:#edf3f6; font-size:15px; font-weight:650; font-variant-numeric:tabular-nums }
.dashboard-grid { gap:14px }
.data-table { background:#121d26; color:#ccdae5; font-size:11px; font-family:inherit }
.data-table th { background:#1b2a36; color:#a8bdcc; font-size:10px; font-weight:550; text-transform:uppercase; border-bottom:1px solid #334653 }
.data-table th,.data-table td { padding:8px 10px; border-right:0 }.data-table td { border-bottom:1px solid #253643 }
.data-table tbody tr:nth-child(even) { background:#172530 }
.data-table .own-row,.data-table .leader { color:#d7efb9; background:#25372d }
.data-table tr:hover { background:#263a46 }.data-table .muted { color:#91a8ba }
.table-foot { padding:6px 10px; font-size:10px; color:#8198ab }
.schedule-list { background:#121e28; color:#c5d4df }.schedule-item { padding:9px 10px; border-bottom:1px solid #293946 }
.schedule-day { color:#cadfac; font-size:10px }.schedule-info strong { font-weight:550; font-size:11px }.schedule-info small { color:#8199aa; font-size:10px }.schedule-tail { color:#a9bdcb }
.schedule-item.active { background:#25372c }.schedule-tail .accent { color:#cde999 }
.activity-list { padding:0 13px }.activity-row { padding:10px 0; border-color:#2c3b47 }.activity-copy { font-size:12px }.activity-copy p { color:#8da4b6; font-size:11px }.activity-row time { color:#6d879a }
.section-grid { gap:14px }.section-intro { color:#92a8b9; font-size:12px; line-height:1.6 }
.info-banner { border:1px solid #354c5e; border-radius:4px; background:#1b2b39; color:#b9d0e0; padding:10px 12px; font-size:11px }
.info-banner.warning { border-color:#645137; background:#362e22; color:#dbc298 }
input,select { border:1px solid #3d5365; background:#101a23; color:#e2ecf3; border-radius:4px; min-height:33px; padding:6px 8px }
input[type=range] { border:0; background:none; accent-color:#bedc7b; min-height:20px }
.field label,.field-label { color:#cad8e2; font-size:11px; font-weight:550 }.field small { color:#809bad }
.range-field,.technical-row,.stop-row,.attribute,.contract,.report,.calendar-top,.calendar-date,.race-event,.team-option,.request-row,.budget-foot { border-color:#2d414f }
.range-label output { background:#203129; border:1px solid #506946; border-radius:3px; color:#d3ebb8; padding:2px 6px; min-width:58px }.range-label output .muted { color:#a7bf9b }.range-ends { color:#8095a5 }
.car-showcase { background:#1b2832; padding:15px }.car-showcase img { height:175px }.car-model h3 { font-size:14px }.car-model small { color:#91a6b5 }
.technical-row { padding:9px 0 }.technical-row strong { color:#d4e1ea; font-weight:550 }
.empty { color:#8da5b7 }.blue-field .empty,.table-wrap .empty { color:#a7bfce }
.driver-card { padding:13px }.driver-info strong { color:#e1ebf1; font-size:12px }.driver-info small { color:#8ca3b4; font-size:10px }
.avatar { border:1px solid #506344; border-radius:4px; background:#293b2c; color:#dbecbf; width:29px; height:31px }
.attribute { padding:5px 0; font-size:11px }.attribute strong { color:#deedcb }
.budget-meter,.progress-meter { border:0; border-radius:2px; background:#2a3c49; height:6px; overflow:hidden }.budget-meter i,.progress-meter i { background:#accb77 }
.budget-summary,.budget-foot { color:#adc0ce }.budget-summary strong { color:#e5edf2 }.budget-foot { font-size:10px }
summary { color:#b9d198; font-weight:500 }
.pending-session { background:#1d3543; color:#c6dfed; border:1px solid #416176; border-radius:4px }
.upgrade-card,.sponsor-card { padding:17px }.upgrade-symbol { color:#bad17e }.upgrade-level,.sponsor-category { color:#809caf; font-size:10px; letter-spacing:.5px }.upgrade-stats strong { color:#e1ebf2 }
.project-panel { background:#1c2e37 }.project-top strong { color:#cfe8ac }.sponsor-logo { border:1px solid #3a4d58; border-radius:4px; color:#e9f0f4; background:#17242e; font-size:19px; letter-spacing:2px }
.calendar-card { background:#1b2934; padding:12px }.calendar-card.current { background:#283b2c; border-color:#5c7545 }.calendar-top { color:#a5bbca }.calendar-top strong { color:#e3edf4 }.calendar-meta { color:#9db3c2 }.calendar-date { color:#d3e2eb; padding-top:8px }
.week-window { border-color:#2d424e }.week-window p { color:#a2b8c8 }
.race-header { background:#1d2d38; color:#e1ebf2; border-color:#354c5a }.track-scene { background:#11251f }.track-caption { color:#8da994 }.track-count { color:#cadcca }.race-event { color:#b3c9d9 }
.metric { background:#192a35; border:1px solid #334957; border-radius:4px; padding:13px }.metric-top { color:#a7bdcd }.metric-value { color:#e5f0f6; font-size:24px }.metric-note { color:#859eaf }
.finance-reserve { border:0; border-radius:3px; height:15px; overflow:hidden }.finance-reserve .reserved { background:#b08759 }.finance-reserve .free { background:#9bbd6f }.legend { color:#9fb6c5 }
.legend i { background:#b08759 }.legend span+span i { background:#9bbd6f }
.team-onboarding { background:#1c2b36; border:1px solid #3e5565; border-radius:5px }.team-info strong { color:#dce9f2 }.team-info small { color:#8da5b8 }.team-tag { background:#2b3b2c; color:#def0c8!important; border:1px solid #5c7249; border-radius:3px }
.auth-invite { background:#1b2a34; border:1px solid #354a58; border-radius:4px; padding:13px }.auth-invite p { color:#8fa7b7; font-size:11px }.auth-invite h3 { font-size:14px }
.app-footer { border-top:1px solid #263847; padding-top:13px; color:#677f91; font-size:10px }.app-footer a { color:#9cafbd; font-weight:500; text-decoration:none }
dialog { background:#1b2a35; border:1px solid #4b6475; border-radius:8px; color:#e2edf4 }.auth-header h2 { font-size:23px }.auth-header p,.auth-note { color:#94aebe }.auth-allocation { border:1px solid #3b5364; border-radius:4px }.allocation-header strong,.allocation-row output { color:#cfe8a9 }.auth-tab { border-radius:4px }.form-error { color:#ffa694 }
.toast { background:#243b48; color:#e0edf4; border:1px solid #547185; border-radius:5px; box-shadow:0 6px 25px #0005 }.toast.error { background:#472e2d; border-color:#8f5a4b }.loading-screen,.error-screen { background:#192a36; color:#bacfdd }
@media(max-width:900px) {
  .app-shell { margin:0; padding:18px 16px }
  .brand strong { font-size:24px }
  .nav-link { flex-direction:row; padding:7px 9px; font-size:11px; gap:7px }
  .dashboard-grid { grid-template-columns:1fr }
}
@media(max-width:650px) {
  .app-shell { padding:14px 12px }
  .brand { min-height:35px; gap:8px; margin-bottom:13px }.brand strong { font-size:22px }.brand em { font-size:8px; letter-spacing:1px }.brand-mark { width:22px; height:21px }
  .manager-strip { grid-template-columns:minmax(0,1fr) 120px; gap:8px; margin-bottom:13px }
  .manager-record { padding:10px; gap:9px }.manager-portrait { width:38px; min-width:38px; height:40px }.manager-portrait .manager-icon { width:27px; height:27px }
  .manager-details>strong { font-size:17px }.record-title { font-size:9px; letter-spacing:.4px }.manager-details>span { font-size:10px }.team-badge { display:none }
  .calendar-leaf { min-height:0; padding:9px 10px; grid-template-columns:30px 1fr; column-gap:6px }.calendar-leaf b { font-size:28px }.calendar-leaf strong { font-size:10px }.calendar-leaf span { font-size:9px }
  .topbar h1 { font-size:18px }.topbar { padding-bottom:11px }.topbar-tools { gap:8px }.league-clock { font-size:11px }.league-clock small { display:none }
  .nav-link { flex-direction:column; justify-content:center; padding:6px 3px; gap:5px; font-size:10px }
  .nav-link .manager-icon { width:20px; height:20px }
  .menu-layout,.section-grid,.race-layout { grid-template-columns:1fr }
  .main-menu { grid-template-columns:repeat(4,minmax(0,1fr)); padding:9px; gap:7px }.menu-tile { min-height:107px; padding:10px 4px; gap:6px }.menu-tile strong { font-size:11px }.menu-tile small { display:none }
  .icon-well { width:36px; height:35px }.icon-well .manager-icon { width:29px; height:29px }
  .next-race-car { height:100px; max-width:250px; margin:0 auto 7px }
  .record-list { grid-template-columns:auto 1fr auto 1fr }.record-list dt:last-of-type,.record-list dd:last-of-type { grid-column:span 2 }
  .summary-strip>span { padding:9px 10px }.summary-strip strong { font-size:14px }
  .panel-header { padding:9px 11px }.page-heading h2 { font-size:21px }
  .finance-grid,.metric-grid { grid-template-columns:1fr }.metric-value { font-size:22px }
}
@media(max-width:380px) {
  .app-shell { padding:12px 9px }.brand strong { font-size:20px }.brand em { display:none }
  .manager-strip { grid-template-columns:minmax(0,1fr) 105px }.manager-portrait { display:none }
  .manager-details>strong { font-size:17px }.calendar-leaf { padding:8px; grid-template-columns:27px 1fr; column-gap:5px }.calendar-leaf b { font-size:25px }
  .topbar-tools { gap:6px }.topbar h1 { font-size:17px }.button-small { padding:4px 7px }
  .main-menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px }.menu-tile { min-height:98px }.menu-tile strong { font-size:12px }
  .record-list { grid-template-columns:auto 1fr }.record-list dt:last-of-type,.record-list dd:last-of-type { grid-column:auto }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; animation:none!important } }

