/* ============================================================
   GreenTurtles — Certified Design System (GT-DS v1)
   ============================================================
   The sanctioned sub-brand identity for the Carbon & compliance
   module ONLY. Everything else in FleetGenius styles from Aura
   (tokens.css) — see CLAUDE.md rule 7. This file exists so the
   GreenTurtle Standard reads as its own product: paper ground,
   flat colour (no gradients), Archivo for words, IBM Plex Mono
   for every measured value and method label.

   Tokens ported from the GreenTurtles Certified Design System
   (Sep 2026): colours sampled from the logo; tier colours are
   the published Standard §5 palette. One signal-lime accent per
   view. "Every figure, traced to how it was made."
   ============================================================ */

:root{
  --gt-green:#709840; --gt-green-deep:#4F6B2C; --gt-green-mid:#5F8235;
  --gt-green-200:#C4D9A5; --gt-green-100:#EAF1DD;
  --gt-lime:#C8E870; --gt-lime-100:#F1F8DC;
  --gt-ink-900:#232323; --gt-ink-800:#383838; --gt-ink-700:#4A4A48;
  --gt-white:#FFFFFF; --gt-paper:#F5F3EC; --gt-shell:#E9E6DB;
  --gt-stone-100:#F1EFE8; --gt-stone-200:#E2DFD4; --gt-stone-300:#C9C5B8;
  --gt-stone-400:#A8A497; --gt-stone-500:#7B7870; --gt-stone-700:#3A3835;
  --gt-ocean:#2F5D63; --gt-ocean-100:#DCE8E9;
  --gt-amber:#A9740F; --gt-amber-100:#F5E9CD;
  --gt-clay:#9E3A22; --gt-clay-100:#F3DDD6;
  --gt-bronze:#A9754A; --gt-silver:#9AA0A6; --gt-gold:#C0982A; --gt-platinum:#7E8C99;
  --gt-font:'Archivo','Helvetica Neue',Arial,sans-serif;
  --gt-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gt-serif:'Newsreader',Georgia,serif;
  --gt-r1:3px; --gt-r2:6px; --gt-r3:10px; --gt-r4:16px;
  --gt-shadow:0 1px 2px rgba(56,56,56,.06),0 8px 24px -18px rgba(56,56,56,.28);
}

/* ---------- scope ---------- */
.gt-scope{font-family:var(--gt-font);color:var(--gt-stone-700);
  background:var(--gt-paper);border-radius:var(--gt-r4);padding:22px;
  margin:0 -6px;border:1px solid var(--gt-stone-200)}
.gt-scope *{box-sizing:border-box}
.gt-mono{font-family:var(--gt-mono);font-variant-numeric:tabular-nums}
.gt-serif{font-family:var(--gt-serif);font-style:italic}

/* ---------- type ---------- */
.gt-eyebrow{font-family:var(--gt-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gt-stone-500)}
.gt-h1{font-family:var(--gt-font);font-weight:700;font-size:30px;line-height:1.1;
  letter-spacing:-.02em;color:var(--gt-ink-800);margin:6px 0 2px}
.gt-h2{font-family:var(--gt-font);font-weight:700;font-size:16px;letter-spacing:-.01em;
  color:var(--gt-ink-800)}
.gt-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--gt-stone-500)}
.gt-body{font-size:13.5px;line-height:1.55;color:var(--gt-stone-700)}
.gt-muted{font-size:12.5px;line-height:1.5;color:var(--gt-stone-500)}

/* ---------- surfaces ---------- */
.gt-card{background:var(--gt-white);border:1px solid var(--gt-stone-200);
  border-radius:var(--gt-r3);padding:18px 20px;box-shadow:var(--gt-shadow)}
.gt-card.sunken{background:var(--gt-stone-100);box-shadow:none}
.gt-card.inverse{background:var(--gt-ink-900);border-color:var(--gt-ink-900);color:var(--gt-paper)}
.gt-card.inverse .gt-label{color:#B0AEA6}
.gt-rule{border:none;border-top:1px solid var(--gt-stone-200);margin:14px 0}

/* ---------- layout ---------- */
.gt-topbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.gt-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:start}
@media(max-width:860px){.gt-cols{grid-template-columns:1fr}}
.gt-statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}

/* ---------- StatBlock ---------- */
.gt-stat{display:flex;flex-direction:column;gap:6px}
.gt-stat .v{font-family:var(--gt-mono);font-size:26px;font-weight:600;
  letter-spacing:-.01em;color:var(--gt-ink-800);font-variant-numeric:tabular-nums;line-height:1.1}
.gt-stat .v .u{font-size:15px;color:var(--gt-stone-500);font-weight:500;margin-left:3px}
.gt-stat .d{font-family:var(--gt-mono);font-size:12px}
.gt-stat .d.good{color:var(--gt-green-deep)} .gt-stat .d.bad{color:var(--gt-clay)}
.gt-stat .note{font-size:12px;color:var(--gt-stone-500);line-height:1.45;max-width:34ch}

/* ---------- MethodTag ---------- */
.gt-methodtag{display:inline-flex;align-items:center;gap:6px;height:21px;padding:0 8px;
  border-radius:var(--gt-r1);font-family:var(--gt-mono);font-size:11px;white-space:nowrap}
.gt-methodtag.contracted{background:var(--gt-green-100);border:1px solid var(--gt-green-200);color:var(--gt-green-deep)}
.gt-methodtag.odometer{background:var(--gt-ocean-100);border:1px solid #B9CFD2;color:var(--gt-ocean)}
.gt-methodtag.default{background:var(--gt-amber-100);border:1px solid #E3CB98;color:var(--gt-amber)}
.gt-methodtag .x{color:var(--gt-stone-500)}

/* ---------- TierBadge ---------- */
.gt-tierbadge{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 11px;
  border-radius:var(--gt-r1);background:var(--gt-stone-100);border:1px solid var(--gt-stone-300)}
.gt-tierbadge .dot{width:8px;height:8px;border-radius:999px;flex:none}
.gt-tierbadge .t{font-family:var(--gt-font);font-weight:700;font-size:13px;
  letter-spacing:.02em;color:var(--gt-ink-800)}
.gt-tierbadge .s{font-family:var(--gt-mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gt-stone-500)}

/* ---------- buttons ---------- */
.gt-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;
  border-radius:var(--gt-r2);border:1px solid transparent;font-family:var(--gt-font);
  font-size:13px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease}
.gt-btn.accent{background:var(--gt-lime);color:var(--gt-ink-900);border-color:var(--gt-lime)}
.gt-btn.accent:hover{background:#D9F09A}
.gt-btn.solid{background:var(--gt-ink-800);color:var(--gt-paper)}
.gt-btn.solid:hover{background:var(--gt-ink-900)}
.gt-btn.ghost{background:transparent;color:var(--gt-ink-800);border-color:var(--gt-stone-300)}
.gt-btn.ghost:hover{background:var(--gt-stone-100)}
.gt-btn:disabled{opacity:.55;cursor:default}

/* ---------- bars (flat, no gradients) ---------- */
.gt-bar{height:12px;border-radius:var(--gt-r1);background:var(--gt-stone-200);overflow:hidden}
.gt-bar>div{height:100%;background:var(--gt-green)}

/* ---------- ScoreMeter ---------- */
.gt-meter{position:relative;height:10px;background:var(--gt-stone-200);
  border-radius:var(--gt-r1);overflow:visible}
.gt-meter .fill{position:absolute;inset:0;background:var(--gt-green-mid);
  border-radius:var(--gt-r1);transform-origin:left center}
.gt-meter .tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--gt-ink-800)}

/* ---------- StandardMark plate ---------- */
.gt-markplate{display:inline-flex;align-items:center;justify-content:center;
  background:var(--gt-white);border-radius:var(--gt-r2);padding:8px}
.gt-markplate img{display:block;height:44px;width:auto}

/* ---------- evidence rows ---------- */
.gt-evrow{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-top:1px solid var(--gt-stone-200);font-size:13px}
.gt-evrow:first-of-type{border-top:none}
.gt-evrow .k{flex:1;min-width:0;font-weight:600;color:var(--gt-ink-800);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt-evrow .n{font-family:var(--gt-mono);font-size:12.5px;color:var(--gt-stone-500);
  font-variant-numeric:tabular-nums;text-align:right}

/* ---------- segmented control ---------- */
.gt-seg{display:inline-flex;border:1px solid var(--gt-stone-300);border-radius:var(--gt-r2);overflow:hidden}
.gt-seg button{border:none;background:var(--gt-white);color:var(--gt-stone-500);
  font-family:var(--gt-font);font-size:12.5px;font-weight:600;padding:7px 13px;cursor:pointer}
.gt-seg button.on{background:var(--gt-ink-800);color:var(--gt-paper)}

/* ---------- certificate sheet ---------- */
.gt-cert{position:relative;margin-top:14px;text-align:center;border-radius:var(--gt-r3);
  padding:28px 26px 24px;background:var(--gt-white);border:1px solid var(--gt-stone-200)}
.gt-cert-year{position:absolute;right:16px;top:16px;font-family:var(--gt-mono);
  font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--gt-stone-500);
  background:var(--gt-stone-100);border-radius:var(--gt-r1);padding:3px 9px}
.gt-cert-kicker{font-family:var(--gt-mono);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;margin-top:16px}
.gt-cert-name{font-family:var(--gt-font);font-weight:700;font-size:25px;
  letter-spacing:-.015em;color:var(--gt-ink-800);margin:5px 0 8px}
.gt-cert-sub{font-size:13.5px;line-height:1.55;color:var(--gt-stone-700);max-width:44ch;margin:0 auto}
.gt-cert-stats{display:flex;justify-content:center;gap:30px;margin:20px 0 6px}
.gt-cert-stats .n{font-family:var(--gt-mono);font-weight:600;font-size:24px;
  color:var(--gt-green-deep);font-variant-numeric:tabular-nums}
.gt-cert-stats .n span{font-size:14px;margin-left:1px;color:var(--gt-stone-500)}
.gt-cert-stats .l{font-size:10.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gt-stone-500);margin-top:3px}
.gt-cert-meta{font-family:var(--gt-mono);font-size:11.5px;color:var(--gt-stone-500);
  margin-top:14px;font-variant-numeric:tabular-nums}
.gt-cert-sign{margin-top:16px;padding-top:14px;border-top:1px solid var(--gt-stone-200)}
.gt-cert-signname{font-weight:700;font-size:13.5px;margin-top:4px;color:var(--gt-ink-800)}
.gt-cert-signrole{font-size:11px;color:var(--gt-stone-500);margin-top:2px}
.gt-cert-foot{font-family:var(--gt-mono);font-size:10.5px;letter-spacing:.04em;
  color:var(--gt-stone-500);margin-top:16px;padding-top:14px;border-top:1px solid var(--gt-stone-200);line-height:1.7}

/* ---------- footer strip ---------- */
.gt-foot{display:flex;align-items:center;gap:10px;justify-content:center;
  margin-top:16px;font-family:var(--gt-mono);font-size:11px;color:var(--gt-stone-500)}
.gt-foot b{color:var(--gt-ink-800);font-weight:600}

/* ---------- night mode (driver PWA) ---------- */
[data-mode="night"] .gt-night{background:#141A14;border:1px solid #2A3626;border-radius:var(--gt-r3);padding:14px 16px}
[data-mode="night"] .gt-night .gt-eyebrow{color:#8FA97C}
[data-mode="night"] .gt-night .gt-mono{color:#C4D9A5}
