:root{
  --ui-font:"Roboto Condensed",Arial,sans-serif;
  --bg:#f4f4f3;
  --panel:#fff;
  --text:#171717;
  --muted:#777773;
  --line:#dededb;
  --line-dark:#c6c6c1;
  --dark:#161616;
  --red:#ed1c24;
  --red-dark:#c91018;
  --red-soft:#fff0f1;
  --warn:#d89a00;
  --warn-bg:#fff7da;
  --danger:#c73737;
  --shadow:0 14px 38px rgba(0,0,0,.075);
  --radius:14px;
}
*{box-sizing:border-box}
html,body,button,input,select,textarea,table,th,td,dialog{font-family:var(--ui-font)}
html{background:var(--bg)}
body{margin:0;font-family:var(--ui-font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{touch-action:manipulation}
.logo{display:block;object-fit:contain}
.eyebrow{margin:0 0 5px;font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--red);text-transform:uppercase}
.muted{color:var(--muted);margin:5px 0}.muted-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.tinytext{font-size:10px}.smalltext{font-size:12px}

/* Header */
.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:22px;position:sticky;top:0;z-index:40}
.brand-logo{display:flex;align-items:center;flex:0 0 auto}.brand-logo img{width:155px;height:auto;display:block}
.topbar-subtitle{font-size:12px;color:var(--muted);padding-left:20px;border-left:1px solid var(--line)}
.topbar-right{margin-left:auto}.competition-title{min-width:0;display:flex;flex-direction:column;gap:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.competition-title strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{margin-left:auto;display:flex;gap:7px;align-items:center}

/* Buttons */
.btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:9px;font-weight:800;cursor:pointer;transition:transform .12s,border-color .12s,background .12s;white-space:nowrap}
.btn:hover:not(:disabled){transform:translateY(-1px);border-color:#aaa}.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.primary:hover:not(:disabled){background:#000}.btn.ghost{background:#fff}.btn.small{padding:7px 10px;font-size:12px}.btn.tiny{padding:6px 8px;font-size:10px;border-radius:7px}.btn.wide{width:100%}.btn:disabled{opacity:.32;cursor:default;transform:none}.btn.warn-btn{background:var(--warn-bg);border-color:#ebd17a;color:#6c5000}
.icon-btn{border:0;background:transparent;font-size:21px;line-height:1;cursor:pointer;color:#777;padding:5px;border-radius:6px}.icon-btn:hover:not(:disabled){background:#f0f0ee;color:#111}.icon-btn:disabled{opacity:.3;cursor:default}.small-icon{font-size:17px;padding:4px}.danger-icon:hover{background:#fff0f0;color:var(--danger)}

.phone-link{display:flex;align-items:center;gap:8px;max-width:390px;overflow:hidden}.phone-dot{width:8px;height:8px;border-radius:50%;background:#38a169;box-shadow:0 0 0 3px #e7f6ec;flex:0 0 auto}.phone-url{font-weight:500;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.copy-label{color:var(--red);font-size:11px}

/* Home */
.container{max-width:1200px;margin:0 auto;padding:42px 24px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h1{margin:0;font-size:38px;letter-spacing:-1.5px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.competition-card,.empty-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:21px;min-height:155px;box-shadow:0 5px 20px rgba(0,0,0,.035);transition:.16s}.competition-card:hover{border-color:#bcbcb6;transform:translateY(-2px);box-shadow:var(--shadow)}.competition-card h3{margin:23px 0 16px;font-size:18px}.card-top{display:flex;justify-content:space-between}.card-date{font-size:11px;color:var(--muted)}.card-arrow{font-size:20px;color:var(--red)}.card-link{font-weight:800;font-size:12px}.empty-card{color:#555;display:grid;place-content:center;text-align:center}

/* Sessions navigation */
.session-bar-wrap{height:64px;display:flex;align-items:flex-end;gap:12px;padding:9px 390px 0 20px;background:#f7f7f6;border-bottom:1px solid var(--line);position:sticky;top:68px;z-index:30}
.session-bar-label{font-size:9px;font-weight:900;letter-spacing:.12em;color:#888;padding:0 1px 14px 2px}.session-bar{display:flex;gap:5px;align-items:end;overflow-x:auto;min-width:0;scrollbar-width:thin}.session-tab,.session-add{border:1px solid var(--line);border-bottom:0;background:#e8e8e5;padding:11px 16px;border-radius:9px 9px 0 0;cursor:pointer;white-space:nowrap;font-weight:800;font-size:12px;transition:.12s}.session-tab:hover{background:#efefed}.session-tab.active{background:#fff;padding-bottom:13px;border-color:#cececa;box-shadow:0 -3px 12px rgba(0,0,0,.02)}.session-tab.drop-target{background:var(--red-soft);border-color:var(--red);color:var(--red)}.session-add{font-size:20px;padding:7px 14px}.warn{color:var(--warn);margin-left:5px;font-size:12px}.warn-text{color:#a27000}.drop-hint{font-size:10px;color:#999;margin-left:auto;padding-bottom:13px;white-space:nowrap}

/* Main workspace */
.workspace{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(500px,.98fr);gap:14px;padding:14px 390px 72px 14px;transition:.2s}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:calc(100vh - 168px);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.02)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 18px 13px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:20px;letter-spacing:-.35px}.panel-head .muted{font-size:11px}.session-actions{display:flex;gap:6px;align-items:center}
.empty-state{padding:85px 24px;text-align:center;color:#888}.empty-state b{color:#555}.empty-icon{font-size:40px;color:#bbb;margin-bottom:12px}

/* Desktop upload */
.desktop-drop{margin:12px 14px 0;border:1px dashed #bdbdb8;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;background:#fafaf9;cursor:pointer;transition:.15s}.desktop-drop:hover,.desktop-drop.drag-over{border-color:var(--red);background:var(--red-soft)}.desktop-drop .drop-icon{width:30px;height:30px;border-radius:8px;background:#eee;display:grid;place-items:center;font-size:18px;font-weight:900}.desktop-drop>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.desktop-drop b{font-size:11px}.desktop-drop span{font-size:10px;color:#777}.desktop-drop .btn{margin-left:auto;pointer-events:none}

/* Tables */
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}th{position:sticky;top:0;background:#f6f6f4;text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#686865;z-index:2}td{padding:8px 10px;border-bottom:1px solid #ededeb;vertical-align:middle}.center{text-align:center;padding:34px}.place{font-weight:900}.pace{font-variant-numeric:tabular-nums;font-weight:800}.places{font-variant-numeric:tabular-nums;color:#666;white-space:nowrap}.cell-with-warn{display:flex;align-items:center}.cell-input{border:1px solid transparent;background:transparent;border-radius:5px;padding:4px 5px;width:88px;font-variant-numeric:tabular-nums}.cell-input:hover,.cell-input:focus{border-color:#bcbcbc;background:#fff;outline:none}.cell-input.kart{width:55px;font-weight:900}.switch input{display:none}.switch span{display:inline-block;width:34px;height:19px;border-radius:20px;background:#ccc;position:relative;cursor:pointer}.switch span:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.18)}.switch input:checked+span{background:#222}.switch input:checked+span:after{left:17px}.disabled-row{opacity:.35}.outlier-row{background:#fff9e6!important}.manual-row{display:flex;align-items:flex-end;gap:8px;padding:12px 18px;background:#f8f8f6;border-bottom:1px solid var(--line)}.manual-row>div{display:flex;flex-direction:column;gap:4px}.manual-row label{font-size:9px;font-weight:900;text-transform:uppercase;color:#777}.manual-row input{border:1px solid #cfcfcc;border-radius:8px;padding:8px;width:130px}

/* Rank */
.rank-panel{min-width:0}.selection-box{padding:13px 16px 15px;background:#fafaf9;border-bottom:1px solid var(--line)}.selection-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800}.selection-box input{width:58px;border:1px solid #bdbdb9;border-radius:6px;padding:6px;text-align:center;font-weight:900;background:#fff}.range-line{font-size:10.5px;color:#666;margin-top:10px}.selection-empty{font-size:11px;color:#888;padding:16px 0 4px}.selection-map-label{display:flex;justify-content:space-between;align-items:center;margin:12px 0 5px;color:#969691;font-size:8px;font-weight:900;letter-spacing:.07em}.selection-map-label span:nth-child(2){color:#666}.selection-track{height:46px;position:relative;border:1px solid #d2d2ce;border-radius:8px;background:#e7e7e4;overflow:hidden;cursor:pointer;user-select:none;touch-action:none}.selection-cells{position:absolute;inset:0;display:grid}.selection-cell{min-width:0;border-right:1px solid rgba(255,255,255,.65);display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;transition:.1s;background:#d8d8d4}.selection-cell span{font-size:8px;color:#777;font-weight:800;overflow:hidden}.selection-cell.on{background:#fff}.selection-cell.on span{color:#222}.selection-window{position:absolute;top:0;bottom:0;border:2px solid var(--red);background:rgba(237,28,36,.07);border-radius:7px;cursor:grab;z-index:3;box-shadow:0 0 0 1px rgba(255,255,255,.7) inset;transition:left .12s}.selection-window.dragging{cursor:grabbing;transition:none;background:rgba(237,28,36,.12)}.selection-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);font-size:18px;color:var(--red);font-weight:900;text-shadow:0 1px #fff}.rank-row{transition:.13s;cursor:pointer;opacity:.31;background:#f1f1ef}.rank-row:hover{opacity:.74;background:#fafafa}.rank-row.selected{opacity:1;background:#fff}.rank-row.selected td:first-child{box-shadow:inset 4px 0 0 var(--red)}.rank-row.excluded{opacity:.18;text-decoration:line-through;background:#eee}.rank-row.excluded td:first-child{box-shadow:none}.final-karts{padding:15px 16px 18px;border-top:1px solid #282828;background:#151515;color:#fff}.final-header{display:flex;align-items:center;justify-content:space-between}.final-header>div{display:flex;align-items:center;gap:8px}.final-label{font-size:9px;letter-spacing:.12em;color:#aaa;font-weight:900}.final-header b{font-size:13px}.final-range{font-size:9px;color:#aaa}.kart-numbers{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.kart-numbers span{font-size:18px;font-weight:950;background:#292929;border:1px solid #353535;border-radius:7px;padding:5px 8px;min-width:37px;text-align:center}.kart-numbers em{font-size:11px;color:#888}

/* Inbox - compact side rail with a horizontal row of pictures */
.inbox{position:fixed;right:14px;top:145px;width:360px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);z-index:35;overflow:hidden}.inbox-head{height:43px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.inbox-head>div{display:flex;align-items:center;gap:7px}.inbox-head strong{font-size:12px}.inbox-icon{font-size:15px;color:var(--red)}.inbox-head-right{margin-left:auto}.badge{background:#171717;color:#fff;border-radius:20px;padding:2px 7px;font-size:9px;font-weight:900}.chev{color:#777}.inbox-body{padding:8px;max-height:300px;overflow:hidden}.inbox-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.doc-card{flex:0 0 158px;border:1px solid var(--line);border-radius:9px;padding:6px;background:#fff;scroll-snap-align:start;cursor:grab}.doc-card[draggable="true"]:active{cursor:grabbing}.doc-card.processing{cursor:default}.doc-thumb{height:92px;position:relative;border-radius:6px;overflow:hidden;background:#eee;cursor:zoom-in}.doc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.doc-status{position:absolute;right:5px;top:5px;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:3px 6px;font-size:8px;font-weight:900}.doc-status.warning{color:#8b6400;background:#fff7d8}.doc-meta{display:flex;flex-direction:column;gap:2px;padding:6px 1px 5px;min-width:0}.doc-meta b{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta span{font-size:9px;color:#666}.doc-meta small{font-size:8px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-actions{display:flex;justify-content:space-between;align-items:center;gap:3px}.doc-actions>div{display:flex}.inbox-empty{padding:24px 12px;text-align:center;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#777}.inbox-empty span{font-size:9px}.inbox-tip{font-size:8.5px;color:#888;padding:4px 2px 1px}.dragging-doc .session-tab{outline:1px dashed #aaa;outline-offset:-3px}

/* Dialogs */
dialog{border:0;border-radius:15px;box-shadow:0 30px 90px rgba(0,0,0,.25);padding:0;max-width:min(94vw,720px);max-height:92vh;background:#fff;color:var(--text)}dialog::backdrop{background:rgba(0,0,0,.36);backdrop-filter:blur(1px)}.modal-form,.qr-modal,.kart-details{padding:22px;min-width:370px}.modal-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal-title h2{margin:0;font-size:21px}.modal-form label{font-size:10px;font-weight:850;display:block;margin:15px 0 6px}.modal-form input,.urlbox{width:100%;border:1px solid #c8c8c4;border-radius:8px;padding:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.qr-modal{text-align:center;width:430px}.qr-modal .modal-title{text-align:left}.qr-modal>img{width:215px;height:215px;background:#eee;margin:12px auto 5px}.urlbox{font-size:10px;word-break:break-all;margin:10px 0 14px;text-align:left;background:#f7f7f5}.alert{padding:9px 11px;border-radius:8px;margin:10px 0;font-size:10.5px}.alert.warning{background:var(--warn-bg);border:1px solid #edd47f;color:#674d00}.alert.danger{background:#ffe8e8;border:1px solid #e4a7a7;color:#792525}
.kart-details{width:min(760px,92vw)}.kart-details table{margin-top:14px}
.image-modal{padding:16px;width:min(1000px,94vw)}.image-modal .modal-title{margin-bottom:10px}.image-modal img{display:block;max-width:100%;max-height:78vh;margin:auto;object-fit:contain;background:#eee;border-radius:8px}

/* OCR review */
#importDialog{max-width:min(1120px,96vw);width:1120px}.import-review{padding:20px}.import-title{margin-bottom:10px}.import-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(480px,1.35fr);gap:14px;min-height:420px}.import-preview{background:#f1f1ef;border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.import-preview img{width:100%;max-height:520px;object-fit:contain;border-radius:6px;cursor:zoom-in}.import-preview span{font-size:8px;color:#888}
.ocr-preview-media{position:relative;width:100%;display:flex;align-items:flex-start;justify-content:center}
.ocr-reread-btn{position:absolute;top:10px;right:10px;width:42px;height:42px;border:1px solid rgba(23,23,23,.14);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.96);color:var(--dark);box-shadow:0 5px 16px rgba(0,0,0,.16);cursor:pointer;transition:transform .14s ease-out,background .14s ease-out,color .14s ease-out,box-shadow .14s ease-out;z-index:2}
.ocr-reread-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ocr-reread-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--dark);color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.22)}
.ocr-reread-btn:focus-visible{outline:3px solid rgba(237,28,36,.28);outline-offset:3px}
.ocr-reread-btn:disabled{cursor:wait;opacity:.8}
.ocr-reread-btn.is-loading svg{animation:ocr-reread-spin .8s linear infinite}
@keyframes ocr-reread-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ocr-reread-btn{transition:none}.ocr-reread-btn.is-loading svg{animation:none}}.import-table-area{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.import-note{padding:10px 12px;background:#f8f8f6;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.import-note b{font-size:10px}.import-note span{font-size:9px;color:#777}.review-table input[type="number"],.review-table input:not([type]){width:100%}.review-table .review-kart,.review-table .review-time{border:1px solid #c9c9c5;border-radius:6px;padding:6px;font-size:12px}.review-kart{width:76px!important}.review-time{width:110px!important;font-variant-numeric:tabular-nums}.review-warning{background:#fff9e6}.add-review-row{margin:9px 10px;align-self:flex-start}.import-actions{border-top:1px solid var(--line);padding-top:14px}

/* Login / phone */
.login-wrap,.phone-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:#f5f5f3}.login-card,.phone-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:30px;width:min(440px,100%)}.logo-login{width:260px;max-width:85%;margin-bottom:24px}.login-card h1,.phone-card h1{margin:0;font-size:27px;letter-spacing:-.7px}.login-card label{display:block;font-weight:800;font-size:10px;margin:21px 0 7px}.login-card input{width:100%;border:1px solid #bbb;border-radius:9px;padding:12px;margin-bottom:10px}.phone-card{text-align:left}.logo-phone{width:265px;max-width:88%;margin:0 0 24px}.camera-btn,.upload-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 14px;border-radius:12px;font-weight:900;margin-top:15px;cursor:pointer;text-align:center}.camera-btn{background:#171717;color:#fff;font-size:16px}.camera-btn:active{background:#000}.upload-btn{border:1px solid var(--line);background:#f7f7f5;font-size:13px}.phone-status{min-height:54px;margin-top:16px;color:#555;display:grid;place-items:center;text-align:center;font-size:12px}.phone-success{display:flex;flex-direction:column;gap:4px;color:#236a3a}.phone-success b{font-size:15px}

/* Spinner + toast */
.spinner{display:inline-block;width:14px;height:14px;border:2px solid #ccc;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:5px}.small-spin{width:9px;height:9px;border-width:1.5px;margin:0 3px 0 0}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#171717;color:#fff;padding:10px 14px;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.22);font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.18s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8f2525}

@media(max-width:1250px){
  .workspace{grid-template-columns:1fr;padding-right:14px}.panel{min-height:auto}.rank-panel{min-height:650px}
  .inbox{right:14px;bottom:14px;top:auto;width:min(440px,calc(100vw - 28px))}.inbox-body{max-height:220px}
  .session-bar-wrap{padding-right:20px}.drop-hint{display:none}.phone-url{display:none}
}
@media(max-width:760px){
  .topbar{padding:0 12px;height:62px}.brand-logo img{width:130px}.topbar-subtitle,.competition-title{display:none}.top-actions{gap:5px}.top-actions .btn:not(.phone-link){display:none}.phone-link{padding:8px 10px}.phone-link .copy-label{display:none}
  .session-bar-wrap{top:62px;height:58px;padding:7px 10px 0}.session-bar-label{display:none}.session-tab{padding:10px 12px}.workspace{padding:9px 9px 240px;display:block}.panel{border-radius:10px;margin-bottom:10px}.panel-head{padding:13px;align-items:flex-start}.panel-head h2{font-size:18px}.session-actions{flex-wrap:wrap;justify-content:flex-end}.session-actions .btn:nth-child(2){display:none}.desktop-drop{margin:9px}.desktop-drop span,.desktop-drop .btn{display:none}.manual-row{flex-wrap:wrap}.selection-topline{align-items:flex-start;flex-direction:column}.selection-cell span{display:none}.selection-track{height:34px}.rank-table table{min-width:580px}.session-table-wrap table{min-width:520px}.inbox{right:8px;bottom:8px;width:calc(100vw - 16px);border-radius:11px}.inbox-body{max-height:200px}.doc-card{flex-basis:145px}
  dialog{max-width:96vw}.modal-form,.qr-modal,.kart-details{min-width:0;width:92vw;padding:18px}#importDialog{width:96vw}.import-review{padding:13px}.import-grid{grid-template-columns:1fr;min-height:0}.import-preview{max-height:260px}.import-preview img{max-height:220px}.import-table-area{min-height:280px}.image-modal{width:96vw}.page-head{align-items:flex-start;flex-direction:column}.container{padding:28px 16px}.page-head h1{font-size:32px}.logo-login,.logo-phone{width:230px}
}

/* ===================== OPENKART V1.1 ===================== */
/* Login */
.login-card-clean{padding:34px 32px 32px}.login-card-clean .logo-login{margin-bottom:17px}.organizer-title{color:var(--red);font-size:20px;line-height:1;font-weight:950;letter-spacing:.075em;text-transform:uppercase;margin:0 0 26px}.login-form-clean input{margin:0 0 8px;padding:13px 14px;font-size:14px}.login-error{color:#b52626;font-size:11px;font-weight:800;margin:0 0 9px}

/* Home */
.home-topbar .brand-logo img,.app-topbar .brand-logo img{filter:none}.competition-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.competition-card-wrap{position:relative;min-height:180px}.competition-card-wrap .competition-card{display:block;height:100%;min-height:180px;padding:24px}.competition-card-wrap .competition-card h3{font-size:21px;margin:34px 0 0;padding-right:50px}.competition-delete{position:absolute;right:18px;bottom:17px;border:0;background:transparent;color:#999;font-size:11px;font-weight:800;cursor:pointer;padding:5px 7px;border-radius:6px}.competition-delete:hover{color:var(--danger);background:#fff0f0}

/* Competition header */
.competition-title strong{font-size:16px}.title-sep{color:#aaa;font-weight:500;padding:0 5px}

/* Race kart summary moved to the top */
.race-karts-summary{margin:14px 390px 0 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px rgba(0,0,0,.025);padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:18px;min-height:92px}.race-summary-empty{grid-column:1/-1;color:#999;font-size:11px;display:flex;align-items:center}.race-summary-group{min-width:0}.race-summary-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.race-summary-title span{font-size:10px;letter-spacing:.11em;font-weight:950;color:#666}.race-summary-title b{font-size:11px;background:#171717;color:#fff;border-radius:20px;padding:2px 7px}.race-kart-boxes{display:flex;gap:8px;flex-wrap:wrap}.race-kart-box{position:relative;display:grid;place-items:center;min-width:50px;height:44px;padding:0 10px;background:#f7f7f5;border:1px solid #d9d9d5;border-radius:9px;font-size:21px;font-weight:950;box-shadow:0 1px 3px rgba(0,0,0,.03)}.race-kart-box small{position:absolute;top:-6px;right:-5px;border-radius:12px;background:#ab7b00;color:#fff;font-size:8px;line-height:15px;width:15px;height:15px;text-align:center}.reserve-box{background:#fff3bd;border-color:#e2c764}.race-kart-boxes em{font-size:11px;color:#999;padding:10px 0}

/* Session table */
.place-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.row-delete{opacity:0;border:0;background:transparent;color:#aaa;cursor:pointer;font-size:17px;padding:0 4px;border-radius:5px}.session-table-wrap tr:hover .row-delete{opacity:1}.row-delete:hover{background:#fff0f0;color:var(--danger)}.not-counted{display:inline-block;margin-left:7px;font-size:8px;font-weight:900;color:#8a6b00;background:#fff4bd;border-radius:10px;padding:2px 5px}.clickable-warn{cursor:pointer}

/* Selection + reserve */
.selection-inputs{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.selection-inputs label{white-space:nowrap}.selection-cell.reserve{background:#f3d879}.selection-cell.reserve span{color:#5c4800}.range-highlight{margin-top:13px;display:flex;align-items:baseline;gap:10px}.range-highlight span{font-size:10px;letter-spacing:.1em;font-weight:950;color:#777}.range-highlight b{font-size:22px;letter-spacing:-.4px;color:#161616}.range-endpoints{display:flex;align-items:center;gap:12px;margin-top:5px;font-size:12px;color:#666}.range-endpoints b{font-size:14px;color:#222}.rank-legend{padding:9px 14px;background:#fffaf0;border-bottom:1px solid #eee0b0;color:#755c16;font-size:9.5px}.legend-warning{color:var(--warn);font-size:13px;margin-right:4px}.rank-row.reserve{opacity:.88;background:#fff8d9}.rank-row.reserve td:first-child{box-shadow:inset 4px 0 0 #d0a719}.rank-row.selected{opacity:1;background:#fff}.rank-kart-cell{display:flex;align-items:center;gap:5px;min-width:150px}.warning-button{border:0;background:transparent;color:var(--warn);font-size:13px;cursor:pointer;padding:2px}.reserve-tag{font-size:7.5px;letter-spacing:.04em;background:#f2d36a;color:#5d4900;border-radius:10px;padding:3px 5px;font-weight:950}.rank-exclude{margin-left:auto;border:0;background:transparent;color:#aaa;cursor:pointer;font-size:16px;padding:3px 5px;border-radius:5px}.rank-exclude:hover{background:#f1f1ef;color:#111}.kart-detail-actions{display:flex;justify-content:flex-end;margin-top:14px}

.manual-selection-box{padding-bottom:20px}.manual-selection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.manual-selection-head>div{display:flex;align-items:center;gap:10px}.manual-selection-head b{font-size:10px;letter-spacing:.09em}.manual-selection-head span{font-size:10px;font-weight:900;background:#171717;color:#fff;border-radius:20px;padding:3px 8px}.manual-kart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}.manual-kart-choice{height:46px;border:1px solid #d2d2ce;border-radius:8px;background:#e7e7e4;color:#777;font:950 18px inherit;cursor:pointer;transition:.12s}.manual-kart-choice:hover{border-color:#999;color:#222}.manual-kart-choice.selected{background:#fff;border:2px solid var(--red);color:#111;box-shadow:0 0 0 2px rgba(237,28,36,.08)}.manual-kart-choice:disabled{cursor:not-allowed;opacity:.55}

/* Inbox: always open, newest from top to bottom */
.inbox{top:145px;bottom:14px;width:360px;display:flex;flex-direction:column}.inbox-head{cursor:default;flex:0 0 43px}.inbox-body{display:block!important;max-height:none;overflow-y:auto;overflow-x:hidden;flex:1;padding:8px}.inbox-list{display:flex;flex-direction:column;gap:9px}.doc-card{flex:none;width:100%;display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;cursor:grab;padding:7px}.doc-thumb{grid-row:1/4;height:104px}.doc-meta{padding:1px 0 0}.doc-meta b{font-size:10px}.doc-meta span{font-size:9px}.doc-assign{display:flex;gap:5px;min-width:0}.doc-assign select{min-width:0;flex:1;border:1px solid #ccc;border-radius:6px;background:#fff;padding:5px;font-size:9px}.doc-actions{justify-content:flex-start;gap:5px}.btn.danger-soft{background:#fff2f2;color:#9c3131;border-color:#f0cccc}.inbox-tip{padding:8px 2px 2px}.chev{display:none}

/* Add timing modal */
#timingDialog{max-width:min(900px,95vw);width:900px}.timing-modal{padding:22px}.timing-modal-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;margin-top:14px}.timing-share{text-align:center;border-right:1px solid var(--line);padding-right:18px}.timing-share>img{width:205px;height:205px;background:#eee}.timing-upload{display:flex;align-items:stretch}.timing-dropzone{border:2px dashed #c5c5c0;border-radius:13px;background:#fafaf8;width:100%;min-height:310px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;cursor:pointer;transition:.15s}.timing-dropzone:hover,.timing-dropzone.drag-over{border-color:var(--red);background:var(--red-soft)}.timing-dropzone .drop-icon,.public-dropzone .drop-icon{width:46px;height:46px;border-radius:12px;background:#eee;display:grid;place-items:center;font-size:24px;font-weight:950}.timing-dropzone b{font-size:15px}.timing-dropzone span{font-size:10px;color:#777}.timing-dropzone .btn{margin-top:8px;pointer-events:none}

/* Public upload */
.upload-card{width:min(520px,100%)}.public-dropzone{margin-top:15px;border:2px dashed #c5c5c0;border-radius:12px;background:#fafaf8;padding:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;text-align:center;color:#555}.public-dropzone.drag-over{border-color:var(--red);background:var(--red-soft)}.public-dropzone b{font-size:12px}.public-dropzone span{font-size:10px;color:#888}.phone-success .btn{margin-top:12px}

/* OCR: larger original image */
#importDialog{max-width:min(1320px,97vw);width:1320px}.import-grid{grid-template-columns:minmax(560px,1.45fr) minmax(420px,.85fr);min-height:560px}.import-preview img{max-height:680px}.import-preview{justify-content:flex-start}.review-warning td{background:#fff9e6}.review-warning .review-kart,.review-warning .review-time{border-color:#d7ae31;background:#fffdf4}

@media(max-width:1250px){
  .race-karts-summary{margin-right:14px}.inbox{top:auto;bottom:14px;height:230px;width:min(460px,calc(100vw - 28px))}.inbox-body{max-height:none}.doc-card{grid-template-columns:90px minmax(0,1fr)}
}
@media(max-width:900px){
  .race-karts-summary{grid-template-columns:1fr}.timing-modal-grid{grid-template-columns:1fr}.timing-share{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.timing-dropzone{min-height:220px}.import-grid{grid-template-columns:1fr}.import-preview{max-height:390px}.import-preview img{max-height:350px}
}
@media(max-width:760px){
  .app-topbar .brand-logo img,.home-topbar .brand-logo img{width:135px}.app-topbar .competition-title{display:none}.top-actions .btn{display:inline-flex!important}.race-karts-summary{margin:9px 9px 0;padding:12px}.race-kart-box{min-width:45px;height:40px;font-size:18px}.workspace{padding-bottom:250px}.selection-inputs{align-items:flex-start;flex-direction:column;gap:8px}.range-highlight b{font-size:20px}.range-endpoints{font-size:11px}.rank-table table{min-width:520px}.inbox{height:220px}.doc-thumb{height:92px}.login-card-clean{padding:28px 24px}.organizer-title{font-size:17px}.competition-card-wrap,.competition-card-wrap .competition-card{min-height:155px}.competition-card-wrap .competition-card h3{font-size:19px}
}


/* Session source timing file */
.btn.source-btn{background:#fff7f7;border-color:#efb9bb;color:#a51218}.btn.source-btn:hover:not(:disabled){background:#fff0f1;border-color:var(--red);color:var(--red)}
#sourceDialog{width:min(1380px,97vw);max-width:1380px;height:min(900px,94vh);max-height:94vh;padding:0;overflow:hidden}
.source-viewer{height:100%;min-height:650px;display:flex;flex-direction:column;background:#fff}
.source-title{padding:16px 18px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.source-title h2{margin:0;font-size:20px}.source-filename{font-size:11px;max-width:650px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.source-title-actions{display:flex;align-items:center;gap:6px}.source-tabs{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f7f7f5;overflow-x:auto;flex:0 0 auto}.source-tab{border:1px solid #d0d0cc;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.source-tab.active{background:#171717;color:#fff;border-color:#171717}
.source-content{flex:1;min-height:0;background:#ededeb;display:flex;align-items:stretch;justify-content:center}.source-frame{width:100%;height:100%;min-height:650px;border:0;background:#fff}.source-image-wrap{width:100%;height:100%;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:18px}.source-image{display:block;max-width:100%;height:auto;box-shadow:0 4px 22px rgba(0,0,0,.12);background:#fff}
@media(max-width:760px){#sourceDialog{width:100vw;max-width:100vw;height:96vh;max-height:96vh}.source-viewer{min-height:0;height:96vh}.source-title{align-items:flex-start}.source-title-actions{flex-wrap:wrap;justify-content:flex-end}.source-title-actions .btn{display:none}.source-frame{min-height:0}.session-actions{flex-wrap:wrap;justify-content:flex-end}.btn.source-btn{order:-1}}

/* V1.1.2 UI polish */
.session-panel .panel-head h2{color:#111}
.section-eyebrow{font-size:13px;letter-spacing:.12em;margin-bottom:7px;color:var(--red)}
.review-number-head,.review-number{width:42px;text-align:center}
.review-number{font-weight:950;color:#333;font-variant-numeric:tabular-nums}
@media(max-width:760px){.section-eyebrow{font-size:12px}.review-number-head,.review-number{width:34px}}

/* OPENKART V2 alpha — race management foundation */
.hidden{display:none!important}
.module-nav{display:flex;gap:8px;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid #ececec;position:sticky;top:62px;z-index:15;overflow:auto}
.module-tab{border:0;background:#f3f3f3;border-radius:999px;padding:10px 16px;font-weight:800;font-size:12px;letter-spacing:.04em;white-space:nowrap;cursor:pointer;color:#333}
.module-tab.active{background:#111;color:#fff}
.module-tab.module-coming span{font-size:9px;font-weight:700;opacity:.55;margin-left:6px}
.module-page{display:none}
.module-page.active{display:block}
.registration-shell,.settings-shell,.future-module{max-width:1440px;margin:0 auto;padding:30px 28px 60px}
.archive-shell{max-width:1180px;margin:0 auto;padding:30px 28px 60px}.archive-filters{display:flex;gap:8px;margin:18px 0}.archive-filter{border:1px solid #d9d9d9;background:#fff;border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}.archive-filter.active{background:#161616;color:#fff;border-color:#161616}.archive-list{display:grid;gap:10px}.archive-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4e4e4;border-radius:10px;padding:14px 16px;box-shadow:0 3px 12px rgba(0,0,0,.04)}.archive-file-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#edf5ff;color:#1475d1;font-size:11px;font-weight:900}.archive-file-icon.excel{background:#eaf7ef;color:#208447}.archive-file-main{min-width:0;flex:1;display:grid;gap:4px}.archive-file-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-file-main span{font-size:12px;color:#777}.archive-status{font-size:11px;font-weight:900;color:#777}.archive-empty{padding:35px;background:#fff;border:1px dashed #ccc;border-radius:10px;text-align:center}.archive-inline-input{width:90px!important;min-width:70px;padding:7px!important}.archive-text-input{width:100%;min-width:150px;padding:7px}
.archive-target{width:max-content;max-width:100%;padding:4px 8px;border-radius:6px;background:#f0f0ed;color:#262626;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.archive-shell{max-width:1440px}.archive-table-wrap{overflow:auto}.archive-table{width:100%;min-width:920px;border-collapse:collapse}.archive-table th,.archive-table td{padding:13px 16px;text-align:left}.archive-table tbody tr:hover{background:#fafafa}.archive-file-cell{display:grid;gap:4px;max-width:390px}.archive-file-cell b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-file-cell span{color:#777;font-size:11px}.archive-target-select{width:100%;min-width:190px;height:40px;border:1px solid #cfcfcf;border-radius:8px;background:#fff;padding:0 34px 0 11px;font-weight:800;color:#222}.archive-target-select:hover{border-color:#999}.archive-target-select:focus-visible,.archive-filter:focus-visible{outline:3px solid rgba(207,16,27,.2);outline-offset:2px;border-color:#cf101b}.archive-target-text{font-weight:800;color:#333}.archive-empty{display:grid;gap:6px}.archive-empty span{color:#777;font-size:12px}.archive-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.archive-row-actions .btn{white-space:nowrap}
.registration-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.registration-head h1,.future-module h1,.settings-shell h1{margin:2px 0 4px;font-size:30px;color:#111}
.registration-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.registration-status{margin:12px 0}
.status-banner{border:1px solid #e5e5e5;background:#fafafa;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-banner.locked{background:#fff8f8;border-color:#f0cccc}
.participant-table-wrap{background:#fff;border:1px solid #e9e9e9;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.035)}
.participant-table table{min-width:1160px}
.participant-table th{font-size:11px;white-space:nowrap}
.participant-table td{vertical-align:middle}
.arrived-row{background:#fcfffc}
.dsq-last-row{background:#fff7f7}
.participant-order{white-space:nowrap}
.order-buttons{display:inline-flex;margin-left:8px;gap:3px}
.order-buttons button{border:1px solid #ddd;background:#fff;border-radius:5px;width:24px;height:24px;cursor:pointer}
.arrival-toggle{display:inline-flex;align-items:center;justify-content:center}
.arrival-toggle input{width:20px;height:20px;accent-color:#cf101b}
.participant-name{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-weight:800}
.driver-link{color:#111;text-decoration:none;border-bottom:1px solid #bbb}
.driver-link:hover{color:#cf101b;border-color:#cf101b}
.top20-chip,.warning-chip{font-size:9px;letter-spacing:.04em;border-radius:999px;padding:4px 7px;font-weight:900}
.top20-chip{background:#111;color:#fff}
.warning-chip{background:#fee8e8;color:#a20e15}
.category-list{display:block;color:#777;margin-top:3px}
.compact-cell-input{width:72px!important;min-width:58px;padding:7px 8px!important}
.amount-button{border:0;background:transparent;font-weight:900;font-size:14px;cursor:pointer;border-bottom:1px dashed #aaa;padding:2px 0}
.manual-price{display:block;color:#9a6c00;font-size:9px;margin-top:3px;text-transform:uppercase}
.payment-cell{min-width:178px}.payment-actions{display:flex;gap:5px;margin-top:5px}.mini-action{border:1px solid #ddd;background:#fff;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.mini-action:hover{border-color:#999}.paid-action{border-color:#b9d7ba}.pay-state{font-size:10px;font-weight:900;display:inline-block;padding:4px 7px;border-radius:999px}.pay-state.paid{background:#e8f6e8;color:#28632c}.pay-state.partial{background:#fff3cf;color:#7a5d00}.pay-state.unpaid{background:#f4f4f4;color:#666}
.payment-totals{display:flex;justify-content:flex-end;gap:12px;margin-top:14px;flex-wrap:wrap}.payment-totals>div{min-width:180px;border:1px solid #e8e8e8;border-radius:12px;padding:13px 16px;background:#fff}.payment-totals span{display:block;font-size:10px;color:#777;font-weight:800;letter-spacing:.06em}.payment-totals b{display:block;font-size:22px;margin-top:3px}.payment-totals .remaining{border-color:#efc3c3}.payment-totals .remaining b{color:#bf1119}
.participant-form .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-line{display:flex!important;align-items:center;gap:8px;margin-top:8px}.check-line input{width:auto!important}
.settings-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:22px;margin:0 0 16px}.settings-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.settings-card-head h2{margin:2px 0 0;color:#111}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px}.settings-grid label{font-size:11px;font-weight:800;color:#555}.settings-grid input,.settings-grid select,.settings-grid textarea{display:block;width:100%;margin-top:6px}.span-2{grid-column:span 2}.track-grid{grid-template-columns:1fr 1fr}
.future-module{max-width:900px}.future-module p{line-height:1.6}.race-plan-preview{margin-top:20px}.plan-card{border:1px solid #e4e4e4;background:#fff;border-radius:16px;padding:20px}.plan-card>span{font-size:11px;color:#777;font-weight:800}.plan-card>b{display:block;font-size:28px;margin:4px 0 14px}.plan-groups{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.plan-groups span{background:#f1f1f1;padding:7px 10px;border-radius:8px;font-weight:800;font-size:12px}.plan-card small{color:#777}
.published-btn{background:#e7f5e8!important;color:#226327!important;border-color:#bbdcbc!important}
.live-share-modal{width:min(760px,92vw);padding:4px}.live-share-grid{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center}.live-share-grid img{width:180px;height:180px}.inline-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.competition-track{margin:6px 0 0}.new-track-fields{border:1px solid #ececec;background:#fafafa;border-radius:10px;padding:12px;margin-top:8px}

/* Public LIVE */
.live-topbar{height:64px;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;padding:0 20px;gap:18px;position:sticky;top:0;z-index:20}.live-topbar img{height:32px;width:auto}.live-topbar>div{display:flex;align-items:center;gap:10px;min-width:0}.live-topbar strong{color:#cf101b;font-size:12px;letter-spacing:.08em}.live-topbar span{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-container{max-width:1060px;margin:0 auto;padding:22px 18px 70px}.live-unpublished{padding:70px 10px;text-align:center}.live-unpublished h1{font-size:34px;margin:7px 0}.live-now{display:flex;align-items:center;justify-content:space-between;border-radius:14px;background:#111;color:#fff;padding:14px 17px;margin-bottom:14px}.live-now span{display:block;font-size:9px;letter-spacing:.08em;opacity:.65}.live-now b{display:block;font-size:20px;margin-top:2px}.live-dot{background:#cf101b;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}.live-navigation{display:flex;justify-content:flex-end;margin-bottom:18px}.live-navigation label{font-size:10px;font-weight:800;color:#777}.live-navigation select{display:block;margin-top:5px;min-width:260px}.live-content{background:#fff;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden}.live-section-head{padding:20px 22px 12px}.live-section-head h1{margin:3px 0 2px;font-size:27px}.live-table-wrap{overflow:auto}.live-table-wrap table{width:100%;border-collapse:collapse}.live-table-wrap th,.live-table-wrap td{padding:12px 15px;border-top:1px solid #eee;text-align:left;white-space:nowrap}.live-table-wrap th{font-size:10px;letter-spacing:.06em;color:#777;background:#fafafa}.live-table-wrap td{font-size:14px}.live-table-wrap a{color:#111;font-weight:800;text-decoration:none;border-bottom:1px solid #bbb}.top20-public{font-size:9px;background:#111;color:#fff;border-radius:999px;padding:4px 7px}

@media(max-width:900px){.module-nav{top:58px;padding:10px 12px}.registration-shell,.settings-shell,.future-module{padding:20px 12px 50px}.registration-head{display:block}.registration-actions{justify-content:flex-start;margin-top:14px}.settings-grid,.track-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.live-share-grid{grid-template-columns:1fr}.live-share-grid img{margin:auto}.payment-totals{justify-content:stretch}.payment-totals>div{flex:1}.live-topbar span{max-width:58vw}}

@media print{.module-nav,.top-actions,.inbox,.registration-actions,.registration-status,.order-buttons,.payment-actions,.row-delete{display:none!important}.module-page{display:none!important}.module-page.active{display:block!important}.topbar{position:static!important}.registration-shell,.settings-shell{padding:0}.participant-table-wrap{border:0;box-shadow:none}.participant-table table{min-width:0;font-size:10px}.payment-totals{page-break-inside:avoid}}

/* ======================================================================
   OPENKART V2 ALPHA 2 — openkart.lv visual identity layer
   Public reference: openkart.lv (2026). Keeps the race-management UX
   purpose-built while matching the public site's red/black/white language.
   ====================================================================== */
:root{
  --ok-red:#ed1c24;
  --ok-red-dark:#c91219;
  --ok-black:#151515;
  --ok-ink:#252525;
  --ok-gray:#737373;
  --ok-line:#d7d7d7;
  --ok-line-soft:#e9e9e9;
  --ok-bg:#f4f4f4;
  --ok-paper:#fff;
  --red:var(--ok-red);
  --red-dark:var(--ok-red-dark);
  --dark:var(--ok-black);
  --text:var(--ok-ink);
  --muted:var(--ok-gray);
  --line:var(--ok-line);
  --bg:var(--ok-bg);
  --panel:var(--ok-paper);
  --radius:3px;
  --shadow:0 4px 16px rgba(0,0,0,.06);
}
html,body{background:var(--ok-bg)}
body{font-family:var(--ui-font);color:var(--ok-ink);font-size:14px}
h1,h2,h3,h4,.organizer-title,.module-tab,.btn,.eyebrow,.live-topbar strong,.card-link{font-family:var(--ui-font)}
a{transition:color .12s ease}
a:hover{color:var(--ok-red)}

/* OPENKART-like header: white field, hard red brand rule, no floating-card feel. */
.topbar,.live-topbar{background:#fff;border-top:5px solid var(--ok-red);border-bottom:1px solid #cfcfcf;box-shadow:none}
.topbar{height:82px;padding:0 30px;gap:26px}
.brand-logo img{width:235px;max-height:53px;object-fit:contain;object-position:left center}
.home-topbar .brand-logo img{width:260px}
.competition-title{border-left:1px solid #d7d7d7;padding-left:24px}
.competition-title strong{font-size:15px;letter-spacing:.01em;color:#3d3d3d}
.title-sep{color:#bbb;margin:0 5px}.top-actions{gap:8px}

/* Buttons follow the site's red call-to-action language. */
.btn{border-radius:2px;border-color:#cfcfcf;background:#fff;padding:10px 15px;font-size:12px;letter-spacing:.025em;text-transform:uppercase;box-shadow:none}
.btn:hover:not(:disabled){transform:none;border-color:#9e9e9e;background:#f7f7f7}
.btn.primary{background:var(--ok-red);border-color:var(--ok-red);color:#fff}
.btn.primary:hover:not(:disabled){background:var(--ok-red-dark);border-color:var(--ok-red-dark)}
.btn.ghost{background:#fff}.btn.small{padding:8px 12px;font-size:11px}.btn.tiny{border-radius:2px}
.icon-btn{border-radius:2px}.icon-btn:hover:not(:disabled){background:#ededed}

/* Typography hierarchy mirrors the public site: bold dark headings + red labels. */
.eyebrow,.section-eyebrow{color:var(--ok-red);font-size:11px;line-height:1;letter-spacing:.08em;font-weight:900}
.page-head h1,.registration-head h1,.future-module h1,.settings-shell h1,.live-section-head h1,.live-unpublished h1{
  font-weight:800;letter-spacing:-.015em;color:#222
}
.page-head h1{font-size:36px}.registration-head h1,.future-module h1,.settings-shell h1{font-size:32px}
.muted{color:#777}

/* Home is intentionally closer to openkart.lv content pages: centered, flat, ruled. */
.container{max-width:1120px;padding:40px 24px 70px}
.page-head{border-bottom:3px solid var(--ok-red);padding-bottom:18px;margin-bottom:24px}
.competition-cards{gap:0;border-top:1px solid #ccc}
.competition-card-wrap{border-bottom:1px solid #d5d5d5;background:#fff;position:relative}
.competition-card{border:0;border-radius:0;box-shadow:none;min-height:0;padding:20px 22px;display:grid;grid-template-columns:110px minmax(0,1fr) 30px;grid-template-rows:auto auto;column-gap:18px;align-items:center}
.competition-card:hover{transform:none;box-shadow:none;background:#fafafa;border-color:transparent}
.competition-card .card-top{display:contents}.competition-card .card-date{grid-column:1;grid-row:1/3;font-weight:700;color:#777;font-size:12px}
.competition-card h3{grid-column:2;grid-row:1;margin:0 0 5px;font-size:20px;color:#242424}
.competition-track{grid-column:2;grid-row:2;margin:0!important;font-size:12px}
.card-arrow{grid-column:3;grid-row:1/3;font-size:26px;color:var(--ok-red)}
.competition-delete{right:55px;bottom:15px;border-radius:2px}
.empty-card{border:1px solid #d5d5d5;border-radius:0;box-shadow:none;background:#fff}

/* Main module navigation: public-site-like textual nav with red active rule. */
.module-nav{top:82px;padding:0 30px;height:51px;gap:28px;border-bottom:1px solid #cfcfcf;background:#fff;box-shadow:none}
.module-tab{height:51px;padding:0 1px;border-radius:0;background:transparent;color:#444;font-size:12px;letter-spacing:.035em;position:relative}
.module-tab:hover{color:#111}.module-tab.active{background:transparent;color:#111}
.module-tab.active:after{content:"";position:absolute;height:4px;left:0;right:0;bottom:-1px;background:var(--ok-red)}
.module-tab.module-coming span{color:#999;opacity:1;font-size:8px}

/* Admin workspace: flat paper surfaces, red section rules, practical density. */
.registration-shell,.settings-shell,.future-module{max-width:1500px;padding-top:30px}
.registration-head{border-bottom:1px solid #d8d8d8;padding-bottom:16px;margin-bottom:18px}
.status-banner,.settings-card,.participant-table-wrap,.payment-totals>div,.plan-card,.race-karts-summary,.panel,.inbox{
  border-radius:2px;box-shadow:none
}
.status-banner{background:#fff;border-left:4px solid #999}
.status-banner.locked{border-left-color:var(--ok-red);background:#fff}
.participant-table-wrap{border-top:3px solid var(--ok-red)}
.participant-table th,th{background:#efefef;color:#4c4c4c;border-bottom:1px solid #cfcfcf;font-size:10px;letter-spacing:.035em}
td{border-bottom-color:#e4e4e4}.arrived-row{background:#fff}.arrived-row:hover,.participant-table tr:hover{background:#fafafa}
.top20-chip{border-radius:2px;background:#222}.warning-chip,.pay-state{border-radius:2px}
.driver-link{border-bottom:0;color:#222}.driver-link:hover{color:var(--ok-red);text-decoration:underline}
.arrival-toggle input{accent-color:var(--ok-red)}
.payment-totals>div{border-top:3px solid #999}.payment-totals .remaining{border-top-color:var(--ok-red);border-left:1px solid #e8e8e8}
.settings-card{border-top:3px solid #333}.settings-card-head h2{font-size:22px}

/* Practice & kart analysis keep the dense race-day layout, re-skinned only. */
.session-bar-wrap{top:133px;background:#ededed;border-bottom-color:#cfcfcf;height:60px}
.session-tab,.session-add{border-radius:2px 2px 0 0;background:#ddd;border-color:#c5c5c5}
.session-tab.active{background:#fff;border-top:3px solid var(--ok-red);padding-top:9px}
.race-karts-summary{border-top:3px solid var(--ok-red)}
.race-kart-box{border-radius:2px;background:#f6f6f6}.reserve-box{background:#fff5c8}
.panel-head{border-top:3px solid #222}.panel-head h2{font-size:21px}
.desktop-drop,.manual-row,.selection-track,.source-tab,.doc-card,.doc-thumb{border-radius:2px}
.inbox{border-top:3px solid var(--ok-red)}.inbox-icon{color:var(--ok-red)}
.selection-window{border-color:var(--ok-red);border-radius:2px}.selection-window,.selection-track{border-radius:2px}

/* Inputs/selects are intentionally plain, matching the older public site's restrained UI. */
input,select,textarea,.modal-form input,.urlbox,.settings-grid input,.settings-grid select,.settings-grid textarea{
  border-radius:2px!important;border-color:#bfbfbf!important;background:#fff;color:#222
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(237,28,36,.16);outline-offset:0;border-color:var(--ok-red)!important}

/* Dialogs */
dialog{border-radius:2px;border-top:5px solid var(--ok-red);box-shadow:0 18px 55px rgba(0,0,0,.24)}
dialog::backdrop{background:rgba(0,0,0,.46);backdrop-filter:none}
.modal-title{padding-bottom:12px;border-bottom:1px solid #ddd}.modal-title h2{font-size:24px}
.new-track-fields,.alert,.urlbox{border-radius:2px}

/* Login + public uploader: same OPENKART family rather than a generic SaaS card. */
.login-wrap,.phone-page{background:#ececec}
.login-card,.phone-card{border-radius:2px;border:1px solid #cfcfcf;border-top:6px solid var(--ok-red);box-shadow:0 5px 18px rgba(0,0,0,.08)}
.logo-login,.logo-phone{object-fit:contain;object-position:left center;height:auto}
.logo-login{width:330px;max-width:100%;margin-bottom:20px}.logo-phone{width:320px;max-width:100%;margin-bottom:20px}
.organizer-title{font-size:15px;color:#444;letter-spacing:.08em;border-top:1px solid #ddd;padding-top:16px;margin-bottom:20px}
.camera-btn,.upload-btn,.public-dropzone{border-radius:2px}.camera-btn{background:var(--ok-red)}.camera-btn:active{background:var(--ok-red-dark)}

/* LIVE.OPENKART.LV — deliberately closest to the public openkart.lv presentation. */
.live-topbar{height:91px;padding:0 max(20px,calc((100vw - 1100px)/2));gap:30px;position:sticky}
.live-topbar img{height:52px;max-width:285px;object-fit:contain;object-position:left center}
.live-topbar>div{border-left:1px solid #d5d5d5;padding-left:24px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.live-topbar strong{color:var(--ok-red);font-size:13px;letter-spacing:.08em}.live-topbar span{font-size:13px;color:#555}
.live-container{max-width:1100px;padding:30px 22px 80px}
.live-now{border-radius:0;background:#222;border-left:6px solid var(--ok-red);padding:14px 18px;margin-bottom:20px}
.live-now span{letter-spacing:.06em}.live-now b{font-size:19px}.live-dot{border-radius:2px;background:var(--ok-red)}
.live-navigation{border-bottom:1px solid #d4d4d4;padding-bottom:14px;margin-bottom:18px}.live-navigation label{color:#555}.live-navigation select{min-width:300px;padding:9px 34px 9px 10px}
.live-content{border-radius:0;border:0;background:transparent;overflow:visible}
.live-section-head{padding:0 0 14px;border-bottom:3px solid var(--ok-red)}
.live-section-head h1{font-size:30px;margin:4px 0}.live-table-wrap{background:#fff;border:1px solid #d6d6d6;border-top:0}
.live-table-wrap th{position:static;background:#eeeeee;color:#444;border-top:0;border-bottom:1px solid #c8c8c8;padding:10px 12px;font-size:10px}
.live-table-wrap td{padding:10px 12px;font-size:13px;border-top:0;border-bottom:1px solid #e1e1e1}
.live-table-wrap tr:nth-child(even) td{background:#fafafa}.live-table-wrap tr:hover td{background:#fff7f7}
.live-table-wrap a{color:#222;border-bottom:0;text-decoration:underline;text-decoration-color:#aaa;text-underline-offset:2px}.live-table-wrap a:hover{color:var(--ok-red);text-decoration-color:var(--ok-red)}
.top20-public{border-radius:2px;background:#222}.live-unpublished{background:#fff;border-top:5px solid var(--ok-red);padding:55px 30px;text-align:left}

/* Small screens */
@media(max-width:900px){
  .topbar{height:69px;padding:0 14px;border-top-width:4px}.brand-logo img{width:175px;max-height:42px}
  .module-nav{top:69px;height:48px;padding:0 14px;gap:20px}.module-tab{height:48px;font-size:11px}
  .session-bar-wrap{top:117px}
  .live-topbar{height:72px;padding:0 14px;border-top-width:4px}.live-topbar img{height:38px;max-width:200px}.live-topbar>div{padding-left:14px}.live-topbar span{max-width:44vw}
  .competition-card{grid-template-columns:80px minmax(0,1fr) 24px;padding:17px 14px;column-gap:10px}.competition-card h3{font-size:17px}
}
@media(max-width:620px){
  .home-topbar .brand-logo img{width:185px}.page-head{align-items:stretch}.page-head .btn{width:100%}
  .competition-card{grid-template-columns:1fr 24px;grid-template-rows:auto auto auto}.competition-card .card-date{grid-column:1;grid-row:1;margin-bottom:6px}.competition-card h3{grid-column:1;grid-row:2}.competition-track{grid-column:1;grid-row:3}.card-arrow{grid-column:2;grid-row:1/4}
  .live-topbar>div span{display:none}.live-topbar>div{border-left:0;padding-left:0;margin-left:auto}.live-navigation{justify-content:stretch}.live-navigation label,.live-navigation select{width:100%;min-width:0}
  .live-table-wrap table{min-width:650px}
}
@media print{
  body{background:#fff}.topbar{border-top:0}.participant-table-wrap,.live-table-wrap{border-color:#999}
}

/* OPENKART V2 ALPHA 3 — practice planning + adjusted kart analysis */
.practice-planner-shell{max-width:1500px;margin:0 auto;padding:24px 28px 0}
.practice-planner-card{background:#fff;border:1px solid #d8d8d8;border-top:3px solid var(--ok-red);padding:18px 20px}
.practice-planner-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.practice-planner-head h2{margin:3px 0 0;font-size:24px}
.practice-planner-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.publish-count{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;color:#555}
.publish-count input{width:58px;padding:9px 7px}
.practice-metrics{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:18px 0}
.practice-metrics>div{padding:12px 15px;border-right:1px solid #e1e1e1}.practice-metrics>div:last-child{border-right:0}
.practice-metrics span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#777;display:block}.practice-metrics b{font-size:23px;display:block;margin-top:3px}
.waitlist-box{padding-top:2px}.waitlist-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.waitlist-head>b{font-size:11px;letter-spacing:.04em}.waitlist-head>div{display:flex;gap:6px}.waitlist-head select{min-width:220px;padding:8px}
.waitlist-items{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.waitlist-items>span{border:1px solid #d6d6d6;background:#f7f7f7;padding:6px 8px;font-size:11px;font-weight:700}.waitlist-items button{border:0;background:transparent;cursor:pointer;margin-left:5px;color:#a00}
.practice-start-block,.practice-results-block{margin-top:18px}.practice-subhead{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #222;padding:0 0 8px;margin-bottom:0}.practice-subhead b{font-size:12px;letter-spacing:.05em}.practice-subhead span{font-size:11px;color:#777}.practice-start-table select,.result-driver{min-width:190px;padding:7px}.result-driver.unmapped{border-color:#ed1c24!important;background:#fff6f6}
.practice-empty-plan{padding:16px;border:1px dashed #bbb;background:#fafafa;color:#777;margin-top:14px}.assignment-driver{max-width:260px}
.rating-cell{display:flex;align-items:center;gap:4px}.rating-input{width:62px!important}.rating-sync{width:27px;height:27px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:16px;line-height:1}.rating-sync:hover{border-color:var(--ok-red);color:var(--ok-red)}
.rank-head-actions{display:flex;align-items:center;gap:10px}.mode-toggle{display:inline-flex;border:1px solid #bbb}.mode-toggle button{border:0;border-right:1px solid #bbb;background:#fff;padding:8px 11px;font-size:10px;font-weight:900;cursor:pointer}.mode-toggle button:last-child{border-right:0}.mode-toggle button.active{background:#222;color:#fff}
.confidence-chip,.test-status{display:inline-block;padding:5px 7px;border-radius:2px;font-size:9px;font-weight:900;letter-spacing:.03em}.confidence-chip.c-zems{background:#f1f1f1;color:#555}.confidence-chip.c-videjs{background:#fff1b8;color:#725900}.confidence-chip.c-augsts{background:#dff2df;color:#285e2a}.test-status{border:1px solid #ccc;background:#fff}.status-jateste{border-color:#e1a5a8;color:#a4151c;background:#fff4f4}.status-kandidats{border-color:#a9c9aa;color:#2e6330;background:#f2fbf2}.status-arpus-range{border-color:#d7aa65;color:#7b550e;background:#fff8e9}
@media(max-width:900px){.practice-planner-shell{padding:14px 12px 0}.practice-planner-head,.waitlist-head{display:block}.practice-planner-actions,.waitlist-head>div{justify-content:flex-start;margin-top:12px}.practice-metrics{grid-template-columns:1fr 1fr}.practice-metrics>div:nth-child(2){border-right:0}.waitlist-head select{min-width:0;max-width:230px}.rank-head-actions{align-items:flex-end;flex-direction:column}}

/* ======================================================================
   OPENKART V2 ALPHA 4 — qualification race-day workspace
   ====================================================================== */
.race-shell{max-width:1500px;margin:0 auto;padding:30px 26px 80px}
.race-module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #d5d5d5;padding-bottom:16px;margin-bottom:18px}
.race-module-head h1{margin:4px 0 3px;font-size:32px}.race-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.qualification-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 14px}.qualification-tab{border:1px solid #c9c9c9;background:#fff;padding:10px 18px;font-weight:800;cursor:pointer;border-radius:2px}.qualification-tab.active{border-color:var(--ok-red);background:var(--ok-red);color:#fff}.qualification-tab.stale:not(.active){border-color:#d8a400;background:#fff8d4}
.qualification-empty,.q-standings-card,.q-heat-card,.q-overall-card{background:#fff;border:1px solid #d8d8d8;border-top:3px solid #222;border-radius:2px;box-shadow:none}.qualification-empty{padding:28px}.qualification-empty h2{margin:0 0 6px}.qualification-stage-head{display:flex;align-items:center;justify-content:space-between;margin:10px 0 12px}.qualification-stage-head h2{font-size:29px;margin:2px 0 0}.qualification-stage-head small{font-size:9px;letter-spacing:.08em;color:#777}.q-status{font-size:10px;font-weight:900;letter-spacing:.06em;padding:7px 9px;border-radius:2px}.q-status.live{background:#111;color:#fff}.q-status.done{background:#e9f6e9;color:#246427}.q-status.draft{background:#eee;color:#555}.q-status.stale{background:#fff0b6;color:#7b5b00}
.q-standings-card{border-top-color:var(--ok-red);margin-bottom:18px}.q-overall-card{border-top-color:var(--ok-red);margin-top:20px}.q-heat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dedede}.q-heat-head h3{font-size:20px;margin:2px 0 0}.q-heat-head>span,.q-heat-head small{font-size:10px;color:#666}.q-heats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(550px,1fr));gap:14px}.q-heat-card.completed{border-top-color:#5d8a5d}.q-entry-table{min-width:760px}.q-entry-table th,.q-entry-table td{padding:8px 9px}.q-kart-input{width:62px;text-align:center;font-weight:900}.q-time-input{width:92px;font-variant-numeric:tabular-nums}.q-penalty{min-width:130px}.q-heat-actions{display:flex;justify-content:flex-end;padding:11px 14px;border-top:1px solid #eee}.q-waiting-row td{color:#9b9b9b;background:#fafafa}.q-kart-input.repeat-warning{background:#ffe0e0!important;border-color:#c00!important;color:#9c0000}.q-kart-input.invalid{border-color:#c00!important}.race-plan-preview .plan-card{margin-bottom:0}
@media(max-width:900px){.race-shell{padding:20px 12px 60px}.race-module-head{display:block}.race-head-actions{justify-content:flex-start;margin-top:12px}.q-heats-grid{grid-template-columns:1fr}.qualification-stage-head{align-items:flex-start}.q-entry-table{min-width:700px}}

/* ======================================================================
   OPENKART V2 ALPHA 5 — public OPENKART signup import
   ====================================================================== */
.openkart-import-btn{border-color:#d9a7a9!important;background:#fff8f8!important}
.openkart-import-btn:hover{border-color:var(--ok-red)!important;color:var(--ok-red)!important}
.openkart-import-modal{width:min(960px,92vw);padding:22px}
.openkart-import-modal>p{margin:14px 0 16px;max-width:780px;line-height:1.5}
.openkart-import-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.openkart-import-url-row input{min-width:0;padding:11px 12px}
.openkart-import-status{margin-top:14px}
.openkart-import-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));border:1px solid #d6d6d6;border-top:3px solid var(--ok-red);background:#fff}
.openkart-import-summary>div{padding:11px 13px;border-right:1px solid #e1e1e1}.openkart-import-summary>div:last-child{border-right:0}
.openkart-import-summary span{display:block;font-size:9px;font-weight:900;letter-spacing:.05em;color:#777}.openkart-import-summary b{display:block;font-size:20px;margin-top:3px}
.openkart-import-loading{padding:12px;border:1px solid #ddd;background:#fafafa;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.openkart-import-preview{margin-top:12px;max-height:440px;overflow:auto;border-top:3px solid #222}
.openkart-import-table{min-width:650px}.openkart-import-table th,.openkart-import-table td{padding:9px 10px}
.import-new,.import-existing,.profile-missing{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.04em;padding:5px 7px;border-radius:2px}
.import-new{background:#e6f5e6;color:#246427}.import-existing{background:#eee;color:#555}.profile-missing{background:#fff1b8;color:#725900}
@media(max-width:720px){.openkart-import-url-row{grid-template-columns:1fr}.openkart-import-summary{grid-template-columns:1fr 1fr}.openkart-import-summary>div:nth-child(2){border-right:0}.registration-actions{gap:6px}.openkart-import-modal{padding:16px}}

/* Alpha 6 — championship-driven participant list + driver detail sheet */
.participant-name-stack{display:flex;flex-direction:column;gap:2px;min-width:0}
.participant-name-stack>div{display:flex;align-items:center;gap:6px;min-width:0}
.driver-detail-link{border:0;background:transparent;padding:0;color:#151515;font:inherit;font-weight:850;cursor:pointer;text-align:left;border-bottom:1px solid transparent}
.driver-detail-link:hover{color:var(--ok-red);border-bottom-color:var(--ok-red)}
.driver-profile-jump{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid #d8d8d8;border-radius:3px;color:#777;text-decoration:none;font-size:12px;font-weight:900;background:#fff}
.driver-profile-jump:hover{border-color:var(--ok-red);color:var(--ok-red)}
.participant-standing-inline{display:block;font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.015em;color:#777;text-transform:none}
.participant-standing-inline.unranked{color:#aaa;font-weight:700}
.participant-details-form{width:min(780px,92vw)}
.participant-standing-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d8d8d8;border-top:3px solid var(--ok-red);margin:4px 0 16px;background:#fff}
.participant-standing-card>div{padding:12px 14px;border-right:1px solid #e6e6e6}.participant-standing-card>div:last-child{border-right:0}
.participant-standing-card span{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;color:#777}.participant-standing-card b{display:block;font-size:21px;line-height:1.1;margin-top:4px;color:#111}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.profile-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.participant-detail-checks{display:flex;flex-wrap:wrap;gap:10px 18px;padding:9px 0 3px}
.participant-detail-checks .check-line{margin:0}
.participant-details-meta{font-size:10px;color:#777;border-top:1px solid #e4e4e4;padding-top:10px;margin-top:9px}
.warning-text{color:#a20c14;font-weight:800}
@media(max-width:720px){.form-grid-3{grid-template-columns:1fr}.participant-standing-card{grid-template-columns:1fr 1fr}.participant-standing-card>div{border-bottom:1px solid #e6e6e6}.profile-edit-row{grid-template-columns:1fr}.participant-details-form{width:94vw}}

/* === V2 Alpha 7 / Home-screen practical visual pass === */
.home-container{padding-top:12px}
.home-page-head{align-items:flex-end;padding-bottom:20px;margin-bottom:26px}
.home-page-head>div{display:flex;flex-direction:column;gap:2px}
.home-organizer-title{
  margin:0 0 2px;
  font-size:30px;
  line-height:1;
  letter-spacing:.035em;
  font-weight:900;
  color:var(--ok-red);
}
.home-page-head h1{font-size:39px;line-height:1.02;margin:0}
.home-add-competition{
  width:64px;
  height:64px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-family:var(--ui-font);
  font-size:42px;
  line-height:1;
  font-weight:400;
}

.competition-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:24px;
  border:0;
}
.competition-card-wrap{
  position:relative;
  min-height:188px;
  overflow:hidden;
  border:1px solid #d1d1cd;
  border-radius:14px;
  background:#e9e9e6;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.competition-card-wrap:hover{
  background:#fff;
  border-color:#b9b9b4;
  box-shadow:0 10px 26px rgba(0,0,0,.07);
  transform:translateY(-1px);
}
.competition-card-wrap .competition-card{
  display:block;
  min-height:142px;
  height:auto;
  padding:23px 23px 12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.competition-card-wrap .competition-card:hover{background:transparent;transform:none;box-shadow:none}
.competition-card-wrap .competition-card .card-top{display:flex;align-items:center;justify-content:flex-start;gap:7px}
.competition-card-wrap .competition-card .card-date{font-size:12px;font-weight:700;color:#6d6d69}
.competition-card-wrap .competition-card .card-arrow{font-size:20px;color:var(--ok-red)}
.competition-card-wrap .competition-card h3{margin:28px 0 2px;padding:0;font-size:21px;line-height:1.05;color:#202020}
.competition-card-wrap .competition-track{font-size:12px;margin:0!important;color:#777}
.competition-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  padding:0 20px 15px;
}
.competition-actions form{margin:0}
.competition-action{
  appearance:none;
  -webkit-appearance:none;
  position:static;
  border:0;
  background:transparent;
  padding:3px 0;
  color:#72726e;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.025em;
  cursor:pointer;
  text-transform:uppercase;
  transition:color .12s ease;
}
.competition-action:hover{background:transparent}
.competition-edit:hover{color:#d99b00}
.competition-delete:hover{color:var(--ok-red);background:transparent}
.empty-card{border-radius:14px;min-height:160px;background:#e9e9e6}

.competition-form{width:min(520px,92vw)}
.competition-form .modal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.competition-form .modal-title h2{margin:0}
.inline-add-link{
  align-self:flex-start;
  border:0;
  background:transparent;
  color:#777;
  padding:3px 0 7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
}
.inline-add-link:hover{color:var(--ok-red)}
.inline-create-fields{
  border:1px solid #d8d8d5;
  border-left:3px solid var(--ok-red);
  background:#f5f5f3;
  padding:13px;
  margin:0 0 4px;
}
.round-input-row{display:grid;grid-template-columns:minmax(0,150px) auto;align-items:center;gap:10px}
.round-input-row span{font-weight:800;color:#555}
.competition-form label{margin-top:8px}
.competition-form .modal-actions{margin-top:20px}

@media(max-width:700px){
  .home-container{padding-top:16px}
  .home-page-head{flex-direction:row;align-items:flex-end;gap:12px}
  .home-organizer-title{font-size:18px}
  .home-page-head h1{font-size:34px}
  .home-add-competition{width:50px;height:50px;font-size:32px;flex:0 0 auto}
  .competition-cards{grid-template-columns:1fr;gap:14px}
}
@media(max-width:700px){
  .home-page-head .home-add-competition{width:50px;height:50px}
}

/* === V2 Alpha 7.2 / Home grid, filters and header organizer === */
.home-topbar{gap:28px}
.home-header-organizer{
  display:flex;
  align-items:center;
  min-height:42px;
  padding-left:28px;
  border-left:1px solid #d4d4d1;
  color:var(--ok-red);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-page-head{margin-bottom:16px}
.home-filters{
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin:0 0 24px;
}
.home-filters label{display:flex;flex-direction:column;gap:6px;min-width:210px}
.home-filters label>span{font-size:10px;font-weight:900;letter-spacing:.075em;color:#676763}
.home-filters select{
  height:42px;
  padding:0 36px 0 12px;
  border:1px solid #cfcfcb;
  border-radius:9px;
  background:#fff;
  color:#222;
  font-size:13px;
  font-weight:700;
}
.home-filters select:focus{outline:2px solid rgba(237,28,36,.16);border-color:var(--ok-red)}
.competition-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.competition-card-wrap[hidden]{display:none!important}

@media(max-width:1050px){
  .competition-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-header-organizer{font-size:24px;padding-left:20px}
}
@media(max-width:700px){
  .home-topbar{gap:12px}
  .home-header-organizer{font-size:15px;padding-left:12px;min-height:30px;white-space:normal}
  .home-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .home-filters label{min-width:0}
  .competition-cards{grid-template-columns:1fr}
}
@media(max-width:480px){
  .home-filters{grid-template-columns:1fr}
}


/* === V2 Alpha 7.4 / bottom incoming-files drawer === */
/* The incoming timing inbox no longer reserves a right-hand rail. */
#module-practice .workspace{padding-right:14px;padding-bottom:92px}
#module-practice .race-karts-summary{margin-right:14px}

.inbox-drawer{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:min(1180px,calc(100vw - 32px));
  z-index:46;
  border:1px solid #cfcfcb;
  border-top:3px solid var(--ok-red);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 42px rgba(0,0,0,.16);
  overflow:hidden;
}
.inbox-drawer-toggle{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:48px;
  padding:0 16px;
  border:0;
  background:#f0f0ed;
  color:#222;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  font:inherit;
  transition:background .14s ease;
}
.inbox-drawer-toggle:hover{background:#e7e7e3}
.inbox-drawer-title,.inbox-drawer-meta{display:flex;align-items:center;gap:9px}
.inbox-drawer-title strong{font-size:13px;letter-spacing:.035em}
.inbox-drawer .inbox-icon{font-size:15px;color:var(--ok-red)}
.inbox-drawer .badge{min-width:25px;text-align:center;background:#1c1c1c;color:#fff;border-radius:18px;padding:3px 8px;font-size:10px;font-weight:900}
.inbox-drawer.has-files .badge{background:var(--ok-red)}
.inbox-file-label{font-size:10px;font-weight:800;color:#73736e;text-transform:uppercase;letter-spacing:.045em}
.inbox-chevron{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #d4d4d0;font-size:20px;line-height:1;font-weight:800;color:#333}
.inbox-drawer-panel{
  max-height:0;
  opacity:0;
  overflow:hidden;
  background:#fff;
  transition:max-height .24s ease,opacity .16s ease;
}
.inbox-drawer.open .inbox-drawer-panel{max-height:min(430px,58vh);opacity:1;border-top:1px solid #d8d8d4}
.inbox-drawer-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 16px 9px}
.inbox-drawer-panel-head>div{display:flex;flex-direction:column;gap:2px}
.inbox-drawer-panel-head b{font-size:12px}
.inbox-drawer-panel-head span{font-size:9.5px;color:#7a7a76}
.inbox-close{flex:0 0 auto}
.inbox-drawer .inbox-body{padding:4px 16px 14px;max-height:min(360px,48vh);overflow:auto;display:block!important}
.inbox-drawer .inbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px;padding:0 2px 2px}
.inbox-drawer .doc-card{width:auto;min-width:0;display:flex;flex-direction:column;gap:5px;padding:7px;border:1px solid #d9d9d5;border-radius:10px;background:#fff;cursor:grab}
.inbox-drawer .doc-card:hover{border-color:#bdbdb8;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.inbox-drawer .doc-thumb{height:112px;grid-row:auto;border-radius:7px}
.inbox-drawer .doc-meta{padding:2px 1px 1px}
.inbox-drawer .doc-meta b{font-size:10px}
.inbox-drawer .doc-assign{display:flex;gap:5px;min-width:0}
.inbox-drawer .doc-assign select{min-width:0;flex:1;border:1px solid #ccc;border-radius:6px;background:#fff;padding:5px;font-size:9px}
.inbox-drawer .doc-actions{justify-content:flex-start;gap:5px}
.inbox-drawer .inbox-tip{grid-column:1/-1;padding:7px 2px 0;font-size:9px;color:#888}
.inbox-drawer .inbox-empty{padding:38px 16px 42px}

@media(max-width:900px){
  #module-practice .workspace{padding-right:12px;padding-bottom:86px}
  #module-practice .race-karts-summary{margin-right:12px}
  .inbox-drawer{bottom:9px;width:calc(100vw - 18px);border-radius:12px}
  .inbox-drawer.open .inbox-drawer-panel{max-height:64vh}
  .inbox-drawer .inbox-body{max-height:54vh;padding:4px 10px 12px}
  .inbox-drawer .inbox-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .inbox-drawer-panel-head{padding:11px 12px 8px}
}
@media(max-width:560px){
  .inbox-drawer-toggle{height:46px;padding:0 12px}
  .inbox-drawer-title strong{font-size:11px}
  .inbox-file-label{display:none}
  .inbox-drawer .inbox-list{grid-template-columns:1fr}
  .inbox-drawer .doc-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:7px}
  .inbox-drawer .doc-thumb{grid-row:1/4;height:104px}
  .inbox-drawer .doc-meta{padding-top:1px}
  .inbox-drawer .doc-actions{grid-column:2}
  .inbox-drawer .doc-assign{grid-column:2}
}

/* === V2 Alpha 8 / OPENKART Driver Rating + Semifinals === */
.rating-cell{display:flex;align-items:center;gap:6px;min-width:112px}
.rating-confidence{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d3d3cf;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900;letter-spacing:.035em;white-space:nowrap;background:#f4f4f1;color:#555}
.participant-rating-info{margin:10px 0 16px;padding:12px 14px;border:1px solid #d7d7d3;border-radius:10px;background:#f7f7f4}
.rating-info-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rating-info-head>span:first-child{font-size:9px;font-weight:900;letter-spacing:.08em;color:#888}
.rating-info-head>b{font-size:12px}
.rating-info-head small{color:#777}
.rating-history-mini{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.rating-history-mini span{border:1px solid #d8d8d4;border-radius:7px;padding:5px 8px;background:#fff;font-size:10px}
.sf-shell{margin-top:28px;padding-top:22px;border-top:3px solid #1b1b1b}
.sf-card{border-top-color:#1b1b1b}
.final-seed-preview{margin-top:18px}
.alert.info{background:#f4f4f1;border:1px solid #d7d7d3;color:#333}

/* === V2 Alpha 10.2 / event Teams + public Fantasy + PWA === */
.teams-shell,.fantasy-admin-shell{max-width:1480px;margin:0 auto;padding:30px 28px 70px}.team-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.team-admin-card,.empty-admin-card,.unassigned-team-card,.admin-panel,.fantasy-admin-link{background:#fff;border:1px solid #d8d8d5;border-top:3px solid #1d1d1d;padding:17px}.team-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.team-admin-card h3{margin:3px 0;font-size:21px}.team-admin-card-head small{color:#777}.team-card-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-action.danger{color:#9c1520}.team-member-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:48px;margin:16px 0}.team-member-chips span{border:1px solid #d9d9d5;background:#f7f7f4;padding:6px 8px;font-size:11px;font-weight:700}.team-member-chips em{font-size:11px;color:#888}.empty-admin-card{display:flex;flex-direction:column;gap:4px;min-height:130px;justify-content:center}.empty-admin-card span,.unassigned-team-card span{color:#777}.unassigned-team-card{margin-top:16px;border-top-color:#aaa;display:flex;gap:14px;align-items:flex-start}.team-members-modal{width:min(720px,calc(100vw - 30px));padding:22px}.team-members-list{max-height:55vh;overflow:auto;border-top:1px solid #ddd;margin-top:15px}.team-member-option{display:flex;align-items:center;gap:10px;padding:11px 5px;border-bottom:1px solid #eee;cursor:pointer}.team-member-option input{width:18px;height:18px}.team-member-option span{display:flex;flex-direction:column}.team-member-option small{color:#888;margin-top:2px}
.fantasy-admin-head{align-items:flex-start}.fantasy-admin-settings{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #d8d8d5;border-top:3px solid var(--ok-red);padding:15px;margin-bottom:13px}.fantasy-setting-card{display:flex;flex-direction:column;gap:5px;min-width:120px}.fantasy-setting-card>label,.fantasy-setting-card>span{font-size:10px;font-weight:800;color:#666;text-transform:uppercase;letter-spacing:.04em}.fantasy-setting-card input{height:37px}.dollar-field{display:flex;border:1px solid #ccc;background:#fff;height:37px}.dollar-field span{display:grid;place-items:center;padding:0 10px;background:#f2f2ef;border-right:1px solid #ddd;font-weight:900}.dollar-field input{border:0;min-width:85px}.fantasy-open-toggle{flex-direction:row;align-items:center;gap:10px;height:37px;padding:0 10px;border:1px solid #ddd;min-width:auto}.fantasy-open-toggle input{width:18px;height:18px}.fantasy-admin-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top-color:#aaa;margin-bottom:13px}.fantasy-admin-link>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.fantasy-admin-link b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fantasy-admin-link>div:last-child{display:flex;gap:6px}.fantasy-admin-two{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:13px;margin-bottom:13px}.admin-panel{padding:0;border-top-color:#1d1d1d}.admin-panel-head{padding:16px 16px 10px}.admin-panel-head h2{margin:3px 0 0}.admin-panel-head.compact{padding-bottom:6px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-top:1px solid #e5e5e2;padding:9px 11px;text-align:left;white-space:nowrap}.admin-table th{background:#f6f6f3;color:#666;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.admin-table td{font-size:11px}.subline{display:block;color:#888;font-weight:400;margin-top:2px}.table-empty{text-align:center!important;color:#888;padding:30px!important}.fantasy-admin-board-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:9px 16px;border-top:1px solid #eee}.fantasy-admin-board-row>strong{color:var(--ok-red)}.board-divider{height:8px;background:#f3f3f0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.fantasy-price-panel{margin-top:0}.fantasy-price-cell{display:flex;flex-direction:column}.fantasy-price-cell>b{font-size:14px;color:var(--ok-red)}.fantasy-price-cell small{font-size:8px;color:#888;text-transform:uppercase}.compact-dollar-input,.compact-score-input{width:72px;min-width:0;padding:6px!important;font-size:10px!important}.fantasy-share-inline{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-top:1px solid #ddd;margin-top:18px;padding-top:16px}.fantasy-share-inline>div:first-child{flex:1;min-width:0}
/* Public Fantasy deliberately uses the same hard-edged OPENKART visual language, not a second admin design. */
.fantasy-public-page,.fantasy-auth-page{min-height:100vh;background:#f2f2ef}.fantasy-public-topbar{height:82px;background:#fff;border-top:5px solid var(--ok-red);border-bottom:1px solid #ccc;display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1180px)/2));gap:24px;position:sticky;top:0;z-index:30}.fantasy-public-topbar img{width:220px;max-height:50px;object-fit:contain;object-position:left}.fantasy-public-topbar>a{display:flex;align-items:center}.fantasy-public-topbar>div:not(.fantasy-public-actions){border-left:1px solid #d4d4d4;padding-left:22px;display:flex;flex-direction:column;min-width:0}.fantasy-public-topbar strong{color:var(--ok-red);font-size:12px;letter-spacing:.08em}.fantasy-public-topbar span{font-size:12px;font-weight:800;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fantasy-public-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.fantasy-public-actions form{margin:0}.fantasy-public-wrap{max-width:1180px;margin:0 auto;padding:26px 18px 70px}.fantasy-hero{background:#171717;color:#fff;border-top:5px solid var(--ok-red);display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding:25px 28px;margin-bottom:16px}.fantasy-hero.compact{align-items:center}.fantasy-hero .eyebrow{color:#ff4d55}.fantasy-hero h1{font-size:36px;margin:4px 0 8px}.fantasy-hero p{max-width:720px;line-height:1.5;color:#ccc;margin:0}.fantasy-hero-cta,.leaderboard-tabs{display:flex;gap:7px;flex-wrap:wrap}.fantasy-hero .btn.ghost{background:transparent;color:#fff;border-color:#777}.fantasy-message,.fantasy-closed{padding:12px 14px;border:1px solid #e2bd73;background:#fff7e8;margin-bottom:13px;font-weight:700}.fantasy-message.error{border-color:#d88;background:#fff0f0;color:#8e1616}.fantasy-budget-strip{display:grid;grid-template-columns:1.3fr repeat(4,1fr);background:#fff;border:1px solid #d5d5d2;border-top:3px solid var(--ok-red);margin-bottom:16px}.fantasy-budget-strip>div{padding:11px 14px;border-right:1px solid #e2e2df;display:flex;flex-direction:column}.fantasy-budget-strip>div:last-child{border-right:0}.fantasy-budget-strip span{font-size:9px;color:#777;text-transform:uppercase;letter-spacing:.05em}.fantasy-budget-strip b{font-size:17px;margin-top:2px}.fantasy-public-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.fantasy-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.fantasy-section-head h2{margin:3px 0 0}.fantasy-section-head>span{color:#777;font-size:11px}.fantasy-section-head>a{font-size:11px;font-weight:800;color:var(--ok-red)}.fantasy-driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fantasy-driver-card{background:#fff;border:1px solid #d8d8d5;border-top:3px solid #222;padding:15px;transition:border-color .12s}.fantasy-driver-card.picked{border-top-color:var(--ok-red);box-shadow:inset 0 0 0 1px var(--ok-red)}.fantasy-driver-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fantasy-driver-card-top h3{margin:4px 0 2px;font-size:19px}.fantasy-driver-card-top small{color:#777}.fantasy-driver-card-top>strong{font-size:24px;color:var(--ok-red)}.fantasy-driver-rating{font-size:8px;font-weight:900;background:#222;color:#fff;padding:3px 5px;letter-spacing:.04em}.fantasy-driver-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0 12px}.fantasy-driver-meta span{background:#f5f5f2;border:1px solid #e0e0dc;padding:7px;text-align:center;font-size:8px;color:#777;text-transform:uppercase}.fantasy-driver-meta b{display:block;color:#333;font-size:12px;margin-top:2px}.fantasy-side-card,.leaderboard-card{background:#fff;border:1px solid #d8d8d5;border-top:3px solid #1d1d1d;padding:16px;margin-bottom:12px}.fantasy-side-card h3{margin:4px 0 7px}.fantasy-public-board>div{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;border-top:1px solid #eee;padding:9px 0}.fantasy-public-board span{display:flex;flex-direction:column;font-weight:800}.fantasy-public-board small{font-size:9px;color:#888;font-weight:400}.fantasy-public-board strong{color:var(--ok-red)}.fantasy-auth-wrap{max-width:500px;margin:0 auto;padding:55px 18px}.fantasy-auth-card{background:#fff;border:1px solid #d8d8d5;border-top:5px solid var(--ok-red);padding:28px}.fantasy-auth-card h1{font-size:32px;margin:4px 0 6px}.fantasy-auth-form{display:grid;gap:12px;margin:22px 0 16px}.fantasy-auth-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;text-transform:uppercase;color:#666}.fantasy-auth-form input{height:42px;font-size:14px}.fantasy-auth-form small{font-size:9px;color:#999;text-transform:none;font-weight:400}.fantasy-auth-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fantasy-auth-alt{border-top:1px solid #eee;padding-top:14px;font-size:12px}.fantasy-auth-alt a,.fantasy-back-link{color:var(--ok-red);font-weight:800}.fantasy-back-link{display:inline-block;margin-top:18px;font-size:11px}.leaderboard-wrap{max-width:900px}.leaderboard-card{padding:0}.leaderboard-card .fantasy-section-head{padding:18px 20px 10px}.leaderboard-row{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid #eee}.leaderboard-row>div{display:flex;flex-direction:column}.leaderboard-row small{color:#888;margin-top:2px}.leaderboard-row>span{font-size:18px;font-weight:900}.leaderboard-place{font-size:18px}.leaderboard-row.podium{background:#fbfbf8}.leaderboard-row.p1{border-left:5px solid #d2ab21}.leaderboard-row.p2{border-left:5px solid #999}.leaderboard-row.p3{border-left:5px solid #a66b37}.leaderboard-empty{padding:50px 20px;text-align:center;color:#888}
/* PWA install helper. */
.pwa-install-dialog{padding:0;border:0;border-radius:4px;max-width:none}.pwa-install-dialog::backdrop{background:rgba(0,0,0,.55)}.pwa-install-card{width:min(520px,calc(100vw - 30px));padding:22px}.pwa-steps{display:grid;gap:9px;margin:18px 0}.pwa-step{display:flex;gap:12px;align-items:flex-start;border:1px solid #dededa;padding:12px}.pwa-step>b{display:grid;place-items:center;flex:0 0 30px;height:30px;background:var(--ok-red);color:#fff}.pwa-step>div{display:flex;flex-direction:column;gap:3px}.pwa-step strong{font-size:13px}.pwa-step span{font-size:10px;color:#72726e;line-height:1.4}#pwaInstallBtn.installed{opacity:.65}.fantasy-nav-btn{background:var(--ok-red)!important;color:#fff!important;border-color:var(--ok-red)!important}.live-topbar>.public-top-actions{margin-left:auto;padding-left:0;border-left:0;display:flex;flex-direction:row;align-items:center;gap:7px;min-width:auto}
@media(max-width:900px){.teams-shell,.fantasy-admin-shell{padding:20px 12px 60px}.fantasy-admin-two{grid-template-columns:1fr}.fantasy-public-grid{grid-template-columns:1fr}.fantasy-public-topbar{height:auto;min-height:72px;padding:10px 14px;gap:12px}.fantasy-public-topbar img{width:170px}.fantasy-public-topbar>div:not(.fantasy-public-actions){padding-left:12px}.fantasy-public-actions{gap:4px}.fantasy-public-actions .btn{padding:7px 8px;font-size:9px}.fantasy-budget-strip{grid-template-columns:repeat(2,1fr)}.fantasy-budget-strip>div{border-bottom:1px solid #eee}.fantasy-driver-grid{grid-template-columns:1fr}.fantasy-hero{align-items:flex-start;flex-direction:column}.fantasy-hero-cta{width:100%}.fantasy-share-inline{align-items:stretch;flex-direction:column}.fantasy-admin-link{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.module-nav{overflow-x:auto;justify-content:flex-start}.module-tab{white-space:nowrap}.team-admin-grid{grid-template-columns:1fr}.unassigned-team-card{flex-direction:column}.fantasy-admin-settings{align-items:stretch}.fantasy-setting-card{flex:1}.fantasy-admin-settings>.btn{flex:1}.fantasy-public-topbar{flex-wrap:wrap}.fantasy-public-topbar img{width:145px}.fantasy-public-topbar>div.fantasy-event-name{flex:1}.fantasy-public-topbar .fantasy-event-name span{max-width:40vw}.fantasy-public-actions{width:100%;order:3;margin-left:0;justify-content:stretch}.fantasy-public-actions .btn,.fantasy-public-actions form{flex:1}.fantasy-public-actions form .btn{width:100%}.fantasy-public-wrap{padding:15px 10px 55px}.fantasy-hero{padding:19px}.fantasy-hero h1{font-size:29px}.fantasy-budget-strip{grid-template-columns:1fr 1fr}.fantasy-budget-strip>div:first-child{grid-column:1/-1}.fantasy-auth-wrap{padding:25px 12px}.fantasy-auth-card{padding:20px}.fantasy-auth-two{grid-template-columns:1fr}.leaderboard-row{grid-template-columns:42px 1fr auto;padding:12px}.live-topbar>.public-top-actions{margin-left:auto;padding-left:0;border-left:0;flex-direction:row;gap:4px}.live-topbar>.public-top-actions .btn{padding:7px 6px;font-size:8px}}
@media(max-width:620px){.live-topbar{gap:8px}.live-topbar img{height:32px;max-width:135px}.live-topbar>div:not(.public-top-actions){display:none}.live-topbar>.public-top-actions{display:flex;margin-left:auto;gap:4px}.live-topbar>.public-top-actions .btn{padding:7px 7px;font-size:8px}}

/* === V2 Alpha 11 / manual planner, Finals, OCR V2, registry, rating V2, Predictions === */
.manual-planner-card{border-top-color:#1d1d1d}.manual-training-scroll{overflow-x:auto;margin-top:14px;padding-bottom:6px}.manual-training-grid{display:flex;align-items:flex-start;gap:8px;min-width:max-content}.manual-training-session{width:292px;background:#fff;border:1px solid #d8d8d4;border-top:4px solid #1c1c1c;flex:0 0 292px}.manual-training-session.locked{opacity:.72;border-top-color:#777}.manual-training-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#f3f3f0;border-bottom:1px solid #ddd}.manual-training-title>div{display:flex;flex-direction:column}.manual-training-title b{font-size:13px}.manual-training-title small{font-size:8px;color:#777;margin-top:2px;font-weight:900;letter-spacing:.04em}.manual-training-session table{border-collapse:collapse;width:100%}.manual-training-session th{font-size:8px;text-transform:uppercase;color:#777;background:#fafaf8}.manual-training-session th,.manual-training-session td{padding:4px;border-bottom:1px solid #ecece8}.manual-training-session th:first-child,.manual-training-session td:first-child{width:30px;text-align:center}.manual-training-session th:last-child,.manual-training-session td:last-child{width:58px}.manual-slot-no{font-size:9px;color:#888;font-weight:800}.manual-driver-select,.manual-kart-input{width:100%;min-width:0;height:30px;border:1px solid #d4d4d0;background:#fff;padding:4px 6px;font-size:10px}.manual-kart-input{text-align:center;font-weight:900}.training-import-grid{max-height:60vh;overflow:auto;display:grid;gap:12px}.training-import-session{border:1px solid #ddd;padding:10px}.training-import-session h3{margin:0 0 8px}.training-import-session table{width:100%;border-collapse:collapse}.training-import-session th,.training-import-session td{border-top:1px solid #eee;padding:7px;text-align:left;font-size:10px}
.finals-shell{margin-top:28px;padding-top:22px;border-top:4px solid var(--ok-red)}.final-card{border-top-color:var(--ok-red)}.final-generate-actions{display:flex;gap:8px;align-items:flex-end}.final-generate-actions label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:900;color:#666;text-transform:uppercase}.final-generate-actions input,.final-grid{width:72px;height:34px}.final-grid{border:1px solid #ccc;text-align:center}.finals-shell .q-heats-grid{margin-top:12px}
.ocr-target-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:9px}.ocr-target-fields label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:900;text-transform:uppercase;color:#666}.ocr-target-fields select{height:38px;background:#fff;border:1px solid #ccc}.ocr-engine-note{display:flex;flex-direction:column;gap:3px;border-left:4px solid var(--ok-red);background:#f6f6f3;padding:9px 11px;margin-bottom:10px}.ocr-engine-note b{font-size:10px}.ocr-engine-note span{font-size:9px;color:#666;line-height:1.4}.doc-type-chip{position:absolute;left:6px;top:6px;background:#1e1e1e;color:#fff;font-size:8px;font-weight:900;padding:3px 5px;letter-spacing:.04em}.race-ocr-review input{min-width:80px;width:100%;padding:6px;border:1px solid #ccc}.race-ocr-review .ocr-driver{min-width:180px}.ocr-row.ocr-green{background:#f3faf4}.ocr-row.ocr-yellow{background:#fff8df}.ocr-row.ocr-red{background:#fff0f0}.ocr-severity{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.ocr-severity.green{background:#d9efdc;color:#176126}.ocr-severity.yellow{background:#f7e5a9;color:#745b00}.ocr-severity.red{background:#f6c9c9;color:#8d121b}.ocr-driver-field{display:flex;flex-direction:column;gap:5px;min-width:180px}.ocr-driver-suggestion{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:220px}.ocr-driver-suggestion span{font-size:8px;font-weight:900;color:#7a5700;text-transform:uppercase;letter-spacing:.03em}.ocr-driver-suggestion button{max-width:100%;border:1px solid #c99a2b;background:#fff4c9;color:#5d4300;padding:5px 7px;font:900 9px/1.25 var(--font);text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.ocr-driver-suggestion button:hover{background:#ffeaa0;border-color:#a97d19}.ocr-driver-suggestion button:focus-visible{outline:2px solid #8d121b;outline-offset:2px}.race-ocr-review .ocr-driver.ocr-driver-suggested{border-color:#6b9f72;background:#f1faf2}
.registry-status-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #d8d8d4;border-top:3px solid var(--ok-red);padding:14px 16px;margin-bottom:14px}.registry-status-bar>div{display:flex;flex-direction:column;gap:3px}.registry-status-bar small{color:#777}.team-registry-search{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;gap:9px;padding:8px 4px;border-bottom:1px solid #ddd}.team-registry-search input{flex:1;height:36px}.team-registry-search span{font-size:9px;color:#777;white-space:nowrap}
.history-engine-card{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;background:#fff;border:1px solid #d8d8d4;border-top:4px solid #1d1d1d;padding:16px;margin-bottom:13px}.history-engine-card h2{margin:3px 0 6px}.history-engine-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-engine-stats>span{display:flex;flex-direction:column;align-items:center;border:1px solid #ddd;background:#f6f6f3;padding:8px 10px;font-size:8px;text-transform:uppercase}.history-engine-stats b{font-size:15px;color:#222}.history-status{font-weight:900}.history-status.done{border-color:#8dbd93;background:#edf8ef}.history-status.error{border-color:#d78e8e;background:#fff0f0}.history-sync-controls{grid-column:1/-1;display:flex;gap:7px;align-items:center}.history-sync-controls input{width:100px;height:36px}.prediction-admin-card{margin-bottom:13px}.prediction-admin-card .admin-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.prediction-stage-chips{display:flex;gap:5px;flex-wrap:wrap}.prediction-stage-chip{padding:5px 8px;font-size:8px;font-weight:900;border:1px solid #ccc;background:#eee}.prediction-stage-chip.open{background:#e8f6e9;border-color:#8fbe92;color:#1d6726}.prediction-stage-chip.locked{color:#777}
.prediction-public-card{background:#fff;border:1px solid #d8d8d5;border-top:4px solid var(--ok-red);padding:17px;margin-bottom:16px}.prediction-public-card>.fantasy-section-head>strong{color:var(--ok-red);font-size:20px}.prediction-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.prediction-stage-card{border:1px solid #ddd;border-top:3px solid #888;padding:12px;background:#fafaf8}.prediction-stage-card.open{border-top-color:var(--ok-red);background:#fff}.prediction-stage-card.locked{opacity:.72}.prediction-stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.prediction-stage-head h3{margin:3px 0 8px}.prediction-stage-head>span{font-size:8px;font-weight:900;padding:4px 6px;background:#eee}.prediction-stage-card.open .prediction-stage-head>span{background:#e5f4e8;color:#176126}.prediction-form{display:grid;gap:7px}.prediction-form label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:800;color:#666}.prediction-form select{height:36px;background:#fff;border:1px solid #ccc}.prediction-stage-card>small{display:block;color:#777;font-size:8px;line-height:1.45;margin-top:8px}.prediction-login-cta{display:flex;gap:7px;margin-top:12px}.dual-leaderboards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prediction-board{border-top-color:var(--ok-red)}
@media(max-width:900px){.history-engine-card{grid-template-columns:1fr}.history-sync-controls{grid-column:1}.prediction-stage-grid,.dual-leaderboards{grid-template-columns:1fr}.ocr-target-fields{grid-template-columns:1fr}.registry-status-bar{align-items:flex-start;flex-direction:column}}

/* Alpha 11 prediction deadline controls */
.prediction-stage-chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.prediction-stage-control{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.prediction-stage-control .mini-action{white-space:nowrap}
.final-roster-option{display:grid;grid-template-columns:24px minmax(0,1fr) 86px;align-items:center}.final-roster-option .final-roster-check{width:18px;height:18px}.final-roster-option .final-roster-order{width:78px;height:34px;text-align:center;border:1px solid #cfcfca;background:#fff;font:700 12px 'Roboto Condensed',sans-serif}.final-roster-list{max-height:60vh}

/* === V2 Alpha 12: global left timing rail + simplified manual training planner === */
@media(min-width:1101px){
  #app>.module-page{margin-left:252px}
  #app>.module-nav{margin-left:0}
  .global-inbox-rail.inbox-drawer{
    left:12px;top:126px;bottom:16px;transform:none;width:226px;border-radius:10px;z-index:34;
    display:flex;flex-direction:column;box-shadow:0 7px 22px rgba(0,0,0,.10)
  }
  .global-inbox-rail .inbox-drawer-toggle{height:46px;flex:0 0 46px;padding:0 10px}
  .global-inbox-rail .inbox-drawer-panel{flex:1;max-height:none!important;min-height:0;opacity:1!important;border-top:1px solid #d8d8d4!important;display:flex;flex-direction:column}
  .global-inbox-rail:not(.open) .inbox-drawer-panel{display:none}
  .global-inbox-rail .inbox-drawer-panel-head{padding:9px 9px 6px}
  .global-inbox-rail .inbox-body{padding:4px 8px 10px;max-height:none;flex:1;min-height:0;overflow:auto}
  .global-inbox-rail .inbox-list{grid-template-columns:1fr;gap:8px;padding:0}
  .global-inbox-rail .doc-card{width:100%;padding:6px}
  .global-inbox-rail .doc-thumb{height:105px}
  .global-inbox-rail .doc-assign{flex-direction:column}
  .global-inbox-rail .doc-actions{flex-wrap:wrap}
  .global-inbox-rail .inbox-tip{font-size:8px;padding:4px 0}
}
.analysis-shell{max-width:1500px;margin:0 auto;padding:24px 28px 70px}
.practice-simple-head{margin-bottom:16px}
.practice-session-tabs{display:flex;gap:5px;overflow:auto;padding:0 0 10px}
.practice-simple-tab{border:1px solid #cfcfcb;background:#fff;padding:8px 13px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.practice-simple-tab.active{background:#1e1e1e;color:#fff;border-color:#1e1e1e}
.practice-simple-tab.saved:not(.active){background:#f1f1ed;color:#555}
.practice-simple-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.practice-driver-rail,.practice-current-card{background:#fff;border:1px solid #d8d8d5;border-top:3px solid #1d1d1d}
.practice-driver-rail{position:sticky;top:128px;max-height:calc(100vh - 155px);display:flex;flex-direction:column;min-height:360px}
.practice-driver-head{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #e2e2df;background:#f6f6f3}
.practice-driver-head b{font-size:12px;letter-spacing:.04em}.practice-driver-head span{font-size:9px;color:#777}
.practice-driver-search{margin:9px;border:1px solid #ccc;padding:8px 9px;font-size:11px}
.practice-driver-list{overflow:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:5px}
.practice-driver-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ddd;background:#fff;padding:8px;cursor:grab}
.practice-driver-card:hover{border-color:#999}.practice-driver-card.complete{opacity:.55;background:#f5f5f2}
.practice-driver-card>div:first-child{display:flex;flex-direction:column;min-width:0}.practice-driver-card b{font-size:11px}.practice-driver-card small{font-size:8.5px;color:#7c7c77;margin-top:2px}
.practice-count{display:flex;flex-direction:column;text-align:right;flex:0 0 auto}.practice-count b{font-size:12px}.practice-count span{font-size:8px;color:#9b1c29;font-weight:800}
.practice-current-card{padding:16px}.practice-current-card.empty-admin-card{align-items:flex-start}
.practice-current-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.practice-current-head h2{margin:2px 0;font-size:25px}.practice-current-head p{margin:0;color:#777;font-size:10px}
.practice-current-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.practice-table-wrap{overflow:auto;border:1px solid #dededa}.practice-simple-table{width:100%;border-collapse:collapse}.practice-simple-table th{background:#f1f1ed;font-size:9px;letter-spacing:.04em;text-align:left}.practice-simple-table th,.practice-simple-table td{padding:7px;border-bottom:1px solid #e6e6e2}.practice-simple-table th:first-child,.practice-simple-table td:first-child{width:40px;text-align:center}.practice-simple-table th:last-child,.practice-simple-table td:last-child{width:90px;text-align:center}
.ballast-edit{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ballast-input{width:64px;min-width:64px;height:32px;border:1px solid #c9c9c4;background:#fff;padding:0 7px;font:800 11px/1 "Roboto Condensed",sans-serif}.ballast-input:focus{outline:2px solid rgba(214,25,32,.18);border-color:var(--ok-red)}.ballast-edit span{font-size:9px;font-weight:800;color:#686862}.ballast-empty{color:#aaa}.live-ballast{white-space:nowrap;font-weight:900;color:#1e1e1e}
.practice-drop-slot{height:43px}.practice-drop-slot.drag-over{background:#fff3f4;outline:2px dashed var(--ok-red);outline-offset:-3px}.drop-driver-here{font-size:9px;color:#aaa;font-style:italic}.slot-driver{display:flex;align-items:center;justify-content:space-between;gap:7px}.slot-driver b{font-size:11px}.icon-btn.tiny{width:24px;height:24px;font-size:14px}.practice-manual-note{margin:10px 0 0;font-size:9px}
.fantasy-auto-score{min-width:210px}.fantasy-auto-score>b{display:block;font-size:15px}.fantasy-auto-score>small{display:block;color:#777;line-height:1.35;margin:2px 0 5px;white-space:normal}.predictions-admin-shell{max-width:1480px;margin:0 auto;padding:30px 28px 70px}
@media(max-width:1100px){
  #app>.module-page{margin-left:0}
  .global-inbox-rail.inbox-drawer{left:50%;top:auto;bottom:9px;transform:translateX(-50%);width:calc(100vw - 18px)}
  .practice-simple-layout{grid-template-columns:250px minmax(0,1fr)}
  .practice-driver-rail{position:static;max-height:620px}
}
@media(max-width:720px){.practice-simple-layout{grid-template-columns:1fr}.practice-driver-rail{max-height:330px}.practice-current-head{display:block}.practice-current-actions{justify-content:flex-start;margin-top:10px}.analysis-shell{padding:14px 10px 75px}}

/* V2 Alpha 12.1 — shared event usability fixes */
.participant-source-strip{margin:10px 0 14px;border:1px solid #deded9;background:#fafaf7;padding:10px 12px;display:flex;gap:14px;align-items:center;justify-content:space-between}.participant-source-title{display:flex;flex-direction:column;gap:2px}.participant-source-title small{font-size:9px;color:#777}.participant-source-controls{display:flex;gap:8px;align-items:center;min-width:min(620px,55vw)}.participant-source-controls input{flex:1;min-width:260px;height:36px;border:1px solid #ccc;background:#fff;padding:0 10px;font-size:11px}
.practice-tab-wrap{display:flex;align-items:stretch;border:1px solid #ddd;background:#fff}.practice-tab-wrap .practice-simple-tab{border:0!important}.practice-results-link{display:flex;align-items:center;padding:0 9px;border-left:1px solid #e3e3de;font-size:8px;font-weight:900;letter-spacing:.04em;color:#444;text-decoration:none;white-space:nowrap}.practice-results-link:hover{background:#f3f3ef;color:#d61920}
.ocr-review-dialog{width:min(1180px,96vw);max-width:none;max-height:94vh;padding:0;border:0;background:transparent}.ocr-review-dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}.ocr-review-popup{background:#fff;max-height:90vh;overflow:auto;border-radius:4px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.training-result-page{max-width:1280px;margin:0 auto;padding:22px}.training-result-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.training-result-meta{display:flex;gap:8px;flex-wrap:wrap}.training-result-meta span{background:#f0f0ec;border:1px solid #ddd;padding:7px 9px;font-size:9px;font-weight:800}.training-result-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.training-result-card{border:1px solid #ddd;background:#fff;padding:14px}.training-result-card table{width:100%;border-collapse:collapse}.training-result-card th,.training-result-card td{padding:9px 8px;border-bottom:1px solid #eee;text-align:left;font-size:10px}.training-source-list{display:grid;gap:8px}.training-source-item{border:1px solid #e0e0dc;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.training-source-item small{display:block;color:#777;margin-top:2px}
@media(max-width:900px){.participant-source-strip{align-items:stretch;flex-direction:column}.participant-source-controls{min-width:0;width:100%}.training-result-grid{grid-template-columns:1fr}}

/* === V2 Alpha 12.2 — full-width workspace + bottom incoming-files drawer === */
/* Incoming files must never reserve a permanent side rail on desktop. */
#app>.module-page{margin-left:0!important;width:100%;max-width:none;box-sizing:border-box}

/* Use the full browser width for the actual race-day workspaces. */
.registration-shell,
.settings-shell,
.future-module,
.practice-planner-shell,
.analysis-shell,
.race-shell,
.teams-shell,
.fantasy-admin-shell,
.predictions-admin-shell{
  width:100%;
  max-width:none!important;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
.registration-shell,.settings-shell,.future-module{padding-left:20px;padding-right:20px;padding-bottom:88px}
.practice-planner-shell,.analysis-shell{padding-left:20px;padding-right:20px;padding-bottom:88px}
.race-shell,.teams-shell,.fantasy-admin-shell,.predictions-admin-shell{padding-left:20px;padding-right:20px;padding-bottom:88px}

/* Analytics previously kept space for an old right-side inbox. Reclaim it. */
.workspace,
#module-practice .workspace{
  padding-right:14px!important;
  padding-left:14px;
  padding-bottom:96px!important;
}
#module-practice .race-karts-summary{margin-right:14px}

/* Desktop and tablet: one horizontal drawer along the bottom of the viewport. */
.global-inbox-rail.inbox-drawer,
.inbox-drawer{
  position:fixed!important;
  left:12px!important;
  right:12px!important;
  top:auto!important;
  bottom:10px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  border-radius:10px!important;
  z-index:46!important;
  display:block!important;
  box-shadow:0 10px 34px rgba(0,0,0,.16)!important;
}
.global-inbox-rail .inbox-drawer-toggle,
.inbox-drawer-toggle{
  height:46px!important;
  padding:0 14px!important;
}
.global-inbox-rail .inbox-drawer-panel,
.inbox-drawer-panel{
  display:block;
  max-height:0!important;
  min-height:0!important;
  opacity:0!important;
  overflow:hidden!important;
  border-top:0!important;
  transition:max-height .22s ease,opacity .14s ease!important;
}
.global-inbox-rail.open .inbox-drawer-panel,
.inbox-drawer.open .inbox-drawer-panel{
  display:block!important;
  max-height:min(390px,48vh)!important;
  opacity:1!important;
  border-top:1px solid #d8d8d4!important;
}
.global-inbox-rail .inbox-drawer-panel-head{padding:10px 14px 6px}
.global-inbox-rail .inbox-body,
.inbox-drawer .inbox-body{
  padding:4px 12px 12px!important;
  max-height:min(325px,40vh)!important;
  overflow:auto!important;
  display:block!important;
}
.global-inbox-rail .inbox-list,
.inbox-drawer .inbox-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  gap:9px!important;
  padding:0 1px 2px!important;
}
.global-inbox-rail .doc-card,
.inbox-drawer .doc-card{
  width:auto!important;
  min-width:0!important;
  padding:7px!important;
  display:flex!important;
  flex-direction:column!important;
}
.global-inbox-rail .doc-thumb,.inbox-drawer .doc-thumb{height:100px!important}
.global-inbox-rail .doc-assign,.inbox-drawer .doc-assign{flex-direction:row!important}
.global-inbox-rail .doc-actions,.inbox-drawer .doc-actions{flex-wrap:wrap}
.global-inbox-rail .inbox-tip,.inbox-drawer .inbox-tip{font-size:8px;padding:4px 0}

/* Make dense planners/tables benefit from the reclaimed width. */
.practice-simple-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}
.practice-current-card,.participant-table-wrap,.qualification-stage,.admin-panel{min-width:0}

@media(max-width:900px){
  .registration-shell,.settings-shell,.future-module,.practice-planner-shell,.analysis-shell,.race-shell,.teams-shell,.fantasy-admin-shell,.predictions-admin-shell{padding-left:10px;padding-right:10px;padding-bottom:78px}
  .global-inbox-rail.inbox-drawer,.inbox-drawer{left:7px!important;right:7px!important;bottom:7px!important;border-radius:9px!important}
  .global-inbox-rail.open .inbox-drawer-panel,.inbox-drawer.open .inbox-drawer-panel{max-height:58vh!important}
  .global-inbox-rail .inbox-body,.inbox-drawer .inbox-body{max-height:50vh!important;padding:4px 8px 10px!important}
  .global-inbox-rail .inbox-list,.inbox-drawer .inbox-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .practice-simple-layout{grid-template-columns:250px minmax(0,1fr)}
}
@media(max-width:620px){
  .global-inbox-rail .inbox-list,.inbox-drawer .inbox-list{grid-template-columns:1fr!important}
  .global-inbox-rail .doc-card,.inbox-drawer .doc-card{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:7px!important}
  .global-inbox-rail .doc-thumb,.inbox-drawer .doc-thumb{grid-row:1/4;height:96px!important}
  .global-inbox-rail .doc-actions,.inbox-drawer .doc-actions,.global-inbox-rail .doc-assign,.inbox-drawer .doc-assign{grid-column:2}
  .practice-simple-layout{grid-template-columns:1fr}
}

/* Alpha 12.4 — training search + manual OCR roster matching */
.practice-driver-card[hidden]{display:none!important}
.training-manual-match{display:flex;align-items:center;gap:8px;min-width:300px}.training-manual-match>b{font-size:9px;color:#9a6700;white-space:nowrap}.training-manual-match select{min-width:230px;max-width:360px;border:1px solid #c9c9c5;border-radius:6px;background:#fff;padding:7px 8px;font-size:10px}.training-match-ok{font-weight:800;color:#1c6b3b}.training-import-session td:nth-child(3){min-width:300px}

/* Alpha 12.5: explicit human OCR approval */
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);background:#fff}
.review-checked-cell{min-width:112px}.review-checked-cell{display:table-cell;white-space:nowrap}.review-checked-cell input{vertical-align:middle;margin-right:5px}.review-checked-cell span{font-size:9px;font-weight:900;color:#666}
.review-invalid td{background:#ffe8e8!important}.review-invalid .review-kart,.review-invalid .review-time{border-color:#c00!important;background:#fff!important}
.sticky-review-actions{position:sticky;bottom:0;z-index:5;background:#fff;margin:0 -20px -20px;padding:12px 20px 16px;box-shadow:0 -8px 18px rgba(0,0,0,.07)}

/* Alpha 12.6: selective training Excel import + direct OCR popup drop */
.training-import-session-head{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fafaf8}
.training-import-session-head h3{margin:0}.training-import-session-head small{display:block;margin-top:2px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.training-import-session-head small.existing{color:#9a6915}.training-import-session-head small.new{color:#287640}
.training-import-check{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:900;letter-spacing:.05em;cursor:pointer}.training-import-check input{width:18px;height:18px;accent-color:var(--red)}
.training-import-session.not-selected{opacity:.52}.training-import-session.not-selected table{pointer-events:none}.training-import-session.selected{box-shadow:0 0 0 2px rgba(220,20,30,.08)}
.ocr-review-dropzone{margin:10px 0 14px;border:2px dashed #c9c9c5;border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;background:#fafaf8;cursor:pointer;transition:.15s}
.ocr-review-dropzone:hover,.ocr-review-dropzone.drag-over{border-color:var(--red);background:#fff4f4}.ocr-review-dropzone.processing{opacity:.6;pointer-events:none}
.ocr-review-dropzone .drop-icon{font-size:24px;color:var(--red);font-weight:900}.ocr-review-dropzone div{display:flex;flex-direction:column;gap:2px;flex:1}.ocr-review-dropzone small{color:#747470;font-size:11px}

/* Alpha 12.7: installed mobile PWA is LIVE-only */
.mobile-live-badge{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#111;color:#fff;font-weight:900;letter-spacing:.04em;font-size:13px}
@media(max-width:700px){.mobile-live-only{margin-left:auto}.mobile-live-badge{min-height:32px;padding:0 10px;font-size:12px}}

/* Alpha 12.8 — organiser Excel race-plan import + quick manual driver add */
.race-head-actions-combined{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.race-stage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:0 0 12px}
.race-stage-buttons{display:flex;align-items:center;gap:6px}
.race-stage-button{min-width:48px;padding-left:16px!important;padding-right:16px!important}
.race-stage-button:disabled{opacity:.42;cursor:not-allowed}
.race-stage-section[hidden]{display:none!important}
.race-stage-section .sf-shell,.race-stage-section .finals-shell{margin-top:0;padding-top:0;border-top:0}
.practice-quick-add{width:100%;margin:8px 0 10px}
#racePlanImportDialog{width:min(1180px,96vw);max-height:92vh;padding:0;border:0;border-radius:18px;overflow:auto}
#racePlanImportDialog::backdrop{background:rgba(0,0,0,.48)}
#racePlanImportReview{padding:22px}
.race-plan-import-grid{max-height:62vh;overflow:auto;padding-right:4px}
.training-import-session.locked{opacity:.68}
.training-import-session.locked .training-import-check{cursor:not-allowed}
#quickDriverDialog{width:min(520px,94vw);border:0;border-radius:18px;padding:0}
#quickDriverDialog::backdrop{background:rgba(0,0,0,.48)}
#quickDriverDialog .quick-driver-form{padding:22px}
@media(max-width:760px){.race-head-actions-combined{justify-content:flex-start}.race-stage-actions{justify-content:flex-start;width:100%}.race-stage-buttons{width:100%}.race-stage-button{flex:1}}

/* Alpha 12.9 — explicit Fantasy event lock. */
.fantasy-lock-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d8d8d4;border-left:5px solid #2f8a42;background:#f4fbf5;padding:14px 16px;margin:0 0 12px}.fantasy-lock-banner h2{margin:2px 0 4px;font-size:19px}.fantasy-lock-banner p{margin:0;color:#666;max-width:760px}.fantasy-lock-banner.locked{border-left-color:var(--ok-red);background:#fff2f2}.fantasy-lock-banner.locked h2{color:var(--ok-red)}.btn.disabled{pointer-events:none;opacity:.72}.fantasy-closed{border:1px solid #e0b2b2;border-left:5px solid var(--ok-red);background:#fff4f4;padding:12px 14px;margin:12px 0;color:#6f2222}
@media(max-width:720px){.fantasy-lock-banner{align-items:stretch;flex-direction:column}.fantasy-lock-banner .btn{width:100%}}

/* Alpha 12.10 — Q OCR uses the same compact Kartings + Best lap review as training. */
.q-simple-review{min-width:560px}.q-simple-review .review-time{min-width:120px}
/* Alpha 12.16 finals: explicit reserved bump-up slot. */
.final-bump-placeholder td{background:#f6f6f3;color:#666;border-top:1px dashed #bdbdb7}.final-bump-placeholder b{color:#222}.final-bump-placeholder .subline{color:#888}
/* Alpha 12.16 — finals protocol overview */
.final-overview-table{min-width:1120px}
.final-overview-table .final-overview-start td{border-top:3px solid #222}
.final-overview-table .final-overview-bump td{background:#f6f6f3;border-top:1px dashed #aaa;border-bottom:3px solid #222;color:#666}
.final-overview-table .final-overview-bump td:nth-child(5){color:#111}
.final-overview-table td:nth-child(5){min-width:220px}
.final-overview-table td:nth-child(8){min-width:170px}

/* Alpha 12.18 — per-final kart capacity + cumulative place penalties: +1/+2/+3, >3 = DQ */
.final-capacity-card{margin:14px 0;padding:14px 16px;border:1px solid #ddd;border-radius:14px;background:#fff;display:flex;gap:18px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.final-capacity-card h3{margin:2px 0 3px}.final-capacity-card small{color:#666}
.final-capacity-grid{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.final-capacity-grid label{display:grid;gap:4px;font-size:12px;font-weight:800;text-transform:uppercase}
.final-capacity-grid input{width:74px;padding:9px;border:1px solid #bbb;border-radius:8px;font-size:15px;font-weight:800}
.penalty-stack{display:flex;gap:6px;align-items:center;min-width:155px}.penalty-stack input{width:70px;padding:8px;border:1px solid #bbb;border-radius:7px}.penalty-stack select{min-width:78px}

/* Alpha 12.19 — carried +3 final grid penalties from previous round */
.final-start-penalty-card{background:#fff;border:1px solid #d8d8d5;border-top:4px solid #c8101e;margin-bottom:14px;padding:15px}
.final-start-penalty-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.final-start-penalty-head h3{margin:3px 0 4px;font-size:20px}
.final-start-penalty-head small{display:block;color:#666;max-width:820px;line-height:1.4}
.final-start-penalty-add{display:flex;gap:7px;align-items:center;min-width:360px}
.final-start-penalty-add select{height:38px;min-width:220px;border:1px solid #bbb;background:#fff;padding:0 10px}
.final-start-penalty-list{margin-top:12px;border-top:1px solid #eee}
.final-start-penalty-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eee}
.final-start-penalty-row>div{display:flex;flex-direction:column;min-width:0}
.final-start-penalty-row small{font-size:9px;color:#777;margin-top:2px}
.start-penalty-badge{font-size:9px;font-weight:900;letter-spacing:.04em;color:#8a0000;background:#ffe9e9;border:1px solid #e5a0a0;padding:6px 8px;white-space:nowrap}
.final-start-penalty-empty{padding:12px 0;color:#888;font-size:10px}
@media(max-width:800px){.final-start-penalty-head{align-items:stretch;flex-direction:column}.final-start-penalty-add{min-width:0;flex-direction:column;align-items:stretch}.final-start-penalty-add select{min-width:0;width:100%}.final-start-penalty-row{grid-template-columns:1fr auto}.final-start-penalty-row .start-penalty-badge{grid-column:1/2}.final-start-penalty-row button{grid-column:2/3;grid-row:1/3}}

/* Alpha 12.22 — choose final count and auto-balance before manual per-final capacities */
.final-count-rebalance{margin-top:12px;display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap}
.final-count-rebalance label{display:grid;gap:4px;font-size:12px;font-weight:800;text-transform:uppercase}
.final-count-rebalance select,.final-generate-actions select{min-width:118px;padding:9px 10px;border:1px solid #bbb;border-radius:8px;background:#fff;font-size:14px;font-weight:800}
.final-count-preview{font-size:13px;font-weight:800;color:#555;padding:9px 0}

/* Alpha 12.24 — editable finals kart draw, including the pre-drawn bump-up kart. */
.final-kart-select{min-width:72px;height:34px;padding:5px 24px 5px 9px;border:1px solid #b9b9b4;border-radius:6px;background:#fff;font-weight:900;color:#171717;cursor:pointer}
.final-kart-select:hover,.final-kart-select:focus{border-color:#ed1c24;outline:none;box-shadow:0 0 0 2px rgba(237,28,36,.08)}
.final-kart-select.compact{min-width:62px;height:30px;padding-top:3px;padding-bottom:3px;font-size:12px}
.final-kart-select.bump{border-style:dashed;background:#fffdf5}
.final-bump-placeholder .final-kart-select{font-weight:950}

/* Alpha 12.25 — keep the bump-up kart/driver visibly marked after the lower final is completed. */
.final-overview-table .final-overview-bump-live td{background:#fff8df}
.final-overview-table .final-overview-bump-live td:nth-child(5),.final-result-bump-live td:nth-child(3){font-weight:850}
.final-result-bump-live td{background:#fff8df}

/* Alpha 12.34 — mobile pre-race driver, kart and ballast verification. */
.check-login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#ececea}
.check-login-card{width:min(430px,100%);padding:30px;background:#fff;border:1px solid #d8d8d3;border-radius:18px;box-shadow:0 14px 42px rgba(0,0,0,.10)}
.check-login-card h1{margin:2px 0 4px;font-size:34px;letter-spacing:-.8px}.check-event-name{margin:0;color:#60605c;font-weight:700}
.check-pin-form{display:grid;gap:8px;margin-top:24px}.check-pin-form label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.check-pin-form input{width:100%;height:58px;border:2px solid #c4c4bf;border-radius:10px;padding:0 14px;text-align:center;font:900 28px/1 "Roboto Condensed",sans-serif;letter-spacing:.35em}
.check-pin-form input:focus{outline:3px solid rgba(237,28,36,.14);border-color:var(--ok-red)}.check-pin-form small{color:#777}.check-login-error{padding:10px 12px;background:#fff0f0;border-left:4px solid var(--ok-red);color:#8b1418;font-weight:800}
.check-pin-form .btn{margin-top:10px;min-height:48px}

.checker-page{min-height:100vh;background:#efefed;color:#171717}.checker-topbar{position:sticky;top:0;z-index:20;min-height:68px;padding:10px max(14px,env(safe-area-inset-left));display:grid;grid-template-columns:94px minmax(0,1fr) 12px;gap:12px;align-items:center;background:#fff;border-bottom:1px solid #d6d6d1;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.checker-topbar img{width:94px;max-height:46px;object-fit:contain}.checker-topbar div{min-width:0;display:flex;flex-direction:column}.checker-topbar span{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--ok-red)}.checker-topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.checker-connection{width:9px;height:9px;border-radius:50%;background:#c1c1bd;box-shadow:0 0 0 3px #eee}.checker-connection.online{background:#2c9b51;box-shadow:0 0 0 3px #dff3e4}
.checker-app{width:min(720px,100%);margin:0 auto;padding:14px max(12px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.checker-phase-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:7px}.checker-phase{height:44px;border:1px solid #cacac5;border-radius:9px;background:#fff;font:900 15px/1 "Roboto Condensed",sans-serif;cursor:pointer}.checker-phase.active{border-color:#171717;background:#171717;color:#fff}
.checker-race-nav{display:flex;gap:7px;overflow-x:auto;padding:9px 0 13px;scrollbar-width:thin}.checker-race-chip{flex:0 0 auto;min-width:82px;min-height:48px;border:1px solid #cecec9;border-radius:9px;background:#fff;padding:6px 10px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;font-family:inherit;cursor:pointer}.checker-race-chip span{font-size:13px;font-weight:900}.checker-race-chip small{font-size:9px;color:#777;font-weight:800;margin-top:2px}.checker-race-chip.active{border:2px solid var(--ok-red);padding:5px 9px;background:#fff7f7}.checker-race-chip.ready{border-color:#5ca873}.checker-race-chip.completed{opacity:.62}
.checker-race-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:2px 2px 10px}.checker-race-head>div:first-child{min-width:0}.checker-race-head h1{font-size:28px;line-height:1;margin:3px 0 0}.checker-head-actions{display:flex;align-items:flex-end;gap:7px;flex:0 0 auto}.checker-progress{width:64px;height:58px;border-radius:11px;background:#171717;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.checker-progress strong{font-size:20px;line-height:1}.checker-progress span{font-size:8px;font-weight:900;letter-spacing:.08em;margin-top:4px}
.checker-sort{position:relative}.checker-sort-trigger{height:58px;min-width:126px;padding:8px 11px;border:1px solid #c9c9c4;border-radius:11px;background:#fff;color:#171717;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;font:900 11px/1 "Roboto Condensed",sans-serif;letter-spacing:.04em;cursor:pointer}.checker-sort-trigger span{font-size:9px;color:#666;letter-spacing:0;white-space:nowrap}.checker-sort-trigger.active{border-color:#171717;box-shadow:0 0 0 1px #171717}.checker-sort-menu{position:absolute;z-index:35;top:calc(100% + 6px);right:0;width:220px;padding:6px;border:1px solid #c9c9c4;border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.16)}.checker-sort-option{width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#171717;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:850 12px/1.1 "Roboto Condensed",sans-serif;cursor:pointer}.checker-sort-option:hover,.checker-sort-option.active{background:#f0f0ed}.checker-sort-option.active{color:var(--ok-red)}.checker-sort-option b{font-size:13px}
.checker-race-status{border-radius:11px;padding:12px 14px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.checker-race-status b{font-size:13px}.checker-race-status span{font-size:11px;font-weight:700;text-align:right}.checker-race-status.pending{background:#fff;border:1px solid #d4d4cf}.checker-race-status.ready{background:#e3f5e8;border:1px solid #83bd94;color:#175c31}.checker-race-status.attention{background:#fff0df;border:1px solid #e7ad65;color:#7a3f05}.checker-race-status.archived{background:#e9e9e6;border:1px solid #cacac5;color:#555}
.checker-instruction{margin:0 2px 10px;color:#686864;font-size:11px;line-height:1.35}.checker-instruction b{color:#1e6d3a}.checker-driver-list{display:grid;gap:9px}
.checker-driver{display:grid;grid-template-columns:34px minmax(0,1fr);background:#fff;border:2px solid transparent;border-radius:13px;padding:12px;box-shadow:0 2px 7px rgba(0,0,0,.035)}.checker-driver.checked{border-color:#5dad75;background:#f7fff9}.checker-driver.absent{border-color:#df7175;background:#fff8f8}
.checker-driver-position{padding-top:2px;color:#777;font-size:14px;font-weight:900}.checker-driver-main{min-width:0}.checker-driver-main h2{font-size:20px;line-height:1.05;margin:0;overflow-wrap:anywhere}.checker-driver-main>p{margin:4px 0 0;color:#74746f;font-size:11px;font-weight:700}
.checker-expected{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.checker-expected>span{min-height:54px;padding:8px 10px;border-radius:8px;background:#f1f1ef;display:flex;flex-direction:column}.checker-expected small{font-size:8px;letter-spacing:.08em;color:#777;font-weight:900}.checker-expected b{font-size:21px;line-height:1.1;margin-top:3px}.checker-kart.missing{background:#fff1e5;color:#8b4909}.checker-ballast b{color:#171717}
.checker-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 118px 118px;gap:7px;margin-top:10px}.checker-actions button{height:48px;border-radius:9px;font:900 13px/1 "Roboto Condensed",sans-serif;cursor:pointer}.checker-check{border:1px solid #65a979;background:#edf8f0;color:#1a6735}.checker-check.active{border-color:#1b773c;background:#238348;color:#fff}.checker-absent{border:1px solid #dfb0b1;background:#fff;color:#a12227}.checker-absent.active{border-color:#b81f26;background:#c92b32;color:#fff}.checker-camera{border:1px solid #b8bcc2;background:#f5f6f7;color:#4f555c}.checker-camera.active{border-color:#333;background:#333;color:#fff}.checker-actions button:disabled{cursor:not-allowed;opacity:.62}
.checker-next{min-height:54px;margin-top:13px;display:flex!important;justify-content:space-between;align-items:center;padding-left:18px!important;padding-right:18px!important}.checker-next span{font-size:11px;opacity:.84}.checker-empty{margin-top:14vh;padding:26px;background:#fff;border:1px solid #d6d6d1;border-radius:14px;text-align:center}.checker-empty h1{margin:0 0 8px}.checker-empty p{margin:0;color:#666;line-height:1.4}
.checker-toast{position:fixed;z-index:50;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,20px);max-width:calc(100vw - 28px);padding:10px 14px;border-radius:8px;background:#1c6538;color:#fff;font-weight:800;font-size:12px;opacity:0;pointer-events:none;transition:.18s}.checker-toast.show{opacity:1;transform:translate(-50%,0)}.checker-toast.error{background:#a91c22}

.result-categories{white-space:nowrap;font-size:11px;font-weight:800;color:#5f5f5a}

.verification-mark{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#ecece9;color:#888;font-size:11px;font-weight:950}.verification-mark.checked{background:#dff3e5;color:#176b34}.verification-mark.absent{min-width:34px;padding:0 6px;background:#ffe2e3;color:#9d161c;font-size:8px}.verification-progress{display:inline-flex;align-items:center;gap:5px;margin-left:7px;vertical-align:middle}.verification-progress-count{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:4px 7px;background:#ecece9;color:#5d5d59;font-size:9px;font-weight:900;white-space:nowrap}.verification-progress-count.ready{background:#dff3e5;color:#176b34}.verification-progress-count.attention{background:#ffe7cf;color:#864100}.verification-reset{width:23px;height:23px;padding:0;border:1px solid #d1d1cc;border-radius:50%;background:#fff;color:#777;font-size:12px;cursor:pointer}.verification-row-state{display:inline-flex;align-items:center;justify-content:center;gap:4px}.verification-camera{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid #c9cac6;border-radius:999px;background:#fff;color:#aaa;font-size:11px;cursor:pointer}.verification-camera.active{border-color:#333;background:#333;color:#fff}.verification-camera:disabled{cursor:not-allowed;opacity:.6}.verification-cell{width:74px;text-align:center!important;white-space:nowrap}

#checkDialog{width:min(820px,95vw);border:0;border-radius:18px;padding:0}#checkDialog::backdrop{background:rgba(0,0,0,.48)}.check-share-modal{padding:22px}.check-share-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;margin-top:14px}.check-share-qr{text-align:center}.check-share-qr img{width:220px;height:220px;max-width:100%;background:#eee}.check-share-details{display:flex;flex-direction:column;gap:12px}.check-share-details h3{margin:0}.check-share-details p{margin:0;color:#666;line-height:1.4}.check-pin-admin{padding:14px;border:1px solid #d8d8d3;border-radius:11px;background:#f7f7f5}.check-pin-admin label{display:block;font-size:9px;font-weight:900;letter-spacing:.07em;margin-bottom:6px}.check-pin-admin-row{display:flex;gap:7px}.check-pin-admin input{width:120px;height:42px;border:1px solid #aaa;border-radius:8px;text-align:center;font-size:20px;font-weight:900;letter-spacing:.18em}.check-share-actions{display:flex;gap:7px;flex-wrap:wrap}.check-share-url{overflow-wrap:anywhere;padding:10px;background:#eee;border-radius:7px;font-size:10px}
@media(max-width:600px){.check-share-grid{grid-template-columns:1fr}.check-share-qr img{width:190px;height:190px}.checker-app{padding-top:10px}.checker-race-head{gap:8px;flex-wrap:wrap}.checker-race-head h1{font-size:25px}.checker-head-actions{margin-left:auto}.checker-sort-trigger{min-width:110px;padding:7px 9px}.checker-sort-menu{width:min(220px,calc(100vw - 28px))}.checker-actions{grid-template-columns:1fr 105px}.checker-camera{grid-column:1/-1}}
@media(max-width:900px){.archive-shell{padding:20px 12px 50px}.archive-row{align-items:flex-start;flex-wrap:wrap}.archive-file-main{min-width:calc(100% - 70px)}}


/* Alpha 12.53: explicit reread-before-review action on incoming file thumbnail */
.doc-reread-btn{position:absolute;right:6px;bottom:6px;width:36px;height:36px;border:1px solid rgba(23,23,23,.18);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.97);color:var(--dark);box-shadow:0 4px 13px rgba(0,0,0,.18);cursor:pointer;z-index:3;transition:transform .14s ease-out,background .14s ease-out,color .14s ease-out}
.doc-reread-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.doc-reread-btn:hover:not(:disabled){transform:translateY(-1px);background:var(--dark);color:#fff}
.doc-reread-btn:focus-visible{outline:3px solid rgba(237,28,36,.32);outline-offset:2px}
.doc-reread-btn:disabled{cursor:wait;opacity:.82}
.doc-reread-btn.is-loading svg{animation:ocr-reread-spin .8s linear infinite}
@media (prefers-reduced-motion:reduce){.doc-reread-btn{transition:none}.doc-reread-btn.is-loading svg{animation:none}}


/* Alpha 12.69 — training results belong to the training workspace. */
.practice-results-area{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.practice-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 12px}
.practice-results-heading h2{margin:0;font-size:24px;letter-spacing:-.4px}
.practice-results-heading .muted{font-size:12px}
.practice-results-session-bar{position:relative;top:auto;height:58px;padding:7px 12px 0;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:#f7f7f6}
.practice-results-panel{min-height:280px;border-radius:0 0 var(--radius) var(--radius);box-shadow:none}
.practice-results-panel .panel-head{padding-top:16px}
.analysis-workspace{grid-template-columns:minmax(0,1fr);padding-top:0!important}
.analysis-workspace .rank-panel{min-height:420px}
@media(max-width:700px){
  .practice-results-area{margin-top:20px;padding-top:18px}
  .practice-results-heading h2{font-size:21px}
  .practice-results-session-bar{height:auto;min-height:58px;align-items:flex-end;overflow:hidden}
  .practice-results-session-bar .drop-hint{display:none}
  .analysis-workspace{padding-left:0!important;padding-right:0!important}
}


/* Alpha 12.70 — unified training start list and timing result table. */
.unified-practice-table-wrap{overflow:auto;border-top:1px solid var(--line)}
.unified-practice-table{min-width:980px}
.unified-practice-table th:nth-child(1){width:76px}
.unified-practice-table th:nth-child(2){width:110px}
.unified-practice-table th:nth-child(3){min-width:210px}
.unified-practice-table th:nth-child(4){width:112px}
.unified-practice-table th:nth-child(5){width:58px}
.unified-practice-table th:nth-child(6){width:125px}
.unified-practice-table th:nth-child(7){width:120px}
.unified-practice-table td{height:52px}
.unified-practice-table .cell-input.time{width:104px}
.unified-practice-table .practice-result-empty{color:#777;font-size:10px;font-weight:800;letter-spacing:.045em;text-align:center;background:#fafaf8}
.unified-practice-table .practice-place-empty{color:#999;font-weight:800;text-align:center}
.unified-practice-table.training-results-only{min-width:720px}
.unified-practice-table.training-results-only th:nth-child(1){width:76px}
.unified-practice-table.training-results-only th:nth-child(2){width:110px}
.unified-practice-table.training-results-only th:nth-child(3){min-width:210px}
.unified-practice-table.training-results-only th:nth-child(4){width:125px}
.unified-practice-table.training-results-only th:nth-child(5){width:120px}
.practice-current-actions{flex-wrap:wrap;justify-content:flex-end}
.practice-kart-result{display:flex;align-items:center;gap:7px}
.practice-kart-result small{color:#a05d00;font-size:9px;font-weight:900;white-space:nowrap}
.practice-unmatched-result td{background:#fff8dc;border-top:1px solid #e3c96e}
.practice-unmatched-result:hover td{background:#fff3bd}
.unmatched-result-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid #d4a928;border-radius:5px;background:#fff;color:#765600;font-size:8px;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.practice-unmatched-result .result-driver{min-width:190px;max-width:260px}
.practice-result-suggestion{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:4px 7px;min-width:250px}
.practice-result-suggestion>span{padding:3px 5px;border:1px solid #d4a928;border-radius:4px;background:#fff;color:#765600;font-size:8px;font-weight:900;letter-spacing:.05em}
.practice-result-suggestion>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.practice-result-suggestion>small{color:#765600;font-size:10px;font-weight:900;white-space:nowrap}
.practice-result-suggestion>.btn{grid-column:1/-1;justify-self:start;min-height:28px;white-space:normal;text-align:left;line-height:1.15}
.practice-result-other-driver{margin-top:6px;min-height:28px;font-size:9px}

@media(max-width:900px){
  .unified-practice-table{min-width:920px}
  .practice-current-actions{justify-content:flex-start}
}


/* Alpha 12.76 — AUTO / MANUAL kart selection. */
.analysis-head{align-items:center}
.analysis-selection-mode{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line-dark);border-radius:10px;background:#ececea}
.analysis-selection-mode button{min-width:92px;border:0;border-radius:7px;background:transparent;padding:9px 16px;color:#666;font-size:11px;font-weight:950;letter-spacing:.08em;cursor:pointer}
.analysis-selection-mode button.active{background:#171717;color:#fff;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.manual-kart-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:14px}
.manual-kart-role-card{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:72px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
.manual-kart-role-card>b{font-size:23px}
.manual-kart-role-card>div{display:grid;gap:5px}
.manual-kart-role-card button{border:1px solid #cececa;border-radius:6px;background:#f7f7f5;padding:6px 8px;font-size:9px;font-weight:950;cursor:pointer}
.manual-kart-role-card button.active{border-color:#151515;background:#151515;color:#fff}
.manual-kart-role-card.reserve-selected{border-color:#d8b13a;background:#fff8dd}
.manual-kart-role-card.reserve-selected button.active{border-color:#9d7300;background:#b48400}
.manual-kart-role-card.race-selected{border-color:#e1373e;background:#fff3f3}
.manual-kart-role-card.race-selected button.active{border-color:var(--red);background:var(--red)}
@media(max-width:700px){.analysis-head{align-items:flex-start}.analysis-selection-mode{width:100%}.analysis-selection-mode button{flex:1}.manual-kart-role-grid{grid-template-columns:1fr 1fr}.manual-kart-role-card{align-items:flex-start;flex-direction:column}}


/* Alpha 12.86 — mobile finals horizontal result/penalty access */
.final-card{min-width:0;max-width:100%;overflow:hidden}
.final-card .final-table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:thin;
  position:relative;
}
.final-card .final-entry-table{width:max-content;min-width:900px}
.final-card .final-entry-table th,.final-card .final-entry-table td{white-space:nowrap}
.final-card .final-entry-table th:nth-child(3),.final-card .final-entry-table td:nth-child(3){min-width:210px}
.final-card .final-entry-table th:last-child,.final-card .final-entry-table td:last-child{min-width:180px}
@media(max-width:900px){
  .final-card .final-table-scroll{
    cursor:grab;
    padding-bottom:6px;
  }
  .final-card .final-entry-table{min-width:980px}
  .final-card .final-table-scroll:before{
    content:"VELC TABULU SĀNIS → FINIŠS · BEST LAP · SODS";
    position:sticky;
    left:8px;
    display:block;
    width:max-content;
    padding:5px 8px;
    margin:5px 0 3px 8px;
    background:#fff7d8;
    border:1px solid #e6c55a;
    border-radius:6px;
    color:#755600;
    font-size:9px;
    font-weight:900;
    letter-spacing:.04em;
    z-index:4;
    pointer-events:none;
  }
}

/* Compact race navigation and carried penalties */
#module-race .race-module-head{align-items:center}
#module-race .race-stage-buttons{gap:10px}
#module-race .race-stage-button{min-width:92px;min-height:62px;padding:12px 24px!important;font-size:24px;line-height:1;font-weight:900}
#module-race .final-start-penalty-head{justify-content:flex-end;align-items:center}
#module-race .final-start-penalty-list{margin-top:12px}
@media(max-width:760px){
  #module-race .race-module-head{display:flex;flex-direction:column;align-items:stretch}
  #module-race .race-stage-buttons{width:100%}
  #module-race .race-stage-button{flex:1;min-width:0}
  #module-race .race-head-actions-combined{justify-content:flex-start;margin-top:0}
}

/* Q stage, heat and summary navigation */
#module-race .qualification-tabs{gap:10px;margin:2px 0 18px;padding-bottom:16px;border-bottom:1px solid #d5d5d5}
#module-race .qualification-tab{min-width:92px;min-height:62px;padding:12px 24px;font-size:24px;line-height:1;font-weight:900}
#module-race .qualification-tab:disabled{opacity:.38;cursor:not-allowed}
#module-race .qualification-heat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
#module-race .qualification-heat-tab{min-height:48px;padding:9px 18px;border:1px solid #c9c9c9;border-radius:2px;background:#fff;font-size:18px;font-weight:800;cursor:pointer}
#module-race .qualification-heat-tab.active{border-color:var(--ok-red);background:var(--ok-red);color:#fff}
#module-race .qualification-heat-tab:hover:not(.active){border-color:#777}
@media(max-width:760px){
  #module-race .qualification-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}
  #module-race .qualification-tab{min-width:0}
  #module-race .qualification-heat-tabs{gap:6px}
  #module-race .qualification-heat-tab{min-height:44px;padding:8px 12px;font-size:16px}
}

#module-race .qualification-heat-tabs .qualification-heat-tab:last-child{margin-left:auto}
#module-race .qualification-overall-tabs{display:flex;border-top:1px solid #d5d5d5;padding-top:16px;margin:0 0 18px}
#module-race .qualification-global-tab{min-width:220px}
#module-race .qualification-overall-tabs .qualification-heat-tab:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:760px){#module-race .qualification-global-tab{width:100%}}

#module-race .race-plan-preview{margin:12px 0 18px;overflow-x:auto}
#module-race .race-plan-preview:empty{display:none}
#module-race .q-group-count-table{width:auto;min-width:280px;border-collapse:collapse;background:#fff;font-size:14px;text-align:center}
#module-race .q-group-count-table th,#module-race .q-group-count-table td{min-width:64px;padding:8px 12px;border:1px solid #d8d8d8}
#module-race .q-group-count-table th{background:#f3f3f3;font-weight:800}
#module-race .q-group-count-table td{font-weight:800;font-variant-numeric:tabular-nums}

#module-race .race-module-head .race-plan-preview{margin:0 0 0 auto;max-width:100%;min-width:0;flex:0 1 auto}
#module-race .race-module-head .q-group-count-table{min-width:0}
@media(max-width:760px){
  #module-race .race-module-head .race-plan-preview{margin:0;width:100%}
}

/* Alpha 12.97 — count below Q heat buttons without changing navigation */
#module-race .qualification-heat-tabs{row-gap:30px;margin-bottom:38px}
#module-race .qualification-heat-with-count{position:relative}
#module-race .qualification-heat-count{position:absolute;left:0;right:0;bottom:-22px;color:#171717;font-size:14px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;pointer-events:none}

/* Alpha 12.98 — Q total divider and export beside overall */
#module-race .qualification-total-group{display:inline-flex;align-items:center;gap:10px;margin-left:0}
#module-race .qualification-total-group .qualification-heat-tab:last-child{margin-left:0}
#module-race .qualification-total-divider{font-size:24px;line-height:1;color:#777}
#module-race .qualification-overall-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid #d5d5d5;padding-top:16px;margin:0 0 18px}
#module-race .qualification-overall-row .qualification-overall-tabs{border:0;padding:0;margin:0;max-width:100%}
#module-race .qualification-export-button{min-height:48px}

/* Alpha 12.99 — compact imports, completion actions and mobile Q results */
#module-race .race-import-menu{position:relative}
#module-race .race-import-menu summary{list-style:none;cursor:pointer;min-width:48px;justify-content:center;font-size:20px}
#module-race .race-import-menu summary::-webkit-details-marker{display:none}
#module-race .race-import-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #ccc;background:#fff;box-shadow:0 4px 14px #0002;min-width:240px;max-width:calc(100vw - 32px)}
#module-race .race-import-menu-panel .btn{white-space:normal;text-align:left}
#module-race .qualification-completion-actions,#module-race #qualificationDoneActions{display:flex;align-items:center;gap:10px}
#module-race .qualification-done-button{min-height:48px}
#module-race .race-shell,#module-race .race-stage-content,#module-race .race-stage-section,#module-race #qualificationStageContent,#module-race .q-heats-grid,#module-race .q-heats-grid>*,#module-race .q-overall-card,#module-race .q-standings-card{min-width:0;max-width:100%}
#module-race .table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
@media(max-width:900px){
  #module-race .q-heats-grid{grid-template-columns:minmax(0,1fr)}
  #module-race .q-overall-card table,#module-race .q-standings-card table{min-width:620px}
  #module-race .race-import-menu-panel{left:0;right:auto}
}

/* Alpha 12.100 — compact finals navigation */
#module-race .finals-compact{margin-top:0;padding-top:0;border-top:0;min-width:0;max-width:100%}
#module-race .final-navigation-tabs{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:32px;padding-bottom:32px;margin-bottom:18px;border-bottom:1px solid #d5d5d5}
#module-race .final-navigation-tab.active{border-color:var(--ok-red);background:var(--ok-red);color:#fff}
#module-race .finals-compact .qualification-overall-row{border-top:0;padding-top:0}
#module-race .final-settings-menu{margin:0 0 16px}
#module-race .final-settings-menu summary{display:inline-flex;list-style:none;cursor:pointer;min-width:48px;justify-content:center;font-size:20px}
#module-race .final-settings-menu summary::-webkit-details-marker{display:none}
#module-race .final-settings-panel{padding:12px;border:1px solid #d5d5d5;margin-top:8px}
#module-race .final-settings-panel .final-generate-actions{flex-wrap:wrap}
#module-race .finals-compact .q-heats-grid{grid-template-columns:minmax(0,1fr)}
#module-race .finals-compact .q-overall-card{margin-top:0}
#module-race .finals-compact .q-heat-actions{gap:8px;flex-wrap:wrap}
#module-race .finals-compact .final-table-scroll:before{display:none}
#module-race .finals-compact .final-overview-table{min-width:900px}
@media(max-width:760px){#module-race .final-navigation-tab{min-width:72px;min-height:56px;padding:10px 18px;font-size:22px}#module-race .final-settings-panel .final-capacity-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}}

/* Alpha 12.102 — final pool stepper and distribution dialog */
#module-race .final-settings-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:16px}
#module-race .final-settings-controls>label{display:flex;flex-direction:column;gap:6px;font-weight:800}
#module-race .final-pool-stepper{display:flex;align-items:center;gap:6px}
#module-race .final-pool-stepper input{width:70px;text-align:center}
#module-race .final-pool-stepper .btn{min-width:40px;min-height:40px;font-size:22px}
#module-race .final-regenerate-row{margin-top:16px;padding-top:14px;border-top:1px solid #ddd;display:flex;justify-content:flex-end}
.final-distribution-dialog{width:min(600px,calc(100vw - 24px));max-height:90vh;overflow:auto}
.final-distribution-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px;padding:16px}
.final-distribution-inputs label{display:flex;flex-direction:column;gap:7px;font-size:20px;font-weight:800}
.final-distribution-inputs input{width:100%;min-width:0}
.final-distribution-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px}

/* Alpha 12.103 — final count sizing and flat penalty controls */
#module-race .final-pool-stepper input{height:40px;min-height:40px;font-size:22px;font-weight:800;line-height:1;appearance:textfield}
#module-race .final-pool-stepper input::-webkit-inner-spin-button,#module-race .final-pool-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
#module-race .final-settings-controls>label.final-count-inline{flex-direction:row;align-items:center;gap:10px;min-height:40px}
#module-race .final-count-inline select{height:40px;min-width:70px;font-size:22px;font-weight:800}
#module-race .final-settings-panel .final-start-penalty-card{border:0;padding:0;background:transparent;margin:14px 0;box-shadow:none}
#module-race .final-settings-panel .final-start-penalty-head{justify-content:flex-start;align-items:center;flex-direction:row}
#module-race .final-settings-panel .final-start-penalty-add{justify-content:flex-start;flex-direction:row;flex-wrap:wrap;min-width:0;align-items:center}
#module-race .final-settings-panel .final-start-penalty-add select{width:260px;max-width:100%;min-width:0}

/* Section navigation supplies the title; action rows start directly below it. */
#app > .module-page .registration-head > .registration-actions{margin-top:0}

/* Alpha 12.107 — aligned analysis panels and movable reserves. */
#module-analysis, #module-analysis *{font-family:var(--ui-font)}
.analysis-shell > .race-karts-summary{width:100%;margin:0 0 20px;box-sizing:border-box}
.analysis-shell .analysis-workspace{display:block;width:100%;padding:0!important;margin:0;box-sizing:border-box}
.analysis-workspace .rank-panel{width:100%;box-sizing:border-box}
.analysis-workspace .rank-head{justify-content:flex-end}
.reserve-drag{position:absolute;top:3px;z-index:5;border:1px solid #ac8400;background:#f3d879;color:#5c4800;padding:2px 4px;cursor:grab;touch-action:none;font-size:11px}
#module-analysis .selection-cell{position:relative}
.reserve-role{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:4px;padding:4px 6px;font-size:11px;cursor:pointer}
.reserve-role.active{background:#f3d879;border-color:#ac8400}
.reserve-role:disabled,.reserve-drag:disabled{cursor:default;opacity:.6}

/* Alpha 12.110 — LIVE stage and heat buttons. */
.live-button-navigation{display:block}
.live-topbar>div.live-language{display:flex;flex-direction:row;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;border:0;padding:0}
.live-language button{border:0;background:transparent;color:var(--text);padding:8px 4px;font:inherit;font-weight:700;cursor:pointer}
.live-language button.active{color:var(--ok-red);text-decoration:underline;text-underline-offset:4px}
.live-language button:focus-visible{outline:2px solid var(--ok-red);outline-offset:2px}
@media(max-width:700px){.live-topbar{height:auto;min-height:80px;flex-wrap:wrap;gap:10px;padding:12px}.live-topbar img{height:34px;max-width:190px}}
.live-phase-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.live-phase-buttons button{min-width:64px;min-height:42px;padding:10px 16px;border:1px solid #bbb;background:#fff;color:var(--text);font-weight:900;font-size:13px;cursor:pointer}
.live-phase-buttons button.active{background:#222;border-color:#222;color:#fff}
.live-heat-buttons{display:flex;flex-wrap:wrap;gap:8px}
.live-standings-buttons{margin-top:14px}
#liveQStageButtons,.live-q-heats,.live-standings-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
#liveQStageButtons button,.live-q-heats button,.live-standings-buttons button{flex-shrink:0;white-space:nowrap}
#liveQStageButtons[hidden],#liveStandingsButtons[hidden]{display:none}
.live-heat-buttons button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:50px;padding:9px 13px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);cursor:pointer}
.live-heat-buttons button b{font-size:13px}
.live-heat-buttons button small{font-size:10px;color:#666}
.live-heat-buttons button.active{border-color:var(--ok-red);background:#fff4f4;color:#a80b14}
.live-heat-buttons button.active small{color:#a80b14}
.live-button-navigation button:hover{border-color:var(--ok-red)}
.live-button-navigation button:focus-visible{outline:2px solid var(--ok-red);outline-offset:3px}
.live-stage-empty{padding:24px 18px;background:#fff;border:1px solid var(--line);color:#555}
@media(max-width:700px){.live-phase-buttons{gap:5px}.live-phase-buttons button{padding:10px 12px;min-width:54px}.live-heat-buttons{gap:6px}.live-heat-buttons button{flex:0 1 auto;padding:9px 11px}}

/* Alpha 12.119 — LIVE season/round navigation and interactive championship standings. */
.live-season-navigation{margin:0 0 14px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ok-red);padding:12px 14px}
.live-season-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.live-season-head span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#666;text-transform:uppercase}
.live-season-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
.live-season-event{flex:0 0 auto;min-width:128px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid #d2d2d2;background:#fff;color:#252525;padding:9px 12px;cursor:pointer;text-align:left}
.live-season-event b{font-size:12px;white-space:nowrap}.live-season-event small{font-size:10px;color:#777;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-season-event:hover{border-color:var(--ok-red)}.live-season-event.active{border-color:#222;background:#222;color:#fff}.live-season-event.active small{color:#ddd}
.live-season-overall{min-width:190px;border-color:#efb6b8}.live-season-overall.active{background:var(--ok-red);border-color:var(--ok-red)}
.live-season-standings{min-height:360px}.live-season-standings-head{padding:22px 22px 12px;border-bottom:1px solid #e5e5e5}
.live-season-standings-head h1{margin:5px 0 2px;font-size:28px}.live-season-standings-head small{color:#777}
.live-season-category-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 4px;background:#fff;scrollbar-width:thin}.live-season-category-tabs button{flex:0 0 auto;border:1px solid #ccc;background:#fff;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.live-season-category-tabs button.active{background:#222;border-color:#222;color:#fff}.live-season-category-tabs button:hover{border-color:var(--ok-red)}
.live-season-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(160px,.8fr);gap:8px;padding:12px 16px;background:#fafafa;border-bottom:1px solid #e6e6e6;align-items:center}
.live-season-controls input[type=search],.live-season-controls select{width:100%;min-height:40px;border:1px solid #ccc;background:#fff;padding:8px 10px;font:inherit}
.live-season-current-filter{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 10px;border:1px solid #ccc;background:#fff;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.live-season-current-filter input{accent-color:var(--ok-red)}
.live-season-table th button{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:900;letter-spacing:inherit;cursor:pointer;text-transform:inherit}
.live-season-table th button:hover{color:var(--ok-red)}
.live-season-table td:last-child,.live-season-table th:last-child{text-align:right}
.live-season-table tr.live-season-current-driver{background:#fff9f9}.live-season-table tr.live-season-current-driver td:first-child{border-left:3px solid var(--ok-red)}
.live-projection-badge{display:inline-block;background:#fff0b8;color:#6f5200;border:1px solid #e6cf72;padding:3px 6px;font-size:9px;letter-spacing:.05em}
.live-row-provisional{display:block;margin-top:3px;color:#9a6c00;font-size:9px;font-weight:900;text-transform:uppercase}
.live-rank-change{display:inline-flex;align-items:center;margin-left:7px;font-size:11px;font-weight:1000;line-height:1}.live-rank-change.up{color:#188a3a}.live-rank-change.down{color:#c62828}
.live-season-table td:nth-last-child(-n+3),.live-season-table th:nth-last-child(-n+3){text-align:right}
.live-season-empty{text-align:center!important;padding:28px!important;color:#777}
@media(max-width:760px){
  .live-season-navigation{margin-left:-4px;margin-right:-4px;padding:10px}
  .live-season-event{min-width:110px;padding:8px 10px}.live-season-overall{min-width:170px}
  .live-season-controls{grid-template-columns:1fr 1fr}
  .live-season-controls input[type=search]{grid-column:1/-1}
  .live-season-standings-head{padding:18px 16px 10px}.live-season-standings-head h1{font-size:24px}
}
@media(max-width:480px){.live-season-controls{grid-template-columns:1fr}.live-season-controls input[type=search]{grid-column:auto}}

/* Reserve priority and the shared final kart protocol. */
.reserve-order-controls,.final-pool-protocol{padding-block:18px;border-block-start:1px solid var(--line);margin-block-start:16px;min-width:0}
.reserve-order-controls h3,.final-pool-protocol h3{font-size:16px;margin:0 0 12px;font-weight:900}
.reserve-order-controls ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.reserve-order-controls li{display:flex;align-items:center;gap:12px;min-width:0}
.reserve-order-controls li>div{display:flex;gap:6px}
.reserve-order-controls .btn{min-height:36px;font-size:12px}
.final-pool-protocol p{font-size:14px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
.final-pool-protocol label{display:grid;gap:8px;font-size:14px;font-weight:800}
.final-pool-protocol select{width:100%;max-width:520px;font-size:16px;padding:10px;background:#fff;border:1px solid var(--line-dark);border-radius:8px;color:var(--text)}
.final-pool-order{font-size:14px;line-height:1.7;font-weight:800;overflow-wrap:anywhere;margin-block:10px}
.final-pool-protocol small{font-size:12px;color:var(--text)}
.final-distribution-protocol{padding-block:12px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.final-distribution-protocol p{margin:0;padding-block:12px;border-block-end:1px solid var(--line)}
.reserve-order-controls button:focus-visible,.final-pool-protocol select:focus-visible{outline:2px solid var(--red-dark);outline-offset:3px}
@media(max-width:600px){.reserve-order-controls ol{display:block}.reserve-order-controls li{justify-content:space-between;margin-block:10px}.final-pool-protocol select{max-width:none}}
