/* SPLMTAP Command Centre — themes: Midnight Indigo (default), PLMS Navy, Aubergine (ODFLIP). Print-ready A4. */
:root,html[data-theme=midnight]{
  --bg:#0a0d1c; --bg2:#0e1226; --card:#121833; --card2:#18203f; --line:rgba(201,170,90,.16); --line2:#26304f;
  --gold:#d9b85c; --gold2:#ecd28e; --lav:#8ea2e8; --text:#e9e7f2; --muted:#aab3d4; --ok:#5fd38d; --warn:#f2b84b; --bad:#ff7d6b;
  --side1:#111633; --side2:#090c1a; --top:rgba(14,18,38,.96); --land1:#1e2552; --land2:#0e1226; --input:#0d1229; --track:#222b4a; --navgrp:#7f8bb8; --tint:rgba(142,162,232,.08);
}
html[data-theme=navy]{
  --bg:#050b1a; --bg2:#081226; --card:#0c1830; --card2:#11213f; --line:rgba(212,175,55,.2); --line2:#1d2f52;
  --gold:#d4af37; --gold2:#f0d27a; --lav:#6f9bff; --text:#f6ebc8; --muted:#c9d6ea;
  --side1:#0b1a36; --side2:#050b1a; --top:rgba(8,18,38,.96); --land1:#12306b; --land2:#081226; --input:#071226; --track:#1a2a4a; --navgrp:#8aa2c8; --tint:rgba(111,155,255,.08);
}
html[data-theme=aubergine]{
  --bg:#11081d; --bg2:#170c27; --card:#1b102f; --card2:#24173d; --line:rgba(212,175,55,.18); --line2:#3a2a5a;
  --gold:#d4af37; --gold2:#f0d27a; --lav:#b48cff; --text:#f6ebc8; --muted:#d5c4ef;
  --side1:#1f1238; --side2:#120a21; --top:rgba(23,12,39,.95); --land1:#3a1f63; --land2:#1a0f2d; --input:#160c27; --track:#2e2148; --navgrp:#a993cf; --tint:rgba(180,140,255,.08);
}
:root,[data-bs-theme=dark]{
  --bs-body-bg:var(--bg); --bs-body-color:var(--text); --bs-border-color:var(--line); --bs-secondary-color:var(--muted); --bs-tertiary-bg:var(--card);
  --bs-link-color:var(--gold2); --bs-link-hover-color:#fff6d6; --bs-heading-color:var(--text); --bs-emphasis-color:#fff;
}
html,body{background:var(--bg);color:var(--text);font-family:'Manrope','Segoe UI',system-ui,Arial,sans-serif}
h1,h2,.h1,.h2,.h3,.brand-title,.hero h1{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:.2px}
.text-muted{color:var(--muted)!important;opacity:.85}
.gold{color:var(--gold)}
/* landing */
body.landing{background:radial-gradient(1200px 600px at 50% -10%,var(--land1) 0%,var(--land2) 45%,var(--bg) 100%);min-height:100vh}
.landing .kick{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.landing .hero h1{font-weight:700;font-size:clamp(1.6rem,3.6vw,2.7rem);margin-top:.6rem;color:var(--text)}
.hero-logo{filter:drop-shadow(0 6px 24px rgba(212,175,55,.35))}
.landing .accent{color:var(--gold2);font-weight:600;font-size:1.02rem;max-width:860px;margin:.6rem auto}
.landing .sub{color:var(--muted);max-width:780px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:920px;margin:1.6rem auto 0}
.hero-stats div{background:var(--tint);border:1px solid var(--line);border-radius:.8rem;padding:.8rem}
.hero-stats b{display:block;font-size:1.6rem;color:var(--gold);font-family:'Cormorant Garamond',serif}
.hero-stats span{font-size:.74rem;color:var(--muted)}
@media(max-width:700px){.hero-stats{grid-template-columns:repeat(2,1fr)}}
.pillars{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.2rem}
.pillars span{border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem;font-size:.78rem;color:var(--muted);background:var(--card)}
.grp-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:1rem 0 .4rem;font-weight:700}
.role-card{background:var(--card);border:1px solid var(--line);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:transform .15s,border-color .15s}
.role-card:hover{transform:translateY(-3px);border-color:var(--gold)}
.role-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px rgba(212,175,55,.4),0 10px 40px rgba(212,175,55,.12)}
.role-card .icon{font-size:1.7rem;line-height:1}.role-card .title{font-weight:700}.role-card .tier{font-size:.72rem;color:var(--gold)}
.role-card p{font-size:.8rem;color:var(--muted);margin:0;flex:1}
.btn-enter,.btn-gold{background:linear-gradient(180deg,#e2c25a,#c49b2c);color:#1a0f2d!important;font-weight:700;border:0}
.btn-enter:hover,.btn-gold:hover{filter:brightness(1.08)}
.btn-outline-gold{border:1px solid rgba(212,175,55,.55);color:var(--gold2)}.btn-outline-gold:hover{background:rgba(212,175,55,.15);color:#fff}
.landing-foot{font-size:.78rem;color:var(--muted);margin-top:2rem}
/* shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:linear-gradient(180deg,var(--side1),var(--side2));border-right:1px solid var(--line);overflow-y:auto;z-index:1040;display:flex;flex-direction:column}
.brand{display:flex;gap:.7rem;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}
.brand-title{font-weight:700;color:var(--gold);font-size:1.35rem;line-height:1}
.brand-sub{font-size:.7rem;color:var(--muted)}
.nav-grp{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--navgrp);padding:.9rem 1rem .3rem}
.nav-item-cc{display:flex;gap:.55rem;align-items:center;padding:.42rem 1rem;color:var(--text);text-decoration:none;font-size:.85rem;border-left:3px solid transparent}
.nav-item-cc:hover{background:var(--tint);color:#fff}
.nav-item-cc.active{background:rgba(212,175,55,.13);border-left-color:var(--gold);color:#fff;font-weight:600}
.nav-item-cc .ic{width:1.3rem;text-align:center}
.nav-item-cc .pill{margin-left:auto;background:#c0392b;color:#fff;border-radius:999px;font-size:.66rem;padding:0 .45rem}
.nav-item-cc .pill-warn{background:#b7791f}
.side-foot{margin-top:auto;font-size:.64rem;color:var(--navgrp);padding:1rem;border-top:1px solid var(--line)}
.main{margin-left:272px;min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:1030;background:var(--top);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);display:flex;gap:.5rem;align-items:center;padding:.55rem 1.2rem;flex-wrap:wrap}
.role-chip{font-size:.82rem;font-weight:600;color:var(--text);margin-right:auto}
.role-chip .org{background:rgba(212,175,55,.2);color:var(--gold2);border-radius:999px;padding:.05rem .5rem;font-size:.66rem;margin-left:.3rem}
.search-wrap{position:relative;width:min(340px,100%)}
.search-results{position:absolute;top:110%;left:0;right:0;background:var(--card2);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.5);max-height:60vh;overflow:auto;display:none;z-index:1050}
.search-results a{display:block;padding:.45rem .7rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--line2);font-size:.82rem}
.search-results a:hover,.search-results a.sel{background:rgba(212,175,55,.12)}
.search-results small{display:block;color:var(--muted);font-size:.72rem}
.status-strip{background:rgba(212,175,55,.09);border-bottom:1px solid var(--line);color:var(--gold2);font-size:.76rem;padding:.3rem 1.2rem}
.content{padding:1.3rem 1.4rem;flex:1;max-width:1420px;width:100%}
.foot{padding:1rem 1.4rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);background:var(--bg2)}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.main{margin-left:0}}
/* alerts banner */
.alert-top{background:linear-gradient(90deg,#3a1420,var(--card2));color:#fff;padding:.5rem 1.2rem;border-bottom:1px solid rgba(255,125,107,.35);font-size:.82rem}
.at-head{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.25rem}.at-link{margin-left:auto;color:var(--gold2)}
.at-row{display:flex;gap:.6rem;align-items:center;padding:.18rem 0;flex-wrap:wrap}
.at-sev{font-size:.62rem;font-weight:800;border-radius:.3rem;padding:.08rem .4rem;min-width:70px;text-align:center}
.sev-critical .at-sev{background:#c0392b}.sev-high .at-sev{background:#d35400}.sev-medium .at-sev{background:#9a7a1a}.sev-info .at-sev{background:#2c6aa0}
.at-msg{flex:1;min-width:240px}.at-more a{color:var(--gold2);font-size:.76rem}
/* components */
.page-head h1{font-weight:700;color:var(--gold2)}
.lead-sm{color:var(--muted);font-size:.92rem;max-width:960px}
.tor-ref{font-size:.74rem;color:var(--lav);font-weight:600}
.cc-card{background:var(--card);border:1px solid var(--line);border-radius:.9rem;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.cc-card .card-header{background:var(--card2);border-bottom:1px solid var(--line);font-size:.92rem;color:var(--gold2)}
.cc-table{font-size:.83rem;--bs-table-bg:transparent;--bs-table-striped-bg:var(--tint)}
.cc-table thead th{background:rgba(212,175,55,.12);color:var(--gold2);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.cc-table td{border-color:var(--line2)}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:.9rem 1rem;height:100%}
.kpi .v{font-size:1.7rem;font-weight:700;color:var(--gold);line-height:1.1;font-family:'Cormorant Garamond',serif}
.kpi .l{font-size:.76rem;color:var(--muted)}
.kpi.accent{border-left:4px solid var(--gold)}.kpi.lav{border-left:4px solid var(--lav)}.kpi.ok{border-left:4px solid var(--ok)}.kpi.red{border-left:4px solid var(--bad)}
a .kpi:hover{border-color:var(--gold)}
.bar{height:.55rem;background:var(--track);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--lav),var(--gold))}
.bar span.ok{background:var(--ok)}.bar span.warn{background:var(--warn)}.bar span.bad{background:var(--bad)}
.rag{display:inline-block;width:.7rem;height:.7rem;border-radius:.2rem;vertical-align:middle}
.chart svg{width:100%;height:auto}
.src-pill{display:inline-block;font-size:.68rem;font-weight:700;border:1px solid var(--lav);color:var(--lav);border-radius:999px;padding:.02rem .45rem;text-decoration:none;margin:.1rem 0;white-space:nowrap}
.src-pill:hover{background:var(--tint);color:#fff}
.dp-link{font-weight:800;color:var(--gold2);text-decoration:none;border-bottom:1px dotted var(--gold)}.dp-link:hover{color:#fff}
.dbadge{font-size:.6rem;letter-spacing:.04em}
.text-bg-dark{background:var(--track)!important;color:var(--text)!important}
sup.fn a{color:var(--lav);text-decoration:none;font-weight:700;font-size:.72em;padding:0 .1rem}
.footnotes li{margin-bottom:.25rem;color:var(--muted)}
.mm-row{border-bottom:1px solid var(--line2);padding:.55rem 0}.mm-row:last-child{border:0}
.mm-id{font-weight:800;color:var(--gold);min-width:52px;font-size:.82rem}.mm-req{font-weight:600}.mm-feat{font-size:.8rem;color:var(--muted)}
.mm-row.beyond .mm-id{color:var(--lav)}
.box-ok{background:rgba(95,211,141,.08);border:1px solid rgba(95,211,141,.35);border-radius:.6rem;padding:.6rem .9rem}
.box-gap{background:rgba(255,125,107,.08);border:1px solid rgba(255,125,107,.35);border-radius:.6rem;padding:.6rem .9rem}
.box-note{background:rgba(242,184,75,.09);border:1px solid rgba(242,184,75,.4);border-radius:.6rem;padding:.6rem .9rem}
.box-ok h6{color:var(--ok)}.box-gap h6{color:var(--bad)}.box-note h6{color:var(--warn)}
.node-sample{background:var(--tint);border:1px dashed var(--lav);border-radius:.5rem;padding:.5rem .7rem;font-size:.85rem}
.redacted{background:repeating-linear-gradient(45deg,var(--card2),var(--card2) 10px,var(--card) 10px,var(--card) 20px);border:1px solid var(--line);border-radius:.6rem;padding:1rem;text-align:center;color:var(--muted)}
.crumbs{font-size:.82rem}
.doc h2{color:var(--gold2);font-size:1.7rem;margin-top:1.6rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}
.doc h3{color:var(--gold);font-size:1.2rem;margin-top:1.1rem;font-family:'Manrope',sans-serif;font-weight:700}
.doc h4{color:var(--lav);font-size:1rem;margin-top:.9rem}
.doc p{line-height:1.65;text-align:justify}
.sec-tools{background:var(--card2);border:1px solid var(--line);border-radius:.6rem;padding:.4rem .7rem;font-size:.8rem}
.heat td.s-ok{background:rgba(95,211,141,.14)}.heat td.s-gap{background:rgba(255,125,107,.12)}.heat td.s-mix{background:rgba(242,184,75,.12)}
.gantt{position:relative}.g-row{display:flex;align-items:center;border-bottom:1px solid var(--line2);min-height:30px}
.g-lab{width:38%;font-size:.78rem;padding-right:.5rem}.g-track{position:relative;flex:1;height:30px}
.g-bar{position:absolute;top:8px;height:14px;border-radius:4px}.g-now{position:absolute;top:0;bottom:0;width:2px;background:#ff7d6b}
.g-scale{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-left:38%}
.cmt{border-bottom:1px solid var(--line2);padding:.4rem 0;font-size:.86rem}
.nav-tabs{--bs-nav-tabs-link-active-bg:var(--card);--bs-nav-tabs-link-active-color:var(--gold2);--bs-nav-tabs-border-color:var(--line);--bs-nav-tabs-link-active-border-color:var(--line) var(--line) var(--card)}
.nav-tabs .nav-link{color:var(--muted)}.nav-tabs .nav-link:hover{color:#fff}
.form-control,.form-select{background-color:var(--input);border-color:var(--line2);color:var(--text)}
.form-control:focus,.form-select:focus{background-color:var(--card2);color:#fff;border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(212,175,55,.2)}
details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}
details>summary::before{content:'▸ ';color:var(--gold)}details[open]>summary::before{content:'▾ '}
.flash-target{outline:2px solid var(--gold);outline-offset:3px;border-radius:.4rem;animation:fl 2s ease}
@keyframes fl{0%{background:rgba(212,175,55,.25)}100%{background:transparent}}
.tree .sm{border-left:2px solid var(--line);padding-left:.7rem}
.grp-label-dark{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700}
.welcome-hero{background:linear-gradient(135deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:1rem;padding:1.4rem}
/* slides (embedded preview) */
.slide-thumb{aspect-ratio:16/9;background:var(--card);border:1px solid var(--line);border-radius:.6rem;padding:.8rem;overflow:hidden;font-size:.6rem}
.print-header{display:none}
@media print{
  html,body{background:#fff!important;color:#000!important}
  .sidebar,.topbar,.no-print,.alert-top,.status-strip,.foot{display:none!important}
  .main{margin:0}.content{padding:0;max-width:none}
  .print-header{display:flex;justify-content:space-between;border-bottom:2px solid #4b2a7b;margin-bottom:10px;font-size:9pt}
  .cc-card,.kpi{background:#fff!important;border:1px solid #ccc!important;box-shadow:none;break-inside:avoid}
  .cc-card .card-header{background:#f4effa!important;color:#4b2a7b!important}
  *{color:#111!important}.doc h2,.doc h3,.page-head h1{color:#4b2a7b!important}
  @page{size:A4;margin:14mm}
}
@media(max-width:991px){.alert-top .at-row~.at-row{display:none}.alert-top .at-msg{min-width:0}.topbar .search-wrap{order:9;width:100%}}

.theme-sel{width:auto;padding:.15rem 1.6rem .15rem .5rem;font-size:.78rem}

.mt-banner{background:rgba(142,162,232,.12);border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem;padding:.35rem 1.2rem}
body.landing .mt-banner{border:1px solid var(--line);border-radius:.6rem;margin-bottom:1rem}
.lang-toggle .btn{white-space:nowrap}
