/* WOT Racing app — Bootstrap 5 theme layer.
   Loaded AFTER bootstrap.min.css so these brand overrides win.
   The .checklist block + @media print at the bottom are print-critical: leave them intact. */

:root{--navy:#1F3864;--band:#D9E2F3;--warn:#FFF2CC;--red:#C00000;--line:#8a8a8a;
      --ok:#1a7f37;--amber:#b26a00;--bg:#f4f5f7;}

/* map Bootstrap's primary + links to brand navy */
:root{
  --bs-primary:#1F3864;--bs-primary-rgb:31,56,100;
  --bs-link-color:#1F3864;--bs-link-color-rgb:31,56,100;
  --bs-link-hover-color:#152744;--bs-link-hover-color-rgb:21,39,68;
}
body{background:var(--bg);}

/* navbar — white with a navy underline; the logo art sits on white */
.navbar{background:#fff;border-bottom:3px solid var(--navy);}
.navbar .navbar-brand{color:var(--navy);font-size:1.15rem;letter-spacing:.2px;}
.navbar .navbar-brand:hover{color:#152744;}
.navbar .navbar-brand img{height:40px;}
.navbar .nav-link{color:var(--navy);font-weight:600;}
.navbar .nav-link:hover{color:#152744;text-decoration:underline;}

/* headings */
h1{font-size:1.4rem;font-weight:700;}
h2{font-size:1rem;color:var(--navy);text-transform:uppercase;letter-spacing:.4px;
   margin-top:1.4rem;margin-bottom:.5rem;font-weight:700;}

/* buttons — brand navy primary */
.btn-primary{--bs-btn-bg:#1F3864;--bs-btn-border-color:#1F3864;
  --bs-btn-hover-bg:#172c50;--bs-btn-hover-border-color:#172c50;
  --bs-btn-active-bg:#132444;--bs-btn-active-border-color:#132444;
  --bs-btn-disabled-bg:#1F3864;--bs-btn-disabled-border-color:#1F3864;}

/* tables — branded navy header, compact */
.table{--bs-table-bg:#fff;font-size:.88rem;background:#fff;}
.table>thead th{background:var(--navy);color:#fff;border-color:var(--navy);
  font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;}

/* status badges (dynamic state classes: ok / warn / over) */
.badge.ok{background:var(--ok)!important;color:#fff;}
.badge.warn{background:var(--amber)!important;color:#fff;}
.badge.over{background:var(--red)!important;color:#fff;}

/* stat cards */
.stat .lbl{font-size:.72rem;color:#6c757d;text-transform:uppercase;letter-spacing:.4px;}
.stat .big{font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1.1;}

/* sticky action toolbar on the print pages (checklist / race log / debrief) */
.bar{position:sticky;top:0;z-index:1030;background:#23272e;padding:.6rem 1rem;
  display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;border-radius:.375rem;}
.bar span{color:#c9ced6;font-size:.9rem;margin-right:auto;}

/* ---- pre-session checklist: faithful to the printed At-Track sheet (do not Bootstrap-ify) ---- */
.checklist h1{font-size:17pt;margin:0 0 10px;letter-spacing:.2px}
.checklist table{border-collapse:collapse;width:100%;table-layout:fixed;margin-bottom:0;
  background:#fff;empty-cells:show;font-size:9pt}
.checklist td,.checklist th{border:1px solid var(--line);padding:4px 6px;font-size:9pt;
  vertical-align:middle;text-align:left;overflow:hidden}
.checklist .meta{margin-bottom:12px}
.checklist .meta td{font-size:9pt}
.checklist .meta input{border:1px solid #c3c8ce;border-radius:4px;padding:4px 6px;
  font-size:9pt;margin-left:4px;width:60%}
.checklist .meta input.sm{width:60px;text-align:center}
/* each section is its own table so it never splits across a page break */
.checklist .sect{page-break-inside:avoid;break-inside:avoid}
.checklist .sect+.sect table{border-top:0}
/* five real cells in the band (never colspan) so column edges stay defined every row */
.checklist tr.sec td{background:var(--band);font-weight:bold;font-size:10pt;
  page-break-after:avoid;break-after:avoid}
.checklist tr.sec td.ctr{text-align:center;font-size:7.5pt}
.checklist td.secname{border-right-color:var(--band)}
.checklist td.secpad{border-left-color:var(--band)}
.checklist td.spec{color:#444}
.checklist td.tick{text-align:center}
.checklist td.two{background:var(--warn)}
.checklist td.tick input[type=checkbox]{width:15px;height:15px}
.checklist td.init input[type=text]{width:100%;border:0;background:#fafbfc;border-radius:0;
  padding:3px 2px;font-size:9pt;text-align:center;font-family:inherit}
.checklist td.two input[type=text]{background:transparent}
.checklist .released{margin-top:12px}

@media print{
  .navbar,header,.bar,.noprint{display:none!important}
  body{background:#fff}
  main{max-width:none!important;margin:0!important;padding:0!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{size:LETTER portrait;margin:0.45in}
  tr,td,th{page-break-inside:avoid}
  /* collapsed borders are unreliable across print engines, especially on empty cells */
  .checklist td,.checklist th{border-left:1px solid var(--line)!important;
    border-right:1px solid var(--line)!important}
  .checklist td.secname{border-right-color:var(--band)!important}
  .checklist td.secpad{border-left-color:var(--band)!important}
  .checklist td.init input[type=text]{background:transparent!important}
}
