/* Kansas City Advanced Imaging - Volume and Scenario Model
   PHB design system: navy #0d2b4e, teal #1d9e75, gold #ba7517
   Scoped to #kcaivm-root. Structural rules carry !important on purpose. */

html body { background: transparent !important; }

#kcaivm-root{
  --navy:#0d2b4e; --navy2:#14406f; --navy3:#1f4d78;
  --teal:#1d9e75; --teal2:#157a5a; --gold:#ba7517; --gold2:#8f5a12;
  --ink:#1b2733; --muted:#5a6b7c; --line:#dbe3ea; --line2:#c3d0dc;
  --bg:#ffffff; --bg2:#f4f7fa; --bg3:#eef3f8;
  --ok:#1d9e75; --warn:#ba7517; --bad:#b3382c;
  --sans:"Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  width:100% !important; max-width:100% !important; margin:0 auto !important;
  left:auto !important; right:auto !important; float:none !important;
  overflow-x:clip;
  background:#ffffff !important;
  color:var(--ink) !important;
  font-family:var(--sans) !important;
  font-size:16px; line-height:1.55;
  text-align:left !important;
  -webkit-font-smoothing:antialiased;
}
#kcaivm-root *,#kcaivm-root *::before,#kcaivm-root *::after{box-sizing:border-box;}
#kcaivm-root .vm-shell{max-width:1240px;margin:0 auto !important;padding:0 20px 56px;}

/* ---------- generic alignment armor (themes force center on generics) ---------- */
#kcaivm-root p,#kcaivm-root li,#kcaivm-root td,#kcaivm-root th,#kcaivm-root div,
#kcaivm-root h1,#kcaivm-root h2,#kcaivm-root h3,#kcaivm-root h4,#kcaivm-root h5,
#kcaivm-root span,#kcaivm-root label,#kcaivm-root button,#kcaivm-root caption,
#kcaivm-root section,#kcaivm-root ul,#kcaivm-root option{text-align:left !important;}
/* elements centred by design are restated AFTER the armor, with higher specificity */
#kcaivm-root table.vm-t th.num,#kcaivm-root table.vm-t td.num{text-align:right !important;}
#kcaivm-root .vm-scn button,#kcaivm-root .vm-filters button,
#kcaivm-root .vm-tab,#kcaivm-root .vm-btn{text-align:center !important;}
#kcaivm-root h1::before,#kcaivm-root h2::before,#kcaivm-root h3::before,
#kcaivm-root h4::before,#kcaivm-root h5::before,
#kcaivm-root h1::after,#kcaivm-root h2::after,#kcaivm-root h3::after,
#kcaivm-root h4::after,#kcaivm-root h5::after{content:none !important;display:none !important;}
#kcaivm-root img{border:0 !important;box-shadow:none !important;filter:none !important;max-width:100%;height:auto;}

/* ---------- hero ---------- */
#kcaivm-root .vm-hero{
  background:linear-gradient(135deg,#0d2b4e 0%,#14406f 58%,#1f5b86 100%) !important;
  color:#ffffff !important;border-radius:0 0 4px 4px;
  min-height:300px;display:grid;grid-template-rows:1fr auto;
  padding:26px 32px 26px;margin-bottom:0;
}
#kcaivm-root .vm-hero-body{align-self:end;}
#kcaivm-root .vm-kicker{
  font-family:var(--sans) !important;font-size:11.5px !important;letter-spacing:.18em;
  text-transform:uppercase !important;color:#8fd3bb !important;
  -webkit-text-fill-color:#8fd3bb !important;font-weight:700 !important;margin:0 0 10px;
}
#kcaivm-root .vm-hero h1{
  font-family:var(--serif) !important;font-size:clamp(27px,3.6vw,44px) !important;
  line-height:1.12 !important;font-weight:700 !important;
  color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
  text-transform:none !important;margin:0 0 12px;letter-spacing:normal !important;
}
#kcaivm-root .vm-hero .vm-sub{
  font-size:clamp(14px,1.3vw,16.5px) !important;line-height:1.5;max-width:74ch;
  color:#d6e4f0 !important;-webkit-text-fill-color:#d6e4f0 !important;margin:0 0 16px;
}
#kcaivm-root .vm-pills{list-style:none !important;margin:0 !important;padding:0 !important;display:flex;flex-wrap:wrap;gap:8px;}
#kcaivm-root .vm-pills li{
  background:rgba(255,255,255,.13) !important;border:1px solid rgba(255,255,255,.30);
  color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
  border-radius:999px;padding:5px 13px;font-size:12px;letter-spacing:.02em;margin:0 !important;
  text-transform:none !important;
}

/* ---------- sticky tabs ---------- */
#kcaivm-root .vm-nav{
  position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60;
  background:#0d2b4e !important;border-top:1px solid rgba(255,255,255,.10);
  box-shadow:0 2px 10px rgba(13,43,78,.28);
}
#kcaivm-root .vm-nav.is-fixed{position:fixed !important;left:0 !important;right:0 !important;width:100% !important;}
#kcaivm-root .vm-nav-in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2px;overflow-x:auto;padding:0 12px;}
#kcaivm-root .vm-tab{
  appearance:none;background:transparent !important;border:0 !important;border-bottom:3px solid transparent !important;
  color:#a9c2da !important;-webkit-text-fill-color:#a9c2da !important;
  font-family:var(--sans) !important;font-size:13px;font-weight:600;letter-spacing:.02em;
  padding:14px 15px 11px;cursor:pointer;white-space:nowrap;text-transform:none !important;border-radius:0 !important;
}
#kcaivm-root .vm-tab:hover{color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;}
#kcaivm-root .vm-tab[aria-selected="true"]{
  color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
  border-bottom-color:#1d9e75 !important;background:rgba(255,255,255,.06) !important;
}
#kcaivm-root .vm-navspacer{display:block;}

/* ---------- panels & sections ---------- */
#kcaivm-root .vm-panel{display:none;}
#kcaivm-root .vm-panel.is-active{display:block;}
#kcaivm-root .vm-sec{margin:34px 0 0;}
#kcaivm-root .vm-sec > h2{
  font-family:var(--serif) !important;font-size:25px !important;line-height:1.2;
  color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;
  font-weight:700 !important;text-transform:none !important;margin:0 0 6px;
  padding-bottom:9px;border-bottom:2px solid var(--teal);
}
#kcaivm-root .vm-sec > h3,#kcaivm-root h3.vm-h3{
  font-family:var(--serif) !important;font-size:19px !important;color:var(--navy3) !important;
  -webkit-text-fill-color:var(--navy3) !important;font-weight:700 !important;
  text-transform:none !important;margin:26px 0 8px;
}
#kcaivm-root .vm-sec p{margin:10px 0;color:var(--ink);font-size:15.5px;}
#kcaivm-root .vm-lede{font-size:16.5px !important;color:#33475b !important;max-width:88ch;}
#kcaivm-root .vm-eyebrow{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase !important;
  color:var(--teal2) !important;-webkit-text-fill-color:var(--teal2) !important;
  font-weight:700;margin:0 0 4px;
}

/* ---------- KPI cards ---------- */
#kcaivm-root .vm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 6px;}
#kcaivm-root .vm-kpi{
  background:var(--bg2) !important;border:1px solid var(--line);border-left:4px solid var(--navy);
  border-radius:5px;padding:15px 16px;
}
#kcaivm-root .vm-kpi.is-teal{border-left-color:var(--teal);}
#kcaivm-root .vm-kpi.is-gold{border-left-color:var(--gold);}
#kcaivm-root .vm-kpi b{
  display:block;font-family:var(--serif) !important;font-size:31px;line-height:1.05;
  color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;font-weight:700;
}
#kcaivm-root .vm-kpi span{display:block;font-size:12.5px;color:var(--muted) !important;margin-top:5px;letter-spacing:.01em;}
#kcaivm-root .vm-kpi em{display:block;font-size:11.5px;color:var(--navy3);font-style:normal;margin-top:3px;}

/* ---------- dark plate ---------- */
#kcaivm-root .vm-plate{
  background:var(--navy) !important;color:#ffffff !important;border-radius:6px;
  padding:20px 24px;margin:20px 0;
}
#kcaivm-root .vm-plate .vm-plab{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase !important;
  color:#8fd3bb !important;-webkit-text-fill-color:#8fd3bb !important;font-weight:700;margin:0 0 8px;
}
#kcaivm-root .vm-plate .vm-plab + p{
  font-family:var(--serif) !important;font-size:19px !important;line-height:1.45;
  color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;margin:0;font-weight:400;
}
#kcaivm-root .vm-plate .vm-plab + p + p{
  font-family:var(--sans) !important;font-size:14.5px !important;
  color:#c9dced !important;-webkit-text-fill-color:#c9dced !important;margin:10px 0 0;
}

/* ---------- callouts ---------- */
#kcaivm-root .vm-note{
  background:#fdf6ec !important;border:1px solid #e8d3ae;border-left:4px solid var(--gold);
  border-radius:4px;padding:13px 16px;margin:16px 0;font-size:14.5px;color:#5a4211 !important;
}
#kcaivm-root .vm-note strong{color:var(--gold2) !important;-webkit-text-fill-color:var(--gold2) !important;}
#kcaivm-root .vm-info{
  background:#eef6f2 !important;border:1px solid #bfdfd1;border-left:4px solid var(--teal);
  border-radius:4px;padding:13px 16px;margin:16px 0;font-size:14.5px;color:#14472f !important;
}
#kcaivm-root .vm-info strong{color:var(--teal2) !important;-webkit-text-fill-color:var(--teal2) !important;}

/* ---------- findings list ---------- */
#kcaivm-root ul.vm-list{list-style:none !important;margin:14px 0 !important;padding:0 !important;}
#kcaivm-root ul.vm-list li{
  position:relative;padding:0 0 0 26px;margin:0 0 11px !important;font-size:15.5px;color:var(--ink);
}
#kcaivm-root ul.vm-list li::before{
  content:"";position:absolute;left:4px;top:9px;width:9px;height:9px;border-radius:50%;
  background:var(--teal);display:block !important;
}
#kcaivm-root ul.vm-list.is-gold li::before{background:var(--gold);}
#kcaivm-root ul.vm-list li b{color:var(--navy);}

/* ---------- tables ---------- */
#kcaivm-root .vm-tw{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:5px;background:#fff !important;}
#kcaivm-root .vm-tw.is-scroll{max-height:520px;overflow-y:auto;}
#kcaivm-root table.vm-t{width:100%;border-collapse:collapse;font-size:14px;background:#fff !important;}
#kcaivm-root table.vm-t caption{
  caption-side:top;text-align:left !important;font-size:12.5px;color:var(--muted) !important;
  padding:10px 14px 8px;background:var(--bg2) !important;border-bottom:1px solid var(--line);font-weight:600;
}
#kcaivm-root table.vm-t th{
  background:var(--navy) !important;color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
  font-weight:600;font-size:12.5px;letter-spacing:.02em;padding:10px 12px;
  text-align:left !important;border:0 !important;text-transform:none !important;position:sticky;top:0;z-index:2;
}
#kcaivm-root .vm-tw:not(.is-scroll) table.vm-t th{position:static;}
#kcaivm-root table.vm-t th.num,#kcaivm-root table.vm-t td.num{text-align:right !important;font-variant-numeric:tabular-nums;}
#kcaivm-root table.vm-t td{padding:9px 12px;border-top:1px solid var(--line);color:var(--ink) !important;vertical-align:top;}
#kcaivm-root table.vm-t tbody tr:nth-child(even) td{background:var(--bg2) !important;}
#kcaivm-root table.vm-t tr.is-total td{
  background:#e6eef6 !important;font-weight:700;color:var(--navy) !important;border-top:2px solid var(--navy3);
}
#kcaivm-root table.vm-t tr.is-sub td{background:#eef3f8 !important;font-weight:600;}
#kcaivm-root table.vm-t td.pos{color:#14472f !important;font-weight:600;}
#kcaivm-root table.vm-t td.neg{color:#8f2a20 !important;font-weight:600;}

/* ---------- chart frames ---------- */
#kcaivm-root .vm-fig{margin:20px 0 8px;border:1px solid var(--line);border-radius:5px;background:#fff !important;padding:8px 10px 12px;}
#kcaivm-root .vm-fig-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 6px 6px;flex-wrap:wrap;}
#kcaivm-root .vm-fig-h h4{
  font-family:var(--serif) !important;font-size:16.5px !important;margin:0 !important;
  color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;
  font-weight:700 !important;text-transform:none !important;
}
#kcaivm-root .vm-fig-h p{margin:3px 0 0 !important;font-size:12.5px;color:var(--muted) !important;}
#kcaivm-root .vm-chart{width:100%;overflow:hidden;}
#kcaivm-root .vm-chart svg{display:block;width:100%;height:auto;}
#kcaivm-root .vm-cap{font-size:12.5px;color:var(--muted) !important;font-style:italic;margin:8px 6px 2px !important;}

/* ---------- buttons ---------- */
#kcaivm-root .vm-btn{
  appearance:none;display:inline-block;background:var(--navy) !important;color:#fff !important;
  -webkit-text-fill-color:#fff !important;border:1px solid var(--navy) !important;border-radius:4px;
  font-family:var(--sans) !important;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  padding:7px 13px;cursor:pointer;text-transform:none !important;line-height:1.3;
}
#kcaivm-root .vm-btn:hover{background:var(--navy2) !important;border-color:var(--navy2) !important;}
#kcaivm-root .vm-btn.is-ghost{background:#fff !important;color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;border-color:var(--line2) !important;}
#kcaivm-root .vm-btn.is-ghost:hover{background:var(--bg3) !important;}
#kcaivm-root .vm-btn.is-teal{background:var(--teal) !important;border-color:var(--teal) !important;}
#kcaivm-root .vm-btn.is-teal:hover{background:var(--teal2) !important;border-color:var(--teal2) !important;}
#kcaivm-root .vm-btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;}

/* ---------- control panel ---------- */
#kcaivm-root .vm-ctrl{
  background:var(--bg3) !important;border:1px solid var(--line);border-radius:6px;padding:18px 20px;margin:18px 0;
}
#kcaivm-root .vm-ctrl h4{
  font-family:var(--serif) !important;font-size:17px !important;color:var(--navy) !important;
  -webkit-text-fill-color:var(--navy) !important;margin:0 0 3px !important;font-weight:700 !important;text-transform:none !important;
}
#kcaivm-root .vm-ctrl > p{font-size:13.5px;color:var(--muted) !important;margin:0 0 14px !important;}
#kcaivm-root .vm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;}
#kcaivm-root .vm-grid.is-2{grid-template-columns:repeat(2,1fr);}
#kcaivm-root .vm-grid.is-4{grid-template-columns:repeat(4,1fr);}
#kcaivm-root .vm-f{display:block;}
#kcaivm-root .vm-f label{
  display:block;font-size:12.5px;font-weight:600;color:var(--navy3) !important;margin:0 0 5px;letter-spacing:.01em;
}
/* keep the field boxes on one baseline when a label wraps to two lines */
#kcaivm-root .vm-grid .vm-f label{min-height:34px;}
#kcaivm-root .vm-grid.is-4 .vm-f label{min-height:34px;}
#kcaivm-root .vm-f .vm-tag{
  display:inline-block;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase !important;
  border-radius:3px;padding:1px 5px;margin-left:6px;font-weight:700;vertical-align:1px;
}
#kcaivm-root .vm-tag.src{background:#dff0e8 !important;color:#14472f !important;-webkit-text-fill-color:#14472f !important;}
#kcaivm-root .vm-tag.asm{background:#fbeacd !important;color:#7a4c08 !important;-webkit-text-fill-color:#7a4c08 !important;}
#kcaivm-root .vm-f input[type="number"],#kcaivm-root .vm-f input[type="text"],#kcaivm-root .vm-f select{
  width:100% !important;font-family:var(--sans) !important;font-size:14.5px !important;
  padding:8px 10px !important;border:1px solid var(--line2) !important;border-radius:4px !important;
  background:#fff !important;color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important;
  line-height:1.3 !important;height:auto !important;box-shadow:none !important;margin:0 !important;
}
#kcaivm-root .vm-f input:focus,#kcaivm-root .vm-f select:focus{outline:2px solid var(--teal) !important;outline-offset:0;border-color:var(--teal) !important;}
#kcaivm-root .vm-f input[type="range"]{width:100% !important;margin:6px 0 0 !important;padding:0 !important;border:0 !important;background:transparent !important;accent-color:#1d9e75;}
#kcaivm-root .vm-f .vm-rv{font-size:12.5px;color:var(--navy) !important;font-weight:700;font-variant-numeric:tabular-nums;}
#kcaivm-root .vm-f .vm-help{font-size:11.5px;color:var(--muted) !important;margin:4px 0 0;line-height:1.35;}

/* scenario chooser */
#kcaivm-root .vm-scn{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
#kcaivm-root .vm-scn button{
  appearance:none;background:#fff !important;border:1px solid var(--line2) !important;border-radius:999px;
  padding:7px 16px;font-family:var(--sans) !important;font-size:13px;font-weight:600;
  color:var(--navy3) !important;-webkit-text-fill-color:var(--navy3) !important;cursor:pointer;text-transform:none !important;
}
#kcaivm-root .vm-scn button[aria-pressed="true"]{
  background:var(--navy) !important;border-color:var(--navy) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}

/* readout strip */
#kcaivm-root .vm-read{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;}
#kcaivm-root .vm-rd{background:#fff !important;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:4px;padding:12px 14px;}
#kcaivm-root .vm-rd b{
  display:block;font-family:var(--serif) !important;font-size:24px;color:var(--navy) !important;
  -webkit-text-fill-color:var(--navy) !important;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums;
}
#kcaivm-root .vm-rd span{display:block;font-size:11.5px;color:var(--muted) !important;margin-top:4px;letter-spacing:.02em;}
#kcaivm-root .vm-rd.is-bad{border-top-color:#b3382c;}
#kcaivm-root .vm-rd.is-warn{border-top-color:var(--gold);}
#kcaivm-root .vm-rd.is-ok{border-top-color:var(--teal);}

/* filters */
#kcaivm-root .vm-filters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;}
#kcaivm-root .vm-filters button{
  appearance:none;background:#fff !important;border:1px solid var(--line2) !important;border-radius:999px;
  padding:5px 13px;font-family:var(--sans) !important;font-size:12px;font-weight:600;
  color:var(--muted) !important;-webkit-text-fill-color:var(--muted) !important;cursor:pointer;text-transform:none !important;
}
#kcaivm-root .vm-filters button[aria-pressed="true"]{
  background:var(--teal) !important;border-color:var(--teal) !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}

/* toast */
#kcaivm-root .vm-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:9999;
  background:var(--navy) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;
  border-radius:5px;padding:12px 18px;font-size:13.5px;max-width:min(560px,92vw);
  box-shadow:0 8px 26px rgba(13,43,78,.35);display:none;
}
#kcaivm-root .vm-toast.is-on{display:block;}

/* footer */
#kcaivm-root .vm-foot{
  margin:44px 0 0;padding:22px 24px;background:var(--navy) !important;border-radius:6px;
  color:#c9dced !important;-webkit-text-fill-color:#c9dced !important;font-size:13px;
}
#kcaivm-root .vm-foot strong{color:#fff !important;-webkit-text-fill-color:#fff !important;}
#kcaivm-root .vm-foot p{color:#c9dced !important;margin:6px 0 !important;font-size:13px;}

/* diagnostics */
#kcaivm-root .vm-diag{background:#101820 !important;color:#c8f5df !important;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;padding:14px;border-radius:5px;margin:16px 0;overflow-x:auto;}
#kcaivm-root .vm-diag b{color:#ffd08a !important;-webkit-text-fill-color:#ffd08a !important;}

/* ---------- responsive ---------- */
@media (max-width:980px){
  #kcaivm-root .vm-kpis{grid-template-columns:repeat(2,1fr);}
  #kcaivm-root .vm-grid,#kcaivm-root .vm-grid.is-4{grid-template-columns:repeat(2,1fr);}
  #kcaivm-root .vm-read{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  #kcaivm-root .vm-shell{padding:0 14px 40px;}
  #kcaivm-root .vm-hero{padding:20px 18px;min-height:auto;}
  #kcaivm-root .vm-pills li:nth-child(n+4){display:none;}
  #kcaivm-root .vm-sec > h2{font-size:21px !important;}
}
@media (max-width:460px){
  #kcaivm-root .vm-kpis,#kcaivm-root .vm-grid,#kcaivm-root .vm-grid.is-2,
  #kcaivm-root .vm-grid.is-4,#kcaivm-root .vm-read{grid-template-columns:1fr;}
  #kcaivm-root .vm-pills li:nth-child(n+3){display:none;}
}

/* ---------- print: the live page is never printed (JS builds a document),
   but keep a sane fallback for Ctrl+P ---------- */
@media print{
  #kcaivm-root,#kcaivm-root *{opacity:1 !important;visibility:visible !important;
    transform:none !important;animation:none !important;transition:none !important;
    clip-path:none !important;filter:none !important;}
  #kcaivm-root .vm-nav,#kcaivm-root .vm-btnrow,#kcaivm-root .vm-btn,
  #kcaivm-root .vm-toast,#kcaivm-root .vm-filters,#kcaivm-root .vm-scn{display:none !important;}
  #kcaivm-root .vm-panel{display:block !important;}
  #kcaivm-root .vm-kpis{grid-template-columns:repeat(3,1fr) !important;}
  #kcaivm-root .vm-read{grid-template-columns:repeat(4,1fr) !important;}
  #kcaivm-root .vm-grid{grid-template-columns:repeat(3,1fr) !important;}
  #kcaivm-root .vm-tw{max-height:none !important;overflow:visible !important;}
}
