:root{
  --bg:#0d1626;
  --panel:#111d34;
  --edge:#1c2c4a;
  --gold:#c9a227;
  --gold-lt:#e6c65c;
  --text:#e7eef7;
  --muted:#8fa5c4;
  --white:#ffffff;

  --red:#a53838;      --red-hd:#7a2b2b;    --red-bg:#301212;    --red-bd:#4a1c1c;
  --orange:#b8632b;   --orange-hd:#8f4c22; --orange-bg:#2e1c0c; --orange-bd:#432a10;
  --green:#276b48;    --green-hd:#1e5238;  --green-bg:#0e2418;  --green-bd:#173a27;
  --gold-s:#a3801e;   --gold-hd:#8a6a17;   --gold-bg:#241d08;   --gold-bd:#3a2e0c;
  --slate:#3c5372;    --slate-hd:#2d3f58;  --slate-bg:#16233a;  --slate-bd:#233752;
  --violet:#5a4a8a;   --violet-hd:#463a6d; --violet-bg:#1c1730; --violet-bd:#2c2450;
  --plum:#7a3f6a;     --plum-hd:#5e3252;   --plum-bg:#2a1522;   --plum-bd:#3f2035;
  --steel:#3f6270;    --steel-hd:#304d59;  --steel-bg:#132229;  --steel-bd:#1f3843;
  --maroon:#7a2020;   --maroon-hd:#5c1818; --maroon-bg:#220c0c; --maroon-bd:#3a1414;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{
  font-family:'Segoe UI',Arial,Helvetica,sans-serif;
  color:var(--text);
  position:relative;
}
.page{
  max-width:791px;
  margin:0 auto;
  background:var(--bg);
  position:relative;
  padding-left:10px;
  min-height:100vh;
}
.page::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0; width:6px;
  background:linear-gradient(180deg,var(--gold-lt),var(--gold) 40%,var(--gold-s));
}
.topbar{height:6px;width:100%;}
.header{padding:22px 30px 16px 26px;position:relative;}
.brand{
  position:absolute; top:22px; right:30px;
  color:var(--gold-lt); font-weight:800; font-size:11px; letter-spacing:1.2px;
}
h1{
  margin:0; color:var(--white); font-size:27px; font-weight:800;
  letter-spacing:0.5px; text-transform:uppercase; padding-right:150px; line-height:1.15;
}
.subtitle{
  margin-top:8px; font-size:11.5px; color:var(--muted); line-height:1.5;
}
.subtitle b{color:#bcd4ee;}

.wrap{padding:0 26px 26px 26px;}

.banner{
  margin:14px 0; padding:14px 18px; border-radius:5px;
  background:var(--red-bg); border:1px solid var(--red-bd); border-left:4px solid var(--red);
}
.banner .t{font-weight:800; font-size:14.5px; color:var(--white); text-transform:uppercase; letter-spacing:0.4px;}
.banner .s{margin-top:4px; font-size:11.5px; color:#e3b9b9;}

.section{margin:0 0 0 0; border-radius:5px; overflow:hidden; border:1px solid var(--edge);}
.sec-head{padding:9px 16px; font-weight:800; font-size:13px; letter-spacing:0.4px; text-transform:uppercase; color:var(--white);}
.sec-head .num{opacity:0.85; font-weight:800; margin-right:4px;}
.sec-sub{margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,0.12); font-size:10.5px; opacity:0.75;}
.sec-body{padding:13px 16px 15px 16px; font-size:12px; line-height:1.55;}
.sec-body ul{margin:4px 0 0 0; padding-left:18px;}
.sec-body li{margin-bottom:5px;}
.sec-body p{margin:0 0 8px 0;}
.sec-body p:last-child{margin-bottom:0;}

.sec-red .sec-head{background:var(--red-hd);} .sec-red .sec-body{background:var(--red-bg); color:#f0d7d7;}
.sec-orange .sec-head{background:var(--orange-hd);} .sec-orange .sec-body{background:var(--orange-bg); color:#f2d9c2;}
.sec-green .sec-head{background:var(--green-hd);} .sec-green .sec-body{background:var(--green-bg); color:#cfe9da;}
.sec-gold .sec-head{background:var(--gold-hd); color:#1a1506;} .sec-gold .sec-body{background:var(--gold-bg); color:#f0e3b8;}
.sec-slate .sec-head{background:var(--slate-hd);} .sec-slate .sec-body{background:var(--slate-bg); color:#cfdcee;}
.sec-violet .sec-head{background:var(--violet-hd);} .sec-violet .sec-body{background:var(--violet-bg); color:#dcd6f0;}
.sec-plum .sec-head{background:var(--plum-hd);} .sec-plum .sec-body{background:var(--plum-bg); color:#f0d6e8;}
.sec-steel .sec-head{background:var(--steel-hd);} .sec-steel .sec-body{background:var(--steel-bg); color:#d3e6ea;}
.sec-maroon .sec-head{background:var(--maroon-hd);} .sec-maroon .sec-body{background:var(--maroon-bg); color:#f0cccc;}

.arrow{display:flex; justify-content:center; padding:5px 0; color:var(--orange);}
.arrow svg{display:block;}

.grid{display:grid; gap:10px; margin-top:2px;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:1fr 1fr 1fr;}
.grid-4{grid-template-columns:1fr 1fr 1fr 1fr;}
.box{
  background:rgba(0,0,0,0.28); border:1px solid rgba(255,255,255,0.08);
  border-radius:4px; padding:9px 11px;
}
.box .lab{font-size:9.5px; letter-spacing:0.6px; text-transform:uppercase; opacity:0.75; margin-bottom:3px; font-weight:700;}
.box .val{font-size:13px; font-weight:800; color:var(--white);}
.box .note{font-size:9.5px; opacity:0.7; margin-top:3px;}

.split{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0;}
.split .col{border-radius:5px; overflow:hidden; border:1px solid var(--edge);}
.split .col .h{padding:9px 14px; font-weight:800; font-size:12.5px; text-transform:uppercase; color:var(--white);}
.split .col .b{padding:12px 14px; font-size:11.5px; line-height:1.55;}
.split .col.yes .h{background:var(--green-hd);} .split .col.yes .b{background:var(--green-bg); color:#cfe9da;}
.split .col.no .h{background:var(--red-hd);} .split .col.no .b{background:var(--red-bg); color:#f0d7d7;}
.split .col ul{margin:0; padding-left:16px;}
.split .col li{margin-bottom:5px;}

.callout{margin:14px 0; border-radius:5px; overflow:hidden; border:1px solid var(--red-bd);}
.callout .h{background:var(--red-hd); padding:9px 16px; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--white);}
.callout .b{background:var(--red-bg); padding:12px 16px; font-size:11.5px; color:#f0d7d7;}
.callout .b ul{margin:0; padding-left:18px;}
.callout .b li{margin-bottom:5px;}
.callout .say{margin-top:8px; font-style:italic; color:#e3b9b9; font-size:11px;}

.keypoints{margin:16px 0 4px 0; border-radius:5px; overflow:hidden; border:1px solid var(--gold-bd);}
.keypoints .h{background:var(--gold-hd); padding:9px 16px; font-weight:800; font-size:13px; text-transform:uppercase; color:#1a1506;}
.keypoints .b{background:#100d02; padding:12px 16px; font-size:11.5px; color:#e9dcb0;}
.keypoints ul{margin:0; padding-left:0; list-style:none;}
.keypoints li{margin-bottom:7px; padding-left:16px; position:relative;}
.keypoints li:before{content:""; position:absolute; left:0; top:6px; width:6px; height:6px; border-radius:50%; background:var(--gold-lt);}

.spacer{height:12px;}

/* ---- Outline-style section (thin border, no filled header bg) ---- */
.sec-outline{margin:0; border-radius:5px; border:1px solid var(--edge-strong,#3a4c6e); background:transparent;}
.sec-outline .oh{padding:10px 16px 4px 16px; font-weight:800; font-size:13px; letter-spacing:0.4px; text-transform:uppercase;}
.sec-outline .ob{padding:6px 16px 13px 16px; font-size:12px; line-height:1.55;}

/* ---- Dot-bullet grid (multi-column list with coloured dots) ---- */
.dotgrid{display:grid; gap:6px 18px; margin-top:2px;}
.dotgrid-2{grid-template-columns:1fr 1fr;}
.dotgrid-3{grid-template-columns:1fr 1fr 1fr;}
.dotitem{position:relative; padding-left:16px; font-size:12px; line-height:1.5;}
.dotitem:before{content:""; position:absolute; left:0; top:6px; width:7px; height:7px; border-radius:50%; background:var(--dotcolor,var(--gold-lt));}
.dotitem.strong{font-weight:800; color:var(--white);}

/* ---- Generic two-column plain text block ---- */
.twocol{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:2px;}
.twocol .lbl{font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.4px; margin-bottom:6px; color:var(--white);}
.twocol .lines p{margin:0 0 6px 0; font-size:12px; line-height:1.5;}
.twocol .lines p:last-child{margin-bottom:0;}

/* ---- Two-column with a bordered DO-NOT box on the right ---- */
.twocol-box{display:grid; grid-template-columns:1.1fr 1fr; gap:16px; margin-top:2px;}
.twocol-box .plain p{margin:0 0 8px 0; font-size:12px; line-height:1.5;}
.twocol-box .plain p:last-child{margin-bottom:0;}
.donot{border:1px solid var(--red-bd); border-radius:5px; background:rgba(0,0,0,0.35); padding:10px 14px;}
.donot .t{font-weight:800; font-size:11.5px; text-transform:uppercase; color:var(--white); margin-bottom:6px;}
.donot ul{margin:0; padding-left:16px;}
.donot li{margin-bottom:5px; font-size:11.5px; line-height:1.4;}

/* ---- Three small mini-cards in a row ---- */
.minicards{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin:12px 0;}
.minicard{border-radius:5px; overflow:hidden; border:1px solid var(--edge);}
.minicard .h{padding:8px 12px; font-weight:800; font-size:12px; text-transform:uppercase; color:var(--white);}
.minicard .b{padding:9px 12px 11px 12px; font-size:11px; line-height:1.45; background:rgba(0,0,0,0.35);}
.minicard .b p{margin:0 0 3px 0;} .minicard .b p:last-child{margin-bottom:0; opacity:0.75; font-size:10px;}

/* ---- Generalised two-panel split (not a yes/no decision) ---- */
.split2{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0;}
.split2 .col{border-radius:5px; overflow:hidden; border:1px solid var(--edge);}
.split2 .col .h{padding:9px 14px; font-weight:800; font-size:12.5px; text-transform:uppercase; color:var(--white);}
.split2 .col .b{padding:12px 14px; font-size:11.5px; line-height:1.5;}
.split2 .col .b .note{display:block; margin-top:5px; font-size:10px; opacity:0.75;}

/* ---- SBAR handover box ---- */
.sbar{border-radius:5px; overflow:hidden; border:1px solid var(--gold-bd);}
.sbar .h{background:var(--gold-hd); padding:9px 16px; font-weight:800; font-size:13px; text-transform:uppercase; color:#1a1506;}
.sbar .b{background:#100d02; padding:12px 16px;}
.sbar .row{display:flex; gap:10px; margin-bottom:8px; font-size:12px; line-height:1.5;}
.sbar .row:last-child{margin-bottom:0;}
.sbar .row .k{flex:0 0 16px; font-weight:800; color:var(--gold-lt);}
.sbar .row .v{color:#f0e3b8;}

/* ---- Decision banner (used above a split) ---- */
.decision{border-radius:5px; border:1px solid var(--slate-bd); background:var(--slate-hd); padding:10px 18px; margin:12px 0 6px 0; font-weight:800; font-size:13px; text-align:center; color:var(--white); text-transform:uppercase;}
.decision-labels{display:grid; grid-template-columns:1fr 1fr; margin-bottom:6px;}
.decision-labels span{font-weight:800; font-size:11px; letter-spacing:1px; color:var(--muted);}
.decision-labels span.right{text-align:right;}

.notebar{
  margin-top:10px; padding:8px 12px; border-radius:4px;
  background:rgba(0,0,0,0.28); border:1px solid rgba(255,255,255,0.08);
  font-size:11px; line-height:1.5;
}

/* ---- Index / quick-reference table (summary page) ---- */
.legend{display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 16px 0;}
.legend .item{display:flex; align-items:center; gap:6px; font-size:10px; color:var(--muted);}
.legend .sw{width:10px; height:10px; border-radius:2px; display:inline-block;}

.idxtable{width:100%; border-collapse:separate; border-spacing:0 8px;}
.idxtable thead th{
  text-align:left; font-size:9.5px; letter-spacing:0.6px; text-transform:uppercase;
  color:var(--muted); font-weight:700; padding:0 12px 4px 12px;
}
.idxrow td{
  background:var(--panel); border-top:1px solid var(--edge); border-bottom:1px solid var(--edge);
  padding:10px 12px; font-size:11px; line-height:1.45; color:var(--text); vertical-align:top;
}
.idxrow td:first-child{border-left:4px solid var(--tag,var(--gold)); border-radius:5px 0 0 5px; border-left-width:4px;}
.idxrow td:last-child{border-right:1px solid var(--edge); border-radius:0 5px 5px 0;}
.idxrow .name{font-weight:800; color:var(--white); font-size:12px;}
.idxrow .name a{color:var(--white); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.35);}
.idxrow .name a:hover{border-bottom-color:var(--gold-lt); color:var(--gold-lt);}
.idxrow .lab{display:block; font-size:8.5px; letter-spacing:0.5px; text-transform:uppercase; opacity:0.6; margin-bottom:2px; margin-top:6px;}
.idxrow .lab:first-child{margin-top:0;}
.idxrow col-recognize{width:24%;}

.badge{
  display:inline-block; padding:2px 8px; border-radius:20px; font-size:8.5px; font-weight:800;
  letter-spacing:0.4px; text-transform:uppercase; white-space:nowrap;
}
.badge-always{background:rgba(165,56,56,0.35); color:#ff9d9d; border:1px solid rgba(165,56,56,0.6);}
.badge-flags{background:rgba(184,99,43,0.3); color:#ffbf8a; border:1px solid rgba(184,99,43,0.55);}
.badge-refer{background:rgba(63,98,112,0.35); color:#a9d3e0; border:1px solid rgba(63,98,112,0.6);}

@media (max-width: 620px){
  .idxtable, .idxtable thead, .idxtable tbody, .idxtable th, .idxtable td, .idxtable tr{display:block;}
  .idxtable thead{display:none;}
  .idxrow{margin-bottom:10px; display:block;}
  .idxrow td{border:1px solid var(--edge); border-radius:5px !important; margin-bottom:-1px;}
  .idxrow td:first-child{border-left:4px solid var(--tag,var(--gold));}
}

.footer{
  border-top:2px solid var(--gold-s); margin-top:22px; padding:10px 26px 16px 26px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px;
  font-size:9px; color:var(--muted);
}
.footer .conf{color:#c98888; letter-spacing:0.5px; font-weight:700;}
