:root{--bg: #070a10;--bg-card: #0f141f;--bg-card-hover: #151c2a;--border: #243049;--text: #eef2f8;--text-muted: #8b95a8;--accent: #ff2d3a;--accent-hover: #ff4d58;--accent-glow: rgba(255, 45, 58, .28);--racing-gold: #ffc400;--telemetry: #00e5a0;--success: #22c55e;--warning: #f59e0b;--radius: 10px;--radius-sm: 6px;--font: "Inter", system-ui, sans-serif;--font-display: "Rajdhani", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--layout-max: 1520px;--grid-line: rgba(255, 255, 255, .035)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),radial-gradient(ellipse 120% 80% at 50% -20%,rgba(255,45,58,.09),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(0,229,160,.04),transparent 50%);background-size:40px 40px,40px 40px,100% 100%,100% 100%;color:var(--text);min-height:100vh;min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}input,textarea,select{-webkit-user-select:text;user-select:text}#root{min-height:100vh}.loading-screen,.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:var(--text-muted);font-size:1.05rem}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem clamp(1rem,3vw,2.5rem);background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),radial-gradient(ellipse at 20% 50%,rgba(255,45,58,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,229,160,.05) 0%,transparent 50%),var(--bg);background-size:40px 40px,40px 40px,100% 100%,100% 100%,100% 100%}.auth-pit-strip{position:fixed;top:0;left:0;right:0;z-index:10}.auth-card{width:100%;max-width:460px;background:linear-gradient(160deg,rgba(255,255,255,.04),transparent 40%),var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-sm);padding:2.5rem;box-shadow:0 24px 48px #00000073}.auth-card-wide{max-width:min(920px,96vw);max-height:90vh;overflow-y:auto}.registration-championships{margin-top:.5rem}.registration-role-options{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.registration-championships-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem}.registration-championship-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#ffffff05}.registration-championship-option:has(input:checked){border-color:var(--accent);background:#6366f114}.registration-championship-option input{margin-top:.2rem}.registration-championship-label{display:flex;flex-direction:column;gap:.2rem}.registration-championship-desc{font-size:.85rem;color:var(--text-muted)}.registration-championship-meta{font-size:.8rem;color:var(--text-muted)}.schedule-conflict-warning{margin-top:.75rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.45);background:#f59e0b14}.schedule-conflict-warning-compact{margin-top:.5rem;margin-bottom:.75rem}.schedule-conflict-warning strong{display:block;margin-bottom:.35rem;color:var(--warning)}.schedule-conflict-list{list-style:none;margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.schedule-conflict-date{font-weight:600;color:var(--text)}.schedule-conflict-events{list-style:disc;margin:.25rem 0 0 1.1rem;color:var(--text-muted);font-size:.9rem}.modal-wide{max-width:min(820px,96vw);max-height:90vh;overflow-y:auto}.driver-profile-form h2{font-size:1.25rem;font-weight:700;margin-bottom:1.25rem}.form-section-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:1.25rem 0 .75rem;padding-top:.5rem;border-top:1px solid var(--border)}.mono-cell{font-family:var(--font-mono);font-size:.82rem}.drivers-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.driver-stats-section{margin-bottom:2rem}.driver-stats-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.driver-stats-table .driver-stats-row{cursor:pointer}.driver-stats-table .driver-stats-row:hover{background:#ffffff0a}.driver-stats-table .driver-stats-row--expanded{background:#ffffff0f}.driver-stats-table .expand-cell{width:1.5rem;text-align:center;color:var(--text-muted);font-size:.75rem}.driver-stats-table .highlight-stat{color:var(--accent);font-weight:600}.driver-stats-detail{padding:.75rem 1rem 1rem 2rem}.driver-stats-detail-summary{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.driver-stats-races-table{font-size:.85rem}.driver-stats-races-table th,.driver-stats-races-table td{padding:.35rem .75rem}.profile-stats-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border, rgba(255, 255, 255, .08))}.profile-stats-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem}.profile-stats-loading{margin-top:1rem;text-align:center}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.65rem;margin-bottom:1rem}.profile-stat-card{background:var(--surface-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:8px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.25rem}.profile-stat-card--highlight .profile-stat-value{color:var(--accent)}.profile-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.profile-stat-value{font-size:1.15rem;font-weight:600;font-family:var(--font-mono)}.profile-stats-races{margin-top:.5rem}.drivers-table .car-cell{max-width:10rem}.guest-registration-form{margin-bottom:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.guest-registration-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:.75rem 0}.guest-tag{margin-left:.5rem;background:#f59e0b26;color:var(--warning)}.guest-registration-row td{background:#f59e0b0a}.drivers-table tr.driver-pending td{opacity:.72}.points-info-section{margin-bottom:.5rem}.points-info-section h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.points-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem}.points-info-card{display:flex;flex-direction:column;gap:.15rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .75rem;font-size:.82rem}.points-info-card strong{color:var(--accent);font-size:.9rem}.points-info-card span{color:var(--text-muted)}.points-info-range{font-family:var(--font-mono);color:var(--text)!important;font-size:.78rem}@media(max-width:600px){.points-info-grid{grid-template-columns:repeat(2,1fr)}}.auth-header{text-align:center;margin-bottom:2rem}.app-logo{display:block;object-fit:contain;flex-shrink:0;background:transparent}.app-logo-sm{width:2.25rem;height:2.25rem;border-radius:.45rem}.app-logo-md{width:3.5rem;height:3.5rem;border-radius:.65rem}.app-logo-lg{width:5.5rem;height:5.5rem;margin:0 auto .75rem;border-radius:1rem}.logo-mark{font-size:2.5rem;margin-bottom:.5rem}.logo-mark.small{font-size:1.75rem}.auth-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.auth-header p{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:var(--bg);border-radius:var(--radius-sm);padding:4px}.auth-tabs button{flex:1;padding:.6rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.auth-tabs button.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px #0000004d}.auth-form label{display:block;margin-bottom:1rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.auth-form input{display:block;width:100%;margin-top:.35rem;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.95rem;transition:border-color .15s}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-row-optional{display:grid;grid-template-columns:1fr 8rem;gap:.75rem;margin-bottom:1rem}.form-row-optional label{margin-bottom:0}@media(max-width:560px){.form-row-optional{grid-template-columns:1fr}}.driver-profile-form label{display:block;margin-bottom:1rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.driver-profile-form input{display:block;width:100%;margin-top:.35rem;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.95rem;transition:border-color .15s,box-shadow .15s}.driver-profile-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.car-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.5rem}@media(max-width:560px){.car-select-grid{grid-template-columns:1fr}}.select-field{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;background:linear-gradient(145deg,rgba(255,255,255,.03),transparent);border:1px solid var(--border);border-radius:12px;transition:border-color .2s,box-shadow .2s}.select-field:focus-within,.select-field--filled{border-color:#ff3d5759;box-shadow:0 0 0 1px #ff3d571f}.select-field-header{display:flex;align-items:center;gap:.45rem}.select-field-slot{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .35rem;font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent);background:var(--accent-glow);border-radius:6px}.select-field-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.select-field-preview{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .7rem;background:#ff3d570f;border:1px solid rgba(255,61,87,.15);border-radius:8px}.select-field-preview-icon{font-size:1.15rem;line-height:1;margin-top:.1rem}.select-field-preview-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.select-field-badge{display:inline-block;width:fit-content;padding:.1rem .4rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:#ff3d571f;border-radius:4px}.select-field-value{font-size:.88rem;font-weight:600;line-height:1.35;color:var(--text);word-break:break-word}.select-field-placeholder{padding:.55rem .7rem;font-size:.85rem;color:var(--text-muted);background:var(--bg);border:1px dashed var(--border);border-radius:8px}.select-field-search{display:flex;align-items:center;gap:.45rem;padding:0 .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,box-shadow .15s}.select-field-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.select-field-search-icon{font-size:.85rem;opacity:.55;flex-shrink:0}.select-field-search input{flex:1;min-width:0;margin:0;padding:.6rem 0;background:transparent;border:none;color:var(--text);font-family:var(--font);font-size:.88rem}.select-field-search input:focus{outline:none;box-shadow:none}.select-field-control{position:relative}.select-field-control select{display:block;width:100%;margin:0;padding:.72rem 2.25rem .72rem .85rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.select-field-control select:hover:not(:disabled){border-color:#ffffff2e;background:#ffffff05}.select-field-control select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.select-field-control select:disabled{opacity:.65;cursor:wait}.select-field-chevron{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.95rem;color:var(--accent);opacity:.85}.select-field-hint{font-size:.78rem;color:var(--text-muted);padding-left:.15rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;min-height:44px;background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.92rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#ff5a64,var(--accent-hover));box-shadow:0 4px 18px var(--accent-glow)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;min-height:44px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted)}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.35rem;border-radius:6px;opacity:.6;transition:opacity .15s,background .15s}.btn-icon:hover{opacity:1;background:#ffffff0f}.btn-icon.danger:hover{background:#ff3d5726}.auth-form .btn-primary{width:100%;margin-top:.5rem;padding:.75rem}.form-error{color:var(--accent);font-size:.85rem;margin-bottom:.75rem}.dashboard-shell{min-height:100vh}.pit-strip{height:5px;background:repeating-linear-gradient(-45deg,#0a0a0a,#0a0a0a 12px,var(--accent) 12px,var(--accent) 24px);box-shadow:0 2px 12px #ff2d3a40}.dashboard{max-width:var(--layout-max);width:100%;margin:0 auto;padding:0 clamp(1rem,2.5vw,2rem) 2.5rem;min-height:calc(100vh - 5px)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:0 calc(-1*clamp(1rem,2.5vw,2rem)) 1.75rem;padding:1.25rem clamp(1rem,2.5vw,2rem);flex-wrap:wrap;background:linear-gradient(180deg,#0f141ffa,#0a0e16eb);border-bottom:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:0 8px 32px #00000059}.header-left{display:flex;align-items:center;gap:1rem}.header-right{display:flex;gap:.5rem;flex-wrap:wrap}.header-left h1{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}.header-sub{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.02em}.session-badge{display:inline-block;margin-top:.35rem;padding:.15rem .55rem;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--telemetry);border:1px solid rgba(0,229,160,.35);background:#00e5a014;border-radius:2px}.main-content{width:100%}.stats-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.75rem}.stat{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.03),transparent),var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.15rem 1rem 1.25rem;text-align:left;overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),var(--racing-gold))}.stat-value{display:block;font-family:var(--font-mono);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:var(--text);line-height:1.1}.stat-label{font-family:var(--font-display);font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.25rem}.filter-bar{display:flex;gap:.5rem;margin-bottom:1.5rem}.filter-btn{padding:.55rem 1.1rem;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s}.filter-btn.active{background:#ff2d3a26;border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px #ff2d3a59}.filter-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.race-month{margin-bottom:2rem}.month-heading{font-family:var(--font-display);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.race-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:.75rem}.race-card{display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 35%),var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.15rem;transition:border-color .15s,transform .12s}.race-card:hover{border-color:#ffffff29;transform:translate(2px)}.race-card.mine{border-left:3px solid var(--accent)}.race-card.championship{border-left:3px solid #c9a227;background:linear-gradient(90deg,rgba(201,162,39,.08),transparent 40%)}.tag.championship-tag{background:#c9a2272e;color:#e8c547}.race-card.schedule-conflict{border-color:#f59e0b73}.tag.conflict-tag{background:#f59e0b26;color:var(--warning)}.race-card.past{opacity:.55}.race-date-badge{flex-shrink:0;width:56px;text-align:center;background:#00000059;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.55rem 0}.race-day{display:block;font-family:var(--font-mono);font-size:1.45rem;font-weight:700;line-height:1;color:var(--racing-gold)}.race-month-short{display:block;font-family:var(--font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em;margin-top:2px}.race-info{flex:1;min-width:0}.race-info h4{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.15rem}.race-meta{font-size:.85rem;color:var(--text-muted)}.race-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.tag{font-size:.72rem;font-weight:500;padding:.15rem .55rem;border-radius:999px;background:#ffffff0f;color:var(--text-muted)}.tag.category{background:#3b82f626;color:#93bbfd}.tag.user{background:#a855f71f;color:#c4b5fd}.tag.countdown{background:#22c55e1f;color:var(--success)}.tag.countdown.urgent{background:#f59e0b26;color:var(--warning)}.tag.past-tag{background:#ffffff0a}.race-notes{font-size:.82rem;color:var(--text-muted);margin-top:.4rem;font-style:italic}.race-actions{display:flex;gap:.15rem;flex-shrink:0}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.empty-hint{font-size:.85rem;margin-top:.5rem;opacity:.7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 24px 48px #00000080}.modal h2{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.modal label{display:block;margin-bottom:1rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.modal input,.modal select,.modal textarea{display:block;width:100%;margin-top:.35rem;padding:.65rem .85rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.95rem;transition:border-color .15s}.modal textarea{resize:vertical}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal-actions.inline{justify-content:flex-start;margin-top:0}.image-upload-field input[type=file]{margin-top:.35rem;width:100%}.result-image-preview{margin:.75rem 0;max-height:220px;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg)}.result-image-preview img{width:100%;max-height:220px;object-fit:contain;display:block}.import-preview-table{margin-top:.75rem;max-height:320px;overflow:auto}.import-warnings{margin-top:.5rem}.import-preview-table tr.row-warning{opacity:.85;background:#f59e0b14}@media(max-width:600px){.dashboard{padding:1rem}.app-header{flex-direction:column;align-items:stretch}.header-right{justify-content:stretch}.header-right .btn-primary,.header-right .btn-secondary{flex:1}.stats-bar{grid-template-columns:repeat(2,1fr);gap:.5rem}.race-cards{grid-template-columns:1fr}.stat{padding:.75rem}.stat-value{font-size:1.35rem}.form-row{grid-template-columns:1fr}.race-card{flex-wrap:wrap}.race-actions{width:100%;justify-content:flex-end}.standings-table-wrap,.results-table-wrap{overflow-x:auto}.table-toolbar{flex-direction:column;align-items:stretch}.table-export-actions{justify-content:stretch}.table-export-actions .btn-export-image{flex:1 1 auto}}.main-tabs{display:flex;gap:.35rem;margin-bottom:1.75rem;background:#0f141fd9;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.main-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent}.main-tab.active{background:#ff2d3a1f;color:var(--text);border-bottom-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.main-tab:hover:not(.active){color:var(--text);background:#ffffff0a}.championship-view{display:flex;flex-direction:column;gap:1.75rem}.championship-back{align-self:flex-start}.cup-points-table-wrap{overflow-x:auto;margin-bottom:1rem}.cup-points-table{width:100%;max-width:420px;border-collapse:collapse;font-size:.9rem}.cup-points-table th,.cup-points-table td{padding:.35rem .75rem;border-bottom:1px solid var(--border);text-align:left}.cup-rules-block{margin-top:1rem}.cup-rules-block h4{font-size:.85rem;font-weight:600;margin-bottom:.35rem}.cup-rules-block ul{margin:0;padding-left:1.2rem;color:var(--text-muted);font-size:.88rem}.cup-rules-block li+li{margin-top:.25rem}.cup-rules-intro{margin-bottom:.75rem}.championship-hub{display:flex;flex-direction:column;gap:1.75rem}.championship-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.15rem}.championship-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.35rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,.04),transparent 45%),var(--bg-card);border-top:2px solid rgba(255,196,0,.45)}.championship-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.membership-badge{display:inline-block;margin-bottom:.35rem;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.membership-badge.approved{background:#22c55e26;color:var(--success)}.membership-badge.pending{background:#f59e0b26;color:var(--warning)}.championship-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dgt7m-brand{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.25rem 2rem;padding:.5rem 0 .75rem;background:transparent}.dgt7m-brand-card{margin-bottom:.75rem;padding:0;background:transparent}.dgt7m-brand-logo{display:block;height:4.5rem;width:auto;max-width:min(100%,12rem);object-fit:contain;background:transparent}.dgt7m-brand-logo-wide{height:5rem;max-width:min(100%,20rem)}.championship-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.championship-header h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.championship-desc{color:var(--text-muted);font-size:.9rem;margin-top:.2rem}.standings-section h3,.events-section h3,.results-section h3,.driver-stats-section h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.75rem}.standings-table-wrap,.results-table-wrap{overflow-x:auto;border:1px solid rgba(255,196,0,.18);border-radius:var(--radius-sm);background:linear-gradient(180deg,#080c14eb,#00000047);box-shadow:0 8px 28px #00000059,inset 0 1px #ffffff0a}.exportable-table-block{margin-top:.25rem}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05}.table-toolbar-label{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.btn-export-image{font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .85rem;min-height:36px}.btn-export-image:before{content:"⬇ ";opacity:.85}.table-export-error{margin:-.25rem 0 .65rem}.table-export-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.btn-export-all{border-color:#ffc40059;color:var(--racing-gold)}.table-export-offscreen{position:fixed;left:-12000px;top:0;width:max-content;max-width:none;pointer-events:none;opacity:0;z-index:-1}.table-export-offscreen .table-export-capture{overflow:visible;width:max-content;max-width:none}.table-export-no-scroll{overflow:visible!important;max-width:none!important;width:max-content!important}.table-export-capture.table-exporting{overflow:visible;width:max-content;max-width:none}.table-export-capture.table-exporting .standings-table-wrap,.table-export-capture.table-exporting .results-table-wrap,.table-export-capture.table-exporting .table-export-scroll{overflow:visible!important;max-width:none!important;width:max-content!important}.table-export-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.5rem;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.table-export-logo{display:block;height:3.25rem;width:auto;max-width:10rem;object-fit:contain}.table-export-logo-wide{height:3.75rem;max-width:16rem}.table-export-capture{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:#0a0e17}.table-export-capture .standings-table-wrap,.table-export-capture .results-table-wrap,.table-export-capture .table-export-scroll{border:none;border-radius:0;background:transparent}.table-export-capture .standings-table,.table-export-capture .results-table{width:max-content;min-width:100%;white-space:nowrap}.table-export-header{display:none;padding:1rem 1.15rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(255,45,58,.12),transparent 35%),#0f141ff2;border-left:4px solid var(--accent)}.table-export-capture.table-exporting .table-export-header{display:block}.table-export-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.table-export-brand{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--telemetry)}.table-export-date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.table-export-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.15}.table-export-subtitle{margin-top:.25rem;font-size:.85rem;color:var(--text-muted)}.table-exporting{pointer-events:none}.table-exporting .table-export-capture,.table-exporting.table-export-capture{box-shadow:0 0 0 2px var(--telemetry)}.standings-table,.results-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.standings-table thead,.results-table thead{position:sticky;top:0;z-index:2}.standings-table th,.results-table th{text-align:left;padding:.85rem 1rem;background:linear-gradient(180deg,#141a28fa,#0a0e16fa);color:var(--text-muted);font-family:var(--font-display);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid rgba(255,196,0,.35);white-space:nowrap}.standings-table th:first-child,.results-table th:first-child{border-left:3px solid var(--accent)}.standings-table td,.results-table td{padding:.72rem 1rem;border-bottom:1px solid rgba(36,48,73,.85);font-size:.92rem;vertical-align:middle}.standings-table tbody tr:nth-child(2n):not(.driver-stats-detail-row),.results-table tbody tr:nth-child(2n){background:#ffffff05}.standings-table tbody tr:hover:not(.driver-stats-detail-row),.results-table tbody tr:hover{background:#ffffff0b}.rank-cell,.points-cell,.mono-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.points-cell{font-weight:700;color:var(--racing-gold)}.standings-section h3,.driver-stats-section h3{font-size:1.15rem}.standings-table tr:last-child td,.results-table tr:last-child td{border-bottom:none}.standings-table tr.podium,.results-table tr.podium{background:#ffffff08}.standings-table tr.rank-1,.results-table tr.rank-1{background:linear-gradient(90deg,#ffd70029,#ffd70008 62%);box-shadow:inset 4px 0 gold}.standings-table tr.rank-2,.results-table tr.rank-2{background:linear-gradient(90deg,#c0c0c024,#c0c0c005 62%);box-shadow:inset 4px 0 silver}.standings-table tr.rank-3,.results-table tr.rank-3{background:linear-gradient(90deg,#cd7f3224,#cd7f3205 62%);box-shadow:inset 4px 0 #cd7f32}.standings-table tr.rank-1 .rank-cell,.results-table tr.rank-1 .rank-cell,.standings-table tr.rank-1 .driver-name-cell,.standings-table tr.rank-2 .driver-name-cell,.standings-table tr.rank-3 .driver-name-cell{font-weight:700}.standings-table tr.rank-1 .rank-cell,.results-table tr.rank-1 .rank-cell{color:gold}.standings-table tr.rank-2 .rank-cell,.results-table tr.rank-2 .rank-cell{color:silver;font-weight:700}.standings-table tr.rank-3 .rank-cell,.results-table tr.rank-3 .rank-cell{color:#cd7f32;font-weight:700}.podium-rank-badge{display:inline-flex;align-items:center;gap:.45rem;min-width:2.5rem}.podium-medal{font-size:1rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.podium-rank-num{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.standings-table tr.rank-1 .podium-rank-num{color:gold}.standings-table tr.rank-2 .podium-rank-num{color:silver}.standings-table tr.rank-3 .podium-rank-num{color:#cd7f32}.driver-name-cell{font-weight:600}.league-tables-stack{display:flex;flex-direction:column;gap:1.35rem}.league-table-block{border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:.85rem .85rem .65rem;background:#ffffff04}.league-table-block--l1{border-color:#ffd70029}.league-table-block--l2{border-color:#c0c0c024}.league-table-block--l3{border-color:#cd7f3224}.league-table-title{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 .75rem}.league-badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.league-badge--l1{color:gold;background:#ffd7001f;border:1px solid rgba(255,215,0,.28)}.league-badge--l2{color:silver;background:#c0c0c01a;border:1px solid rgba(192,192,192,.24)}.league-badge--l3{color:#cd7f32;background:#cd7f321a;border:1px solid rgba(205,127,50,.24)}.league-table-subtitle{font-size:.82rem;color:var(--text-muted)}.league-cell{font-weight:600}.rank-cell{font-family:var(--font-mono);font-weight:600;width:3rem}.points-cell{font-family:var(--font-mono);font-weight:700;color:var(--racing-gold)}.notes-cell{color:var(--text-muted);font-size:.85rem}.actions-cell{white-space:nowrap;width:5rem}.event-cards{display:flex;flex-direction:column;gap:.5rem}.event-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;padding:.85rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);cursor:pointer;transition:all .15s}.event-card:hover{background:var(--bg-card-hover);border-color:#2f3d5c}.event-card.active{border-color:var(--accent);border-left:3px solid var(--accent)}.event-card span{font-size:.85rem;color:var(--text-muted)}.results-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.results-header h3{margin-bottom:0}.results-actions{display:flex;gap:.5rem;flex-wrap:wrap}.role-badge{display:inline-block;margin-top:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;color:var(--accent);background:var(--accent-glow);border-radius:var(--radius-sm)}.registration-banner{padding:1rem 1.25rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius)}.registration-banner h3{margin-bottom:.25rem}.registration-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.75rem}.registration-form.inline{margin-top:1rem}.registration-status{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.registration-status.registered span{color:var(--success, #4ade80);font-weight:500}.event-card.upcoming{border-color:var(--accent)}.event-badge{display:block;margin-top:.25rem;font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.checkbox-row{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0 1rem}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;cursor:pointer}.bonus-cell{white-space:nowrap}.bonus-tag{display:inline-block;margin-right:.25rem;padding:.1rem .45rem;border-radius:2px;font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#00e5a01f;color:var(--telemetry);border:1px solid rgba(0,229,160,.25)}.start-positions-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:20rem;overflow-y:auto}.start-position-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.start-position-row input{width:5rem}.manual-results-modal{max-width:820px}.manual-results-bonuses{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:640px){.manual-results-bonuses{grid-template-columns:1fr}}.manual-results-lap-toggle{margin-bottom:1rem}.manual-results-table-wrap{overflow-x:auto;margin-bottom:1rem;max-height:22rem;overflow-y:auto}.manual-results-table{width:100%;border-collapse:collapse;font-size:.875rem}.manual-results-table th,.manual-results-table td{padding:.4rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.manual-results-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);position:sticky;top:0;background:var(--bg-card)}.manual-results-position-input{width:4.5rem}.manual-results-lap-input{width:7rem;font-family:var(--font-mono);font-size:.85rem}.manual-results-notes-input{width:100%;min-width:6rem}.special-scoring-tag{margin-left:.35rem;font-size:.7rem}.text-muted{color:var(--text-muted)}.role-badge.role-admin{color:#f59e0b;background:#f59e0b26}.role-badge.role-rennleiter{color:var(--accent);background:var(--accent-glow)}.role-badge.role-fahrer{color:var(--text-muted);background:transparent}.admin-panel{max-width:100%}.admin-stats-bar{margin-bottom:1rem}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.admin-search{flex:1;min-width:12rem;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.admin-filter-bar{margin:0}.admin-row-pending{background:#f59e0b0f}.admin-team-hint{display:block;font-size:.8rem}.admin-championships-cell{font-size:.85rem;max-width:14rem}.btn-small{padding:.35rem .65rem;font-size:.85rem}.admin-row-actions{display:flex;gap:.35rem;flex-wrap:wrap}.btn-danger{border-color:#ff3d5773;color:var(--accent)}.btn-danger:hover:not(:disabled){background:#ff3d571f;border-color:var(--accent)}.admin-driver-modal .admin-driver-meta{margin:0 0 .75rem;font-size:.85rem}.admin-role-toggle{margin-bottom:1rem}.admin-event-registration{max-width:100%}.admin-championship-card{margin-bottom:1.5rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card)}.admin-championship-card-header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.admin-championship-card-header h3{margin:0 0 .25rem}.admin-championship-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-championship-footer{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.btn-link:hover{opacity:.85}.admin-championships-section{margin-bottom:.5rem}.admin-championship-block{padding:.75rem 0;border-top:1px solid var(--border)}.admin-championship-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.admin-adjustment-field{display:block;margin-top:.75rem;max-width:10rem}.admin-adjustment-field input{width:100%}.admin-header h2{margin-bottom:.25rem}.admin-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.9rem}.admin-users-table td{vertical-align:middle}.points-hint{font-size:.85rem;color:var(--text-muted);margin:-.5rem 0 1rem}.standings-hint{font-size:.85rem;color:var(--text-muted);margin:-.25rem 0 1rem;line-height:1.45}.standings-adjustment{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.car-cell{color:var(--text-muted);font-size:.85rem;max-width:12rem}.points-hint strong{color:var(--accent);font-family:var(--font-mono)}.track-filter{display:block;width:100%;margin-top:.35rem;margin-bottom:.35rem;padding:.55rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);font-size:.85rem}.track-filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.track-filter-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.race-calendar-section{margin-bottom:2rem}.race-calendar-card{max-width:920px;margin:0 auto;padding:1.75rem 1.5rem 1.25rem;border-radius:var(--radius-sm);background:linear-gradient(180deg,#12161efa,#080a0efa);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px #00000059}.race-calendar-title{text-align:center;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.35rem);font-weight:700;letter-spacing:.06em;text-transform:none;color:var(--accent);line-height:1.1}.race-calendar-divider{height:4px;margin:.85rem 0 1.15rem;background:var(--accent);border-radius:2px}.race-calendar-table-wrap{overflow-x:auto}.race-calendar-table{width:100%;border-collapse:collapse;font-size:.95rem}.race-calendar-table thead th{padding:.55rem .75rem;text-align:left;font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.04em;color:var(--accent);border-bottom:1px solid rgba(255,255,255,.08)}.race-calendar-table tbody td{padding:.65rem .75rem;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text)}.race-calendar-table tbody tr:nth-child(2n){background:#ffffff05}.race-calendar-round{font-family:var(--font-display);font-weight:700;color:var(--accent);white-space:nowrap}.race-calendar-info{color:var(--text-muted)}.race-calendar-footer{margin-top:1rem;text-align:center;font-size:.82rem;font-style:italic;color:var(--text-muted)}@media(max-width:640px){.race-calendar-card{padding:1.25rem 1rem 1rem}.race-calendar-table{font-size:.85rem}.race-calendar-table thead th,.race-calendar-table tbody td{padding:.5rem .45rem}}.server-setup-page .auth-card{max-width:520px}.server-setup-steps{margin:0 0 1.25rem;padding-left:1.25rem;color:var(--text-muted);font-size:.9rem;line-height:1.55}.server-setup-steps li{margin-bottom:.35rem}.form-success{margin:0 0 1rem;padding:.65rem .85rem;border-radius:6px;background:#00e5a01f;border:1px solid rgba(0,229,160,.35);color:var(--accent-green, #00e5a0);font-size:.9rem}.form-error{margin:0 0 1rem;padding:.65rem .85rem;border-radius:6px;background:#ff2d3a1a;border:1px solid rgba(255,45,58,.35);color:var(--accent, #ff2d3a);font-size:.9rem}
