:root{
      --bg:#06080d;
      --panel:#11151c;
      --panel2:#181e27;
      --text:#f5f7fb;
      --muted:#929cab;
      --accent:#ff2a2a;
      --accent2:#ff7a00;
      --ok:#22c55e;
      --warn:#f59e0b;
      --line:#293651;
      --shadow:0 18px 45px rgba(0,0,0,.28);
      --radius:18px;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--text);
      background:
        linear-gradient(135deg,rgba(255,255,255,.018) 25%,transparent 25%) 0 0/28px 28px,
        linear-gradient(225deg,rgba(255,255,255,.018) 25%,transparent 25%) 0 0/28px 28px,
        radial-gradient(circle at 85% 0%, rgba(255,42,42,.18), transparent 30rem),
        linear-gradient(160deg,#05070a 0%,#090d12 50%,#10151d 100%);
      min-height:100vh;
    }
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .app{max-width:1450px;margin:auto;padding:24px}
    header{
      display:flex;align-items:center;justify-content:space-between;gap:18px;
      margin-bottom:20px;
    }
    .brand{display:flex;align-items:center;gap:14px}
    .logo{
      width:64px;height:54px;border-radius:8px;display:grid;place-items:center;
      background:linear-gradient(135deg,#ff2a2a,#9f0000);
      box-shadow:0 0 0 1px rgba(255,255,255,.08),0 12px 30px rgba(255,42,42,.3);
      font-weight:950;font-style:italic;font-size:17px;letter-spacing:.06em;
      transform:skew(-8deg);
    }
    h1{font-size:clamp(26px,3vw,40px);margin:0;font-style:italic;letter-spacing:.02em;text-transform:uppercase}
    .subtitle{margin:3px 0 0;color:var(--muted)}
    .top-actions{display:flex;gap:10px;flex-wrap:wrap}
    .btn{
      border:1px solid var(--line);background:var(--panel2);color:var(--text);
      padding:11px 15px;border-radius:12px;font-weight:700;
      transition:.2s ease;
    }
    .btn:hover{transform:translateY(-1px);border-color:#4c5f83}
    .btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border:0}
    .btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4);color:#fecaca}
    .layout{display:grid;grid-template-columns:230px 1fr;gap:20px}
    .sidebar,.card{
      background:rgba(18,26,45,.86);border:1px solid rgba(74,92,125,.35);
      box-shadow:var(--shadow);backdrop-filter:blur(12px);border-radius:var(--radius);
    }
    .sidebar{padding:14px;height:fit-content;position:sticky;top:18px}
    .nav-btn{
      width:100%;border:0;background:transparent;color:var(--muted);
      display:flex;align-items:center;gap:11px;text-align:left;padding:13px 14px;
      border-radius:12px;font-weight:700;margin:3px 0;
    }
    .nav-btn.active{background:linear-gradient(90deg,rgba(239,68,68,.22),rgba(249,115,22,.08));color:#fff}
    .nav-btn:hover{background:rgba(255,255,255,.05);color:#fff}
    .main{min-width:0}
    .view{display:none}
    .view.active{display:block}
    .grid{display:grid;gap:18px}
    .grid.kpi{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
    .grid.two{grid-template-columns:1.15fr .85fr}
    .card{padding:20px}
    .kpi-card{position:relative;overflow:hidden}
    .kpi-card:after{
      content:"";position:absolute;width:90px;height:90px;border-radius:50%;
      right:-25px;bottom:-25px;background:rgba(239,68,68,.1)
    }
    .kpi-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
    .kpi-value{font-size:30px;font-weight:900;margin-top:6px}
    .section-head{
      display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px
    }
    h2,h3{margin:0}
    h2{font-size:24px}
    h3{font-size:18px}
    .muted{color:var(--muted)}
    .table-wrap{overflow:auto}
    table{width:100%;border-collapse:collapse;min-width:760px}
    th,td{padding:13px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
    th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em}
    tr:last-child td{border-bottom:0}
    .badge{
      display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;
      font-size:12px;font-weight:800;background:rgba(255,255,255,.06);color:#dbe5ff
    }
    .badge.lap{background:rgba(34,197,94,.13);color:#86efac}
    .badge.stint{background:rgba(245,158,11,.13);color:#fcd34d}
    .record{color:#fca5a5;font-weight:900}
    .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
    label{display:block;color:#cbd5e1;font-size:13px;font-weight:700;margin-bottom:7px}
    input,select,textarea{
      width:100%;border:1px solid var(--line);background:#0e1628;color:var(--text);
      border-radius:11px;padding:11px 12px;outline:none
    }
    input:focus,select:focus,textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
    textarea{min-height:95px;resize:vertical}
    .full{grid-column:1/-1}
    .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px;flex-wrap:wrap}
    .track-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
    .track-card{
      padding:18px;border-radius:16px;background:linear-gradient(145deg,#111a2f,#17233c);
      border:1px solid var(--line)
    }
    .track-card h3{margin-bottom:4px}
    .track-meta{color:var(--muted);font-size:13px;line-height:1.7}
    .track-actions{display:flex;gap:8px;margin-top:14px}
    .chart{
      display:flex;align-items:flex-end;gap:10px;height:220px;padding-top:10px;border-bottom:1px solid var(--line)
    }
    .bar-wrap{flex:1;min-width:28px;text-align:center}
    .bar{
      width:100%;min-height:4px;border-radius:8px 8px 0 0;
      background:linear-gradient(180deg,var(--accent2),var(--accent));
      position:relative
    }
    .bar span{
      position:absolute;top:-24px;left:50%;transform:translateX(-50%);
      font-size:11px;color:#dbe5ff;white-space:nowrap
    }
    .bar-label{font-size:11px;color:var(--muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .empty{
      padding:36px 15px;text-align:center;color:var(--muted);border:1px dashed var(--line);
      border-radius:14px
    }
    .tire-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    .tire-box{padding:14px;background:#0e1628;border-radius:13px;border:1px solid var(--line)}
    .tire-box strong{display:block;margin-bottom:8px}
    .wear-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .progress{height:8px;background:#24314a;border-radius:999px;overflow:hidden;margin-top:7px}
    .progress > div{height:100%;background:linear-gradient(90deg,var(--ok),var(--warn),var(--accent))}
    .last-lap-strip{
      display:grid;grid-template-columns:auto 1fr;gap:3px 16px;align-items:center;
      margin:14px 0 6px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);
      border-radius:14px;background:rgba(255,255,255,.045);
    }
    .last-lap-strip span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
    .last-lap-strip strong{font-size:clamp(28px,5vw,46px);font-variant-numeric:tabular-nums;text-align:right}
    .last-lap-strip small{grid-column:1/-1;color:var(--muted)}
    .invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
    .invoice-summary .kpi-card{padding:16px;border-radius:14px;background:#0e1628;border:1px solid var(--line)}
    .invoice-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
    .invoice-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
    .invoice-status.paid{background:rgba(34,197,94,.14);color:#86efac}
    .invoice-status.open{background:rgba(245,158,11,.14);color:#fcd34d}
    .invoice-status.unknown{background:rgba(148,163,184,.14);color:#cbd5e1}
    .account-row{display:grid;grid-template-columns:90px 1fr 150px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
    .receipt-preview{min-height:280px;display:grid;place-items:center;background:#080d16;border:1px solid var(--line);border-radius:14px;overflow:hidden}
    .receipt-preview img{display:block;max-width:100%;max-height:68vh;object-fit:contain}
    .receipt-preview iframe{width:100%;height:68vh;border:0;background:#fff}
    .checkbox-line{display:flex;align-items:center;gap:9px;margin:8px 0;color:#cbd5e1}
    .checkbox-line input{width:auto}
    @media(max-width:900px){
      .invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
      .invoice-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .account-row{grid-template-columns:72px 1fr}.account-row > :nth-child(3){grid-column:1/3}.account-row > :nth-child(4){grid-column:1/3}
    }

    .modal{
      position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;
      padding:20px;z-index:9600
    }
    .modal.open{display:flex}
    .modal-card{
      width:min(760px,100%);max-height:92vh;overflow:auto;background:#111a2d;
      border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)
    }
    .close{background:transparent;border:0;color:var(--muted);font-size:25px}
    .small{font-size:12px}
    .footer-note{margin-top:20px;color:var(--muted);font-size:12px;text-align:center}

    .vehicle-strip{
      display:flex;gap:10px;overflow:auto;padding:4px 2px 14px;margin-bottom:4px;
    }
    .vehicle-chip{
      min-width:180px;border:1px solid var(--line);background:#0b0f15;color:var(--text);
      padding:12px 14px;border-radius:10px;text-align:left;position:relative;overflow:hidden;
    }
    .vehicle-chip:before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3b4554;
    }
    .vehicle-chip.active{border-color:rgba(255,42,42,.72);box-shadow:0 0 0 1px rgba(255,42,42,.2) inset}
    .vehicle-chip.active:before{background:linear-gradient(var(--accent2),var(--accent))}
    .vehicle-chip strong{display:block;text-transform:uppercase;font-style:italic}
    .race-banner{
      display:flex;justify-content:space-between;gap:16px;align-items:center;
      margin-bottom:18px;padding:18px 20px;border-radius:14px;
      background:linear-gradient(105deg,#171c24 0%,#11151c 52%,rgba(255,42,42,.16) 100%);
      border:1px solid #2b3440;position:relative;overflow:hidden;
    }
    .race-banner:after{
      content:"";position:absolute;right:-25px;top:-40px;width:220px;height:140px;
      background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 12px,transparent 12px 24px);
      transform:rotate(-8deg);
    }
    .race-banner > *{position:relative;z-index:1}
    .race-banner h2{font-style:italic;text-transform:uppercase}
    .warning-box{
      margin:0 0 18px;padding:16px 18px;border-radius:12px;
      border:1px solid rgba(245,158,11,.55);background:rgba(245,158,11,.11);
    }
    .warning-box.danger{border-color:rgba(255,42,42,.65);background:rgba(255,42,42,.12)}
    .warning-title{font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
    .garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
    .garage-card{
      background:linear-gradient(145deg,#10151c,#171d26);border:1px solid var(--line);
      border-radius:14px;padding:18px;position:relative;overflow:hidden;
    }
    .garage-card.active{border-color:rgba(255,42,42,.68);box-shadow:0 0 0 1px rgba(255,42,42,.16) inset}
    .garage-card:after{
      content:"";position:absolute;right:-22px;bottom:-35px;width:110px;height:110px;
      border:18px solid rgba(255,255,255,.025);border-radius:50%;
    }
    .garage-card h3{text-transform:uppercase;font-style:italic}


    .timer-shell{
      display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;
    }
    .timer-main{
      background:linear-gradient(145deg,#0b0f14,#151b23);
      border:1px solid var(--line);border-radius:18px;padding:26px;
      position:relative;overflow:hidden;
    }
    .timer-main:before{
      content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;
      background:repeating-linear-gradient(90deg,transparent 0 48px,#fff 48px 49px);
    }
    .timer-main > *{position:relative;z-index:1}
    .timer-display{
      width:100%;
      font-variant-numeric:tabular-nums;
      font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
      font-size:clamp(48px,8.2vw,110px);
      line-height:1.08;
      font-weight:950;
      letter-spacing:-.035em;
      text-align:center;
      padding:34px 28px 22px;
      overflow:visible;
      text-shadow:0 0 28px rgba(255,42,42,.18);
    }
    .timer-status{
      text-align:center;text-transform:uppercase;letter-spacing:.16em;
      font-size:12px;font-weight:900;color:var(--muted);
      margin-bottom:18px;
    }
    .timer-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .timer-btn{
      border:0;border-radius:14px;padding:18px 20px;
      color:white;font-size:18px;font-weight:950;text-transform:uppercase;
      letter-spacing:.06em;
    }
    .timer-btn.start{background:linear-gradient(135deg,#16a34a,#22c55e)}
    .timer-btn.lap{background:linear-gradient(135deg,#ff7a00,#ff2a2a)}
    .timer-btn.stop{background:linear-gradient(135deg,#b91c1c,#7f1d1d)}
    .timer-btn.reset{background:#202833;border:1px solid #394556}
    .timer-config{
      display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;
    }
    .lap-history{
      max-height:520px;overflow:auto;
    }
    .lap-item{
      display:flex;justify-content:space-between;align-items:center;gap:14px;
      padding:13px 0;border-bottom:1px solid var(--line);
    }
    .lap-item:last-child{border-bottom:0}
    .lap-number{
      width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
      background:#202833;font-weight:900;
    }
    .lap-time{
      font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
      font-size:18px;font-weight:900;
    }
    .lap-best{color:#86efac}
    .timer-note{
      margin-top:16px;padding:12px 14px;border-radius:10px;
      background:rgba(255,255,255,.035);color:var(--muted);font-size:13px;
    }
    @media(max-width:900px){
      .timer-shell{grid-template-columns:1fr}
    }
    @media(max-width:600px){
      .timer-config{grid-template-columns:1fr}
      .timer-controls{grid-template-columns:1fr}
    }


    body.timer-fullscreen{overflow:hidden;background:#05070a}
    body.timer-fullscreen .app{max-width:none;width:100vw;height:100vh;padding:0}
    body.timer-fullscreen header,
    body.timer-fullscreen .sidebar,
    body.timer-fullscreen .footer-note{display:none!important}
    body.timer-fullscreen .layout{display:block;height:100vh}
    body.timer-fullscreen .main{height:100vh}
    body.timer-fullscreen .view{display:none!important}
    body.timer-fullscreen #laptimer{display:block!important;height:100vh}
    body.timer-fullscreen #laptimer .timer-shell{height:100vh;grid-template-columns:1fr;gap:0}
    body.timer-fullscreen #laptimer .timer-main{
      height:100vh;border-radius:0;border:0;display:flex;flex-direction:column;
      justify-content:center;padding:24px
    }
    body.timer-fullscreen #laptimer .card{display:none}
    body.timer-fullscreen .timer-display{font-size:clamp(54px,15vw,150px);line-height:1.08;letter-spacing:-.025em;padding:30px 34px}
    body.timer-fullscreen .timer-controls,
    body.timer-fullscreen .timer-config{max-width:900px;width:100%;margin-left:auto;margin-right:auto}
    body.timer-fullscreen .timer-note{display:none}
    body.timer-fullscreen #timerFullscreenBtn{
      position:fixed;top:max(10px,env(safe-area-inset-top));
      right:max(10px,env(safe-area-inset-right));z-index:100
    }
    @media(max-width:760px){
      body.timer-fullscreen .timer-main .section-head > div:first-child{display:none}
      body.timer-fullscreen .timer-btn{min-height:74px;font-size:20px}
    }


    .calendar-toolbar{
      display:flex;align-items:center;justify-content:center;gap:16px;margin:6px 0 16px;
    }
    .calendar-toolbar h3{
      min-width:230px;text-align:center;text-transform:uppercase;font-style:italic;
    }
    .calendar-weekdays,
    .drive-calendar{
      display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;
    }
    .calendar-weekdays{
      margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:900;
      text-transform:uppercase;letter-spacing:.08em;text-align:center;
    }
    .calendar-day{
      min-height:92px;border:1px solid var(--line);background:#0c1118;color:var(--text);
      border-radius:12px;padding:10px;text-align:left;position:relative;transition:.18s ease;
    }
    .calendar-day:hover{transform:translateY(-1px);border-color:#4b596d}
    .calendar-day.empty{visibility:hidden}
    .calendar-day.has-runs{
      border-color:rgba(255,42,42,.58);
      background:
        linear-gradient(145deg,rgba(255,42,42,.14),rgba(255,122,0,.06)),
        #10151c;
      box-shadow:0 0 0 1px rgba(255,42,42,.10) inset;
    }
    .calendar-day.has-runs:before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px;
      background:linear-gradient(var(--accent2),var(--accent));
    }
    .calendar-day-number{font-size:18px;font-weight:950}
    .calendar-day-count{
      position:absolute;right:9px;bottom:8px;font-size:11px;font-weight:900;color:#fecaca;
    }
    .calendar-day.today{outline:1px solid rgba(255,255,255,.32)}
    .day-session-card{
      padding:15px 0;border-bottom:1px solid var(--line);
    }
    .day-session-card:last-child{border-bottom:0}
    .day-session-head{
      display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
    }
    .day-session-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    @media(max-width:760px){
      .calendar-weekdays,
      .drive-calendar{gap:4px}
      .calendar-day{min-height:72px;padding:7px}
      .calendar-day-number{font-size:15px}
      .calendar-day-count{font-size:10px;right:6px;bottom:6px}
    }

    @media(max-width:1050px){
      .grid.kpi{grid-template-columns:repeat(2,1fr)}
      .grid.two{grid-template-columns:1fr}
      .track-list{grid-template-columns:repeat(2,1fr)}
      .garage-grid{grid-template-columns:repeat(2,1fr)}
    }
    @media(max-width:760px){
      .app{padding:14px}
      header{align-items:flex-start;flex-direction:column}
      .layout{grid-template-columns:1fr}
      .sidebar{position:static;display:flex;overflow:auto;padding:8px}
      .nav-btn{white-space:nowrap;width:auto}
      .grid.kpi{grid-template-columns:1fr 1fr}
      .track-list{grid-template-columns:1fr}
      .garage-grid{grid-template-columns:1fr}
      .form-grid{grid-template-columns:1fr}
      .full{grid-column:auto}
      .tire-grid{grid-template-columns:1fr 1fr}
    }

    body{overflow-x:hidden}
    .main,.card,.grid>*{min-width:0}
    .table-wrap{max-width:100%}
    .recent-mobile{display:none}
    .recent-card{
      width:100%;border:1px solid var(--line);background:#0d131b;color:var(--text);
      border-radius:12px;padding:13px 14px;text-align:left;margin-bottom:10px;
    }
    .recent-card:last-child{margin-bottom:0}
    .recent-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
    .recent-card-time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;white-space:nowrap}
    .recent-card-meta{margin-top:7px;color:var(--muted);font-size:12px}
    @media(max-width:760px){
      .recent-desktop{display:none}
      .recent-mobile{display:block}
      .race-banner{align-items:flex-start;flex-direction:column}
      .race-banner .btn{width:100%}
      .section-head{align-items:flex-start}
      .card{padding:16px}
      .vehicle-chip{min-width:155px}
      .kpi-value{overflow-wrap:anywhere}
    }

    .event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .event-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#10151c,#171d26)}
    .event-card.active{border-color:rgba(255,42,42,.7);box-shadow:0 0 0 1px rgba(255,42,42,.18) inset}
    .event-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:900;letter-spacing:.12em}
    .leaderboard{display:grid;gap:8px}
    .leader-row{display:grid;grid-template-columns:54px 1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#0d131b}
    .leader-row:first-child{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.08)}
    .event-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    @media(max-width:760px){.event-grid{grid-template-columns:1fr}.leader-row{grid-template-columns:44px 1fr auto}.leader-row .leader-vehicle{display:none}}

    .invoices-head{flex-wrap:wrap}
    .invoice-add-btn{margin-left:auto}
    @media(max-width:760px){
      #invoices .card{overflow:hidden}
      .invoices-head{align-items:stretch}
      .invoice-add-btn{width:100%;margin-left:0}
      .invoice-summary{grid-template-columns:1fr}
    }
    @media(max-width:480px){
      .grid.kpi{grid-template-columns:1fr}
      .tire-grid{grid-template-columns:1fr}
      .top-actions{width:100%}
      .top-actions .btn{flex:1}
    }
  
    .license-gate{
      position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
      padding:22px;background:
        radial-gradient(circle at 80% 0%,rgba(255,42,42,.22),transparent 32rem),
        linear-gradient(160deg,#05070a,#0c1118 55%,#141a23);
    }
    .license-gate.hidden{display:none}
    .license-card{width:min(520px,100%);background:rgba(17,21,28,.96);border:1px solid #364357;border-radius:20px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
    .license-card h2{font-size:28px;text-transform:uppercase;font-style:italic;margin-bottom:8px}
    .license-logo{width:72px;height:58px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#ff2a2a,#9f0000);font-weight:950;font-style:italic;margin-bottom:18px}
    .license-error{display:none;margin-top:12px;padding:11px 13px;border-radius:10px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.45);color:#fecaca}
    .license-info{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.55}
    body.license-locked .app,body.license-locked > .modal{visibility:hidden}

    .install-gate{
      position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
      padding:22px;background:
        radial-gradient(circle at 80% 0%,rgba(255,42,42,.22),transparent 32rem),
        linear-gradient(160deg,#05070a,#0c1118 55%,#141a23);
    }
    .install-gate.visible{display:flex}
    .install-card{width:min(560px,100%);background:rgba(17,21,28,.97);border:1px solid #364357;border-radius:22px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
    .install-card h2{font-size:clamp(27px,7vw,40px);text-transform:uppercase;font-style:italic;margin:0 0 10px}
    .install-card p{line-height:1.55}
    .install-step{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
    .install-step:last-child{border-bottom:0}
    .install-step-number{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));font-weight:900}
    .install-main-btn{width:100%;min-height:58px;font-size:17px;margin-top:18px}
    body.install-required .app,body.install-required > .modal,body.install-required #licenseGate{display:none!important}

  
    .gps-btg-panel{display:none;margin:0 0 18px;padding:16px;border:1px solid rgba(34,197,94,.45);border-radius:14px;background:rgba(34,197,94,.07)}
    .gps-btg-panel.active{display:block}
    .gps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
    .gps-stat{padding:10px;background:#0b0f15;border:1px solid var(--line);border-radius:10px}
    .gps-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
    .gps-stat strong{display:block;margin-top:4px;font-size:16px}
    .gps-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .gps-actions .btn{min-width:0}
    @media(max-width:760px){.gps-actions .btn{flex:1 1 calc(50% - 8px)}.gps-actions #gpsToggleBtn,.gps-actions #gpsCalibrationBtn{flex-basis:100%}}
    .gps-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#64748b;margin-right:7px}
    .gps-dot.good{background:#22c55e}.gps-dot.warn{background:#f59e0b}.gps-dot.bad{background:#ef4444}
    @media(max-width:760px){.gps-grid{grid-template-columns:1fr 1fr}.gps-btg-panel{padding:12px}}



    /* Minimaler GPS-Track-Mode auf Mobilgeräten */
    body.timer-fullscreen.btg-minimal #laptimer .timer-main{
      justify-content:flex-start;
      padding:max(72px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));
      gap:18px;
    }
    body.timer-fullscreen.btg-minimal #laptimer .timer-main > .section-head,
    body.timer-fullscreen.btg-minimal #laptimer .timer-config,
    body.timer-fullscreen.btg-minimal #laptimer .timer-note,
    body.timer-fullscreen.btg-minimal #laptimer .card{
      display:none!important;
    }
    body.timer-fullscreen.btg-minimal #gpsBtgPanel{
      display:block!important;
      width:min(720px,100%);
      margin:0 auto;
      padding:14px;
      flex:0 0 auto;
    }
    body.timer-fullscreen.btg-minimal #gpsBtgPanel .section-head{
      display:flex!important;
      margin-bottom:4px!important;
    }
    body.timer-fullscreen.btg-minimal #gpsBtgPanel .section-head > div:first-child p,
    body.timer-fullscreen.btg-minimal #gpsBtgPanel > p{
      display:none!important;
    }
    body.timer-fullscreen.btg-minimal #gpsBtgPanel .gps-actions{
      display:block;
      margin-top:12px;
    }
    body.timer-fullscreen.btg-minimal #gpsToggleBtn{
      width:100%;
      min-height:62px;
      font-size:18px;
    }

    /* Kalibrierung im mobilen BTG-Vollbild */
    body.timer-fullscreen.btg-minimal #gpsBtgPanel .gps-actions{
      display:grid!important;
      grid-template-columns:1fr 1fr;
      gap:9px;
    }
    body.timer-fullscreen.btg-minimal #gpsBtgPanel .gps-actions button{
      display:none;
      width:100%;
      min-height:54px;
      margin:0;
    }
    body.timer-fullscreen.btg-minimal.btg-calibrated:not(.btg-calibrating) #gpsToggleBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrated:not(.btg-calibrating) #gpsCalibrationBtn,
    body.timer-fullscreen.btg-minimal.btg-needs-calibration:not(.btg-calibrating) #gpsCalibrationBtn{
      display:block!important;
      grid-column:1/-1;
    }
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsMarkBridgeBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsMarkGantryBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsMarkStartFinishBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsSaveCalibrationBtn{
      display:block!important;
    }
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsMarkStartFinishBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsSaveCalibrationBtn{
      grid-column:1/-1;
    }
    body.timer-fullscreen.btg-minimal.btg-needs-calibration:not(.btg-calibrating) #gpsToggleBtn,
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsToggleBtn{
      display:none!important;
    }
    body.timer-fullscreen.btg-minimal.btg-calibrating #gpsCalibrationBtn{
      display:none!important;
    }
    /* Sicherheitsregel: Bei fehlender Kalibrierung muss der Startknopf im Vollbild immer sichtbar bleiben. */
    body.timer-fullscreen.btg-minimal.btg-needs-calibration:not(.btg-calibrating) #gpsBtgPanel .gps-actions #gpsCalibrationBtn{
      display:block!important;
      grid-column:1/-1;
    }

    body.timer-fullscreen.btg-minimal .timer-display{
      margin:auto 0 0;
      padding:20px 4px 6px;
      font-size:clamp(58px,17vw,150px);
      line-height:1;
    }
    body.timer-fullscreen.btg-minimal .timer-status{
      margin:0 auto auto;
      font-size:14px;
      letter-spacing:.18em;
    }
    body.timer-fullscreen.btg-minimal #laptimer .timer-controls{
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      width:min(760px,100%);
      margin:0 auto;
    }
    body.timer-fullscreen.btg-minimal #laptimer .timer-btn{
      min-height:104px;
      padding:20px 12px;
      font-size:clamp(22px,5vw,34px);
      border-radius:20px;
      touch-action:manipulation;
    }
    body.timer-fullscreen.btg-minimal #laptimer .timer-btn[hidden]{display:none!important}
    body.timer-fullscreen.btg-minimal #laptimer .timer-btn:disabled{
      opacity:.38;
      cursor:not-allowed;
    }
    @media(max-width:520px){
      body.timer-fullscreen.btg-minimal #gpsBtgPanel{padding:12px}
      body.timer-fullscreen.btg-minimal .gps-grid{gap:8px}
      body.timer-fullscreen.btg-minimal .gps-stat{padding:10px 9px}
      body.timer-fullscreen.btg-minimal .gps-stat strong{font-size:15px}
    }
    body.timer-fullscreen.btg-minimal .last-lap-strip{
      width:min(760px,100%);margin:0 auto;padding:10px 14px;
    }
    body.timer-fullscreen.btg-minimal .last-lap-strip strong{font-size:clamp(26px,7vw,48px)}
    @media (orientation:landscape) and (max-height:620px){
      body.timer-fullscreen.btg-minimal #laptimer .timer-main{
        display:grid;
        grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);
        grid-template-rows:1fr auto auto auto;
        align-items:center;
        column-gap:22px;
        row-gap:8px;
        padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
      }
      body.timer-fullscreen.btg-minimal #gpsBtgPanel{
        grid-column:1;
        grid-row:1 / 4;
        width:100%;
        max-height:calc(100vh - 24px);
        margin:0;
        overflow:auto;
      }
      body.timer-fullscreen.btg-minimal #gpsBtgPanel .gps-grid{
        grid-template-columns:1fr 1fr;
        gap:8px;
      }
      body.timer-fullscreen.btg-minimal #gpsBtgPanel .gps-stat{padding:9px}
      body.timer-fullscreen.btg-minimal #gpsToggleBtn{min-height:54px;font-size:17px}
      body.timer-fullscreen.btg-minimal .timer-display{
        grid-column:2;
        grid-row:1;
        align-self:end;
        margin:0;
        padding:0 4px;
        font-size:clamp(60px,10.5vw,126px);
        white-space:nowrap;
      }
      body.timer-fullscreen.btg-minimal .timer-status{
        grid-column:2;
        grid-row:2;
        margin:0;
        align-self:center;
      }
      body.timer-fullscreen.btg-minimal .last-lap-strip{
        grid-column:2;
        grid-row:3;
        width:100%;
        margin:0;
        padding:8px 12px;
      }
      body.timer-fullscreen.btg-minimal .last-lap-strip strong{font-size:30px}
      body.timer-fullscreen.btg-minimal .last-lap-strip small{display:none}
      body.timer-fullscreen.btg-minimal #laptimer .timer-controls{
        grid-column:2;
        grid-row:4;
        width:100%;
        gap:14px;
        margin:0;
      }
      body.timer-fullscreen.btg-minimal #laptimer .timer-btn{
        min-height:88px;
        font-size:clamp(24px,4vw,34px);
      }
    }



/* TrackLog v25 UX */
:root{--bottom-nav-h:74px}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:10050;display:grid;gap:8px;max-width:min(420px,calc(100vw - 28px))}
.toast{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#111a2d;box-shadow:var(--shadow);font-weight:750;animation:toastIn .18s ease}
.toast.ok{border-color:rgba(34,197,94,.45)}.toast.warn{border-color:rgba(245,158,11,.5)}.toast.error{border-color:rgba(239,68,68,.55)}
@keyframes toastIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.app-status-pill{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:5px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.status-dot.offline{background:var(--warn)}
.mobile-bottom-nav{display:none}.mobile-more-sheet{display:none}
.readiness-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.ready-item{padding:13px;border:1px solid var(--line);background:#0e1628;border-radius:13px;min-width:0}.ready-item span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ready-item strong{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ready-item.good{border-color:rgba(34,197,94,.35)}.ready-item.warn{border-color:rgba(245,158,11,.45)}
.track-start-primary{width:100%;min-height:58px;font-size:18px}.advanced-toggle{margin-top:12px}.advanced-track-settings[hidden]{display:none!important}
.cloud-card-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.recovery-code-box{font:800 17px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;padding:14px;border-radius:12px;border:1px dashed #52617a;background:#0b111d;word-break:break-all}.sync-meta{display:grid;gap:7px;margin-top:12px}.sync-meta-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:7px}.sync-meta-row:last-child{border:0}
.fab{display:none}
@media(max-width:1000px){.readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-card-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  body:not(.timer-fullscreen){padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom))}
  .sidebar{display:none!important}.app{padding-bottom:16px}.top-actions{display:none}
  .mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:9000;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));padding:7px 7px env(safe-area-inset-bottom);background:rgba(7,11,18,.96);border-top:1px solid var(--line);backdrop-filter:blur(15px)}
  .mobile-nav-btn{border:0;background:transparent;color:var(--muted);border-radius:11px;font-size:10px;font-weight:800;display:grid;place-items:center;gap:3px;padding:4px}.mobile-nav-btn b{font-size:20px;line-height:1}.mobile-nav-btn.active{color:#fff;background:rgba(255,42,42,.13)}.mobile-nav-btn.track{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;margin:-15px 3px 5px;border-radius:17px;box-shadow:0 10px 25px rgba(255,42,42,.25)}
  .mobile-more-sheet.open{display:flex;position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.65);align-items:flex-end}.mobile-more-card{width:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#111a2d;border-radius:20px 20px 0 0;border:1px solid var(--line)}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mobile-more-grid .btn{min-height:52px;text-align:left}
  .readiness-grid{grid-template-columns:1fr 1fr}.ready-item:last-child{grid-column:1/-1}
  .fab{display:grid;place-items:center;position:fixed;right:18px;bottom:calc(var(--bottom-nav-h) + 18px + env(safe-area-inset-bottom));z-index:8800;width:56px;height:56px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:28px;box-shadow:0 15px 35px rgba(0,0,0,.45)}
  body.timer-fullscreen .mobile-bottom-nav,body.timer-fullscreen .fab{display:none!important}
  .invoice-filter-grid{display:none}.invoice-filter-grid.filters-open{display:grid}.invoice-list-mobile{display:grid;gap:10px}
}


    .invoice-ai-card{grid-column:1/-1;padding:14px;border:1px solid rgba(59,130,246,.38);border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.09),rgba(17,24,39,.72))}
    .invoice-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
    .invoice-ai-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
    .invoice-ai-status{margin-top:10px;padding:10px 12px;border-radius:10px;background:#0a101b;border:1px solid var(--line);font-size:12px;color:var(--muted)}
    .invoice-ai-status.ok{border-color:rgba(34,197,94,.42);color:#bbf7d0;background:rgba(34,197,94,.08)}
    .invoice-ai-status.warn{border-color:rgba(245,158,11,.45);color:#fde68a;background:rgba(245,158,11,.08)}
    .invoice-ai-status.error{border-color:rgba(239,68,68,.48);color:#fecaca;background:rgba(239,68,68,.08)}
    .invoice-ai-review{margin-top:10px;display:grid;gap:9px}
    .invoice-ai-review[hidden]{display:none}
    .ai-confidence-grid{display:flex;gap:6px;flex-wrap:wrap}
    .ai-confidence{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;background:#0b1220;border:1px solid var(--line);font-size:11px}
    .ai-confidence.low{border-color:rgba(245,158,11,.5);color:#fde68a}
    .ai-field-low{outline:2px solid rgba(245,158,11,.55)!important;outline-offset:1px}
    .ai-field-ok{outline:1px solid rgba(34,197,94,.30);outline-offset:1px}
    .ai-warning-list{margin:0;padding-left:18px;color:#fde68a;font-size:12px}
    .ai-evidence{font-size:12px;color:var(--muted);line-height:1.5}
    .ai-duplicate{padding:9px 11px;border-radius:9px;border:1px solid rgba(245,158,11,.5);background:rgba(245,158,11,.08);color:#fde68a;font-size:12px}
    .ai-spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;border-radius:50%;animation:aiSpin .7s linear infinite;vertical-align:-2px;margin-right:6px}
    @keyframes aiSpin{to{transform:rotate(360deg)}}
    @media(max-width:760px){.invoice-ai-head{flex-direction:column}.invoice-ai-actions .btn{flex:1;min-width:140px}}


/* ===== TrackLog v30 Fahrzeug-Hub ===== */
body.vehicle-hub-open{overflow:hidden}
body.vehicle-hub-open .mobile-bottom-nav,body.vehicle-hub-open .fab{display:none!important}
.vehicle-hub-shell{position:fixed;inset:0;z-index:9400;background:#060a11;color:var(--text);display:none;flex-direction:column;overflow:hidden}
.vehicle-hub-shell.open{display:flex}
.vh-topbar{min-height:68px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:rgba(7,11,18,.97);backdrop-filter:blur(18px)}
.vh-back{border:1px solid var(--line);background:#0e1628;color:#fff;border-radius:12px;padding:10px 13px;font-weight:850;cursor:pointer}
.vh-title{min-width:0;flex:1}.vh-title strong{display:block;font-size:18px;text-transform:uppercase;font-style:italic}.vh-title span{font-size:12px;color:var(--muted)}
.vh-mobile-select{display:none;max-width:190px}
.vh-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;flex:1}
.vh-sidebar{border-right:1px solid var(--line);background:#090e17;padding:18px 14px;overflow:auto}
.vh-side-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900;margin:8px 8px 10px}
.vh-nav-btn{width:100%;border:1px solid transparent;background:transparent;color:#cbd5e1;text-align:left;border-radius:12px;padding:12px;margin:2px 0;font-weight:800;cursor:pointer}
.vh-nav-btn:hover,.vh-nav-btn.active{background:rgba(255,42,42,.11);border-color:rgba(255,42,42,.24);color:#fff}
.vh-nav-btn small{display:block;color:var(--muted);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vh-main{overflow:auto;padding:26px 28px calc(32px + env(safe-area-inset-bottom));background:radial-gradient(circle at 85% 0%,rgba(239,68,68,.08),transparent 32rem),#070b12}
.vh-page{max-width:1320px;margin:0 auto}
.vh-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.vh-page-head h2{font-size:30px;margin:0;text-transform:uppercase;font-style:italic}.vh-page-head p{margin:5px 0 0}
.vh-actions{display:flex;gap:8px;flex-wrap:wrap}
.vh-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}
.vh-kpi{background:#0d1422;border:1px solid var(--line);border-radius:16px;padding:16px}.vh-kpi span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.vh-kpi strong{display:block;margin-top:8px;font-size:24px}.vh-kpi small{display:block;color:var(--muted);margin-top:4px}
.vh-fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vh-vehicle-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#0e1627,#0b111d);border:1px solid var(--line);border-radius:18px;padding:19px;cursor:pointer;transition:.16s transform,.16s border-color}.vh-vehicle-card:hover{transform:translateY(-2px);border-color:rgba(239,68,68,.42)}.vh-vehicle-card.active{box-shadow:inset 4px 0 0 var(--accent)}
.vh-vehicle-card h3{margin:0 0 4px;font-size:22px}.vh-vehicle-meta{color:var(--muted);font-size:12px}.vh-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.vh-mini{background:rgba(255,255,255,.035);border-radius:10px;padding:10px}.vh-mini span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.vh-mini strong{display:block;margin-top:4px;font-size:14px}
.vh-detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,rgba(239,68,68,.14),rgba(15,23,42,.78));margin-bottom:14px}.vh-detail-hero h2{font-size:32px;margin:3px 0}.vh-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#fca5a5;font-weight:900}
.vh-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 14px;position:sticky;top:-26px;z-index:2;background:linear-gradient(#070b12 75%,transparent)}.vh-tab{white-space:nowrap;border:1px solid var(--line);background:#0b111d;color:var(--muted);padding:10px 13px;border-radius:12px;font-weight:800;cursor:pointer}.vh-tab.active{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#fff}
.vh-grid-two{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.vh-card{background:#0d1422;border:1px solid var(--line);border-radius:17px;padding:17px}.vh-card h3{margin-top:0}.vh-card + .vh-card{margin-top:0}
.vh-list{display:grid;gap:9px}.vh-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px solid rgba(148,163,184,.12)}.vh-row:last-child{border-bottom:0}.vh-row-main{min-width:0}.vh-row-main strong{display:block}.vh-row-main small{display:block;color:var(--muted);margin-top:2px}.vh-row-value{text-align:right;white-space:nowrap;font-weight:850}
.vh-timeline{position:relative;margin-left:9px;padding-left:25px;border-left:2px solid #263244}.vh-timeline-item{position:relative;padding:0 0 18px}.vh-timeline-item:before{content:"";position:absolute;left:-32px;top:5px;width:12px;height:12px;border-radius:50%;background:#64748b;border:3px solid #0d1422}.vh-timeline-item.invoice:before{background:#22c55e}.vh-timeline-item.session:before{background:#f97316}.vh-timeline-item.service:before,.vh-timeline-item.repair:before{background:#ef4444}.vh-timeline-item.tire:before{background:#3b82f6}.vh-timeline-date{font-size:11px;color:var(--muted);font-weight:800}.vh-timeline-title{font-weight:900;margin-top:2px}.vh-timeline-detail{color:#cbd5e1;font-size:12px;margin-top:3px;line-height:1.45}
.vh-cost-bars{display:grid;gap:11px}.vh-cost-bar-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:5px}.vh-cost-track{height:9px;background:#111827;border-radius:999px;overflow:hidden}.vh-cost-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:999px;min-width:2px}
.vh-period{max-width:180px}
.vh-warning{padding:11px 13px;border:1px solid rgba(245,158,11,.4);background:rgba(245,158,11,.08);color:#fde68a;border-radius:12px;font-size:12px;margin:12px 0}
.vh-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vh-tech-card{border:1px solid var(--line);background:#0a101b;border-radius:14px;padding:14px}.vh-tech-card.active{border-color:rgba(34,197,94,.42)}.vh-tech-card h4{margin:0 0 5px}.vh-tech-meta{color:var(--muted);font-size:12px;line-height:1.55}
.vh-doc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#0a101b}.vh-doc + .vh-doc{margin-top:8px}
.vh-empty{padding:28px 14px;text-align:center;color:var(--muted);border:1px dashed #334155;border-radius:14px}
.vh-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(148,163,184,.12);color:#cbd5e1;font-size:10px;font-weight:850}.vh-badge.good{background:rgba(34,197,94,.12);color:#86efac}.vh-badge.warn{background:rgba(245,158,11,.12);color:#fde68a}
@media(max-width:1000px){.vh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vh-grid-two{grid-template-columns:1fr}.vh-fleet-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .vh-topbar{padding-left:12px;padding-right:12px}.vh-title span{display:none}.vh-mobile-select{display:block;width:145px;padding:9px 28px 9px 9px;font-size:12px}.vh-layout{display:block}.vh-sidebar{display:none}.vh-main{height:100%;padding:14px 12px calc(24px + env(safe-area-inset-bottom))}.vh-page-head{align-items:flex-start;flex-direction:column}.vh-page-head h2{font-size:25px}.vh-actions{width:100%}.vh-actions .btn{flex:1}.vh-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vh-kpi{padding:13px}.vh-kpi strong{font-size:20px}.vh-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vh-mini{padding:8px}.vh-detail-hero{align-items:flex-start;flex-direction:column;padding:16px}.vh-detail-hero h2{font-size:26px}.vh-tabs{top:-14px}.vh-tech-grid{grid-template-columns:1fr}.vh-doc{grid-template-columns:1fr}.vh-row{gap:8px}.vh-row-value{font-size:12px}
}
@media(max-width:430px){.vh-kpis{grid-template-columns:1fr 1fr}.vh-card-stats{grid-template-columns:1fr}.vh-mobile-select{max-width:125px}.vh-title strong{font-size:15px}}

.profile-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}.profile-identity{position:sticky;top:18px;text-align:center;background:radial-gradient(circle at top,rgba(239,68,68,.16),transparent 55%),var(--panel)}.profile-avatar{width:132px;height:132px;margin:4px auto 16px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;font-size:38px;font-weight:950;letter-spacing:.04em;border:4px solid rgba(255,255,255,.12);box-shadow:0 18px 48px rgba(0,0,0,.34)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar.red{background:linear-gradient(145deg,#ef4444,#7f1d1d)}.profile-avatar.orange{background:linear-gradient(145deg,#f97316,#9a3412)}.profile-avatar.blue{background:linear-gradient(145deg,#3b82f6,#1e3a8a)}.profile-avatar.green{background:linear-gradient(145deg,#22c55e,#14532d)}.profile-avatar.violet{background:linear-gradient(145deg,#8b5cf6,#4c1d95)}.profile-avatar.slate{background:linear-gradient(145deg,#64748b,#1e293b)}.profile-name{font-size:27px;font-weight:950;overflow-wrap:anywhere}.profile-handle{margin-top:5px;color:var(--muted)}.profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.profile-stat{padding:11px 8px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.13);border-radius:12px}.profile-stat strong{display:block;font-size:21px}.profile-stat span{display:block;margin-top:2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.profile-color-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}.profile-color{width:44px;height:44px;border:7px solid transparent;border-radius:50%;background-clip:padding-box;cursor:pointer}.profile-color.active{border-color:rgba(255,255,255,.3);box-shadow:0 0 0 2px #fff inset}.profile-color.red{background-color:#ef4444}.profile-color.orange{background-color:#f97316}.profile-color.blue{background-color:#3b82f6}.profile-color.green{background-color:#22c55e}.profile-color.violet{background-color:#8b5cf6}.profile-color.slate{background-color:#64748b}.profile-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.profile-sync-note{font-size:12px;color:var(--muted);line-height:1.5}.profile-best-list{display:grid;gap:8px;margin-top:12px}.profile-best-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.12)}.profile-best-row:last-child{border-bottom:0}.profile-best-row span{color:var(--muted);font-size:12px}.profile-best-row strong{white-space:nowrap}
@media(max-width:900px){.profile-shell{grid-template-columns:1fr}.profile-identity{position:static}.profile-avatar{width:110px;height:110px}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-actions .btn{flex:1}.profile-shell{gap:12px}}

/* TrackLog v39 Fahrer-Hub, professionelle ST6-inspirierte Produktgrafik & Visierauswahl */
.header-profile-chip{min-width:210px;min-height:60px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,rgba(239,68,68,.12),rgba(15,23,42,.88));color:var(--text);padding:7px 12px 7px 8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:.16s border-color,.16s transform}.header-profile-chip:hover{border-color:rgba(239,68,68,.5);transform:translateY(-1px)}.header-profile-chip:focus-visible,.helmet-button:focus-visible,.sidebar-profile-card:focus-visible,.profile-tab:focus-visible{outline:3px solid #facc15;outline-offset:3px}.header-profile-helmet{width:54px;height:46px;flex:0 0 auto}.header-profile-copy{min-width:0}.header-profile-copy strong,.header-profile-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-profile-copy strong{font-size:13px}.header-profile-copy span{margin-top:3px;color:var(--muted);font-size:10px}
.sidebar-profile-card{width:100%;min-height:78px;margin-bottom:12px;padding:9px;border:1px solid rgba(239,68,68,.25);border-radius:14px;background:rgba(239,68,68,.075);color:var(--text);display:flex;gap:9px;align-items:center;text-align:left;cursor:pointer}.sidebar-profile-helmet{width:60px;height:50px;flex:0 0 auto}.sidebar-profile-copy{min-width:0}.sidebar-profile-copy strong,.sidebar-profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-copy small{color:var(--muted);margin-top:3px}
.start-profile-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;margin-bottom:18px;border:1px solid rgba(239,68,68,.3);border-radius:21px;background:radial-gradient(circle at 86% 0%,rgba(250,204,21,.13),transparent 18rem),linear-gradient(135deg,rgba(239,68,68,.14),rgba(13,20,34,.94))}.start-profile-copy .kpi-label{color:#fca5a5}.start-profile-copy h2{margin:4px 0;font-size:clamp(24px,3.2vw,38px);text-transform:uppercase;font-style:italic}.start-profile-copy p{margin:0;color:var(--muted)}.start-profile-actions{display:flex;align-items:center;gap:14px}.helmet-button{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;border-radius:16px;min-width:96px;min-height:82px}.start-profile-helmet{width:122px;height:90px}.start-profile-status{display:grid;gap:7px;min-width:150px}.start-profile-status .btn{white-space:nowrap}
.profile-menu{display:flex;gap:8px;margin-bottom:16px;overflow:auto;padding:2px}.profile-tab{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#0b111d;color:var(--muted);font-weight:850;padding:10px 14px;white-space:nowrap;cursor:pointer}.profile-tab.active{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.48);color:#fff}.profile-panel[hidden]{display:none!important}.profile-panel{animation:profilePanelIn .16s ease}@keyframes profilePanelIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.profile-helmet-large{width:260px;height:174px;margin:0 auto 8px;display:grid;place-items:center}.profile-helmet-large svg{filter:drop-shadow(0 19px 22px rgba(0,0,0,.38))}.helmet-editor{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(250px,.85fr);gap:18px;align-items:center}.helmet-canvas{min-height:310px;padding:14px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.18);border-radius:17px;background:radial-gradient(circle at center,rgba(255,255,255,.07),rgba(6,10,17,.84))}.helmet-editor-svg{width:min(100%,500px);height:auto}.helmet-zone{cursor:pointer;transition:.12s opacity,.12s filter;stroke:#070b12;stroke-width:3;vector-effect:non-scaling-stroke}.helmet-zone:hover,.helmet-zone:focus{filter:brightness(1.17)}.helmet-zone-selected{stroke:#fff;stroke-width:6;filter:drop-shadow(0 0 5px rgba(250,204,21,.85))}.helmet-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.helmet-color{min-height:54px;border:3px solid transparent;border-radius:12px;color:#fff;font-weight:900;cursor:pointer;text-shadow:0 1px 3px #000}.helmet-color.active{border-color:#fff;box-shadow:0 0 0 2px #facc15}.helmet-color[data-helmet-color="yellow"]{color:#111827;text-shadow:none}.helmet-visor-editor{margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.helmet-visor-editor h4{margin:0 0 9px}.helmet-visor-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.helmet-visor-choice{min-height:76px;padding:8px;border:2px solid var(--line);border-radius:12px;background:#0b111d;color:#fff;display:grid;gap:6px;place-items:center;font-weight:850;cursor:pointer}.helmet-visor-choice:hover{border-color:#64748b}.helmet-visor-choice.active{border-color:#fff;box-shadow:0 0 0 2px #facc15}.helmet-visor-swatch{display:block;width:100%;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px rgba(255,255,255,.42)}.helmet-visor-swatch.clear{background:linear-gradient(135deg,#f8fdff,#93c5fd 55%,#64748b)}.helmet-visor-swatch.smoke{background:linear-gradient(135deg,#94a3b8,#111827 48%,#020617)}.helmet-visor-swatch.iridium{background:linear-gradient(110deg,#ff3d81,#ff7a18,#ffe43b,#39e58c,#20c5ff,#5865ff,#d946ef)}.helmet-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.helmet-editor-actions .btn{flex:1}.helmet-help{margin:0 0 8px;color:var(--muted);line-height:1.5}.helmet-zone-name{color:#fff;font-weight:900}
.profile-account-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:14px}.account-action-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:rgba(255,255,255,.025)}.account-action-card h3{margin-top:0}.recovery-confirm-row{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.recovery-confirm-row input{width:21px;height:21px;flex:0 0 auto}.profile-recovery-entry{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.profile-recovery-entry .actions{justify-content:flex-start}.profile-recovery-entry input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.helmet-svg{display:block;width:100%;height:100%}.helmet-zone{stroke:none;stroke-width:0;vector-effect:non-scaling-stroke}.helmet-zone-selected{stroke:#fff;stroke-width:5;stroke-dasharray:8 5;filter:drop-shadow(0 0 4px rgba(250,204,21,.75))}.helmet-ground-shadow{fill:#000;opacity:.24;pointer-events:none}.helmet-shell-light,.helmet-shell-spec{pointer-events:none}.helmet-outline{fill:none;stroke:#111827;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-neck-opening{fill:#05080e;stroke:#202938;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-eyeport{fill:#05080e;pointer-events:none}.helmet-visor{stroke:#b7c6d8;stroke-width:1.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-visor-clear{filter:drop-shadow(0 2px 3px rgba(125,211,252,.18))}.helmet-visor-smoke{filter:drop-shadow(0 2px 4px rgba(2,6,23,.6))}.helmet-visor-iridium{filter:saturate(1.18) drop-shadow(0 2px 4px rgba(56,189,248,.3))}.helmet-visor-highlight{fill:none;stroke:#fff;stroke-opacity:.72;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-visor-lower{fill:none;stroke:#111827;stroke-opacity:.88;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-pivot-ring{stroke:#111827;stroke-width:2;vector-effect:non-scaling-stroke}.helmet-pivot{fill:#111827}.helmet-tearoff-post{fill:#dbeafe;stroke:#111827;stroke-width:1.3;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-visor-latch{fill:#090d14;stroke:#64748b;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.helmet-fhr-post circle:first-child{stroke:#111827;stroke-width:1.7;vector-effect:non-scaling-stroke}.helmet-fhr-post circle:last-child{fill:#111827}.helmet-top-vents{fill:#05080e;opacity:.9;pointer-events:none}.helmet-chin-vents{fill:#070b12;pointer-events:none}
@media(max-width:1000px){.header-profile-chip{min-width:0}.header-profile-copy{display:none}.profile-account-grid{grid-template-columns:1fr}.helmet-editor{grid-template-columns:1fr}}
@media(max-width:760px){header{align-items:center;flex-direction:row;width:100%;justify-content:space-between}.brand{min-width:0}.brand .subtitle{display:none}.brand h1{font-size:19px}.top-actions{display:flex}.top-actions>.btn:not(.header-profile-chip){display:none!important}.header-profile-chip{display:flex!important;min-width:58px;width:58px;height:54px;padding:4px}.header-profile-helmet{width:50px;height:42px}.start-profile-hero{grid-template-columns:1fr;padding:17px}.start-profile-actions{justify-content:space-between}.start-profile-helmet{width:106px;height:78px}.start-profile-status{min-width:0}.profile-menu{margin-left:-2px;margin-right:-2px}.profile-helmet-large{width:205px;height:142px}.helmet-canvas{min-height:220px}.helmet-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-profile-card{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;margin-bottom:14px;padding:10px;border:1px solid rgba(239,68,68,.3);border-radius:14px;background:rgba(239,68,68,.08);color:#fff;text-align:left}.mobile-profile-helmet{width:70px;height:54px}.mobile-profile-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}}
@media(max-width:430px){.start-profile-actions{align-items:flex-end}.start-profile-status{max-width:150px}.start-profile-status .btn{white-space:normal}.helmet-visor-options{grid-template-columns:1fr}.helmet-visor-choice{min-height:58px;grid-template-columns:88px 1fr;place-items:center start}.helmet-editor-actions .btn{flex-basis:100%}}

.stint-record{border:1px solid var(--line);border-radius:15px;padding:15px;margin-top:12px;background:rgba(255,255,255,.025)}.stint-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.stint-data-grid>div{background:var(--panel2);border-radius:10px;padding:10px}.stint-data-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.stint-data-grid strong{display:block;margin-top:4px;font-size:12px;overflow-wrap:anywhere}.session-archive{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.archive-filter{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:12px}.archive-list{display:grid;gap:7px}.archive-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:11px 12px;border-radius:11px;cursor:pointer}.archive-row span{display:grid;gap:3px}.archive-row small{color:var(--muted)}.archive-row b{white-space:nowrap}.warning-box.danger{border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.1)}
@media(max-width:760px){.stint-data-grid{grid-template-columns:1fr 1fr}.archive-filter{grid-template-columns:1fr}.archive-row{align-items:flex-start}.archive-row b{font-size:12px}}
