/* PSA Command Centre — deep ocean navy + Tongan red accent + gold, print-ready A4 */
:root{
  --ink:#0f1b2d; --navy:#0b2545; --navy-2:#13315c; --sea:#1d5d8f; --red:#b3202a; --gold:#c9a227;
  --paper:#f5f7fb; --card:#ffffff; --line:#dde3ec; --muted:#5b6b80; --ok:#1f7a4d; --warn:#b7791f; --bad:#b3202a;
}
html,body{background:var(--paper);color:var(--ink);font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:var(--sea)}
/* ---------- landing */
body.landing{background:linear-gradient(160deg,#071a33 0%,#0b2545 55%,#5a1016 140%);min-height:100vh;color:#fff}
.landing .kick{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.landing .hero h1{font-weight:800;letter-spacing:-.5px;font-size:clamp(1.5rem,3.4vw,2.4rem);margin-top:.5rem}
.landing .accent{color:var(--gold);font-weight:600;font-size:1.05rem;max-width:820px;margin:.6rem auto}
.landing .sub{color:rgba(255,255,255,.78);max-width:760px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:900px;margin:1.6rem auto 0}
.hero-stats div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:.8rem;padding:.8rem}
.hero-stats b{display:block;font-size:1.7rem;color:var(--gold)}
.hero-stats span{font-size:.75rem;color:rgba(255,255,255,.8)}
@media(max-width:700px){.hero-stats{grid-template-columns:repeat(2,1fr)}}
.grp-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:1rem 0 .4rem;font-weight:700}
.role-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:transform .15s,background .15s}
.role-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.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:rgba(255,255,255,.78);margin:0;flex:1}
.btn-enter{background:var(--gold);color:#0b2545;font-weight:700;border:0}
.btn-enter:hover{filter:brightness(1.08);color:#0b2545}
.landing-foot{font-size:.78rem;color:rgba(255,255,255,.7);margin-top:2rem}
.landing-foot a{color:var(--gold)}
/* ---------- shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--navy),#081a31);color:#dbe5f3;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 rgba(255,255,255,.08)}
.brand-mark{background:var(--red);color:#fff;font-weight:800;border-radius:.5rem;padding:.35rem .5rem;font-size:.85rem;letter-spacing:.05em}
.brand-title{font-weight:700;color:#fff;font-size:.95rem}
.brand-sub{font-size:.7rem;color:var(--gold)}
.nav-grp{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:#8fa6c4;padding:.9rem 1rem .3rem}
.nav-item-cc{display:flex;gap:.55rem;align-items:center;padding:.42rem 1rem;color:#dbe5f3;text-decoration:none;font-size:.84rem;border-left:3px solid transparent}
.nav-item-cc:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item-cc.active{background:rgba(201,162,39,.14);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:var(--red);color:#fff;border-radius:999px;font-size:.66rem;padding:0 .45rem}
.side-foot{margin-top:auto;font-size:.66rem;color:#8fa6c4;padding:1rem;border-top:1px solid rgba(255,255,255,.08)}
.main{margin-left:270px;min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:.6rem;align-items:center;padding:.55rem 1.2rem;flex-wrap:wrap}
.role-chip{font-size:.82rem;font-weight:600;color:var(--navy);margin-right:auto}
.role-chip .org{background:var(--navy);color:#fff;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:#fff;border:1px solid var(--line);border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.12);max-height:60vh;overflow:auto;display:none;z-index:1050}
.search-results a{display:block;padding:.45rem .7rem;text-decoration:none;color:var(--ink);border-bottom:1px solid #f0f2f6;font-size:.82rem}
.search-results a:hover,.search-results a.sel{background:#eef4fb}
.search-results small{display:block;color:var(--muted);font-size:.72rem}
.status-strip{background:#fff7e0;border-bottom:1px solid #f1e2b0;color:#6b5310;font-size:.76rem;padding:.3rem 1.2rem}
.content{padding:1.3rem 1.4rem;flex:1;max-width:1400px;width:100%}
.foot{padding:1rem 1.4rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);background:#fff}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.main{margin-left:0}}
/* ---------- components */
.page-head h1{font-weight:800;color:var(--navy)}
.lead-sm{color:var(--muted);font-size:.92rem;max-width:900px}
.tor-ref{font-size:.74rem;color:var(--red);font-weight:600}
.cc-card{border:1px solid var(--line);border-radius:.8rem;box-shadow:0 1px 2px rgba(15,27,45,.04)}
.cc-card .card-header{background:#fbfcfe;border-bottom:1px solid var(--line);font-size:.9rem}
.cc-table{font-size:.83rem}
.cc-table thead th{background:#f2f5fa;color:var(--navy);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.kpi{background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:.9rem 1rem;height:100%}
.kpi .v{font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1.1}
.kpi .l{font-size:.75rem;color:var(--muted)}
.kpi.accent{border-left:4px solid var(--gold)}
.kpi.red{border-left:4px solid var(--red)}
.kpi.ok{border-left:4px solid var(--ok)}
.bar{height:.55rem;background:#e7ecf3;border-radius:999px;overflow:hidden}
.bar>span{display:block;height:100%;background:var(--sea)}
.bar>span.in{background:var(--navy)} .bar>span.re{background:var(--gold)}
.rag{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;vertical-align:middle}
.rag.R{background:var(--bad)} .rag.A{background:#e0a100} .rag.G{background:var(--ok)}
.doc{background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:1.6rem 2rem;max-width:960px}
.doc h2{font-size:1.05rem;color:var(--navy);margin-top:1.2rem;font-weight:700}
.doc p,.doc li{font-size:.9rem;line-height:1.6}
.doc-meta{display:grid;grid-template-columns:repeat(4,auto);gap:.3rem 1.2rem;font-size:.76rem;color:var(--muted);border-bottom:2px solid var(--navy);padding-bottom:.6rem;margin-bottom:.8rem}
.doc-meta b{color:var(--ink)}
.clearance{display:flex;gap:.3rem;flex-wrap:wrap}
.clearance .st{font-size:.7rem;padding:.2rem .5rem;border-radius:.3rem;background:#e7ecf3;color:var(--muted)}
.clearance .st.done{background:#d9f0e3;color:var(--ok)} .clearance .st.cur{background:#fff1cc;color:#7a5a00;font-weight:700}
.gantt{font-size:.74rem}
.gantt td.cell{padding:0;width:5.5%;border-left:1px solid #eef1f6}
.gantt .gb{height:.9rem;margin:.25rem 0;background:var(--sea);border-radius:2px}
.gantt .gb.ms{background:var(--red)}
.gantt .ws-i{background:#1d5d8f}.gantt .ws-ii{background:#2e7d6b}.gantt .ws-iii{background:#6a3d9a}.gantt .ws-iv{background:#a0522d}
.gantt .ws-v{background:#2b6cb0}.gantt .ws-vi{background:#0f766e}.gantt .ws-vii{background:#b7791f}.gantt .ws-viii{background:#9b2c2c}.gantt .ws-rep{background:#4a5568}
.mm-row{border-bottom:1px solid #eef1f6;padding:.55rem 0}
.mm-row:last-child{border-bottom:0}
.mm-id{font-weight:800;color:var(--red);font-size:.8rem;min-width:3rem}
.mm-req{font-size:.85rem}
.mm-feat{font-size:.8rem;color:var(--muted)}
.heat td{text-align:center;font-weight:700;width:3rem;height:2.2rem}
.comment{border-left:3px solid var(--gold);padding:.3rem .6rem;margin-bottom:.5rem;background:#fffcf2;font-size:.85rem}
.chip{display:inline-block;font-size:.7rem;padding:.1rem .45rem;border-radius:.3rem;background:#eef2f8;color:var(--navy);margin:.1rem}
.redacted{background:repeating-linear-gradient(45deg,#f1f3f7,#f1f3f7 8px,#e6e9ef 8px,#e6e9ef 16px);border:1px dashed #b9c2cf;border-radius:.5rem;padding:1rem;color:var(--muted);font-size:.85rem}
.chart svg{width:100%;height:auto}
.small-note{font-size:.75rem;color:var(--muted)}
.print-header{display:none}
/* ---------- print (A4) */
@page{size:A4;margin:16mm 14mm}
@media print{
  .no-print,.sidebar,.topbar,.status-strip,.nav-tabs,form{display:none!important}
  .main{margin:0}
  body{background:#fff}
  .content{padding:0;max-width:none}
  .print-header{display:flex;justify-content:space-between;border-bottom:2px solid #0b2545;padding-bottom:6px;margin-bottom:10px;font-size:9pt}
  .cc-card,.doc,.kpi{box-shadow:none;break-inside:avoid;border-color:#bbb}
  .doc{border:0;padding:0}
  a{color:inherit;text-decoration:none}
  .foot{font-size:8pt}
  .badge{border:1px solid #999;color:#000!important;background:#fff!important}
}

/* ---------- EPAST additions */
.landing .pillars{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.2rem}
.landing .pillars span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.25rem .8rem;font-size:.78rem}
.role-card.featured{background:rgba(201,162,39,.16);border-color:var(--gold)}
.alert-top{background:linear-gradient(90deg,#5a0f16,#7a1520);color:#fff;border-bottom:3px solid var(--gold);padding:.5rem 1.2rem;position:relative}
.alert-top .at-head{font-size:.8rem;margin-bottom:.3rem}
.alert-top .at-link{color:var(--gold);margin-left:.8rem;font-weight:700;text-decoration:none}
.at-row{display:flex;gap:.6rem;align-items:center;padding:.22rem .5rem;border-radius:.35rem;margin-bottom:.2rem;background:rgba(0,0,0,.18);font-size:.82rem}
.at-row .at-sev{font-size:.66rem;font-weight:800;letter-spacing:.06em;border-radius:.25rem;padding:.05rem .4rem;background:#fff;color:#7a1520;white-space:nowrap}
.at-row.sev-critical .at-sev{background:#fff;color:#b3202a}.at-row.sev-high .at-sev{background:#ffd27a;color:#6b4300}.at-row.sev-medium .at-sev{background:#cfe3ff;color:#0b2545}
.at-row .at-msg{flex:1}
.at-more a{color:var(--gold);font-size:.78rem}
.sidebar .nav-item-cc .pill-warn{background:#b7791f}
.mm-row.beyond .mm-id{color:var(--gold)}
.grp-label-dark{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:700;margin:.8rem 0 .3rem}
.chip.src{text-decoration:none;border:1px solid #cdd8e8}
.chip.src:hover{background:#dbe8f8}
.crumbs{font-size:.8rem;color:var(--muted)}
.node-card{border-left:4px solid var(--sea)}
.node-card .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.node-sample{background:#fffcf2;border:1px dashed #d9c27a;border-radius:.5rem;padding:.5rem .7rem;font-size:.85rem}
.tree a{text-decoration:none}
.tree .sm{border-left:2px solid #dde3ec;margin-left:.6rem;padding-left:.8rem}
.qa-q{font-weight:700;color:var(--navy)}
.qa-a{background:#f8fbff;border:1px solid #dbe6f5;border-radius:.6rem;padding:.8rem 1rem}
.qa-a h6{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin:.6rem 0 .2rem}
.sev-high{border-left:4px solid var(--bad)}.sev-medium{border-left:4px solid #e0a100}.sev-low{border-left:4px solid var(--ok)}
.sev-critical{border-left:4px solid #6b0f16}
.gantt-wrap td.wk{width:8%;text-align:center;font-size:.7rem}
.gbar{height:.9rem;background:var(--sea);border-radius:3px}
.today-line{background:rgba(179,32,42,.12)}
.sw{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;vertical-align:middle}
.report-doc h2{font-size:1.1rem}
.report-doc table{font-size:.82rem}
.lang-sample{border:1px solid var(--line);border-radius:.6rem;padding:.6rem .8rem;background:#fff}
.lang-sample .unv{font-size:.66rem;background:#fff1cc;color:#7a5a00;border-radius:.3rem;padding:.05rem .4rem;font-weight:700}
.step-pill{display:inline-block;background:#eef2f8;border-radius:999px;padding:.1rem .6rem;font-size:.74rem;margin:.1rem}
.gate-ok{background:#d9f0e3}.gate-bad{background:#f8d7d9}
.timeline-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--sea);display:inline-block}
.no-wrap{white-space:nowrap}
@media print{.alert-top{display:none!important}}
@media(max-width:700px){
  .alert-top{padding:.4rem .7rem}
  .at-row{flex-wrap:wrap;gap:.3rem}
  .at-row .at-msg{flex:1 1 100%;order:3;font-size:.76rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .alert-top .at-row:nth-of-type(n+3){display:none}
  .content{padding:1rem .8rem}
  .doc{padding:1rem}
  .doc-meta{grid-template-columns:repeat(2,auto)}
}

/* ===== Dark-red Tonga AI theme (matches /ceomof/ and sharelink) ===== */
:root{--navy:#4a1420;--navy-2:#6b1a28;--sea:#8a1f2d;--red:#b3202a;--gold:#c9a227;--paper:#f7f3f2;--line:#ead9da;--muted:#6d5b5f;--ink:#2a0b11}
a{color:#8a1f2d}
body.landing{background:linear-gradient(160deg,#33111a 0%,#5a1724 55%,#8a1f2d 130%)}
.landing .hero-logo{width:150px;height:150px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55));margin-bottom:.4rem}
.sidebar{background:linear-gradient(180deg,#33111a 0%,#24090f 100%);color:#f3e3e6}
.brand{border-bottom:1px solid rgba(201,162,39,.25)}
.brand-logo{width:46px;height:46px;flex:0 0 46px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.nav-grp{color:#d7a8b1}
.nav-item-cc{color:#f3e3e6}
.nav-item-cc:hover{background:rgba(201,162,39,.10);color:#fff}
.nav-item-cc.active{background:rgba(201,162,39,.18);border-left-color:var(--gold)}
.side-foot{color:#d7a8b1;border-top:1px solid rgba(201,162,39,.2)}
.topbar{border-bottom:2px solid #8a1f2d}
.role-chip .org{background:#8a1f2d}
.status-strip{background:#fbf3e3;border-bottom:1px solid #ecd9a9}
.page-head h1{color:#4a1420}
.cc-card .card-header{background:#fbf5f4}
.cc-table thead th{background:#f6eceb;color:#4a1420}
.kpi .v{color:#4a1420}
.alert-top{background:linear-gradient(90deg,#24090f,#5a0f16 60%,#7a1520);border-bottom:3px solid var(--gold)}
.btn-primary{background:#8a1f2d;border-color:#8a1f2d}.btn-primary:hover,.btn-primary:focus{background:#6b1a28;border-color:#6b1a28}
.btn-outline-primary{color:#8a1f2d;border-color:#8a1f2d}.btn-outline-primary:hover{background:#8a1f2d;border-color:#8a1f2d;color:#fff}
.nav-tabs .nav-link.active{color:#8a1f2d;border-top:3px solid var(--gold)}
.nav-tabs .nav-link{color:#6b1a28}
.bar>span{background:#8a1f2d}.bar>span.in{background:#4a1420}
.chip{background:#f6eceb;color:#4a1420}
.chip.src{border-color:#e2c7c9}.chip.src:hover{background:#efdcdd}
.mm-id{color:#8a1f2d}
.doc-meta{border-bottom-color:#8a1f2d}
.back-btn{white-space:nowrap}
.flash-target{animation:flashrow 2.4s ease-out}
@keyframes flashrow{0%{background:#fff1cc}100%{background:transparent}}
@media print{.print-header{border-bottom-color:#8a1f2d}}
