/* GNL Survive & Thrive A4 — shared stylesheet for all CGM/AID/Exercise resources.
   Locked from Dexcom pilot. Each resource sets --brand-accent on <body data-brand="...">. */
:root{
  --gnl-teal:#00B4D8; --gnl-teal-deep:#007A91; --gnl-teal-soft:#E6F6FA;
  --gnl-blue:#006CFF; --gnl-pink:#E6007E; --gnl-coral:#FF6B47;
  --gnl-navy:#0E2A38; --gnl-navy-deep:#071720;
  --gnl-ink:#0F2A33; --gnl-ink-soft:#3C5A63;
  --gnl-line:#D7E5E7; --gnl-bg:#F4FAFB; --gnl-white:#FFFFFF;
  --gnl-green:#2ecc71;
  --series-accent:var(--gnl-teal); --series-accent-deep:var(--gnl-teal-deep);
  --brand-accent:#0B72B9;
}
body[data-series="aid"]{--series-accent:var(--gnl-blue);--series-accent-deep:#0050C8}
body[data-series="exercise"]{--series-accent:var(--gnl-coral);--series-accent-deep:#C63F1E}
body[data-brand="dexcom"]{--brand-accent:#0B72B9}
body[data-brand="abbott"]{--brand-accent:#F7A600}
body[data-brand="medtronic"]{--brand-accent:#00509E}
body[data-brand="tandem"]{--brand-accent:#7A49A5}
body[data-brand="insulet"]{--brand-accent:#00A84F}
body[data-brand="camdiab"]{--brand-accent:#1F3864}
body[data-brand="gnl"]{--brand-accent:var(--gnl-teal-deep)}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#E8EEF0;color:var(--gnl-ink);font-family:Inter,system-ui,Arial,sans-serif;font-size:9pt;line-height:1.35}
h1,h2,h3,h4,.kicker{font-family:Montserrat,"Arial Black",sans-serif;font-weight:800;letter-spacing:-0.01em}
p{font-size:8.3pt;line-height:1.45}

.page{
  width:297mm;height:210mm;margin:8mm auto;background:var(--gnl-white);
  box-shadow:0 4px 24px rgba(0,0,0,.08);padding:6mm 9mm;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:2.5mm;page-break-after:always;overflow:hidden
}
.body{min-height:0;overflow:hidden}
.col{min-height:0;overflow:hidden}
.page:last-of-type{page-break-after:auto}

/* Header */
.hdr{display:flex;align-items:center;justify-content:space-between;gap:5mm;border-bottom:2.5px solid var(--series-accent);padding-bottom:2mm}
.hdr-l{display:flex;align-items:center;gap:5mm}
.hdr .hdr-logo{display:flex;align-items:center;gap:2mm;font-family:Montserrat,sans-serif;font-weight:800;font-size:7.5pt;letter-spacing:1.4px;text-transform:uppercase;color:var(--gnl-navy);white-space:nowrap;border-right:1.5px solid var(--gnl-line);padding-right:5mm}
.hdr .hdr-logo .dot{width:3mm;height:3mm;border-radius:50%;background:var(--gnl-pink);flex-shrink:0}
.hdr .hdr-logo .reg{color:var(--gnl-pink)}
.hdr .kicker{font-size:7.5pt;letter-spacing:2px;color:var(--series-accent-deep);text-transform:uppercase}
.hdr h1{font-size:14.5pt;color:var(--gnl-ink);line-height:1.05;margin-top:.5mm}
.hdr h1 em{font-style:normal;color:var(--gnl-pink)}
.hdr-r{display:flex;align-items:center;gap:3mm}
.device-tag{background:var(--brand-accent);color:#fff;padding:1.8mm 3.5mm;border-radius:1.5mm;font-family:Montserrat,sans-serif;font-weight:800;font-size:8pt;letter-spacing:1px;text-transform:uppercase}
.pg{font-family:Montserrat,sans-serif;font-weight:700;font-size:7pt;color:var(--gnl-ink-soft);letter-spacing:1px;text-transform:uppercase;text-align:right}

/* GNL logo mark (used in footer) */
.gnl-mark{display:inline-flex;align-items:center;gap:2mm;font-family:Montserrat,sans-serif;font-weight:800;color:var(--gnl-navy);font-size:8pt;letter-spacing:1.3px;text-transform:uppercase;white-space:nowrap}
.gnl-mark .dot{width:2.5mm;height:2.5mm;border-radius:50%;background:var(--gnl-pink);flex-shrink:0}
.gnl-mark .reg{color:var(--gnl-pink)}

/* Framework card */
.framework{background:linear-gradient(135deg,var(--gnl-navy) 0%,var(--gnl-navy-deep) 100%);color:#fff;border-radius:2.5mm;padding:3.5mm 4mm;display:grid;grid-template-columns:1fr 1fr;gap:3.5mm}
.framework .kicker{color:var(--series-accent);font-size:7pt;letter-spacing:2px;text-transform:uppercase;margin-bottom:.8mm}
.framework h2{font-size:11.5pt;color:#fff;line-height:1;margin-bottom:2mm}
.score-row{display:flex;align-items:center;gap:2.5mm;margin-bottom:2.5mm}
.score-badge{background:var(--series-accent);color:#fff;padding:1.8mm 3.5mm;border-radius:1.5mm;font-family:Montserrat,sans-serif;font-size:10pt;font-weight:800;letter-spacing:.5px;flex-shrink:0}
.score-txt{font-size:7.8pt;color:rgba(255,255,255,.92);line-height:1.3}
.score-txt b{display:block;font-weight:700;color:#fff;margin-bottom:.4mm}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5mm;margin-bottom:2.5mm}
.stat{background:rgba(0,180,216,.08);border:1.2px solid var(--series-accent);border-radius:2mm;padding:1.5mm 2mm;text-align:center}
body[data-series="aid"] .stat{background:rgba(0,108,255,.08)}
body[data-series="exercise"] .stat{background:rgba(255,107,71,.08)}
.stat.sec{background:rgba(255,255,255,.06);border:1.2px solid rgba(255,255,255,.15)}
.stat .lbl{font-size:5.8pt;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--series-accent);margin-bottom:.3mm}
.stat.sec .lbl{color:rgba(255,255,255,.55)}
.stat .val{font-family:Montserrat,sans-serif;font-size:12pt;font-weight:800;color:var(--series-accent);line-height:1}
.stat.sec .val{color:#fff}
.stat .sub{font-size:6pt;color:rgba(255,255,255,.55);margin-top:.3mm}
.checklist{display:flex;flex-direction:column;gap:1mm}
.check{display:flex;align-items:flex-start;gap:1.8mm;padding:1.4mm 2.2mm;background:rgba(255,255,255,.06);border-radius:1mm;border-left:2.5px solid var(--series-accent);font-size:7.3pt;line-height:1.35;color:#fff}
.check .tick{color:var(--series-accent);font-weight:800;flex-shrink:0;font-size:8.5pt;line-height:1.1}
.check b{color:#fff;font-weight:700}
.data-suf{font-size:6.5pt;color:rgba(255,255,255,.65);margin-top:1mm;font-style:italic}

/* Body columns */
.body{display:grid;grid-template-columns:1fr 1fr;gap:3mm;min-height:0}
.col{display:flex;flex-direction:column;gap:2.5mm;min-height:0}

/* Card */
.card{background:var(--gnl-white);border:1px solid var(--gnl-line);border-radius:2.5mm;padding:2.8mm 3.2mm}
.card .kicker{font-size:6.5pt;letter-spacing:1.6px;color:var(--series-accent-deep);text-transform:uppercase;margin-bottom:.8mm}
.card h3{font-size:9.5pt;color:var(--gnl-ink);line-height:1.15;margin-bottom:1.5mm}
.card p{margin-bottom:1mm;font-size:7.8pt}
.card p:last-child{margin-bottom:0}

/* Feature box */
.feature{background:rgba(0,108,255,.04);border:1.2px solid rgba(0,108,255,.18);border-radius:2mm;padding:2mm 2.5mm;font-size:7.6pt;line-height:1.45}
.feature strong{color:var(--gnl-blue)}
.feature h4{font-size:8pt;color:var(--gnl-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:1mm;font-family:Montserrat,sans-serif;font-weight:800}

/* Bullets */
.bullets{list-style:none;font-size:7.6pt;line-height:1.45;display:flex;flex-direction:column;gap:.7mm}
.bullets li{padding-left:3.5mm;position:relative}
.bullets li::before{content:"▸";color:var(--gnl-pink);position:absolute;left:0;font-weight:800}
.bullets li b{color:var(--series-accent-deep);font-weight:700}

/* Tables */
table{width:100%;border-collapse:collapse;font-size:7.3pt}
thead th{background:var(--series-accent);color:#fff;padding:1.1mm 1.8mm;text-align:left;font-family:Montserrat,sans-serif;font-weight:700;font-size:6.8pt;text-transform:uppercase;letter-spacing:.5px}
tbody td{border-bottom:1px solid var(--gnl-line);padding:.9mm 1.8mm;vertical-align:middle}
tbody tr:nth-child(even) td{background:#FAFDFE}
.arrow{font-family:Montserrat,sans-serif;font-weight:800;color:var(--brand-accent);font-size:9pt;display:inline-block;min-width:7mm;text-align:center}

/* Explorer callout */
.explorer{background:linear-gradient(135deg,var(--gnl-navy) 0%,var(--gnl-navy-deep) 100%);color:#fff;border-radius:2.5mm;padding:2.5mm 3.2mm;display:grid;grid-template-columns:auto 1fr auto;gap:2.5mm;align-items:center;text-decoration:none;transition:transform .15s}
.explorer:hover{transform:translateY(-1px)}
.explorer .etag{background:var(--gnl-pink);color:#fff;padding:1mm 2.2mm;border-radius:1mm;font-family:Montserrat,sans-serif;font-weight:800;font-size:6pt;letter-spacing:1.1px;text-transform:uppercase}
.explorer .etag.teal{background:var(--series-accent)}
.explorer .ebody .et{font-family:Montserrat,sans-serif;font-weight:700;font-size:8.3pt;color:#fff;line-height:1.2}
.explorer .ebody .es{font-size:7pt;color:rgba(255,255,255,.72);margin-top:.4mm;line-height:1.3;display:block}
.explorer .earr{color:var(--gnl-pink);font-size:12pt;font-weight:800}

/* Dark panel */
.dark-panel{background:linear-gradient(135deg,var(--gnl-navy) 0%,var(--gnl-navy-deep) 100%);color:#fff;border-radius:2.5mm;padding:2.8mm 3.2mm}
.dark-panel .kicker{color:var(--series-accent);font-size:6.5pt;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:.6mm}
.dark-panel h3{font-size:9.5pt;color:#fff;line-height:1.1;margin-bottom:1mm}
.dark-panel > p{font-size:7.3pt;color:rgba(255,255,255,.75);margin-bottom:2mm;line-height:1.4}

/* Deeper link list */
.deeper{display:flex;flex-direction:column;gap:1.2mm}
.deeper a{color:#fff;text-decoration:none;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:1.5mm;padding:1.6mm 2.5mm;font-size:7.5pt;display:grid;grid-template-columns:auto 1fr auto;gap:2.2mm;align-items:center}
.deeper a:hover{background:rgba(255,255,255,.14)}
.deeper .ltag{background:var(--gnl-pink);color:#fff;padding:.5mm 1.4mm;border-radius:.8mm;font-family:Montserrat,sans-serif;font-weight:800;font-size:5.5pt;letter-spacing:.8px;text-transform:uppercase}
.deeper .ltag.teal{background:var(--series-accent)}
.deeper .lbl{font-family:Montserrat,sans-serif;font-weight:700;font-size:7.5pt;line-height:1.25;color:#fff}
.deeper .lbl span{display:block;font-family:Inter,sans-serif;font-weight:400;font-size:6.8pt;color:rgba(255,255,255,.72);margin-top:.2mm}
.deeper .arr{color:var(--gnl-pink);font-weight:800;font-size:9.5pt}

/* Footer — fixed height, always visible */
.ftr{border-top:1.5px solid var(--gnl-line);padding-top:2mm;margin-top:1mm;display:grid;grid-template-columns:auto 1fr auto;gap:4mm;align-items:center;font-size:6.8pt;color:var(--gnl-ink-soft);line-height:1.35;min-height:9mm}
.ftr .gnl-mark{font-size:8.5pt}
.ftr .disc{text-align:center}
.ftr .disc strong{color:var(--gnl-ink)}
.ftr .disc a{color:var(--series-accent-deep);font-weight:600;text-decoration:none}
.ftr .pageno{font-family:Montserrat,sans-serif;font-weight:700;color:var(--gnl-ink-soft);font-size:7pt;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}

@page{size:A4 landscape;margin:0}
@media print{
  html,body{background:#fff}
  .page{margin:0;box-shadow:none}
  .screen-only{display:none}
}
.screen-only{max-width:297mm;margin:4mm auto 0;padding:0 12mm;font-size:9pt;color:var(--gnl-ink-soft);text-align:center}
