/* Supplement SafetyOps — shared styles for all legal/trust pages */

:root{
  --bg:#ffffff; --surface:#f7f8fa; --text:#16191d; --muted:#5b6470;
  --line:#e3e6ea; --accent:#1f5f4b; --accent-soft:#e8f2ee;
  --warn-bg:#fff8e1; --warn-line:#e8c65a; --warn-text:#6b4e00;
  --todo-bg:#ffe9a8; --todo-text:#5a4200;
  --maxw:44rem;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14171a; --surface:#1c2024; --text:#e8eaed; --muted:#a0a8b3;
    --line:#2c3238; --accent:#6fd0ae; --accent-soft:#172b24;
    --warn-bg:#2e2716; --warn-line:#7a6420; --warn-text:#f0d68a;
    --todo-bg:#5c4a12; --todo-text:#ffe9a8;
  }
}
:root[data-theme="dark"]{
  --bg:#14171a; --surface:#1c2024; --text:#e8eaed; --muted:#a0a8b3;
  --line:#2c3238; --accent:#6fd0ae; --accent-soft:#172b24;
  --warn-bg:#2e2716; --warn-line:#7a6420; --warn-text:#f0d68a;
  --todo-bg:#5c4a12; --todo-text:#ffe9a8;
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--text);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:2.5rem 1.25rem 5rem}

/* site nav */
.sitenav{border-bottom:1px solid var(--line); background:var(--surface)}
.sitenav-inner{max-width:var(--maxw); margin:0 auto; padding:.85rem 1.25rem; display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; align-items:center; font-size:.88rem}
.sitenav-brand{font-weight:700; color:var(--text); text-decoration:none; margin-right:auto}
.sitenav a{color:var(--muted); text-decoration:none}
.sitenav a:hover{color:var(--accent); text-decoration:underline}
.sitenav a[aria-current="page"]{color:var(--accent); font-weight:650}

header.masthead{border-bottom:1px solid var(--line); padding-bottom:1.5rem; margin-bottom:2rem}
.brand{font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); font-weight:650; margin:0 0 .6rem}
h1{font-size:clamp(1.7rem,4.5vw,2.3rem); line-height:1.2; margin:0 0 .75rem; letter-spacing:-.02em}
.lede{font-size:1.05rem; color:var(--muted); margin:0 0 .75rem}
.meta{color:var(--muted); font-size:.9rem; margin:0}
.meta span{white-space:nowrap}

.notice{
  background:var(--warn-bg); border:1px solid var(--warn-line); border-left-width:4px;
  color:var(--warn-text); border-radius:6px; padding:1rem 1.15rem; margin:0 0 2rem; font-size:.92rem;
}
.notice strong{display:block; margin-bottom:.35rem}
.notice ul{margin:.5rem 0 0; padding-left:1.15rem}
.notice li{margin:.3rem 0}

nav.toc{background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:1.1rem 1.35rem; margin:0 0 2.5rem}
nav.toc h2{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:0 0 .6rem; font-weight:650}
nav.toc ol{margin:0; padding-left:1.3rem; columns:2; column-gap:1.5rem; font-size:.92rem}
@media (max-width:34rem){nav.toc ol{columns:1}}
nav.toc li{margin:.22rem 0; break-inside:avoid}

a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}

section{margin:0 0 2.25rem; scroll-margin-top:1.5rem}
h2{font-size:1.22rem; margin:0 0 .7rem; letter-spacing:-.01em; line-height:1.3}
h2 .num{color:var(--muted); font-weight:500; margin-right:.4rem}
h3{font-size:1rem; margin:1.4rem 0 .5rem}
p{margin:0 0 .9rem}
ul,ol{margin:0 0 .9rem; padding-left:1.35rem}
li{margin:.35rem 0}
strong{font-weight:650}
address{font-style:normal; margin:0 0 .9rem; line-height:1.5}
code{background:var(--surface); border:1px solid var(--line); border-radius:3px; padding:.08em .35em; font-size:.9em}

.callout{
  background:var(--accent-soft); border-left:3px solid var(--accent);
  padding:.85rem 1.1rem; border-radius:0 6px 6px 0; margin:0 0 1rem;
}
.callout p:last-child{margin-bottom:0}

.todo{background:var(--todo-bg); color:var(--todo-text); padding:.1em .45em; border-radius:3px; font-weight:600; font-size:.93em}

.tablewrap{overflow-x:auto; margin:0 0 1rem; -webkit-overflow-scrolling:touch}
table{border-collapse:collapse; width:100%; min-width:30rem; font-size:.92rem}
th,td{text-align:left; padding:.55rem .7rem; border-bottom:1px solid var(--line); vertical-align:top}
th{font-weight:650; color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.04em}
tbody tr:last-child td{border-bottom:none}

/* index page cards */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; margin:0 0 2rem; padding:0; list-style:none}
.cards li{margin:0}
.cards a{
  display:block; height:100%; background:var(--surface); border:1px solid var(--line);
  border-radius:8px; padding:1.1rem 1.2rem; text-decoration:none; color:var(--text);
}
.cards a:hover{border-color:var(--accent)}
.cards h3{margin:0 0 .35rem; font-size:1rem; color:var(--accent)}
.cards p{margin:0; font-size:.9rem; color:var(--muted); line-height:1.5}

footer.pagefoot{border-top:1px solid var(--line); margin-top:3rem; padding-top:1.5rem; color:var(--muted); font-size:.88rem}
footer.pagefoot a{color:var(--accent)}

/* Controls that are designed and specified but not yet operating. The product
   claims nothing it cannot evidence — see the Trust Centre legend. */
.planned{display:inline-block; background:var(--todo-bg); color:var(--todo-text);
  padding:.05em .45em; border-radius:3px; font-size:.78em; font-weight:700;
  letter-spacing:.02em; text-transform:uppercase; vertical-align:middle;
  margin-left:.3em; white-space:nowrap}
.legend{border:1px solid var(--line); border-radius:6px; padding:.75rem 1rem;
  margin:1.25rem 0; font-size:.94em}
.legend p{margin:.3rem 0}
