/* ============================================================
   Plutonia Procurement Command System (PCS)
   Shared visual language. Namespaced .pcs-* to avoid collisions
   with each page's existing inline CSS. CSS/SVG/CSS-3D only.
   ============================================================ */
.pcs{
  --pcs-navy:#0b1929; --pcs-navy2:#0f2442; --pcs-graphite:#1b2735;
  --pcs-blue:#2f76d6; --pcs-cyan:#4ec9e0; --pcs-emerald:#10b981;
  --pcs-amber:#f5a623; --pcs-red:#e5484d; --pcs-line:rgba(120,160,200,.18);
  --pcs-ink:#0b1929; --pcs-muted:#5f7081; --pcs-card:#ffffff;
}
.pcs *{box-sizing:border-box;}
/* ---- Scroll reveal (motion-safe; JS adds .pcs-in) ---- */
.pcs-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.pcs-reveal.pcs-in{opacity:1;transform:none;}
.pcs-reveal.d1{transition-delay:.08s;}.pcs-reveal.d2{transition-delay:.16s;}
.pcs-reveal.d3{transition-delay:.24s;}.pcs-reveal.d4{transition-delay:.32s;}
.pcs-reveal.d5{transition-delay:.40s;}.pcs-reveal.d6{transition-delay:.48s;}

/* ---- Section scaffolding ---- */
.pcs-sec{padding:84px 0;position:relative;overflow:hidden;}
.pcs-dark{background:linear-gradient(180deg,#0b1929,#0d2036);color:#e8eef6;}
.pcs-dark .pcs-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(78,201,224,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(78,201,224,.05) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 100%);}
.pcs-wrap{max-width:1240px;margin:0 auto;padding:0 32px;position:relative;z-index:2;}
.pcs-kick{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--pcs-cyan);margin-bottom:14px;}
.pcs-kick::before{content:"";width:22px;height:1.5px;background:var(--pcs-cyan);display:inline-block;}
.pcs-dark .pcs-kick{color:var(--pcs-cyan);}
.pcs-h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(26px,3.3vw,42px);line-height:1.12;margin:0 0 14px;color:var(--pcs-ink);}
.pcs-dark .pcs-h2{color:#fff;}
.pcs-lead{font-size:16.5px;line-height:1.75;color:var(--pcs-muted);max-width:760px;}
.pcs-dark .pcs-lead{color:rgba(232,238,246,.72);}
.pcs-center{text-align:center;} .pcs-center .pcs-kick{justify-content:center;} .pcs-center .pcs-lead{margin-left:auto;margin-right:auto;}

/* ---- Command dashboard (hero / ProcurementDashboardVisual) ---- */
.pcs-dash{position:relative;border-radius:16px;border:1px solid rgba(120,170,210,.22);
  background:linear-gradient(160deg,rgba(18,38,64,.92),rgba(11,25,41,.96));
  box-shadow:0 30px 80px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.05);
  padding:18px;overflow:hidden;transform:perspective(1600px) rotateX(4deg) rotateY(-5deg);
  transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.pcs-dash:hover{transform:perspective(1600px) rotateX(2deg) rotateY(-2deg);}
.pcs-dash-bar{display:flex;align-items:center;gap:8px;padding:0 4px 14px;border-bottom:1px solid rgba(120,170,210,.16);margin-bottom:14px;}
.pcs-dash-dot{width:9px;height:9px;border-radius:50%;background:var(--pcs-emerald);box-shadow:0 0 0 0 rgba(16,185,129,.5);animation:pcsPulse 2.4s infinite;}
.pcs-dash-title{font-size:12px;font-weight:700;letter-spacing:.06em;color:#cfe0f2;text-transform:uppercase;}
.pcs-dash-live{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--pcs-cyan);border:1px solid rgba(78,201,224,.3);border-radius:100px;padding:3px 10px;}
.pcs-dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.pcs-tile{position:relative;border-radius:11px;border:1px solid rgba(120,170,210,.16);background:rgba(13,30,52,.7);padding:13px 14px;overflow:hidden;}
.pcs-tile .l{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(190,210,235,.6);margin-bottom:7px;display:flex;align-items:center;gap:6px;}
.pcs-tile .v{font-size:13.5px;font-weight:700;color:#eaf2fb;line-height:1.35;}
.pcs-tile .meter{height:5px;border-radius:4px;background:rgba(255,255,255,.08);margin-top:10px;overflow:hidden;}
.pcs-tile .meter span{display:block;height:100%;border-radius:4px;width:0;transition:width 1.2s cubic-bezier(.22,.61,.36,1);}
.pcs-in .pcs-tile .meter span{width:var(--w,70%);}
.pcs-s-emerald{color:var(--pcs-emerald);} .pcs-s-cyan{color:var(--pcs-cyan);} .pcs-s-amber{color:var(--pcs-amber);} .pcs-s-blue{color:#7db4ff;}
.pcs-bg-emerald{background:linear-gradient(90deg,#0e8f6e,#10b981);} .pcs-bg-cyan{background:linear-gradient(90deg,#1f8fb0,#4ec9e0);}
.pcs-bg-amber{background:linear-gradient(90deg,#c87f12,#f5a623);} .pcs-bg-blue{background:linear-gradient(90deg,#2f76d6,#7db4ff);}
.pcs-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:100px;padding:2px 8px;}
.pcs-chip-ok{color:#063;background:rgba(16,185,129,.16);color:#34d399;}
.pcs-chip-go{color:var(--pcs-cyan);background:rgba(78,201,224,.14);}
.pcs-pulse{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pcsPulse 2s infinite;}

/* ---- Workflow rail (Before money moves) ---- */
.pcs-rail{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:0;margin-top:42px;}
.pcs-rail-line{position:absolute;top:30px;left:6%;right:6%;height:2px;background:rgba(120,170,210,.2);overflow:hidden;}
.pcs-rail-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--pcs-cyan),var(--pcs-emerald));transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.22,.61,.36,1);}
.pcs-in .pcs-rail-line::after{transform:scaleX(1);}
.pcs-node{position:relative;text-align:center;padding:0 8px;}
.pcs-node .dot{width:60px;height:60px;margin:0 auto 14px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;
  background:linear-gradient(160deg,#12283f,#0b1c30);border:1px solid rgba(120,170,210,.25);color:#cfe6f3;position:relative;z-index:2;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.7);}
.pcs-node .stg{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--pcs-cyan);text-transform:uppercase;margin-bottom:4px;}
.pcs-node .nm{font-size:13.5px;font-weight:700;color:#eaf2fb;margin-bottom:5px;}
.pcs-node .ds{font-size:11.5px;line-height:1.5;color:rgba(200,216,235,.62);}
@media(max-width:880px){
  .pcs-rail{grid-template-columns:1fr;gap:6px;}
  .pcs-rail-line{top:0;bottom:0;left:30px;right:auto;width:2px;height:auto;}
  .pcs-rail-line::after{transform:scaleY(0);transform-origin:top;}
  .pcs-in .pcs-rail-line::after{transform:scaleY(1);}
  .pcs-node{display:grid;grid-template-columns:60px 1fr;gap:14px;text-align:left;align-items:start;padding:10px 0;}
  .pcs-node .dot{margin:0;}
}

/* ---- Risk -> Control panel ---- */
.pcs-risk-grid{display:grid;grid-template-columns:1.1fr auto 1.1fr;gap:0;align-items:stretch;margin-top:34px;}
.pcs-risk-col{display:flex;flex-direction:column;gap:10px;}
.pcs-risk-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 14px;color:var(--pcs-cyan);}
.pcs-risk-arrow{font-size:22px;opacity:.8;}
.pcs-risk-item{border-radius:11px;padding:13px 15px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:10px;border:1px solid;}
.pcs-risk-bad{background:rgba(229,72,77,.06);border-color:rgba(229,72,77,.28);color:#b42318;}
.pcs-risk-bad .ic{color:var(--pcs-red);}
.pcs-risk-good{background:rgba(16,143,110,.06);border-color:rgba(16,143,110,.3);color:#0e5e49;}
.pcs-risk-good .ic{color:var(--pcs-emerald);}
.pcs-dark .pcs-risk-bad{color:#ffb4b4;background:rgba(229,72,77,.1);} .pcs-dark .pcs-risk-good{color:#a7f3d0;background:rgba(16,185,129,.1);}
@media(max-width:760px){.pcs-risk-grid{grid-template-columns:1fr;gap:8px;}.pcs-risk-mid{flex-direction:row;padding:6px 0;}.pcs-risk-arrow{transform:rotate(90deg);}}

/* ---- OS module cards ---- */
.pcs-mod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:38px;}
.pcs-mod{position:relative;border-radius:15px;background:linear-gradient(165deg,rgba(18,38,64,.96),rgba(11,25,41,.98));border:1px solid rgba(120,170,210,.2);padding:22px;overflow:hidden;transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;}
.pcs-mod:hover{transform:translateY(-6px);border-color:rgba(78,201,224,.45);box-shadow:0 26px 60px -28px rgba(0,0,0,.75);}
.pcs-mod-no{position:absolute;top:14px;right:16px;font-family:Georgia,serif;font-size:40px;font-weight:700;color:rgba(120,170,210,.12);}
.pcs-mod-ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:rgba(78,201,224,.1);border:1px solid rgba(78,201,224,.25);color:var(--pcs-cyan);margin-bottom:14px;}
.pcs-mod h3{font-size:18px;font-weight:700;color:#fff;margin:0 0 4px;}
.pcs-mod .stg{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pcs-cyan);margin-bottom:12px;display:block;}
.pcs-mod .row{display:flex;gap:8px;font-size:12.5px;line-height:1.55;color:rgba(206,222,240,.78);padding:7px 0;border-top:1px solid rgba(120,170,210,.12);}
.pcs-mod .row .lab{flex:0 0 84px;font-weight:700;color:#8fb6dd;font-size:11px;letter-spacing:.04em;text-transform:uppercase;}
.pcs-mod .out{margin-top:12px;font-size:12px;font-weight:700;color:var(--pcs-emerald);display:flex;align-items:center;gap:7px;}

/* ---- Buyer-output preview (document) ---- */
.pcs-out-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:38px;}
.pcs-doc{position:relative;border-radius:13px;background:#fff;border:1px solid #e4ebf3;box-shadow:0 18px 48px -24px rgba(11,25,41,.4);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;}
.pcs-doc:hover{transform:translateY(-6px) rotateX(0deg);box-shadow:0 30px 70px -28px rgba(11,25,41,.55);}
.pcs-doc-top{background:linear-gradient(120deg,#0f2442,#13315a);color:#fff;padding:15px 18px;display:flex;align-items:center;gap:10px;}
.pcs-doc-top .ico{width:32px;height:32px;border-radius:8px;background:rgba(78,201,224,.18);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--pcs-cyan);}
.pcs-doc-top .t{font-size:13.5px;font-weight:800;line-height:1.25;}
.pcs-doc-top .s{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(190,215,240,.7);margin-top:2px;}
.pcs-doc-body{padding:16px 18px 18px;}
.pcs-doc-line{height:8px;border-radius:4px;background:#eef2f7;margin-bottom:9px;}
.pcs-doc-line.w90{width:90%;}.pcs-doc-line.w70{width:70%;}.pcs-doc-line.w80{width:80%;}.pcs-doc-line.w55{width:55%;}
.pcs-doc-rows{margin-top:6px;}
.pcs-doc-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:7px 0;border-top:1px solid #eef2f7;}
.pcs-doc-row .k{color:#5f7081;} .pcs-doc-row .vchip{font-weight:700;font-size:11px;border-radius:100px;padding:2px 9px;}
.pcs-v-ok{background:rgba(16,143,110,.12);color:#0e8f6e;} .pcs-v-rev{background:rgba(78,201,224,.14);color:#1f7d97;} .pcs-v-att{background:rgba(245,166,35,.16);color:#b4790f;}
.pcs-doc-foot{margin-top:12px;font-size:10.5px;color:#8895a6;display:flex;align-items:center;gap:6px;}
.pcs-doc-foot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pcs-emerald);}
.pcs-doc-tag{position:absolute;top:13px;right:14px;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);}

/* ---- Trust / limitation strip ---- */
.pcs-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:30px;}
.pcs-trust-item{border-radius:11px;border:1px solid var(--pcs-line);background:rgba(255,255,255,.03);padding:14px 15px;font-size:13px;line-height:1.5;color:rgba(232,238,246,.82);}
.pcs-trust-item b{color:#fff;display:block;margin-bottom:3px;font-size:13.5px;}

/* ---- Risk radar (SVG) ---- */
.pcs-radar{max-width:360px;margin:0 auto;}
.pcs-radar svg{width:100%;height:auto;display:block;}
.pcs-radar .ring{fill:none;stroke:rgba(120,170,210,.22);}
.pcs-radar .axis{stroke:rgba(120,170,210,.18);}
.pcs-radar .area{fill:rgba(78,201,224,.16);stroke:var(--pcs-cyan);stroke-width:2;
  opacity:0;transition:opacity 1s ease .3s;transform-box:fill-box;transform-origin:center;}
.pcs-in .pcs-radar .area{opacity:1;}
.pcs-radar .lbl{fill:rgba(206,222,240,.85);font-size:11px;font-weight:600;}
.pcs-radar .sweep{transform-origin:center;animation:pcsSweep 6s linear infinite;}

/* ---- Global route map (SVG) ---- */
.pcs-route svg{width:100%;height:auto;display:block;}
.pcs-route .land{fill:rgba(120,170,210,.1);stroke:rgba(120,170,210,.2);stroke-width:.6;}
.pcs-route .arc{fill:none;stroke:url(#pcsArc);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);transition:stroke-dashoffset 1.8s cubic-bezier(.22,.61,.36,1);}
.pcs-in .pcs-route .arc{stroke-dashoffset:0;}
.pcs-route .orig{fill:var(--pcs-cyan);} .pcs-route .dest{fill:var(--pcs-emerald);}
.pcs-route .node{transform-origin:center;} .pcs-route .ping{fill:none;stroke:var(--pcs-cyan);opacity:.6;animation:pcsPing 3s ease-out infinite;}
.pcs-route .rlabel{fill:rgba(206,222,240,.78);font-size:10px;font-weight:700;letter-spacing:.04em;}

/* ---- Visual CTA ---- */
.pcs-cta{position:relative;border-radius:18px;overflow:hidden;padding:54px 40px;text-align:center;background:linear-gradient(135deg,#0e6ea6,#0f2442);}
.pcs-cta h2{font-family:Georgia,serif;color:#fff;font-size:clamp(24px,3vw,36px);margin:0 0 12px;}
.pcs-cta p{color:rgba(255,255,255,.78);font-size:16px;max-width:640px;margin:0 auto 26px;}
.pcs-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.pcs-btn{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;padding:14px 30px;border-radius:8px;transition:transform .25s ease,box-shadow .25s ease;}
.pcs-btn-w{background:#fff;color:#0b1929;} .pcs-btn-w:hover{transform:translateY(-2px);box-shadow:0 16px 36px -14px rgba(0,0,0,.4);}
.pcs-btn-o{border:1.5px solid rgba(255,255,255,.45);color:#fff;} .pcs-btn-o:hover{border-color:#fff;transform:translateY(-2px);}

@keyframes pcsPulse{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.45);}70%{box-shadow:0 0 0 7px rgba(16,185,129,0);}}
@keyframes pcsSweep{to{transform:rotate(360deg);}}
@keyframes pcsPing{0%{r:4;opacity:.6;}100%{r:20;opacity:0;}}

/* ---- Reduced motion: calm, fully visible, no transforms ---- */
@media (prefers-reduced-motion: reduce){
  .pcs *{animation:none!important;}
  .pcs-reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .pcs-dash{transform:none!important;}
  .pcs-rail-line::after{transform:scaleX(1)!important;}
  .pcs-tile .meter span{transition:none!important;width:var(--w,70%)!important;}
  .pcs-route .arc{stroke-dashoffset:0!important;transition:none!important;}
  .pcs-radar .area{opacity:1!important;transition:none!important;}
  .pcs-dash-dot,.pcs-pulse,.pcs-radar .sweep,.pcs-route .ping{animation:none!important;}
}
