/* ── Legal pages ──────────────────────────────────────────────────────
   Page-scoped design tokens: this project declares its token set per page
   wrapper rather than globally (see dashboard.css / blog.css), so a page
   without its own copy renders with the wrong palette. */
.lg-page{
  --bg:#0B0E11; --c:#151A21; --c2:#1B222B; --elev:#20272F;
  --b:#232A33; --b2:#2E3742; --t0:#EAECEF; --t1:#A9B1BD; --t2:#6D7684;
  --br:#F0B90B; --brh:#FCD535; --bull:#12D18E; --bear:#F7485F;
  --disp:'Space Grotesk',sans-serif; --mono:'JetBrains Mono',monospace;
  --body:'Sora',sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:16px;
  max-width:860px; margin:0 auto; padding:0 2px 60px; color:var(--t1);
  font-family:var(--body); font-size:14.5px; line-height:1.75;
}

/* ── header ── */
.lg-crumb{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--t2);margin-bottom:14px}
.lg-crumb a{color:var(--t1);text-decoration:none}
.lg-crumb a:hover{color:var(--br)}
.lg-crumb .material-icons-round{font-size:15px}

.lg-head{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--b)}
.lg-head h1{font-family:var(--disp);font-size:29px;font-weight:650;color:var(--t0);margin:0 0 8px;letter-spacing:-.01em}
.lg-lede{margin:0;font-size:14.5px;color:var(--t1);max-width:62ch}
.lg-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--t2);margin-top:10px}
.lg-version{font-family:var(--mono);font-size:11.5px;background:var(--c2);border:1px solid var(--b);
  padding:2px 8px;border-radius:20px;color:var(--t1)}
.lg-sep{color:var(--b2)}
.lg-print{margin-left:auto;display:inline-flex;align-items:center;gap:5px;background:none;
  border:1px solid var(--b2);color:var(--t1);padding:5px 11px;border-radius:var(--r-sm);
  cursor:pointer;font-family:var(--body);font-size:12.5px;transition:.15s}
.lg-print:hover{border-color:var(--br);color:var(--br)}
.lg-print .material-icons-round{font-size:15px}

/* ── document body ── */
.lg-body h2{font-family:var(--disp);font-size:18.5px;font-weight:620;color:var(--t0);
  margin:34px 0 12px;padding-top:6px;letter-spacing:-.005em}
.lg-body h3{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--t0);margin:22px 0 8px}
.lg-body p{margin:0 0 13px}
.lg-body ul,.lg-body ol{margin:0 0 15px;padding-left:22px}
.lg-body li{margin-bottom:7px}
.lg-body strong{color:var(--t0);font-weight:620}
.lg-body em{color:var(--t0);font-style:italic}
.lg-body a{color:var(--br);text-decoration:none;border-bottom:1px solid rgba(240,185,11,.3)}
.lg-body a:hover{color:var(--brh);border-bottom-color:var(--brh)}
.lg-note{color:var(--t2);font-style:italic}

/* ── callouts ── */
.lg-alert{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;border-radius:var(--r-md);
  margin:20px 0;font-size:14px;line-height:1.65;border:1px solid var(--b)}
.lg-alert .material-icons-round{flex:0 0 auto;font-size:21px;margin-top:1px}
.lg-alert a{color:inherit;text-decoration:underline}
.lg-alert-critical{background:linear-gradient(180deg,rgba(247,72,95,.10),rgba(247,72,95,.03));
  border-color:rgba(247,72,95,.35);color:#FFD9DE}
.lg-alert-critical .material-icons-round{color:var(--bear)}
.lg-alert-critical strong{color:#fff}
.lg-alert-warning{background:linear-gradient(180deg,rgba(240,185,11,.09),rgba(240,185,11,.02));
  border-color:rgba(240,185,11,.32);color:#F6E7BD}
.lg-alert-warning .material-icons-round{color:var(--br)}
.lg-alert-warning strong{color:#fff}

/* ── tables ── */
.lg-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px;display:block;overflow-x:auto}
.lg-table th{text-align:left;font-family:var(--disp);font-weight:600;color:var(--t0);
  background:var(--c2);padding:9px 11px;border:1px solid var(--b);white-space:nowrap}
.lg-table td{padding:9px 11px;border:1px solid var(--b);vertical-align:top}
.lg-table tr:nth-child(even) td{background:rgba(255,255,255,.015)}

/* ── legal centre grid ── */
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.lg-card{display:flex;flex-direction:column;gap:9px;padding:17px;background:var(--c);
  border:1px solid var(--b);border-radius:var(--r-lg);text-decoration:none;transition:.15s}
.lg-card:hover{border-color:var(--br);transform:translateY(-1px)}
.lg-card-top{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.lg-card h2{font-family:var(--disp);font-size:16px;font-weight:620;color:var(--t0);margin:0}
.lg-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:2px 7px;border-radius:20px}
.lg-badge-req{background:rgba(240,185,11,.14);color:var(--br);border:1px solid rgba(240,185,11,.3)}
.lg-card-blurb{margin:0;font-size:13px;color:var(--t1);line-height:1.6;flex:1}
.lg-card-foot{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--t2);
  padding-top:9px;border-top:1px solid var(--b)}
.lg-arrow{margin-left:auto;font-size:19px;color:var(--t2)}
.lg-ok{display:inline-flex;align-items:center;gap:3px;color:var(--bull)}
.lg-stale{display:inline-flex;align-items:center;gap:3px;color:var(--br)}
.lg-pending{display:inline-flex;align-items:center;gap:3px;color:var(--t2)}
.lg-ok .material-icons-round,.lg-stale .material-icons-round,.lg-pending .material-icons-round{font-size:14px}

/* ── consent form ── */
.lg-consent-form{margin-top:22px}
.lg-consent-item{padding:15px 16px;background:var(--c);border:1px solid var(--b);
  border-radius:var(--r-md);margin-bottom:11px}
.lg-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer}
.lg-check input{position:absolute;opacity:0;width:0;height:0}
.lg-check-box{flex:0 0 auto;width:20px;height:20px;border:1.5px solid var(--b2);border-radius:5px;
  display:flex;align-items:center;justify-content:center;transition:.15s;margin-top:1px}
.lg-check-box .material-icons-round{font-size:15px;color:#0B0E11;opacity:0;transition:.15s}
.lg-check input:checked + .lg-check-box{background:var(--br);border-color:var(--br)}
.lg-check input:checked + .lg-check-box .material-icons-round{opacity:1}
.lg-check input:focus-visible + .lg-check-box{outline:2px solid var(--brh);outline-offset:2px}
.lg-check-text{font-size:14px;color:var(--t0);line-height:1.55}
.lg-check-text a{color:var(--br);border-bottom:1px solid rgba(240,185,11,.35);text-decoration:none}
.lg-version-inline{font-family:var(--mono);font-size:11px;color:var(--t2);margin-left:5px}
.lg-consent-blurb{margin:8px 0 0 31px;font-size:12.5px;color:var(--t2);line-height:1.55}

.lg-consent-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}
.lg-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--r-sm);
  font-family:var(--body);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;
  transition:.15s}
.lg-btn .material-icons-round{font-size:18px}
.lg-btn-accept{background:var(--br);color:#0B0E11}
.lg-btn-accept:hover{background:var(--brh)}
/* Decline is deliberately a real, equally visible button — a consent screen
   with only one exit is not consent. */
.lg-btn-decline{background:transparent;color:var(--t1);border-color:var(--b2)}
.lg-btn-decline:hover{border-color:var(--bear);color:var(--bear)}
.lg-consent-note{margin:12px 0 0;font-size:12.5px;color:var(--t2)}

.lg-foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--b);font-size:12.5px;color:var(--t2)}
.lg-foot a{color:var(--t1);text-decoration:none}
.lg-foot a:hover{color:var(--br)}

@media(max-width:640px){
  .lg-page{font-size:14px}
  .lg-head h1{font-size:23px}
  .lg-body h2{font-size:17px}
  .lg-grid{grid-template-columns:1fr}
  .lg-consent-actions .lg-btn{flex:1;justify-content:center}
}

/* ── print: the documents must be usable on paper ── */
@media print{
  .shell-sidebar,.shell-topbar,.lg-print,.lg-crumb,.sysban,#shell-toasts{display:none!important}
  .lg-page{max-width:none;color:#000;font-size:11pt}
  .lg-body h2,.lg-body h3,.lg-head h1,.lg-body strong{color:#000}
  .lg-alert{border:1.5px solid #000;background:none!important;color:#000}
  .lg-alert .material-icons-round{display:none}
  .lg-body a{color:#000;border-bottom:1px solid #666}
  .lg-table th{background:#eee;color:#000}
  .lg-table td,.lg-table th{border-color:#999}
}

.lg-footnote{margin-top:26px;padding-top:18px;border-top:1px solid var(--b);
  font-size:12.5px;line-height:1.7;color:var(--t2)}
.lg-footnote a{color:var(--t1);border-bottom:1px solid rgba(169,177,189,.25)}
.lg-footnote a:hover{color:var(--br);border-bottom-color:var(--br)}

/* Neutral, informational callout — the default for disclosure that needs to be
   read but not feared. Red is reserved for the Risk Disclosure, where the
   subject genuinely is "you can lose everything". */
.lg-alert-info{background:linear-gradient(180deg,rgba(120,160,255,.07),rgba(120,160,255,.02));
  border-color:rgba(120,160,255,.26);color:var(--t1)}
.lg-alert-info .material-icons-round{color:#7AA2FF}
.lg-alert-info strong{color:var(--t0)}

/* Operator identity on every document — printed pages travel alone. */
.lg-entity{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--b)}
