/* ProjectQuest Finance Accounts & Flow v1
 * Flat Hologlass money map. The shared ProjectQuest shell owns app navigation.
 */
.pq-finance-shell.pq-finance-flow-active{
  --pqff-bg:#06111d;
  --pqff-bg-2:#091827;
  --pqff-line:rgba(87,174,255,.22);
  --pqff-text:#f3f8ff;
  --pqff-muted:#8da8bf;
  --pqff-cyan:#28d9f5;
  --pqff-green:#33e49b;
  --pqff-magenta:#ff54d8;
  --pqff-amber:#ffc342;
  --pqff-blue:#4c8cff;
  --pqff-red:#ff5f7c;
  --pqff-violet:#a96dff;
  --pqff-teal:#33e4ce;
  width:100%;
  min-width:0;
}
.pq-finance-shell.pq-finance-flow-active > .pq-finance-head,
.pq-finance-shell.pq-finance-flow-active > .pq-finance-process-rail,
.pq-finance-shell.pq-finance-flow-active > .pq-finance-launch-grid,
.pq-finance-shell.pq-finance-flow-active > .pq-finance-stage-tools,
.pq-finance-shell.pq-finance-flow-active > .pq-finance-section:not(.pq-finance-flow-v1){
  display:none!important;
}
.pq-finance-flow-v1,
.pq-finance-flow-v1 *{
  box-sizing:border-box;
}
.pq-finance-flow-v1{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  margin:0;
  padding:16px;
  border:1px solid rgba(73,164,255,.2);
  border-radius:22px;
  color:var(--pqff-text);
  background:
    linear-gradient(rgba(55,140,215,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(55,140,215,.055) 1px,transparent 1px),
    radial-gradient(circle at 50% 28%,rgba(30,120,220,.12),transparent 38%),
    linear-gradient(180deg,var(--pqff-bg-2),var(--pqff-bg));
  background-size:24px 24px,24px 24px,100% 100%,100% 100%;
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);
  color-scheme:dark;
}
.pq-finance-flow-v1 button,
.pq-finance-flow-v1 input{
  font:inherit;
}
.pq-finance-flow-v1 button{
  color:inherit;
}
.pq-finance-flow-v1 button:focus-visible,
.pq-finance-flow-v1 input:focus-visible{
  outline:2px solid var(--pqff-cyan);
  outline-offset:2px;
}
.pqff-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 12px;
}
.pqff-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.pqff-title-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  border:1px solid rgba(40,217,245,.5);
  background:linear-gradient(145deg,rgba(40,217,245,.24),rgba(76,140,255,.09));
  color:var(--pqff-cyan);
  box-shadow:0 0 28px rgba(40,217,245,.14),inset 0 0 18px rgba(40,217,245,.08);
  font-size:24px;
  font-weight:900;
}
.pqff-title h2{
  margin:0;
  color:var(--pqff-text)!important;
  font-size:clamp(21px,2.2vw,30px);
  line-height:1.05;
}
.pqff-title p{
  margin:5px 0 0;
  color:var(--pqff-muted)!important;
  font-size:12px;
  line-height:1.35;
}
.pqff-month{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--pqff-muted)!important;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pqff-month input{
  width:150px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  border:1px solid rgba(76,140,255,.42)!important;
  border-radius:12px!important;
  background:rgba(5,20,34,.88)!important;
  color:var(--pqff-text)!important;
  -webkit-text-fill-color:var(--pqff-text)!important;
}
.pqff-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 0 12px;
}
.pqff-kpis article{
  min-width:0;
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid rgba(76,140,255,.25);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,32,52,.88),rgba(6,19,32,.9));
  box-shadow:inset 0 1px rgba(255,255,255,.03);
}
.pqff-kpis article.positive{border-color:rgba(51,228,155,.32)}
.pqff-kpis article.negative{border-color:rgba(255,95,124,.34)}
.pqff-kpis span{
  color:var(--pqff-muted)!important;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.pqff-kpis strong{
  color:var(--pqff-text)!important;
  font-size:clamp(18px,2.2vw,28px);
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqff-kpis article.positive strong{color:var(--pqff-green)!important}
.pqff-kpis article.negative strong{color:var(--pqff-red)!important}
.pqff-kpis small{
  color:var(--pqff-muted)!important;
  font-size:10px;
  line-height:1.25;
}

.pqff-flow-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,29fr) minmax(0,32fr) minmax(0,39fr);
  gap:clamp(8px,1.3vw,18px);
  min-height:560px;
  padding:14px;
  overflow:hidden;
  border:1px solid rgba(76,140,255,.24);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 50%,rgba(37,133,230,.12),transparent 34%),
    linear-gradient(180deg,rgba(4,17,30,.93),rgba(4,14,25,.88));
  box-shadow:inset 0 0 54px rgba(18,95,175,.08);
}
.pqff-flow-stage:before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(57,151,233,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,151,233,.04) 1px,transparent 1px);
  background-size:18px 18px;
}
.pqff-col{
  position:relative;
  z-index:3;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pqff-col h3{
  margin:0;
  color:#d8edff!important;
  font-size:12px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pqff-col>p{
  margin:-2px 0 2px;
  color:var(--pqff-muted)!important;
  font-size:9px;
  line-height:1.25;
}
.pqff-accounts{
  align-items:center;
}
.pqff-accounts h3,
.pqff-accounts>p{
  align-self:stretch;
  text-align:center;
}
.pqff-node,
.pqff-account-node,
.pqff-secondary-account{
  width:100%;
  min-width:0!important;
  border-radius:13px!important;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.pqff-node:hover,
.pqff-account-node:hover,
.pqff-secondary-account:hover{
  transform:translateY(-1px);
}
.pqff-node{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  min-height:66px!important;
  padding:8px 9px!important;
  text-align:left!important;
  border:1px solid rgba(76,140,255,.28)!important;
  background:linear-gradient(110deg,rgba(11,33,54,.95),rgba(5,20,34,.92))!important;
  box-shadow:0 5px 20px rgba(0,0,0,.16),inset 0 0 20px rgba(76,140,255,.04)!important;
}
.pqff-node-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:17px;
  font-weight:900;
  background:rgba(255,255,255,.04);
}
.pqff-node-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1px 5px;
  align-items:baseline;
  min-width:0;
}
.pqff-node-copy strong{
  min-width:0;
  color:var(--pqff-text)!important;
  font-size:11px;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pqff-node-copy b{
  color:var(--pqff-text)!important;
  font-size:12px;
  white-space:nowrap;
}
.pqff-node-copy small{
  grid-column:1 / -1;
  color:var(--pqff-muted)!important;
  font-size:8.5px;
}
.pqff-node-copy i{
  grid-column:1 / -1;
  position:relative;
  height:3px;
  margin-top:4px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}
.pqff-node-copy i u{
  position:absolute;
  inset:0 auto 0 0;
  border-radius:inherit;
  background:currentColor;
  text-decoration:none;
}
.pqff-node.tone-cyan{border-color:rgba(40,217,245,.46)!important;color:var(--pqff-cyan)!important;box-shadow:0 0 24px rgba(40,217,245,.07)!important}
.pqff-node.tone-green{border-color:rgba(51,228,155,.46)!important;color:var(--pqff-green)!important;box-shadow:0 0 24px rgba(51,228,155,.07)!important}
.pqff-node.tone-magenta{border-color:rgba(255,84,216,.46)!important;color:var(--pqff-magenta)!important;box-shadow:0 0 24px rgba(255,84,216,.07)!important}
.pqff-node.tone-amber{border-color:rgba(255,195,66,.46)!important;color:var(--pqff-amber)!important;box-shadow:0 0 24px rgba(255,195,66,.07)!important}
.pqff-node.tone-blue{border-color:rgba(76,140,255,.5)!important;color:var(--pqff-blue)!important;box-shadow:0 0 24px rgba(76,140,255,.08)!important}
.pqff-node.tone-red{border-color:rgba(255,95,124,.46)!important;color:var(--pqff-red)!important}
.pqff-node.tone-violet{border-color:rgba(169,109,255,.48)!important;color:var(--pqff-violet)!important}
.pqff-node.tone-teal{border-color:rgba(51,228,206,.48)!important;color:var(--pqff-teal)!important}
.pqff-node-icon,
.pqff-node-copy i u{color:inherit}

.pqff-account-node{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  max-width:230px;
  min-height:108px!important;
  margin:clamp(56px,8vh,88px) auto 0!important;
  padding:12px!important;
  text-align:left!important;
  border:1px solid rgba(76,140,255,.72)!important;
  background:linear-gradient(145deg,rgba(13,58,99,.96),rgba(5,25,45,.96))!important;
  box-shadow:0 0 38px rgba(49,143,255,.18),inset 0 0 25px rgba(40,217,245,.07)!important;
}
.pqff-account-node.secondary{
  min-height:86px!important;
  margin:0 auto!important;
  opacity:.92;
}
.pqff-account-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid rgba(40,217,245,.45);
  background:rgba(40,217,245,.08);
  color:var(--pqff-cyan);
  font-size:22px;
}
.pqff-account-node>span:last-child{
  display:grid;
  gap:2px;
  min-width:0;
}
.pqff-account-node small,
.pqff-secondary-account small{
  color:var(--pqff-cyan)!important;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.pqff-account-node strong,
.pqff-secondary-account strong{
  min-width:0;
  color:var(--pqff-text)!important;
  font-size:14px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqff-account-node b,
.pqff-secondary-account b{
  color:var(--pqff-text)!important;
  font-size:16px;
}
.pqff-account-node em,
.pqff-secondary-account em{
  color:var(--pqff-muted)!important;
  font-size:8px;
  font-style:normal;
  line-height:1.2;
}
.pqff-secondary-account{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
  max-width:205px;
  min-height:72px!important;
  padding:8px 10px!important;
  text-align:left!important;
  border:1px solid rgba(51,228,155,.36)!important;
  background:rgba(7,34,36,.88)!important;
}
.pqff-secondary-account>span:first-child{
  width:30px;height:30px;display:grid;place-items:center;border-radius:10px;
  color:var(--pqff-green);background:rgba(51,228,155,.08);
}
.pqff-secondary-account>span:last-child{display:grid;gap:1px;min-width:0}
.pqff-secondary-account.card{
  border-color:rgba(255,84,216,.38)!important;
  background:rgba(38,12,42,.84)!important;
}
.pqff-secondary-account.card>span:first-child,
.pqff-secondary-account.card small{color:var(--pqff-magenta)!important}

.pqff-sankey{
  position:absolute;
  z-index:1;
  inset:45px 0 0;
  width:100%;
  height:calc(100% - 45px);
  pointer-events:none;
  overflow:visible;
}
.pqff-flow-line{
  fill:none;
  stroke-width:5;
  stroke-linecap:round;
  opacity:.62;
  filter:url(#pqffGlow);
  stroke-dasharray:10 18;
  animation:pqffFlow 1.85s linear infinite;
}
.pqff-flow-line.tone-cyan{stroke:var(--pqff-cyan)}
.pqff-flow-line.tone-green{stroke:var(--pqff-green)}
.pqff-flow-line.tone-magenta{stroke:var(--pqff-magenta)}
.pqff-flow-line.tone-amber{stroke:var(--pqff-amber)}
.pqff-flow-line.tone-blue{stroke:var(--pqff-blue)}
.pqff-flow-line.tone-red{stroke:var(--pqff-red)}
.pqff-flow-line.tone-violet{stroke:var(--pqff-violet)}
.pqff-flow-line.tone-teal{stroke:var(--pqff-teal)}
.pqff-flow-secondary{
  stroke-width:3;
  opacity:.5;
  stroke-dasharray:4 12;
}
.pqff-core-pulse{
  fill:none;
  stroke:rgba(40,217,245,.5);
  stroke-width:2;
  transform-origin:500px 300px;
  animation:pqffPulse 2.4s ease-out infinite;
}
.pqff-core-pulse.delay{animation-delay:1.2s}
@keyframes pqffFlow{to{stroke-dashoffset:-56}}
@keyframes pqffPulse{
  0%{transform:scale(.65);opacity:.75}
  100%{transform:scale(1.45);opacity:0}
}

.pqff-summary-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:11px 0;
}
.pqff-summary-cards article{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:10px 11px;
  border:1px solid rgba(76,140,255,.24);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(10,29,48,.92),rgba(5,18,31,.92));
}
.pqff-summary-cards .icon{
  width:34px;height:34px;display:grid;place-items:center;border-radius:11px;font-size:18px;
}
.pqff-summary-cards article>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 5px;min-width:0}
.pqff-summary-cards small{grid-column:1 / -1;color:var(--pqff-muted)!important;font-size:9px}
.pqff-summary-cards strong{color:var(--pqff-text)!important;font-size:18px;line-height:1.05}
.pqff-summary-cards em{grid-column:1 / -1;color:var(--pqff-muted)!important;font-size:8px;font-style:normal}
.pqff-summary-cards .building{border-color:rgba(51,228,155,.34)}
.pqff-summary-cards .building .icon,
.pqff-summary-cards .building strong{color:var(--pqff-green)!important;background:rgba(51,228,155,.07)}
.pqff-summary-cards .leaking{border-color:rgba(255,95,124,.34)}
.pqff-summary-cards .leaking .icon,
.pqff-summary-cards .leaking strong{color:var(--pqff-red)!important;background:rgba(255,95,124,.07)}
.pqff-summary-cards .interest{border-color:rgba(76,140,255,.34)}
.pqff-summary-cards .interest .icon{color:var(--pqff-cyan)!important;background:rgba(40,217,245,.07)}
.pqff-summary-cards .interest strong{display:flex;gap:8px;font-size:13px}
.pqff-summary-cards .interest strong i{color:var(--pqff-green);font-style:normal}
.pqff-summary-cards .interest strong b{color:var(--pqff-red);font-weight:700}

.pqff-timeline{
  display:grid;
  gap:8px;
  padding:11px;
  border:1px solid rgba(76,140,255,.25);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(9,29,48,.9),rgba(5,18,31,.93));
}
.pqff-timeline-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.pqff-timeline-head>div:first-child{display:grid;gap:2px}
.pqff-timeline-head strong{color:var(--pqff-text)!important;font-size:12px}
.pqff-timeline-head small{color:var(--pqff-muted)!important;font-size:8.5px}
.pqff-timeline-now{
  display:flex;
  gap:7px;
  align-items:center;
  white-space:nowrap;
  color:var(--pqff-muted);
  font-size:9px;
}
.pqff-timeline-now b{color:var(--pqff-cyan)!important;font-size:11px}
.pqff-timeline-controls{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:8px;
  align-items:end;
}
.pqff-play{
  width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  border:1px solid rgba(40,217,245,.5)!important;border-radius:50%!important;
  background:radial-gradient(circle,rgba(40,217,245,.2),rgba(76,140,255,.08))!important;
  color:var(--pqff-cyan)!important;
  box-shadow:0 0 20px rgba(40,217,245,.1)!important;
}
.pqff-play.playing{animation:pqffPlayPulse 1s ease-in-out infinite alternate}
@keyframes pqffPlayPulse{to{box-shadow:0 0 30px rgba(40,217,245,.25)!important}}
.pqff-bars{
  min-width:0;
  height:58px;
  display:flex;
  align-items:flex-end;
  gap:2px;
  overflow:hidden;
}
.pqff-day{
  flex:1 1 0!important;
  min-width:2px!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:end!important;
  gap:1px!important;
  position:relative;
  border:0!important;
  border-bottom:1px solid rgba(76,140,255,.18)!important;
  border-radius:2px!important;
  background:transparent!important;
}
.pqff-day>span{
  display:block;
  width:100%;
  min-height:0;
  border-radius:2px 2px 0 0;
  opacity:.75;
}
.pqff-day .in{background:var(--pqff-green)}
.pqff-day .out{background:var(--pqff-red)}
.pqff-day small{
  display:none;
  position:absolute;
  left:50%;bottom:-13px;transform:translateX(-50%);
  color:var(--pqff-muted)!important;
  font-size:7px;
}
.pqff-day.active{
  background:rgba(40,217,245,.08)!important;
  box-shadow:inset 0 -2px var(--pqff-cyan)!important;
}
.pqff-range{
  width:calc(100% - 50px)!important;
  height:16px!important;
  min-height:16px!important;
  margin-left:50px;
  padding:0!important;
  accent-color:var(--pqff-cyan);
  background:transparent!important;
  border:0!important;
}

.pqff-bottom{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr);
  gap:9px;
  margin-top:11px;
}
.pqff-recent,
.pqff-status{
  min-width:0;
  border:1px solid rgba(76,140,255,.24);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(9,29,48,.9),rgba(5,18,31,.93));
}
.pqff-recent{padding:10px}
.pqff-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
}
.pqff-panel-head strong{color:var(--pqff-text)!important;font-size:12px}
.pqff-panel-head button,
.pqff-footnote button{
  min-height:auto!important;
  padding:4px 5px!important;
  border:0!important;
  background:transparent!important;
  color:var(--pqff-cyan)!important;
  font-size:9px;
}
.pqff-recent-row{
  width:100%;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,.9fr) 16px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important;
  min-height:34px!important;
  padding:5px 2px!important;
  border:0!important;
  border-top:1px solid rgba(76,140,255,.11)!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:left!important;
}
.pqff-recent-row span{color:var(--pqff-muted)!important;font-size:8px}
.pqff-recent-row strong,
.pqff-recent-row b{
  min-width:0;
  color:#dcecff!important;
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pqff-recent-row i{color:var(--pqff-muted)!important;font-style:normal;font-size:9px;text-align:center}
.pqff-recent-row em{font-style:normal;font-size:10px;font-weight:800;white-space:nowrap}
.pqff-recent-row.positive em{color:var(--pqff-green)}
.pqff-recent-row.negative em{color:var(--pqff-red)}
.pqff-recent-row.transfer em{color:var(--pqff-cyan)}

.pqff-status{
  display:grid;
  grid-template-columns:78px minmax(0,1fr) 28px;
  gap:9px;
  align-items:center;
  padding:10px;
}
.pqff-status.good{border-color:rgba(51,228,155,.3)}
.pqff-status.watch{border-color:rgba(255,195,66,.3)}
.pqff-status strong{color:var(--pqff-text)!important;font-size:12px}
.pqff-status p{margin:4px 0 0;color:var(--pqff-muted)!important;font-size:8.5px;line-height:1.3}
.pqff-status>button{
  width:28px!important;height:38px!important;min-height:38px!important;padding:0!important;
  border:0!important;background:transparent!important;color:var(--pqff-cyan)!important;font-size:24px;
}
.pqff-budget-meter{
  --meter:var(--pqff-green);
  position:relative;
  width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(var(--meter) var(--pct),rgba(255,255,255,.08) 0);
  box-shadow:0 0 20px rgba(51,228,155,.08);
}
.pqff-budget-meter:after{
  content:'';
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#071522;
}
.pqff-budget-meter span{display:none}
.pqff-budget-meter b{position:relative;z-index:2;color:var(--pqff-text)!important;font-size:12px}
.pqff-status>div:first-child>small{
  display:block;
  margin-top:4px;
  text-align:center;
  color:var(--pqff-muted)!important;
  font-size:7.5px;
}
.pqff-footnote{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:9px;
  padding:0 2px;
  color:var(--pqff-muted);
  font-size:8px;
  line-height:1.3;
}
.pqff-empty{
  display:grid;
  place-items:center;
  min-height:72px;
  padding:10px;
  border:1px dashed rgba(76,140,255,.2);
  border-radius:12px;
  color:var(--pqff-muted)!important;
  font-size:9px;
  text-align:center;
}
.pqff-loading,
.pqff-error{
  min-height:420px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  text-align:center;
}
.pqff-loading span{
  width:44px;height:44px;border-radius:50%;
  border:2px solid rgba(40,217,245,.15);
  border-top-color:var(--pqff-cyan);
  animation:pqffSpin .9s linear infinite;
}
@keyframes pqffSpin{to{transform:rotate(360deg)}}
.pqff-loading strong,
.pqff-error strong{color:var(--pqff-text)!important}
.pqff-loading p,
.pqff-error p{margin:0;color:var(--pqff-muted)!important;font-size:11px}
.pqff-error button{
  min-height:40px!important;padding:8px 13px!important;border-radius:10px!important;
  border:1px solid rgba(40,217,245,.4)!important;background:rgba(40,217,245,.08)!important;color:var(--pqff-cyan)!important;
}

/* Mobile keeps the A -> B -> C reading order without horizontal scrolling. */
@media(max-width:760px){
  .pq-finance-flow-v1{
    margin:0;
    padding:10px;
    border-radius:18px;
  }
  .pqff-head{
    align-items:flex-start;
    gap:8px;
  }
  .pqff-title{gap:8px}
  .pqff-title-icon{width:38px;height:38px;flex-basis:38px;border-radius:11px;font-size:19px}
  .pqff-title h2{font-size:19px}
  .pqff-title p{font-size:9px;max-width:240px}
  .pqff-month{
    display:block;
    text-transform:none;
    letter-spacing:0;
  }
  .pqff-month>span{display:none}
  .pqff-month input{
    width:112px!important;
    min-height:38px!important;
    font-size:10px!important;
    padding:7px!important;
  }
  .pqff-kpis{gap:6px}
  .pqff-kpis article{padding:8px 7px;border-radius:11px}
  .pqff-kpis span{font-size:7.5px;letter-spacing:.03em}
  .pqff-kpis strong{font-size:15px}
  .pqff-kpis small{font-size:7px}
  .pqff-flow-stage{
    grid-template-columns:minmax(0,30fr) minmax(0,32fr) minmax(0,38fr);
    gap:5px;
    min-height:590px;
    padding:10px 6px 9px;
    border-radius:15px;
  }
  .pqff-col{gap:6px}
  .pqff-col h3{font-size:8.5px;letter-spacing:.04em}
  .pqff-col>p{font-size:6.8px;min-height:16px}
  .pqff-node{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:5px!important;
    min-height:58px!important;
    padding:6px 5px!important;
    border-radius:10px!important;
  }
  .pqff-node-icon{width:22px;height:22px;border-radius:7px;font-size:12px}
  .pqff-node-copy{gap:1px 3px}
  .pqff-node-copy strong{font-size:8.5px}
  .pqff-node-copy b{font-size:9px}
  .pqff-node-copy small{font-size:6.6px}
  .pqff-node-copy i{height:2px;margin-top:2px}
  .pqff-account-node{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:5px!important;
    min-height:92px!important;
    margin:70px auto 0!important;
    padding:7px 5px!important;
    border-radius:11px!important;
  }
  .pqff-account-node.secondary{min-height:70px!important;margin:0 auto!important}
  .pqff-account-icon{width:30px;height:30px;border-radius:9px;font-size:16px}
  .pqff-account-node small,
  .pqff-secondary-account small{font-size:6.5px}
  .pqff-account-node strong,
  .pqff-secondary-account strong{font-size:9px}
  .pqff-account-node b,
  .pqff-secondary-account b{font-size:11px}
  .pqff-account-node em,
  .pqff-secondary-account em{font-size:6.2px}
  .pqff-secondary-account{
    grid-template-columns:23px minmax(0,1fr)!important;
    gap:4px!important;
    min-height:58px!important;
    padding:5px!important;
    border-radius:9px!important;
  }
  .pqff-secondary-account>span:first-child{width:23px;height:23px;border-radius:7px;font-size:12px}
  .pqff-sankey{inset:40px 0 0;height:calc(100% - 40px)}
  .pqff-flow-line{stroke-width:3.5;stroke-dasharray:7 13}
  .pqff-summary-cards{gap:6px;margin:8px 0}
  .pqff-summary-cards article{
    grid-template-columns:25px minmax(0,1fr);
    gap:5px;
    padding:7px 6px;
    border-radius:11px;
  }
  .pqff-summary-cards .icon{width:25px;height:25px;border-radius:8px;font-size:13px}
  .pqff-summary-cards small{font-size:6.8px}
  .pqff-summary-cards strong{font-size:13px}
  .pqff-summary-cards em{font-size:6px}
  .pqff-summary-cards .interest strong{font-size:8px;gap:4px;display:grid}
  .pqff-timeline{padding:8px;border-radius:12px;gap:6px}
  .pqff-timeline-head strong{font-size:9px}
  .pqff-timeline-head small{font-size:6.6px}
  .pqff-timeline-now{font-size:6.5px;gap:4px}
  .pqff-timeline-now b{font-size:8px}
  .pqff-timeline-controls{grid-template-columns:34px minmax(0,1fr);gap:5px}
  .pqff-play{width:34px!important;height:34px!important;min-height:34px!important;font-size:10px}
  .pqff-bars{height:46px;gap:1px}
  .pqff-day{height:46px!important;min-height:46px!important}
  .pqff-range{width:calc(100% - 39px)!important;margin-left:39px}
  .pqff-bottom{grid-template-columns:minmax(0,1.45fr) minmax(125px,.75fr);gap:6px;margin-top:8px}
  .pqff-recent{padding:7px;border-radius:12px}
  .pqff-panel-head strong{font-size:9px}
  .pqff-panel-head button,.pqff-footnote button{font-size:7px!important}
  .pqff-recent-row{
    grid-template-columns:31px minmax(0,.8fr) 10px minmax(0,1fr) auto!important;
    gap:3px!important;
    min-height:29px!important;
    padding:4px 1px!important;
  }
  .pqff-recent-row span{font-size:6.5px}
  .pqff-recent-row strong,.pqff-recent-row b{font-size:7px}
  .pqff-recent-row i{font-size:7px}
  .pqff-recent-row em{font-size:7.5px}
  .pqff-status{
    grid-template-columns:52px minmax(0,1fr);
    gap:5px;
    padding:7px;
    border-radius:12px;
  }
  .pqff-status>button{display:none!important}
  .pqff-status strong{font-size:8.5px}
  .pqff-status p{font-size:6.6px}
  .pqff-budget-meter{width:44px;height:44px}
  .pqff-budget-meter:after{inset:5px}
  .pqff-budget-meter b{font-size:8px}
  .pqff-status>div:first-child>small{font-size:5.8px}
  .pqff-footnote{font-size:6.4px;gap:5px}
}
@media(max-width:430px){
  .pq-finance-flow-v1{padding:8px}
  .pqff-flow-stage{min-height:560px;padding-left:4px;padding-right:4px}
  .pqff-title p{max-width:190px}
  .pqff-month input{width:98px!important}
  .pqff-node{grid-template-columns:18px minmax(0,1fr)!important;padding-left:4px!important;padding-right:4px!important}
  .pqff-node-icon{width:18px;height:18px;font-size:10px}
  .pqff-node-copy strong{font-size:7.8px}
  .pqff-node-copy b{font-size:8.2px}
  .pqff-node-copy small{font-size:6.1px}
  .pqff-account-node{grid-template-columns:26px minmax(0,1fr)!important;padding:6px 4px!important}
  .pqff-account-icon{width:26px;height:26px}
  .pqff-account-node strong,.pqff-secondary-account strong{font-size:8.2px}
  .pqff-account-node b,.pqff-secondary-account b{font-size:9.5px}
  .pqff-bottom{grid-template-columns:1fr}
  .pqff-status{grid-template-columns:52px minmax(0,1fr) 22px}
  .pqff-status>button{display:grid!important}
}
/* Respect motion preferences without lying about data state. */
@media(prefers-reduced-motion:reduce){
  .pqff-flow-line,
  .pqff-core-pulse,
  .pqff-play.playing,
  .pqff-loading span{
    animation:none!important;
  }
  .pqff-node,
  .pqff-account-node,
  .pqff-secondary-account{
    transition:none!important;
  }
}
