:root{--bg:#0b0d10;--panel:#15171c;--panel2:#1b1e24;--line:#30343b;--text:#f4f5f7;--muted:#999fa9;--subtle:#666d78;--red:#ed2041;--red2:#9e1730;--green:#55cf99;--amber:#f5bb60;--blue:#7caef5;--radius:11px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;display:flex}.sidebar{width:254px;position:sticky;top:0;height:100vh;flex-shrink:0;border-right:1px solid var(--line);background:#111318;display:flex;flex-direction:column;padding:30px 16px 18px;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 38px}.brand-mark{width:40px;height:42px;background:var(--red);border-radius:3px 11px 3px 3px;display:grid;place-items:center;position:relative;transform:skew(-9deg)}.brand-mark span{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:31px;transform:skew(9deg);color:white}.brand-mark i{position:absolute;bottom:-5px;right:-5px;background:var(--bg);height:9px;width:20px;transform:rotate(-25deg)}.brand-copy b{display:block;font-weight:900;font-size:14px;letter-spacing:.03em;line-height:1.1}.brand-copy b span{color:var(--red);display:block}.brand-copy small{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted);margin-top:5px}.side-caption{font-size:9px;letter-spacing:.18em;color:#757b86;font-weight:800;margin:0 14px 12px}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-link,.nav-disabled{border:0;color:#a7adb7;background:transparent;text-align:left;width:100%;padding:15px 12px;border-left:3px solid transparent;border-radius:3px;display:flex;align-items:center;gap:11px;white-space:nowrap;font-weight:700;font-size:12px}.nav-link:hover{color:white;background:#202329}.nav-link.active{color:white;background:linear-gradient(90deg,rgba(237,32,65,.17),rgba(237,32,65,.02));border-left-color:var(--red)}.nav-number{font:700 10px 'Courier New',monospace;color:#707682}.active .nav-number{color:var(--red)}.nav-chevron{margin-left:auto;font-size:23px;color:#535962;line-height:0}.sim-caption{margin-top:32px}.nav-disabled{font-size:11px;color:#777e88;white-space:normal;line-height:1.4}.soon{margin-left:auto;font-size:8px;color:#9c7580;padding:4px 5px;background:#30232a}.side-bottom{margin-top:auto;padding:18px 8px 3px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:6px;background:#3b1622;color:#ff5670;display:grid;place-items:center;font-weight:900}.side-bottom b{display:block;font-size:11px;letter-spacing:.08em}.side-bottom small{display:block;font-size:8px;color:var(--subtle);letter-spacing:.07em;margin-top:4px}.online-dot,.pulse{height:7px;width:7px;border-radius:50%;background:var(--green);display:inline-block}.online-dot{margin-left:auto}.content-shell{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:71px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;background:#111317;gap:15px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:22px}.eyebrow{color:#9096a1;font-size:10px;letter-spacing:.18em;font-weight:900}.eyebrow span{color:#e4e5ea}.sync-indicator{display:flex;gap:8px;align-items:center;color:#858c94;font-size:9px;letter-spacing:.12em;font-weight:800}.icon-action{background:none;border:1px solid #42454d;border-radius:5px;padding:9px 12px;color:#d8dbe1;font:800 10px 'Courier New',monospace;letter-spacing:.08em}.icon-action:hover{border-color:var(--red)}.menu-toggle{display:none;color:white;border:0;background:none;font-size:23px}#main{flex:1;width:100%;max-width:1580px;margin:auto;padding:34px 38px 52px}.load-placeholder{color:var(--muted);padding:80px;text-align:center;letter-spacing:.16em;font-size:12px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 38px;border-top:1px solid var(--line);color:#727984;letter-spacing:.07em;font-size:9px;font-weight:800}footer strong{color:var(--green)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.section-title{font-size:clamp(29px,3.2vw,44px);line-height:1;font-weight:950;font-family:Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.03em;text-transform:uppercase;margin:8px 0 8px}.section-subtitle{font-size:12px;color:#a0a7b1;line-height:1.6;margin:0}.red-slash{color:var(--red);font-weight:900;margin-right:8px}.btn{background:var(--red);border:1px solid var(--red);color:white;padding:13px 16px;border-radius:5px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.btn:hover{background:#ff304f}.btn.secondary{background:#21242b;border-color:#414650}.btn.secondary:hover{border-color:var(--red)}.btn.ghost{background:transparent;border-color:#3e434d}.btn.small{padding:9px 11px;font-size:10px}.hero{background:radial-gradient(ellipse at 86% 60%,rgba(174,25,51,.25),transparent 36%),linear-gradient(112deg,#22252c,#15171c 57%,#1e181e);border:1px solid #363942;border-left:4px solid var(--red);border-radius:var(--radius);min-height:227px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:29px 31px;overflow:hidden;position:relative;margin-bottom:22px}.hero::before{content:"";background:repeating-linear-gradient(115deg,transparent 0 16px,rgba(255,255,255,.016) 17px 20px);position:absolute;inset:0;pointer-events:none}.hero > *{position:relative}.hero h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(40px,5vw,75px);line-height:.93;letter-spacing:.035em;margin:11px 0}.hero h2 span{color:var(--red)}.hero p{color:#afb5bf;font-size:12px;max-width:480px;line-height:1.6}.hero-stamp{border:1px solid #565661;border-radius:7px;padding:21px 28px;text-align:center;min-width:155px;transform:skew(-7deg)}.hero-stamp .big{font-family:Impact,sans-serif;font-size:66px;line-height:.9}.hero-stamp small{font-size:9px;letter-spacing:.24em;color:#9d9fa8}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:19px 0 30px}.metric{padding:18px 19px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:126px;position:relative;overflow:hidden}.metric:before{content:"";height:2px;position:absolute;left:0;right:60%;top:0;background:var(--red)}.metric .metric-label{font-size:10px;font-weight:800;letter-spacing:.11em;color:var(--muted);text-transform:uppercase}.metric .metric-value{font-family:Impact,'Arial Narrow',sans-serif;font-size:38px;letter-spacing:.03em;margin:14px 0 3px;line-height:1}.metric .metric-foot{font-size:10px;color:#858b96}.metric .metric-value.red{color:var(--red)}.panel-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #30343d;gap:12px}.panel-header h3,.table-title{font:900 14px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em;margin:0}.panel-tag{font:800 9px 'Courier New',monospace;color:var(--red);letter-spacing:.1em}.panel-body{padding:21px 22px}.text-link{background:none;border:0;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.text-link:hover{text-decoration:underline}.mini-list{list-style:none;padding:0;margin:0}.mini-list li{border-bottom:1px solid #2b3038;padding:12px 0;display:flex;align-items:flex-start;gap:11px;font-size:12px;color:#c9cdd5;line-height:1.4}.mini-list li:last-child{border:0}.step-number{color:var(--red);font:800 11px 'Courier New',monospace;min-width:23px}.step-done{opacity:.45;text-decoration:line-through}.check-action{margin-left:auto;border:1px solid #50545b;background:#1d2025;color:#9cabb1;min-width:24px;width:24px;height:24px;border-radius:4px}.check-action.done{background:#1d5b43;color:#78e4aa}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th{text-align:left;font-size:9px;letter-spacing:.12em;color:#838a94;padding:12px 14px;background:#1c2027;text-transform:uppercase}.data-table td{border-top:1px solid #30343c;padding:15px 14px;font-size:12px;vertical-align:middle;color:#d3d6db}.data-table tr:hover td{background:#1c1f24}.table-wrap{overflow:auto}.table-wrap .data-table{min-width:580px}.time-cell{font:800 17px 'Courier New',monospace!important;color:#f3f4f5!important;white-space:nowrap}.micro{font-size:10px;color:#8e96a0}.pill{display:inline-block;padding:5px 7px;background:#30333a;color:#c7ccd5;font-size:9px;font-weight:800;letter-spacing:.045em;border-radius:3px}.pill.red{background:#432129;color:#ff8498}.pill.green{background:#174735;color:#71dbad}.pill.amber{background:#4b3927;color:#f6c783}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.search,.select{background:#1d2026;border:1px solid #3d424c;border-radius:5px;color:#e7e8eb;padding:12px 13px;min-width:220px;font-size:12px}.search{flex:1}.select{min-width:180px}.club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.club{border:1px solid #343944;background:#171a20;border-radius:9px;padding:21px;display:flex;flex-direction:column;gap:13px;min-height:238px}.club:hover{border-color:#6e4652}.club-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.club-top h3{font-size:19px;text-transform:uppercase;letter-spacing:.02em;margin:5px 0 3px;line-height:1.2}.club .club-type{font-size:10px;color:#9ba2ad;letter-spacing:.03em}.club p{font-size:12px;color:#c5c9cf;line-height:1.55;margin:0}.club-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #30343c}.club .region{font:800 10px 'Courier New',monospace;color:#a3abb6}.btn-text{color:#ff4762;border:0;background:none;font-size:11px;font-weight:800}.details{margin-top:15px;padding:15px;background:#111418;border-radius:6px}.details dl{display:grid;grid-template-columns:125px 1fr;gap:10px;margin:0}.details dt{font-size:10px;color:#7d8691;text-transform:uppercase}.details dd{font-size:12px;line-height:1.5;margin:0}.details a{color:#f56b80}.details p{margin-top:14px!important}.detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.detail-actions a{font-size:10px;padding:8px 10px;border:1px solid #4c515c;border-radius:4px;text-decoration:none}.chart-wrap{width:100%;min-height:220px}.chart-wrap svg{width:100%;height:auto;display:block;overflow:visible}.legend{display:flex;align-items:center;gap:8px;color:#a5acb5;font:10px 'Courier New',monospace}.legend-dot{width:8px;height:8px;background:var(--red);border-radius:50%}.empty-state{padding:30px;text-align:center;color:#9ca3ad;font-size:12px;line-height:1.6}.roadmap-row{display:grid;grid-template-columns:74px 1fr;gap:17px;padding:21px 6px;border-bottom:1px solid var(--line)}.roadmap-row:last-child{border:0}.roadmap-stage{font:900 25px Impact,sans-serif;color:var(--red)}.roadmap-row h3{font-size:15px;text-transform:uppercase;margin:2px 0 7px}.roadmap-row p{color:#afb4bf;font-size:12px;line-height:1.6;margin:0}.roadmap-row .milestone{font:800 9px 'Courier New',monospace;color:#989da8;letter-spacing:.06em;margin-top:10px}.callout{padding:19px 21px;border:1px solid #5b3a44;border-left:3px solid var(--red);background:#261b21;border-radius:6px;color:#e4b9c2;line-height:1.65;font-size:12px;margin:19px 0}.columns-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.info-box{padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.info-box .number{font:900 30px Impact,sans-serif;color:var(--red)}.info-box h3{font-size:12px;margin:10px 0 7px;text-transform:uppercase}.info-box p{font-size:11px;color:#aeb5be;line-height:1.6;margin:0}.muted{color:var(--muted)}.muted-small{color:var(--muted);font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:10px;letter-spacing:.08em;color:#a7acb5;text-transform:uppercase;font-weight:800}.field input,.field select,.field textarea{background:#13151a;border:1px solid #4a4d55;border-radius:5px;color:white;padding:12px 11px;width:100%;min-width:0}.field textarea{resize:vertical;min-height:90px;font-family:'Courier New',monospace;font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.hint{color:#939ca7;font-size:11px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:#07080be8;z-index:40;display:flex;justify-content:center;align-items:center;padding:19px;backdrop-filter:blur(7px)}.modal-backdrop.hidden{display:none}.modal-panel{width:min(670px,100%);max-height:92vh;overflow-y:auto;border:1px solid #4b4e58;background:#1c1e24;border-radius:12px;box-shadow:0 20px 100px #000;padding:24px}.modal-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:7px 0 0;font:900 27px Impact,sans-serif;letter-spacing:.04em}.close-button{font-size:27px;background:none;border:0;color:white}.small-note{font-size:10px;color:#878f9b}.status-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-chip{font:800 10px 'Courier New',monospace;color:var(--red)}.equipment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.equipment-card{padding:17px;border-radius:8px;background:#171a20;border:1px solid #363a43;min-height:137px}.equipment-card h3{margin:12px 0 6px;font-size:15px}.equipment-card p{color:#adb4bf;font-size:11px;line-height:1.5;margin-bottom:0}.equipment-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.alert-notice{font:800 10px 'Courier New',monospace;color:#fdbf75}.snackbar{position:fixed;bottom:25px;right:25px;z-index:50}.privacy-note{font-size:10px;color:#9da5af;margin-top:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#20352d;border:1px solid #347653;border-radius:5px;color:#d2ffe7;padding:12px 18px;box-shadow:0 8px 40px #0008;font-size:12px;display:none;z-index:100}#toast.show{display:block}.race-banner{background:linear-gradient(90deg,#171a1f,#24212a);border:1px solid #373a42;padding:12px 18px;border-radius:5px;display:flex;gap:12px;align-items:center;color:#b9bdc4;font-size:11px;margin-bottom:21px}.race-banner strong{color:#f4f5f7}.kicker-line{height:3px;width:48px;background:var(--red);margin-bottom:8px}.table-actions{display:flex;gap:9px;flex-wrap:wrap}.clickable{cursor:pointer}.note-block{white-space:pre-line;color:#c4c9d1;line-height:1.65;font-size:12px}.value-highlight{font:900 22px 'Courier New',monospace;color:#ff6076}.track-sub{font-size:10px;color:#a0a8b4}.compact-tag{font-size:9px;color:var(--red);text-transform:uppercase;font-weight:900;letter-spacing:.08em}.lap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.lap-tile{border:1px solid #383d45;background:#15181e;border-radius:5px;padding:12px}.lap-tile small{display:block;color:#858c98;font-size:10px;margin-bottom:7px}.lap-tile b{font:800 16px 'Courier New',monospace}.lap-tile.best{border-color:#9e3b4d;background:#311d26}.mobile-overlay{display:none}@media(max-width:1200px){.sidebar{width:215px}.topbar{padding:0 23px}#main{padding:28px 24px 42px}.brand-copy b{font-size:12px}.brand{padding-left:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.sidebar{position:fixed;transform:translateX(-100%);transition:transform .2s;width:270px;box-shadow:10px 0 50px #0008}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block}.topbar{height:62px;padding:0 16px}.topbar-left,.topbar-right{gap:10px}.topbar .icon-action span{display:none}.icon-action{padding:8px}.sync-indicator{font-size:8px}#main{padding:20px 14px 40px}.section-head{align-items:flex-start;flex-wrap:wrap}.section-title{font-size:35px}.hero{min-height:190px;padding:22px}.hero h2{font-size:49px}.hero-stamp{min-width:96px;padding:13px}.hero-stamp .big{font-size:46px}.panel-grid,.club-grid,.equipment-list,.columns-3{grid-template-columns:1fr}.metrics{gap:9px}.metric{min-height:109px;padding:14px}.metric .metric-value{font-size:31px}.panel-header,.panel-body{padding:16px}footer{padding:16px}.form-grid{grid-template-columns:1fr}.modal-panel{padding:19px}.mobile-overlay.visible{display:block;position:fixed;inset:0;background:#0009;z-index:19}}@media(max-width:470px){.hero-stamp{display:none}.hero h2{font-size:49px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar>*{width:100%;min-width:0}.section-head>.btn{width:100%}.eyebrow{font-size:9px}.sync-indicator{display:none}.club-top h3{font-size:17px}.race-banner{align-items:flex-start} .form-actions{flex-direction:column}.form-actions .btn{width:100%}}

/* Accessible race timing on small screens: keep chart labels readable. */
.field-inline{display:inline-flex;align-items:center;font:800 10px Arial,sans-serif;letter-spacing:.08em;color:#aeb6c1;padding:10px 6px}
@media(max-width:800px){.chart-wrap{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.chart-wrap svg{min-width:620px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v0.3 / Karting club decision workspace */
.view-selector{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 17px}
.view-selector .micro{margin-left:auto}
.club-top-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.favorite-btn{border:1px solid #59515a;background:#2c242a;color:#e5c3cb;border-radius:6px;font-size:23px;line-height:1;width:38px;height:34px;display:grid;place-items:center;cursor:pointer}
.favorite-btn.selected{color:#f9c95e;background:#514022;border-color:#ab8c41}
.club-data{display:flex;flex-wrap:wrap;gap:8px}
.club-data span{padding:5px 8px;border-radius:5px;background:#232932;color:#c0c8d4;font:700 10px Arial,sans-serif}
.rating-area,.activity-log{margin-top:17px;padding:15px 0;border-top:1px solid #393d45}
.rating-area h4,.activity-log h4{font-size:11px;letter-spacing:.12em;color:#e6e8eb;margin:0 0 9px}
.rating-grid,.weight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rating-grid label,.weight{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#b6bdc5;min-width:0}
.rating-grid select,.weight select{width:100%;min-width:0;padding:10px;background:#20252d;border:1px solid #4c535e;color:white;border-radius:5px}
.weight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.detail-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.detail-quick-actions a{font-size:11px;color:#ff7b91;border:1px solid #493a46;padding:8px 11px;text-decoration:none;border-radius:5px}
.details .field textarea{font-family:inherit}
.activity-row{padding:11px 0;border-bottom:1px solid #393d46;font-size:11px}
.activity-row strong{display:block;color:#e5e8ed;margin-bottom:6px}
.activity-row p{white-space:pre-line;overflow-wrap:anywhere;color:#c7cbd1;margin:0 0 5px}
.activity-row small{display:block;color:#aeb9c7;margin-bottom:5px}
.map-layout{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.4fr);gap:14px;align-items:start;margin:0 0 18px}
.map-list{max-height:580px;overflow-y:auto;border:1px solid #393d46;border-radius:8px}
.map-location{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:14px;border:0;border-bottom:1px solid #333941;background:#171a20;color:#f1f3f5}
.map-location small{color:#a0a9b5;font-size:11px}
.map-location.active{background:#372029;border-left:3px solid var(--red)}
.map-preview{background:#16191f;border:1px solid #424651;border-radius:9px;padding:18px;display:flex;flex-direction:column;gap:12px;min-height:280px}
.map-preview>.panel-header{padding:0 0 13px}
.map-preview .btn{align-self:start;text-decoration:none}
.map-buttons{display:flex;gap:8px;flex-wrap:wrap}
.club-map-frame{width:100%;height:340px;border:1px solid #41444b;border-radius:6px;background:#15191f}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}.map-list{max-height:230px}.weight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.rating-grid,.weight-grid{grid-template-columns:1fr}.favorite-btn{flex-shrink:0}}

/* One-owner karting workflow */
.club-feature-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.feature-chip{font-size:10px;font-weight:800;color:#b8d4c4;border:1px solid #3d6552;padding:3px 6px;border-radius:4px;letter-spacing:.04em}.needs-backup{color:#ffb45c;font-weight:800}.activity-row .btn-text{margin-right:8px}
