/* Shared NFS finish. Layout and live-state colours remain owned by each page. */
:root{--ink:#eeeee9;--muted:#a1a39e;--paper:#090a0a;--bg:#090a0a;--panel:#111312;--line:#30332e;--gold:#d5ae4e;--map-bg:#101310}
body{font-family:Arial,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
header{background:#0b0c0b;border-bottom:1px solid #333229}
.brand img,.manager-logo{background:transparent;border:1px solid #50452c;border-radius:50%;padding:3px}
.brand h1{letter-spacing:0;font-weight:700}.brand small{color:#bc9c54;letter-spacing:2px}
.eyebrow,.page-heading>small{color:#bea160;letter-spacing:2px}
.section-heading h1,.page-heading h2{font-weight:700;letter-spacing:-.6px}
nav{background:#0c0e0d;border-top:1px solid #39362a;box-shadow:0 -7px 22px #00000020}
nav button{position:relative;border-radius:4px;color:#a4a89d;min-height:44px}
nav button.selected{background:#252114;color:#e2bd63;box-shadow:inset 0 2px #d5ae4e}
nav button:hover{color:#f0d58b}
button,input,select,textarea{transition:border-color .15s,background-color .15s,color .15s}
input:not([type=checkbox]):not([type=radio]),select,textarea{color:#eeeee9;background-color:#141714;border-color:#42453b;border-radius:5px}
input::placeholder,textarea::placeholder{color:#848b7e}
option{background:#151815;color:#eeeee9}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #d5ae4e;outline-offset:3px}
.search{background:#131613;border-color:#393e33;border-radius:5px}
.search input{background:transparent!important}
.button.primary{background:#d5ae4e;color:#12130d;border:1px solid #d5ae4e;box-shadow:inset 0 1px #f2d88b66}
.button.secondary,.more{background:#1a1e17;color:#d4d8c8;border:1px solid #424735}
.button.danger{background:#552b30;border:1px solid #9f545d;color:#ffd9dd}
.button.primary:hover:not(:disabled){background:#e5bf60}
.text-button,.quiet{color:#d8b35f}
.filters button,.secondary-tabs button,.scores-track-tabs button,.board-track{border-radius:4px}
.filters .selected,.secondary-tabs .selected{background:#292515;border-color:#8d743e;color:#e8cc80}
.panel,.race-card,.listen-panel,.receiver-panel,.export-panel,.roster-card,.staff-card,.session-picker,.scores-choice,.board-detail-card{background:#111411;border-color:#34382e;box-shadow:none;border-radius:6px}
.empty{background:#101310;border-color:#3b3f33;border-radius:5px}
.sheet{background:#111411;border:1px solid #424735;border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 -12px 60px #00000055}
.sheet-handle{background:#515544}.close{background:#1b1f18;color:#cbd0bf;border-color:#48503c}
.sheet h2{letter-spacing:-.3px}.sheet .detail-summary>div,.sheet .lap-summary>div{background:#191d16;border-color:#363f2c;border-radius:5px}
.sheet .detail-summary>div:first-child{background:#292513;border-color:#6b592e}
.sheet .lap-row{background:transparent;padding-top:12px;padding-bottom:12px}
.sheet .lap-row.best{background:#282514}.sheet .lap-row.best b{color:#e3c56c}
.live-results-table,.board-results-table,.grip-table{font-variant-numeric:tabular-nums}
.live-results-table th,.board-results-table th,.grip-table th{background:#1b1e16;color:#bfc3ae;font-weight:500;letter-spacing:.25px}
.live-results-table td,.board-results-table td,.grip-table td{border-color:#2c3327}
.live-results-table tbody tr:nth-child(even),.board-results-table tbody tr:nth-child(even),.grip-table tbody tr:nth-child(even){background-color:#ffffff02}
.live-results-table tbody tr:hover,.board-results-table tbody tr:hover,.grip-table tbody tr:hover{background-color:#d5ae4e0a}
.live-results-table .table-time,.board-results-table .table-time,.grip-table .table-time{font-family:Arial,sans-serif;letter-spacing:.1px}
.grip-heading{background:#11120f url('nfs-grip.png') center/cover;border:1px solid #49402b;border-left:3px solid #d5ae4e;border-radius:5px;padding:18px 20px;margin:10px 0 16px;min-height:91px}
.grip-heading h1{font-size:25px;margin-top:6px;letter-spacing:.3px}.grip-heading .eyebrow{font-size:10px;color:#d6b86d;line-height:1.6}
.grip-heading .quiet{margin-left:8px;flex:none;min-width:44px}
.grip-stages,.grip-groups,.grip-result-tabs{border-radius:4px;border-color:#464633}
.grip-stages button,.grip-groups button,.grip-result-tabs button{background:#151813;color:#b4b9a6;min-height:44px}
.grip-stages .selected,.grip-groups .selected,.grip-result-tabs .selected{background:#d5ae4e;color:#10120d;box-shadow:inset 0 1px #f5df9e77}
.grip-stages button:last-child,.grip-groups button:last-child,.grip-result-tabs button:last-child{border-right:0}
.grip-groups{margin:12px 0}.grip-groups button{letter-spacing:.8px}
.grip-table-scroll{border-color:#3c402e}.grip-table .leader{background:#221e10!important}
.grip-choice{background:#11120f url('nfs-grip.png') center/cover}
.scores-choices{gap:12px}.scores-choice{min-height:155px;padding:20px}.scores-choice h2{font-size:25px}.scores-choice .score-index{color:#bba369;font-size:10px}.scores-choice .score-arrow{color:#d5ae4e}
.map-board{background:#101310;border-color:#34392d;border-radius:6px}.map-caption{border-color:#34392d}
.map-sidebar{background:#111511;border-color:#34392d;border-radius:6px}.map-sidebar .map-picker{border-radius:4px}
.map-home-conditions strong{color:#e7e8dc}.map-home-conditions span{color:#aab09c}
.home-occupancy{border-radius:5px;box-shadow:inset 0 2px #76c29444}
.home-occupancy.red-flag{box-shadow:inset 0 2px #fa8d9755}.home-occupancy.yellow-flag{box-shadow:inset 0 2px #f6d56f55}
.simulation-badge{border:1px solid #464c35;background:#1b2115;color:#b8c598;border-radius:4px}
.notice{border-radius:5px}.web-topline{color:#9a9d8f;letter-spacing:.5px}
@media(max-width:600px){.grip-heading{padding:14px 12px;min-height:82px;margin-bottom:12px}.grip-heading h1{font-size:22px}.grip-heading .eyebrow{font-size:9px;letter-spacing:1.2px}.scores-choice{min-height:140px;padding:17px}.scores-choice h2{font-size:23px}.sheet{padding-left:16px;padding-right:16px}nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){button,input,select,textarea{transition:none}}
@media(max-width:600px){.nfs-viewer .app>header{height:72px;padding-top:12px;padding-bottom:12px}.nfs-viewer .brand img{width:43px;height:43px}.grip-heading{min-height:72px;padding-top:11px;padding-bottom:11px;margin:8px 0 10px}.grip-heading h1{font-size:21px}.grip-filters{margin:10px 0}.grip-stages,.grip-result-tabs{margin:10px 0}.grip-groups{margin:10px 0}.grip-round-line{margin-bottom:10px}#gripStatus{margin:10px 0;font-size:11px}}
