.hub-shell-v2 .hub-page-container:has(> .lap-challenge-page) { width:min(100%,1640px); margin:0 auto; padding:28px var(--concept-gutter) 48px; }
.lap-challenge-page { --lap-line: rgba(117,170,191,.2); display:grid; gap:24px; min-width:0; }
.lap-challenge-page>.card+.card { margin-top:0; }
.lap-challenge-page .page-header { margin:0; }
.lap-periods { display:flex; gap:12px; overflow-x:auto; padding:2px 2px 10px; scrollbar-width:thin; }
.lap-period { display:grid; gap:6px; min-width:190px; max-width:260px; text-align:left; padding:16px 20px; border:1px solid var(--lap-line); border-radius:12px; background:linear-gradient(135deg,#17303a,#0b1922); color:var(--text); cursor:pointer; position:relative; }
.lap-period span { color:#90aeba; font-size:12px; letter-spacing:.12em; }
.lap-period strong { font-size:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lap-period small { color:#a8bac3; font-size:11px; }
.lap-period:hover,.lap-period:focus-visible { border-color:#4bd3df; }
.lap-period.active { border-color:#ff823a; box-shadow:inset 3px 0 #ff823a,0 0 18px #ff823a13; background:linear-gradient(135deg,#263a42,#14232b); }
.lap-period.active span { color:#ff9a61; }
.lap-track { padding:0!important; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); overflow:hidden; }
.lap-track-image { min-width:0; min-height:280px; position:relative; background:#0a1821; }
.lap-track-image>img { width:100%; height:100%; min-height:280px; max-height:430px; object-fit:cover; display:block; }
.lap-map-edit { position:absolute; right:16px; bottom:16px; background:#0b1926cf; backdrop-filter:blur(8px); }
.lap-track-placeholder { min-height:280px; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px; color:#4dd5dd; letter-spacing:.2em; background:repeating-linear-gradient(130deg,transparent 0 45px,#45d4df0b 45px 47px),linear-gradient(120deg,#10252f,#07131a); font-size:14px; }
.lap-track-placeholder span { font-size:12px; color:#8aabba; letter-spacing:.05em; }
.lap-track-copy { min-width:0; padding:28px 30px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.lap-track-copy .kicker,.lap-track-copy h2,.lap-track-copy p { margin:0; }
.lap-track-copy h2 { font-size:clamp(24px,2.4vw,36px); overflow-wrap:anywhere; }
.lap-heading-row { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
.lap-heading-row h2 { margin:0; font-size:21px; }
.lap-status { border:1px solid #63808f70; background:#6e899613; border-radius:6px; padding:5px 10px; font-size:12px; color:#a7bbc6; white-space:nowrap; }
.lap-status.is-open { color:#6de4ba; border-color:#6de4ba66; background:#6de4ba10; }
.lap-period-title { font-size:12px; color:#8ba7b6; }
.lap-description { white-space:normal; line-height:1.8; overflow-wrap:anywhere; font-size:14px; color:#c0d1da; max-height:220px; overflow:auto; width:100%; }
.lap-track-tools { display:flex; flex-wrap:wrap; gap:4px 10px; width:100%; }
.lap-track-tools .btn { min-height:26px; padding:3px 0; font-size:11px; color:#73dadd; }
.lap-track-tools .icon { width:13px; height:13px; }
.lap-full-rules { white-space:normal; overflow-wrap:anywhere; line-height:1.85; color:#c0d1da; }
.lap-window { margin-top:auto; display:grid; gap:6px; padding:12px 0 0; border-top:1px solid var(--lap-line); width:100%; font-size:13px; color:#b2cbd6; }
.lap-window>span { display:flex; flex-wrap:wrap; gap:3px 7px; }
.lap-window b { font-weight:400; color:#6b8897; }
.lap-window small { color:#7e9aa9; font-size:11px; }
.lap-track-footer { margin-top:auto; width:100%; display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.lap-track-footer .lap-window { flex:1 1 230px; margin-top:0; }
.lap-settle-action { flex:0 0 auto; margin-left:auto; }
.lap-alert { margin:0; padding:14px 18px; border:1px solid #f4ac614f; border-radius:9px; color:#ffc58f; background:#a3662815; font-size:13px; line-height:1.7; }
.lap-ranking,.lap-my-entry,.lap-review { padding:24px!important; min-width:0; }
.lap-ranking-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; }
.lap-ranking-header h2,.lap-ranking-header .kicker { margin:0 0 6px; }
.lap-ranking-header small { color:#89a6b4; font-size:11px; }
.lap-ranking-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.lap-ranking-actions .btn { font-size:13px; min-height:38px; }
.lap-category-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 20px; padding:5px; background:#07151d99; border:1px solid var(--lap-line); border-radius:10px; }
.lap-category-tab { display:flex; justify-content:center; align-items:center; gap:8px; padding:11px 8px; border:1px solid transparent; border-radius:6px; color:#9bb5c2; background:transparent; cursor:pointer; min-width:0; }
.lap-category-tab span { font-weight:700; font-size:14px; }
.lap-category-tab small { font-size:9px; letter-spacing:.08em; color:#7694a3; }
.lap-category-tab.active { color:#ffd7bd; background:linear-gradient(135deg,#ff873822,#ff87380a); border-color:#ff9a6159; box-shadow:inset 0 -2px #ff9a61; }
.lap-category-tab.active small { color:#ffae7b; }
.lap-category-tab:hover,.lap-category-tab:focus-visible { border-color:#5bdbe081; }
.lap-category-label { display:inline-block; font-size:11px; font-weight:500; vertical-align:middle; color:#8eb7c9; border:1px solid #75aab534; border-radius:4px; padding:3px 6px; margin-left:5px; white-space:nowrap; }
.lap-legacy { padding:20px!important; min-width:0; }
.lap-legacy h2 { font-size:18px; margin:0; }
.lap-table-wrap { width:100%; overflow-x:auto; }
.lap-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.lap-table th { text-align:left; color:#849fac; font-size:12px; background:#07151d70; padding:13px 14px; }
.lap-table td { padding:14px; border-bottom:1px solid var(--lap-line); overflow-wrap:anywhere; font-size:14px; vertical-align:middle; }
.lap-table th:first-child { width:80px; }
.lap-table th:nth-child(2) { width:23%; }
.lap-table th:nth-child(3) { width:20%; }
.lap-table th:last-child { width:128px; }
.lap-table tbody tr:last-child td { border-bottom:0; }
.lap-rank { font-size:22px; font-style:italic; font-weight:800; color:#92acb9; }
.lap-rank-top { color:#ffd38c; }
.lap-time { font-variant-numeric:tabular-nums; letter-spacing:.03em; color:#66dfdc; font-size:21px; white-space:nowrap; }
.lap-vehicle-cell { display:flex; align-items:center; gap:12px; min-width:0; }
.lap-vehicle-cell .vehicle-usage-picture { width:76px; height:46px; flex:0 0 76px; }
.lap-vehicle-cell>span { min-width:0; display:grid; gap:5px; }
.lap-vehicle-cell strong { font-size:13px; font-weight:600; }
.lap-vehicle-cell small { color:#829aa7; font-size:11px; }
.lap-pov { position:relative; width:96px; height:59px; padding:0; overflow:hidden; border:1px solid #6193a257; border-radius:7px; background:#10242e; color:white; cursor:pointer; }
.lap-pov img { width:100%; height:100%; object-fit:cover; opacity:.75; }
.lap-pov-empty { display:block; line-height:42px; letter-spacing:.2em; color:#86b6c5; font-size:13px; }
.lap-play-mark { position:absolute; left:50%; top:42%; transform:translate(-50%,-50%); text-shadow:0 1px 6px #000; font-size:16px; }
.lap-pov small { position:absolute; left:0; right:0; bottom:0; padding:2px; font-size:10px; background:#051018bb; }
.lap-note { color:#8ba7b5; font-size:12px; line-height:1.7; margin:12px 0; }
.lap-note a { color:#5ad9df; text-decoration:underline; }
.lap-empty { padding:38px!important; text-align:center; color:#8caab7; }
.lap-own-summary { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:18px; }
.lap-own-summary>span { color:#94aebb; font-size:13px; }
.lap-job { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 14px; border-radius:7px; margin:12px 0 0; background:#65d8df0b; color:#77dce4; font-size:13px; }
.lap-job small { width:100%; color:#a8bac4; overflow-wrap:anywhere; }
.lap-job-failed { color:#ffbd9a; background:#e2704312; }
.lap-review-list { display:grid; gap:12px; margin-top:16px; }
.lap-review-list article { display:flex; align-items:center; gap:16px; padding:14px; background:#07172280; border:1px solid var(--lap-line); border-radius:9px; }
.lap-review-list article>div { flex:1; min-width:0; }
.lap-review-list article small { display:block; color:#94a8b4; margin:5px 0; font-size:11px; }
.lap-review-list article p { color:#f0c594; font-size:12px; margin:6px 0 0; overflow-wrap:anywhere; }
.lap-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lap-settings-form .field,.lap-entry-form .field { min-width:0; }
.lap-field-error { display:block; color:#ff9b77!important; font-size:12px!important; line-height:1.6; margin-top:6px; overflow-wrap:anywhere; }
.lap-field-error[hidden],.lap-upload-progress[hidden] { display:none!important; }
.lap-entry-form [aria-invalid="true"],.lap-settings-form [aria-invalid="true"] { border-color:#f48c66; }
.lap-entry-car { display:flex; align-items:center; gap:14px; padding:10px 14px; min-height:66px; width:100%; border:1px solid #4a81905e; border-radius:8px; background:#0a1b25; color:#d6e4ea; text-align:left; cursor:pointer; }
.lap-entry-car .vehicle-usage-picture { width:88px; height:46px; flex:0 0 88px; }
.lap-entry-car>span:not(.vehicle-usage-picture) { flex:1; }
.lap-entry-car small { display:block; font-size:11px; color:#83a1b1; margin-top:5px; }
.lap-upload-progress { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; margin:16px 0; color:#6ed9da; font-size:12px; }
.lap-upload-progress progress { grid-column:1/-1; width:100%; accent-color:#49d2da; height:10px; }
.lap-map-preview { height:180px; border-radius:8px; overflow:hidden; background:#091822; display:grid; place-items:center; color:#86a7b8; margin-bottom:18px; }
.lap-map-preview img { max-width:100%; max-height:100%; object-fit:contain; }
.lap-map-form progress { width:100%; accent-color:#49d2da; }
.lap-video-player video { width:100%; max-height:68vh; display:block; background:#000; border-radius:9px; }
.lap-video-player>label { display:flex; align-items:center; justify-content:flex-end; gap:12px; font-size:13px; color:#a5bdc9; margin-top:14px; }
.lap-video-player select { width:100px; }
.lap-car-picker .vehicle-picker-results { max-height:50vh; overflow:auto; }
.lap-review-video { display:flex; justify-content:center; padding:14px; background:#091922; border-radius:8px; }
.lap-review-video .lap-pov { width:200px; height:112px; }
.lap-candidates { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0; color:#97afbc; font-size:12px; }
@media (max-width:900px) {
  .lap-track { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); }
  .lap-track-copy { padding:16px; }
  .lap-ranking-header { align-items:flex-start; flex-direction:column; }
  .lap-ranking-actions { justify-content:flex-start; }
  .lap-table { min-width:680px; }
}
@media (max-width:600px) {
  .hub-shell-v2 .hub-page-container:has(> .lap-challenge-page) { padding:20px 14px 36px; }
  .lap-challenge-page { gap:18px; }
  .lap-period { min-width:155px; padding:13px 16px; }
  .lap-period strong { font-size:14px; }
  .lap-track { grid-template-columns:1fr; }
  .lap-track-image,.lap-track-image>img,.lap-track-placeholder { min-height:180px; max-height:230px; }
  .lap-ranking,.lap-my-entry,.lap-review { padding:18px!important; }
  .lap-track-copy { padding:18px; gap:12px; }
  .lap-track-copy h2 { font-size:18px; }
  .lap-track-copy .kicker { font-size:9px; letter-spacing:.12em; }
  .lap-track-copy .lap-heading-row { gap:6px; }
  .lap-track-copy .lap-status { font-size:10px; padding:3px 5px; }
  .lap-period-title { max-width:100%; overflow-wrap:anywhere; font-size:12px; }
  .lap-description { font-size:13px; max-height:220px; }
  .lap-window { font-size:10px; line-height:1.5; }
  .lap-window small { font-size:9px; }
  .lap-window>span { display:grid; gap:0; }
  .lap-window b { display:none; }
  .lap-track-placeholder { font-size:10px; gap:10px; letter-spacing:.1em; padding:10px; text-align:center; }
  .lap-track-placeholder span { font-size:10px; }
  .lap-map-edit { left:8px; right:8px; bottom:8px; padding:5px; font-size:10px; }
  .lap-category-tabs { gap:3px; padding:4px; margin-bottom:16px; }
  .lap-category-tab { flex-direction:column; gap:4px; padding:10px 3px; }
  .lap-category-tab span { font-size:13px; }
  .lap-category-tab small { font-size:8px; letter-spacing:.03em; }
  .lap-ranking-actions { width:100%; }
  .lap-ranking-actions .btn { flex:1; min-width:100px; }
  .lap-table { min-width:0; display:block; }
  .lap-table thead { display:none; }
  .lap-table tbody { display:grid; gap:12px; }
  .lap-table tr { display:grid; grid-template-columns:52px 1fr 98px; gap:8px 10px; padding:14px; background:#07172180; border:1px solid var(--lap-line); border-radius:9px; align-items:center; }
  .lap-table td { padding:0; border:0; }
  .lap-table td:first-child { grid-row:1/3; }
  .lap-table td:nth-child(2) { grid-column:2; grid-row:1; }
  .lap-table td:nth-child(3) { grid-column:2; grid-row:2; }
  .lap-table td:nth-child(4) { grid-column:2/-1; grid-row:3; border-top:1px solid var(--lap-line); padding-top:10px; }
  .lap-table td:nth-child(5) { grid-column:3; grid-row:1/3; }
  .lap-table td[colspan] { grid-column:1/-1; }
  .lap-time { font-size:20px; }
  .lap-vehicle-cell .vehicle-usage-picture { width:64px; height:34px; flex-basis:64px; }
  .lap-form-grid { grid-template-columns:1fr; gap:0; }
  .lap-form-grid>div:empty { display:none; }
  .lap-own-summary { gap:10px; }
  .lap-own-summary>strong { width:100%; }
  .lap-review-list article { flex-wrap:wrap; }
  .lap-review-list article>div { flex-basis:calc(100% - 112px); }
  .lap-review-list article>.btn { width:100%; }
}
.lap-server-fallback{padding:14px;border:1px solid rgba(255,156,70,.5);border-radius:10px;background:rgba(255,156,70,.07);margin-top:12px}
.lap-reward-note { display:flex; flex-direction:column; gap:5px; padding:12px 14px; border-left:2px solid var(--lap-accent,#50c9ea); background:#091b2580; color:var(--text-secondary,#bdd0d9); font-size:12px; line-height:1.65; margin:0 0 18px; }
.lap-reward-note strong { color:#9de7f7; font-weight:600; }
.lap-settlement { padding:24px; }
.lap-settlement .lap-heading-row { flex-wrap:wrap; gap:12px; }
.lap-settlement h2 { font-size:20px; margin:0; }
.lap-settlement-form .lap-note { line-height:1.7; }
.lap-settlement-group { margin:20px 0; min-width:0; }
.lap-settlement-group h3 { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:16px; }
.lap-settlement-group h3 small { font-size:12px; font-weight:400; color:var(--text-secondary,#bdd0d9); }
.lap-settlement-table-wrap { max-height:320px; overflow:auto; }
.lap-settlement-table { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
.lap-settlement-table th,.lap-settlement-table td { padding:10px 7px; border-bottom:1px solid #ffffff15; text-align:left; overflow-wrap:anywhere; }
.lap-settlement-table th:first-child { width:40px; }
.lap-settlement-table th:last-child { width:45px; }
.lap-settlement-table small { display:block; margin-top:4px; color:var(--text-secondary,#bdd0d9); font-size:11px; }
@media(max-width:600px) { .lap-settlement { padding:18px; } .lap-settlement-table { font-size:12px; } .lap-settlement-table th,.lap-settlement-table td { padding:8px 4px; } .lap-settlement-table th:first-child { width:32px; } .lap-settlement-table th:last-child { width:36px; } }
.lap-server-fallback p{font-size:.86rem;line-height:1.65;color:var(--text-secondary,#bdd0d9);margin:0 0 10px}
.lap-server-fallback .btn{max-width:100%;white-space:normal}
.lap-admin-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.lap-admin-actions .btn { padding:7px 8px; font-size:12px; }
.lap-admin-actions .lap-admin-delete { color:#ffb4a1; }
.lap-table th.lap-admin-column { width:175px; }
.lap-table:has(.lap-admin-column) th:nth-child(5) { width:116px; }
.lap-admin-entry-form { min-width:0; }
.lap-admin-entry-form .field { min-width:0; }
.lap-admin-entry-form .input[readonly] { color:#a8bdc8; background:#091720; }
.lap-admin-identity { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:12px 14px; margin-bottom:16px; border:1px solid #365461; border-radius:6px; background:#10232e; overflow-wrap:anywhere; }
.lap-admin-identity span { color:#9bb4c1; font-size:12px; }
.lap-admin-video { margin-bottom:16px; }
.lap-admin-comparison { display:grid; grid-template-columns:94px minmax(0,1fr); gap:10px; margin:16px 0; font-size:13px; line-height:1.7; }
.lap-admin-comparison dt { color:#91adbc; }
.lap-admin-comparison dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.lap-admin-conflict { border:1px solid #ab8054; border-radius:7px; background:#8b581814; padding:14px; margin:16px 0; color:#eed3ae; font-size:13px; }
.lap-admin-conflict[hidden] { display:none; }
.lap-admin-conflict h3 { font-size:15px; }
.lap-entry-state { font-size:11px; padding:3px 6px; border-radius:4px; background:#287b7026; color:#8fe0c8; }
.lap-entry-state-pending { background:#946b202b; color:#e7c187; }
.lap-entry-state-rejected,.lap-rejected-note { color:#ffb4a1; }
.lap-entry-state-rejected { background:#9a44302a; }
.lap-management-list .lap-admin-actions { flex:0 1 auto; }
@media(max-width:900px) { .lap-table:has(.lap-admin-column) { min-width:850px; } }
@media(max-width:600px) {
  .lap-table:has(.lap-admin-column) { min-width:0; }
  .lap-table td.lap-admin-column { grid-column:1/-1; grid-row:4; border-top:1px solid var(--lap-line); padding-top:9px; }
  .lap-table .lap-admin-actions { justify-content:flex-end; }
  .lap-admin-actions .btn { min-height:44px; padding:9px 10px; }
  .lap-management-list .lap-admin-actions { flex-basis:100%; justify-content:flex-end; }
  .lap-admin-entry-form .modal-actions { gap:8px; flex-wrap:wrap; }
  .lap-admin-entry-form .modal-actions .btn { min-height:44px; flex:1 1 115px; white-space:normal; }
  .lap-admin-comparison { grid-template-columns:80px minmax(0,1fr); gap:8px; }
  .lap-admin-identity { align-items:flex-start; }
}
@media (max-width:380px) {
  .lap-table tr { grid-template-columns:minmax(0,1fr) 86px; gap:8px 10px; padding:12px; }
  .lap-table td:first-child { grid-column:1; grid-row:1; align-self:start; width:26px; }
  .lap-table td:nth-child(2) { grid-column:1; grid-row:1; padding-left:30px; }
  .lap-table td:nth-child(3) { grid-column:1; grid-row:2; }
  .lap-table td:nth-child(4) { grid-column:1/-1; grid-row:3; }
  .lap-table td:nth-child(5) { grid-column:2; grid-row:1/3; }
  .lap-table .lap-pov { width:86px; height:54px; }
  .lap-table .lap-time { font-size:19px; }
}
@media(max-width:600px) {
  .lap-table tr:has(> td.lap-empty[colspan]) { display:block; }
  .lap-table td.lap-empty[colspan] { display:block; width:100%; grid-column:1/-1; grid-row:auto; padding:24px 14px!important; text-align:center; }
}
