/* ============================================================
   O'Meara Reports — shared styles

   .app*    = screen chrome (nav, top bar). Never sent to the PDF,
              so it may use CSS variables / flexbox freely.
   .report* = the printable report body. Kept mPDF-safe:
              tables / block / width% only, and EXPLICIT hex colors
              (mPDF does not resolve CSS var()), so screen and PDF match.
   ============================================================ */

:root{
  --brand:#14562f;
  --brand-dk:#0d3a20;
  --ink:#161a20;
  --muted:#68727e;
  --line:#e4e7eb;
  --line-dk:#cfd4da;
  --panel:#f6f7f9;
  --paper:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:#161a20;background:#eceef1;font-size:14px;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}

/* ---------------- screen chrome (var/flex OK) ---------------- */
.app{display:flex;min-height:100vh}
.app-nav{width:210px;flex:0 0 210px;background:var(--brand);color:#dfebe3;display:flex;flex-direction:column;padding:18px 0}
.app-brand{padding:0 20px 16px;font-weight:700;letter-spacing:.02em;color:#fff;font-size:16px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:10px}
.app-brand small{display:block;font-weight:400;font-size:11px;color:#a9c6b5;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
.nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 20px;font-size:13.5px;color:#c9dccf;border-left:3px solid transparent}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item.active{background:rgba(255,255,255,.10);color:#fff;border-left-color:#8fd6a9;font-weight:600}
.nav-item.soon{color:#7fa48c;cursor:default}
.nav-item .tag{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#7fa48c;border:1px solid #45785a;border-radius:10px;padding:1px 7px}
.app-nav .spacer{flex:1}
.nav-foot{padding:12px 20px 0;font-size:11.5px;color:#8fb49d}
.nav-foot a{text-decoration:underline;text-underline-offset:2px}
.app-main{flex:1;min-width:0;display:flex;flex-direction:column}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 26px;background:#fff;border-bottom:1px solid var(--line)}
.app-top h1{font-size:16px;margin:0;font-weight:700}
.app-top .sub{font-size:12px;color:var(--muted);margin-top:2px}
.app-actions{display:flex;gap:9px}
.btn{font:600 13px/1 "Helvetica Neue",Arial,sans-serif;color:#fff;background:var(--brand);border:1px solid var(--brand-dk);border-radius:7px;padding:9px 14px;cursor:pointer}
.btn:hover{background:var(--brand-dk)}
.btn.ghost{background:#fff;color:var(--brand);border-color:var(--line-dk)}
.btn.ghost:hover{background:var(--panel)}
.app-scroll{padding:22px 26px;overflow:auto}

/* ---------------- report body (explicit hex, mPDF-safe) ---------------- */
.report{background:#fff;border:1px solid #e4e7eb;border-radius:10px;max-width:1180px;margin:0 auto;overflow:hidden}
.report-head{background:#14562f;color:#fff;padding:16px 22px}
.report-head table{width:100%;border-collapse:collapse}
.report-head .logo{height:34px;vertical-align:middle}
.report-head .wordmark{font-weight:800;font-size:17px;letter-spacing:.02em;color:#fff}
.report-head .wordmark small{display:block;font-weight:400;font-size:10px;letter-spacing:.22em;color:#bcd8c8;text-transform:uppercase}
.report-head h2{margin:0;font-size:23px;font-weight:800;letter-spacing:.01em;text-align:center;color:#fff}
.report-head .meta{text-align:right;font-size:11.5px;color:#cfe4d7;line-height:1.5}
.report-head .meta b{color:#fff;font-weight:600}

.report-body{padding:20px 22px 24px}
.section-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#98a2ad;font-weight:700;margin:0 0 9px}

.stores{width:100%;border-collapse:separate;border-spacing:12px 0;margin:0 -12px 22px;table-layout:fixed}
.stores td{width:33.33%;vertical-align:top}
.store-card{border:1px solid #e4e7eb;border-top:3px solid #888;border-radius:9px;padding:13px 15px;background:#fff}
.store-card .sc-top{width:100%;border-collapse:collapse}
.store-card .sc-rank{font-size:11px;font-weight:700;color:#fff;background:#888;border-radius:20px;padding:2px 9px}
.store-card .sc-name{font-size:15px;font-weight:800;color:#161a20;padding-top:8px}
.store-card .sc-gross{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:6px 0 2px;color:#161a20}
.store-card .sc-gross-l{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#98a2ad;font-weight:700}
.store-card .sc-bar{height:6px;background:#eef0f3;border-radius:4px;margin:10px 0 12px;overflow:hidden}
.store-card .sc-bar i{display:block;height:6px;background:#888;border-radius:4px}
.store-card .sc-stats{width:100%;border-collapse:collapse}
.store-card .sc-stats td{padding:3px 0;font-size:12px}
.store-card .sc-stats .k{color:#68727e}
.store-card .sc-stats .v{text-align:right;font-weight:700;color:#161a20}

.lead{width:100%;border-collapse:collapse}
.lead thead th{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#68727e;font-weight:700;text-align:right;padding:0 10px 8px;border-bottom:1.5px solid #cfd4da;white-space:nowrap}
.lead thead th.l{text-align:left}
.lead tbody td{padding:9px 10px;border-bottom:1px solid #e4e7eb;font-size:13px;text-align:right;white-space:nowrap;color:#161a20}
.lead tbody tr.alt td{background:#fafbfc}
.lead tbody td.l{text-align:left}
.lead .rk{font-weight:800;color:#98a2ad;width:34px;text-align:center}
.lead .rk1{color:#b8860b}
.lead .mgr{font-weight:700;color:#161a20}
.chip{display:inline-block;font-size:10.5px;font-weight:700;color:#fff;border-radius:5px;padding:2px 8px;letter-spacing:.02em}
.chip.ford{background:#1a56b0}.chip.gmc{background:#c8102e}.chip.vw{background:#0a1f4d}
.money.neg{color:#c1121f}
.pct.hi{color:#0f7a3d;font-weight:700}.pct.lo{color:#c1121f;font-weight:700}
.muted{color:#68727e}

.avgcell{min-width:150px}
.avgcell .n{font-weight:700;margin-bottom:4px;color:#161a20}
.avgcell .n.neg{color:#c1121f}
.bar{height:7px;background:#eef0f3;border-radius:4px;overflow:hidden}
.bar i{display:block;height:7px;border-radius:4px}
.bar.zero i{opacity:.55}

.report-foot{padding:12px 22px 18px;border-top:1px solid #e4e7eb;color:#98a2ad;font-size:11px}

@media print{
  body{background:#fff}
  .app-nav,.app-top{display:none}
  .app-scroll{padding:0}
  .report{border:0;border-radius:0;max-width:none}
}
.pdf .report{border:0;border-radius:0;max-width:none}
