/* ProjectQuest Finance report polish v1
 * Mobile report controls, paper preview, and three-column cash/data flow.
 */

/* Hide non-pivot "Save view" controls. Report configuration is persistent by report choice. */
.pqrp-save-view-suppressed{display:none!important}
.pqrp-save-clean::after{content:' Saved';font-size:.8em;color:var(--pq-positive,#35d39a)}

/* A small explicit escape hatch replaces the noisy "Save view" behavior. */
.pqrp-change-report{
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:6px 10px!important;
  border:1px solid var(--pq-line)!important;
  border-radius:999px!important;
  background:var(--pq-surface-2)!important;
  color:var(--pq-text)!important;
  font-size:10px!important;
  white-space:nowrap;
}

/* Mobile process rail: four compact, readable steps instead of oversized chevrons. */
@media(max-width:620px){
  .pq-finance-process-rail{
    margin:0 0 10px!important;
    overflow:hidden!important;
  }
  .pq-finance-process-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .pq-finance-process-grid>button{
    clip-path:none!important;
    margin:0!important;
    min-width:0!important;
    min-height:48px!important;
    padding:6px 4px!important;
    border-radius:10px!important;
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;
    align-items:center!important;
    gap:4px!important;
    text-align:left!important;
  }
  .pq-finance-process-grid>button:first-child{
    clip-path:none!important;
    padding-left:4px!important;
  }
  .pq-finance-process-grid .pq-finance-process-number{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
    font-size:8px!important;
  }
  .pq-finance-process-grid .pq-finance-process-copy{
    min-width:0!important;
  }
  .pq-finance-process-grid .pq-finance-process-copy strong{
    display:block!important;
    font-size:8.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .pq-finance-process-grid .pq-finance-process-copy small{display:none!important}
}

/* Report builder controls stay secondary to the output on a phone. */
@media(max-width:620px){
  .pq-finance-stage-tools{
    border-radius:12px!important;
    padding:7px!important;
  }
  .pq-finance-stage-tools-head{
    gap:7px!important;
    padding-bottom:6px!important;
  }
  .pq-finance-stage-tools-head strong{font-size:11px!important}
  .pq-finance-stage-tools-head span{font-size:8px!important}
  .pq-finance-stage-tools-grid{
    gap:5px!important;
  }
  .pq-finance-stage-tool{
    min-width:108px!important;
    min-height:44px!important;
    padding:6px 7px!important;
  }
  .pq-finance-stage-tool strong{font-size:9px!important}
  .pq-finance-stage-tool small{display:none!important}
}

/* Treasurer preview should look like actual Letter paper, not a themed dark card. */
.pqrp-paper-preview{
  width:min(100%,816px)!important;
  margin:12px auto!important;
  padding:0!important;
  overflow:auto!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:0 12px 40px rgba(0,0,0,.32)!important;
  color-scheme:light!important;
}
.pqrp-paper-preview,
.pqrp-paper-preview *{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}
.pqrp-paper-preview table{
  background:#fff!important;
  color:#111!important;
  border-collapse:collapse!important;
}
.pqrp-paper-preview th,
.pqrp-paper-preview td{
  background:#fff!important;
  color:#111!important;
  border-color:#bbb!important;
}
.pqrp-paper-preview thead th{
  background:#f4f4f4!important;
  color:#111!important;
}
.pqrp-paper-preview a{color:#0645ad!important}
.pqrp-paper-preview img{max-width:100%;height:auto}
@media(max-width:620px){
  .pqrp-paper-preview{
    width:100%!important;
    min-height:calc((100vw - 34px) * 1.294)!important; /* 8.5 x 11 proportion */
  }
}

/* ------------------------------------------------------------------ */
/* Three-column flow map                                               */
/* ------------------------------------------------------------------ */
.pqrp-original-flow-hidden,
.pqrp-output-replaced{
  display:none!important;
}
.pqrp-map{
  --pqrp-bg:#06121f;
  --pqrp-panel:#0a1c2c;
  --pqrp-line:rgba(91,177,255,.26);
  --pqrp-text:#f4f8fd;
  --pqrp-muted:#8ba6bc;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:12px 0 0;
  padding:12px;
  border:1px solid var(--pqrp-line);
  border-radius:17px;
  background:
    radial-gradient(circle at 50% 42%,rgba(43,132,221,.11),transparent 32%),
    linear-gradient(180deg,#0a1a2a,var(--pqrp-bg));
  color:var(--pqrp-text);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.pqrp-map-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:9px;
}
.pqrp-map-head>div{min-width:0}
.pqrp-eyebrow{
  display:block;
  margin-bottom:2px;
  color:#41d8f4!important;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.pqrp-map h2{
  margin:0!important;
  color:var(--pqrp-text)!important;
  font-size:17px!important;
}
.pqrp-map-head p{
  margin:4px 0 0!important;
  max-width:640px;
  color:var(--pqrp-muted)!important;
  font-size:9px!important;
  line-height:1.3!important;
}
.pqrp-refresh{
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid rgba(65,216,244,.42)!important;
  border-radius:9px!important;
  background:rgba(65,216,244,.07)!important;
  color:#bfeef7!important;
  font-size:9px!important;
}
.pqrp-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-bottom:9px;
}
.pqrp-stats>span{
  min-width:0;
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid rgba(91,177,255,.18);
  border-radius:10px;
  background:rgba(5,20,34,.78);
}
.pqrp-stats small{
  color:var(--pqrp-muted)!important;
  font-size:7px!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pqrp-stats b{
  color:var(--pqrp-text)!important;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqrp-stats .good b{color:#35d39a!important}
.pqrp-stats .bad b{color:#ff7189!important}

.pqrp-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,29fr) minmax(0,31fr) minmax(0,40fr);
  gap:12px;
  min-height:610px;
  padding:11px;
  overflow:hidden;
  border:1px solid rgba(91,177,255,.18);
  border-radius:14px;
  background:
    linear-gradient(rgba(72,155,226,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(72,155,226,.04) 1px,transparent 1px),
    rgba(4,15,26,.78);
  background-size:18px 18px;
}
.pqrp-flow-svg{
  position:absolute;
  z-index:1;
  inset:34px 0 0;
  width:100%;
  height:calc(100% - 34px);
  pointer-events:none;
}
.pqrp-flow-svg path{
  fill:none;
  stroke:var(--flow,#42d8f5);
  stroke-linecap:round;
  opacity:.6;
  stroke-dasharray:8 15;
  animation:pqrpFlow 1.7s linear infinite;
  filter:drop-shadow(0 0 2px var(--flow,#42d8f5));
}
@keyframes pqrpFlow{to{stroke-dashoffset:-46}}
.pqrp-column{
  position:relative;
  z-index:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.pqrp-column h3{
  margin:0!important;
  color:#dceeff!important;
  font-size:10px!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pqrp-column>p{
  margin:-2px 0 2px!important;
  color:var(--pqrp-muted)!important;
  font-size:7.5px!important;
}
.pqrp-node{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1px 5px;
  align-items:baseline;
  min-height:54px;
  padding:7px 8px;
  border:1px solid color-mix(in srgb,var(--node) 42%,rgba(91,177,255,.18));
  border-radius:10px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--node) 9%,#0a1a29),#071522);
  box-shadow:0 0 18px color-mix(in srgb,var(--node) 7%,transparent);
}
.pqrp-node strong{
  min-width:0;
  color:var(--pqrp-text)!important;
  font-size:9px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqrp-node b{
  color:var(--pqrp-text)!important;
  font-size:10px;
  white-space:nowrap;
}
.pqrp-node small{
  grid-column:1 / -1;
  color:var(--pqrp-muted)!important;
  font-size:6.5px!important;
}
.pqrp-account{
  min-height:72px;
  align-content:center;
  border-width:1.5px;
}
.pqrp-account strong{font-size:10px}
.pqrp-account b{font-size:12px}
.pqrp-empty{
  min-height:60px;
  display:grid;
  place-items:center;
  padding:8px;
  border:1px dashed rgba(91,177,255,.18);
  border-radius:9px;
  color:var(--pqrp-muted);
  font-size:8px;
  text-align:center;
}
.pqrp-map-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  color:var(--pqrp-muted);
  font-size:7.5px;
}
.pqrp-error{
  margin:10px 0;
  padding:10px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,113,137,.35);
  border-radius:12px;
  background:rgba(80,14,30,.18);
  color:var(--pq-text);
}
.pqrp-error span{color:var(--pq-muted)}
.pqrp-error button{
  min-height:34px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
}

@media(max-width:620px){
  .pqrp-map{padding:8px;border-radius:14px}
  .pqrp-map-head{gap:7px}
  .pqrp-map h2{font-size:14px!important}
  .pqrp-map-head p{font-size:7.5px!important}
  .pqrp-refresh{min-height:30px!important;padding:5px 7px!important;font-size:7.5px!important}
  .pqrp-stats{gap:4px}
  .pqrp-stats>span{padding:5px 4px;border-radius:8px}
  .pqrp-stats small{font-size:5.8px!important}
  .pqrp-stats b{font-size:9px}
  .pqrp-stage{
    grid-template-columns:minmax(0,29fr) minmax(0,31fr) minmax(0,40fr);
    gap:4px;
    min-height:600px;
    padding:8px 4px;
    border-radius:11px;
  }
  .pqrp-column{gap:5px}
  .pqrp-column h3{font-size:7.4px!important;letter-spacing:.03em}
  .pqrp-column>p{font-size:5.6px!important;min-height:15px}
  .pqrp-node{
    grid-template-columns:minmax(0,1fr);
    gap:1px;
    min-height:48px;
    padding:5px 4px;
    border-radius:8px;
  }
  .pqrp-node strong{font-size:7.3px}
  .pqrp-node b{font-size:8px}
  .pqrp-node small{font-size:5.4px!important}
  .pqrp-account{min-height:63px}
  .pqrp-account strong{font-size:7.7px}
  .pqrp-account b{font-size:9px}
  .pqrp-flow-svg{inset:32px 0 0;height:calc(100% - 32px)}
  .pqrp-flow-svg path{stroke-dasharray:6 11;opacity:.52}
  .pqrp-map-foot{font-size:5.8px;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .pqrp-flow-svg path{animation:none!important}
}


/* 2026-10-04 navigation/readability reset
 * Keep Finance navigation boring and obvious: native section tabs + native sub-tabs.
 * Every dark-surface button must have an explicit readable foreground.
 */
.pq-finance-shell .pq-finance-primary-nav,
.pq-finance-shell .pq-finance-subnav,
.pq-finance-shell .pq-finance-report-tabs{
  color:var(--pq-text)!important;
}
.pq-finance-shell button:not(.pq-btn-primary):not(.pq-btn-danger),
.pq-finance-shell button:not(.pq-btn-primary):not(.pq-btn-danger) strong,
.pq-finance-shell button:not(.pq-btn-primary):not(.pq-btn-danger) small,
.pq-finance-shell .pq-finance-primary-nav button,
.pq-finance-shell .pq-finance-subnav button,
.pq-finance-shell .pq-finance-report-tabs button{
  color:var(--pq-text)!important;
  -webkit-text-fill-color:var(--pq-text)!important;
}
.pq-finance-shell .pq-btn-primary,
.pq-finance-shell .pq-btn-primary strong,
.pq-finance-shell .pq-btn-primary small{
  color:var(--pq-on-accent,#04111d)!important;
  -webkit-text-fill-color:var(--pq-on-accent,#04111d)!important;
}
.pq-finance-shell .pq-btn-danger,
.pq-finance-shell .pq-btn-danger strong,
.pq-finance-shell .pq-btn-danger small{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.pq-finance-shell .pq-finance-primary-nav button,
.pq-finance-shell .pq-finance-subnav button,
.pq-finance-shell .pq-finance-report-tabs button{
  font-weight:750!important;
  line-height:1.15!important;
}
.pq-finance-shell .pq-finance-primary-nav button.active,
.pq-finance-shell .pq-finance-subnav button.active{
  color:var(--pq-text)!important;
  -webkit-text-fill-color:var(--pq-text)!important;
}
.pq-finance-shell .pq-finance-report-tabs{
  display:flex!important;
  gap:6px!important;
  overflow-x:auto!important;
  padding:4px 1px 7px!important;
  scrollbar-width:thin;
}
.pq-finance-shell .pq-finance-report-tabs .pq-btn{
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
}
.pq-finance-shell .pq-finance-report-tabs .pq-btn-primary{
  color:var(--pq-on-accent,#04111d)!important;
  -webkit-text-fill-color:var(--pq-on-accent,#04111d)!important;
}
.pq-finance-shell > .pq-finance-primary-nav[data-pq-finance-redundant-nav="1"]{
  display:flex!important;
}
.pq-finance-shell .pq-finance-subnav button[hidden]{
  display:inline-flex!important;
}
@media(max-width:620px){
  .pq-finance-shell .pq-finance-primary-nav{
    position:sticky;
    top:0;
    z-index:4;
    gap:4px!important;
    padding:5px!important;
  }
  .pq-finance-shell .pq-finance-primary-nav button{
    min-width:76px!important;
    min-height:40px!important;
    padding:7px 6px!important;
    font-size:10px!important;
  }
  .pq-finance-shell .pq-finance-subnav{
    gap:4px!important;
    padding:5px!important;
  }
  .pq-finance-shell .pq-finance-subnav button{
    min-height:38px!important;
    padding:7px 8px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  .pq-finance-shell .pq-finance-report-tabs .pq-btn{
    min-height:36px!important;
    padding:7px 9px!important;
    font-size:9px!important;
  }
}


/* 2026-10-04 Finance four-stage recovery */
/* The navigation reset briefly fought the workflow layer and re-exposed every
   hidden Finance tab.  The four process steps are the primary navigation. */
.pq-finance-shell > .pq-finance-primary-nav[data-pq-finance-redundant-nav="1"]{
  display:none!important;
}
.pq-finance-shell .pq-finance-subnav button[hidden]{
  display:none!important;
}

/* Dark Finance controls must never inherit black text from a browser/theme. */
.pq-finance-shell button,
.pq-finance-shell button strong{
  color:var(--pq-text)!important;
  -webkit-text-fill-color:var(--pq-text)!important;
}
.pq-finance-shell .pq-btn-primary,
.pq-finance-shell .pq-btn-primary strong{
  color:var(--pq-on-accent,#04111d)!important;
  -webkit-text-fill-color:var(--pq-on-accent,#04111d)!important;
}

/* Sankey/report readability: the previous mobile pass used 5-8px labels,
   which was technically present and practically unreadable. */
.pqrp-map,
.pqrp-map *{
  box-sizing:border-box;
}
.pqrp-column h3{
  color:#eef7ff!important;
  -webkit-text-fill-color:#eef7ff!important;
}
.pqrp-node,
.pqrp-node strong,
.pqrp-node b{
  color:#f4f8fd!important;
  -webkit-text-fill-color:#f4f8fd!important;
}
.pqrp-node small,
.pqrp-column>p,
.pqrp-map-foot{
  color:#a9bfd0!important;
  -webkit-text-fill-color:#a9bfd0!important;
}
@media(max-width:620px){
  .pq-finance-stage-tools-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible!important;
  }
  .pq-finance-stage-tool{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    padding:8px!important;
  }
  .pq-finance-stage-tool strong{
    font-size:10px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .pq-finance-stage-tools-add .pq-finance-stage-tools-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:620px){
  .pqrp-map{padding:10px!important}
  .pqrp-map h2{font-size:18px!important}
  .pqrp-map-head p{font-size:11px!important;line-height:1.35!important}
  .pqrp-refresh{font-size:11px!important;min-height:38px!important}
  .pqrp-stats small{font-size:8px!important}
  .pqrp-stats b{font-size:12px!important}
  .pqrp-stage{
    gap:6px!important;
    min-height:0!important;
    padding:10px 6px!important;
  }
  .pqrp-column{gap:7px!important}
  .pqrp-column h3{font-size:10px!important;line-height:1.15!important}
  .pqrp-column>p{font-size:8px!important;line-height:1.2!important;min-height:20px}
  .pqrp-node{
    min-height:58px!important;
    padding:7px 6px!important;
    gap:2px!important;
  }
  .pqrp-node strong{font-size:10px!important;line-height:1.2!important}
  .pqrp-node b{font-size:11px!important}
  .pqrp-node small{font-size:8px!important;line-height:1.15!important}
  .pqrp-account{min-height:70px!important}
  .pqrp-account strong{font-size:10px!important}
  .pqrp-account b{font-size:12px!important}
  .pqrp-map-foot{font-size:8px!important;line-height:1.25!important}
}


/* 2026-10-04 approved Accounts & Flow visual target
 * Layout is intentionally fixed to three semantic columns; the data fills the
 * nodes, but a graph library does not get to rearrange the user's mental model.
 */
.pqrp-map-hero{
  --pqflow-cyan:#23d8ff;
  --pqflow-blue:#438bff;
  --pqflow-green:#36ed9c;
  --pqflow-magenta:#f05bdc;
  --pqflow-pink:#ff668f;
  --pqflow-amber:#ffc84c;
  --pqflow-violet:#ae6eff;
  --pqflow-teal:#25e2cf;
  background:
    radial-gradient(circle at 50% 37%,rgba(35,216,255,.10),transparent 27%),
    linear-gradient(rgba(55,150,225,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(55,150,225,.045) 1px,transparent 1px),
    linear-gradient(180deg,#07192a 0%,#04111e 62%,#03101b 100%)!important;
  background-size:100% 100%,20px 20px,20px 20px,100% 100%!important;
  border-color:rgba(73,177,255,.34)!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.28),
    inset 0 1px rgba(255,255,255,.035),
    inset 0 0 80px rgba(28,119,211,.05)!important;
}
.pqrp-map-hero .pqrp-map-head{
  padding:3px 2px 5px;
}
.pqrp-map-hero .pqrp-eyebrow{
  color:var(--pqflow-cyan)!important;
  -webkit-text-fill-color:var(--pqflow-cyan)!important;
}
.pqrp-map-hero .pqrp-map-head h2{
  font-size:22px!important;
  letter-spacing:-.02em;
}
.pqrp-map-hero .pqrp-refresh{
  border-color:rgba(35,216,255,.5)!important;
  background:linear-gradient(180deg,rgba(35,216,255,.13),rgba(67,139,255,.07))!important;
  color:#e9fbff!important;
  -webkit-text-fill-color:#e9fbff!important;
  box-shadow:0 0 20px rgba(35,216,255,.08)!important;
}
.pqrp-map-hero .pqrp-stats>span{
  background:linear-gradient(180deg,rgba(12,36,59,.96),rgba(5,20,34,.94))!important;
  border-color:rgba(82,174,255,.26)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
.pqrp-map-hero .pqrp-stats>span.good{
  border-color:rgba(54,237,156,.38)!important;
}
.pqrp-map-hero .pqrp-stats>span.bad{
  border-color:rgba(255,102,143,.4)!important;
}
.pqrp-map-hero .pqrp-stage{
  min-height:620px;
  padding:12px 10px;
  gap:12px;
  border-color:rgba(65,151,230,.25)!important;
  background:
    radial-gradient(circle at 50% 46%,rgba(34,148,255,.10),transparent 31%),
    linear-gradient(180deg,rgba(3,15,27,.82),rgba(2,12,22,.91))!important;
  box-shadow:inset 0 0 55px rgba(29,111,191,.08)!important;
}
.pqrp-map-hero .pqrp-column{
  gap:8px;
}
.pqrp-map-hero .pqrp-column h3{
  font-size:11px!important;
  color:#eaf7ff!important;
  -webkit-text-fill-color:#eaf7ff!important;
  letter-spacing:.075em!important;
}
.pqrp-map-hero .pqrp-column>p{
  min-height:18px;
  font-size:8px!important;
  color:#8eb0c8!important;
  -webkit-text-fill-color:#8eb0c8!important;
}
.pqrp-map-hero .pqrp-node{
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:62px;
  padding:8px 9px;
  border:1px solid rgba(80,174,255,.30);
  border-radius:12px;
  background:linear-gradient(120deg,rgba(11,33,54,.98),rgba(4,18,31,.96));
  box-shadow:
    0 5px 18px rgba(0,0,0,.18),
    inset 0 1px rgba(255,255,255,.025);
}
.pqrp-map-hero .pqrp-node-icon{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:10px;
  border:1px solid currentColor;
  background:rgba(255,255,255,.035);
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  font-size:16px;
  font-weight:900;
  line-height:1;
}
.pqrp-map-hero .pqrp-node-copy{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 5px;
  align-items:baseline;
}
.pqrp-map-hero .pqrp-node-copy strong{
  min-width:0;
  color:#f6fbff!important;
  -webkit-text-fill-color:#f6fbff!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqrp-map-hero .pqrp-node-copy b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:11px!important;
  white-space:nowrap;
}
.pqrp-map-hero .pqrp-node-copy small{
  grid-column:1 / -1;
  color:#91aec3!important;
  -webkit-text-fill-color:#91aec3!important;
  font-size:7px!important;
  line-height:1.15!important;
}

/* Semantic node colors: close to the approved mockup, not random rainbow. */
.pqrp-map-hero .tone-income{
  color:var(--pqflow-green)!important;
  border-color:rgba(54,237,156,.52)!important;
  background:linear-gradient(120deg,rgba(15,77,65,.45),rgba(5,24,34,.96))!important;
  box-shadow:0 0 22px rgba(54,237,156,.10),inset 0 0 18px rgba(54,237,156,.035)!important;
}
.pqrp-map-hero .tone-account{
  color:var(--pqflow-cyan)!important;
  border-color:rgba(35,216,255,.58)!important;
  background:linear-gradient(145deg,rgba(12,65,107,.62),rgba(5,27,47,.98))!important;
  box-shadow:0 0 30px rgba(35,216,255,.12),inset 0 0 22px rgba(35,216,255,.045)!important;
}
.pqrp-map-hero .tone-saving{
  color:var(--pqflow-green)!important;
  border-color:rgba(54,237,156,.48)!important;
}
.pqrp-map-hero .tone-investment,
.pqrp-map-hero .tone-transfer{
  color:var(--pqflow-cyan)!important;
  border-color:rgba(35,216,255,.46)!important;
}
.pqrp-map-hero .tone-credit,
.pqrp-map-hero .tone-debt{
  color:var(--pqflow-magenta)!important;
  border-color:rgba(240,91,220,.50)!important;
  background:linear-gradient(120deg,rgba(75,23,78,.42),rgba(21,12,32,.97))!important;
}
.pqrp-map-hero .tone-housing{
  color:#ff718c!important;
  border-color:rgba(255,113,140,.52)!important;
}
.pqrp-map-hero .tone-food{
  color:var(--pqflow-amber)!important;
  border-color:rgba(255,200,76,.50)!important;
}
.pqrp-map-hero .tone-utilities{
  color:var(--pqflow-magenta)!important;
  border-color:rgba(240,91,220,.50)!important;
}
.pqrp-map-hero .tone-transport{
  color:#ffb94c!important;
  border-color:rgba(255,185,76,.50)!important;
}
.pqrp-map-hero .tone-expense-a{
  color:var(--pqflow-pink)!important;
  border-color:rgba(255,102,143,.48)!important;
}
.pqrp-map-hero .tone-expense-b{
  color:var(--pqflow-violet)!important;
  border-color:rgba(174,110,255,.48)!important;
}
.pqrp-map-hero .tone-expense-c{
  color:var(--pqflow-teal)!important;
  border-color:rgba(37,226,207,.48)!important;
}

.pqrp-map-hero .pqrp-account{
  min-height:82px;
}
.pqrp-map-hero .pqrp-account .pqrp-node-copy strong{
  font-size:11px!important;
}
.pqrp-map-hero .pqrp-account .pqrp-node-copy b{
  font-size:14px!important;
}
.pqrp-map-hero .pqrp-flow-svg path{
  opacity:.75;
  stroke-dasharray:7 13;
  filter:drop-shadow(0 0 4px var(--flow,#42d8f5)) drop-shadow(0 0 8px rgba(35,216,255,.12));
}
.pqrp-map-hero .pqrp-health-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.pqrp-map-hero .pqrp-health-strip article{
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:7px;
  align-items:center;
  padding:9px;
  border:1px solid rgba(79,169,245,.24);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(9,29,48,.93),rgba(4,17,29,.95));
}
.pqrp-map-hero .pqrp-health-strip article>span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.035);
  font-size:16px;
}
.pqrp-map-hero .pqrp-health-strip article>div{
  min-width:0;
  display:grid;
  gap:1px;
}
.pqrp-map-hero .pqrp-health-strip small{
  color:#91aec3!important;
  -webkit-text-fill-color:#91aec3!important;
  font-size:7px!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pqrp-map-hero .pqrp-health-strip strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqrp-map-hero .pqrp-health-strip em{
  color:#82a3bb!important;
  -webkit-text-fill-color:#82a3bb!important;
  font-size:6.5px;
  font-style:normal;
}
.pqrp-map-hero .pqrp-health-strip .building{
  border-color:rgba(54,237,156,.36);
}
.pqrp-map-hero .pqrp-health-strip .building>span,
.pqrp-map-hero .pqrp-health-strip .building strong{
  color:var(--pqflow-green)!important;
  -webkit-text-fill-color:var(--pqflow-green)!important;
}
.pqrp-map-hero .pqrp-health-strip .leaking{
  border-color:rgba(255,102,143,.36);
}
.pqrp-map-hero .pqrp-health-strip .leaking>span,
.pqrp-map-hero .pqrp-health-strip .leaking strong{
  color:var(--pqflow-pink)!important;
  -webkit-text-fill-color:var(--pqflow-pink)!important;
}
.pqrp-map-hero .pqrp-health-strip .interest{
  border-color:rgba(35,216,255,.34);
}
.pqrp-map-hero .pqrp-health-strip .interest>span{
  color:var(--pqflow-cyan)!important;
  -webkit-text-fill-color:var(--pqflow-cyan)!important;
}

/* Compact mobile version keeps all three columns visible like the reference. */
@media(max-width:620px){
  .pqrp-map-hero{
    padding:9px!important;
    border-radius:15px!important;
  }
  .pqrp-map-hero .pqrp-map-head h2{
    font-size:18px!important;
  }
  .pqrp-map-hero .pqrp-map-head p{
    font-size:9px!important;
  }
  .pqrp-map-hero .pqrp-stats{
    gap:4px!important;
  }
  .pqrp-map-hero .pqrp-stats>span{
    padding:6px 4px!important;
  }
  .pqrp-map-hero .pqrp-stats small{
    font-size:6px!important;
  }
  .pqrp-map-hero .pqrp-stats b{
    font-size:9px!important;
  }
  .pqrp-map-hero .pqrp-stage{
    grid-template-columns:minmax(0,29fr) minmax(0,31fr) minmax(0,40fr)!important;
    gap:5px!important;
    min-height:590px!important;
    padding:8px 4px!important;
  }
  .pqrp-map-hero .pqrp-column{
    gap:5px!important;
  }
  .pqrp-map-hero .pqrp-column h3{
    font-size:8px!important;
    letter-spacing:.035em!important;
  }
  .pqrp-map-hero .pqrp-column>p{
    min-height:16px!important;
    font-size:6px!important;
  }
  .pqrp-map-hero .pqrp-node{
    grid-template-columns:20px minmax(0,1fr)!important;
    gap:4px!important;
    min-height:51px!important;
    padding:5px 4px!important;
    border-radius:9px!important;
  }
  .pqrp-map-hero .pqrp-node-icon{
    width:20px!important;
    height:20px!important;
    border-radius:7px!important;
    font-size:10px!important;
  }
  .pqrp-map-hero .pqrp-node-copy{
    grid-template-columns:minmax(0,1fr)!important;
    gap:1px!important;
  }
  .pqrp-map-hero .pqrp-node-copy strong{
    font-size:7.4px!important;
  }
  .pqrp-map-hero .pqrp-node-copy b{
    font-size:8.2px!important;
  }
  .pqrp-map-hero .pqrp-node-copy small{
    font-size:5.6px!important;
  }
  .pqrp-map-hero .pqrp-account{
    min-height:66px!important;
  }
  .pqrp-map-hero .pqrp-account .pqrp-node-copy strong{
    font-size:8px!important;
  }
  .pqrp-map-hero .pqrp-account .pqrp-node-copy b{
    font-size:10px!important;
  }
  .pqrp-map-hero .pqrp-health-strip{
    gap:5px!important;
  }
  .pqrp-map-hero .pqrp-health-strip article{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:4px!important;
    padding:6px 5px!important;
    border-radius:9px!important;
  }
  .pqrp-map-hero .pqrp-health-strip article>span{
    width:22px!important;
    height:22px!important;
    border-radius:7px!important;
    font-size:11px!important;
  }
  .pqrp-map-hero .pqrp-health-strip small{font-size:5.4px!important}
  .pqrp-map-hero .pqrp-health-strip strong{font-size:8.5px!important}
  .pqrp-map-hero .pqrp-health-strip em{font-size:5.1px!important}
}
