/* ==========================================================
   Financial Planning V1 - LAB
   Solo interfaz.
   ========================================================== */

.fpv1{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.fpv1-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
}

.fpv1-topline small{
  display:block;
  font-size:11px;
  opacity:.58;
  margin-bottom:3px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.fpv1-topline h3{
  margin:0;
  font-size:21px;
}

.fpv1-topline p{
  margin:5px 0 0;
  font-size:12px;
  opacity:.66;
}

.fpv1-refresh{
  border:1px solid rgba(148,163,184,.24);
  background:transparent;
  color:inherit;
  border-radius:10px;
  padding:8px 11px;
  cursor:pointer;
  font:inherit;
  font-size:12px;
}

.fpv1-source{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.fpv1-source span{
  border-radius:999px;
  padding:5px 8px;
  font-size:9px;
  letter-spacing:.04em;
  background:rgba(34,197,94,.09);
  border:1px solid rgba(34,197,94,.16);
}

.fpv1-section{
  border:1px solid rgba(148,163,184,.18);
  border-radius:17px;
  padding:15px;
  background:rgba(148,163,184,.035);
}

.fpv1-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:12px;
}

.fpv1-section-head small{
  display:block;
  font-size:10px;
  opacity:.58;
  margin-bottom:3px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.fpv1-section-head h4{
  margin:0;
  font-size:16px;
}

.fpv1-section-head>span{
  font-size:11px;
  opacity:.58;
}

.fpv1-metrics{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));
  gap:9px;
}

.fpv1-metrics-3{
  grid-template-columns:
    repeat(3,minmax(0,1fr));
}

.fpv1-metrics article{
  border:1px solid rgba(148,163,184,.16);
  border-radius:13px;
  padding:12px;
  background:rgba(255,255,255,.025);
}

.fpv1-metrics article.is-main{
  background:rgba(37,99,235,.07);
  border-color:rgba(37,99,235,.16);
}

.fpv1-metrics span{
  display:block;
  font-size:10px;
  opacity:.60;
  margin-bottom:5px;
}

.fpv1-metrics strong{
  display:block;
  font-size:17px;
}

.fpv1-scenarios{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:9px;
}

.fpv1-scenario{
  border:1px solid rgba(148,163,184,.17);
  border-radius:14px;
  padding:13px;
  background:rgba(255,255,255,.025);
}

.fpv1-scenario>span{
  display:block;
  font-size:11px;
  opacity:.64;
}

.fpv1-scenario>strong{
  display:block;
  font-size:21px;
  margin-top:4px;
}

.fpv1-scenario>small{
  display:block;
  font-size:10px;
  opacity:.52;
  margin-top:2px;
}

.fpv1-scenario.is-safe{
  border-color:rgba(34,197,94,.20);
}

.fpv1-scenario.is-central{
  border-color:rgba(37,99,235,.23);
  background:rgba(37,99,235,.055);
}

.fpv1-scenario.is-strong{
  border-color:rgba(14,165,233,.20);
}

.fpv1-scenario-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}

.fpv1-scenario-grid div{
  border-top:1px dashed rgba(148,163,184,.19);
  padding-top:7px;
}

.fpv1-scenario-grid b{
  display:block;
  font-size:12px;
}

.fpv1-scenario-grid small{
  display:block;
  font-size:9px;
  opacity:.52;
  margin-top:2px;
}

.fpv1-note{
  font-size:11px;
  line-height:1.45;
  opacity:.62;
  margin:11px 0 0;
}

.fpv1-grid2{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:8px;
}

.fpv1-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:
    1px dashed rgba(148,163,184,.17);
  padding:8px 0;
}

.fpv1-line span{
  font-size:11px;
  opacity:.67;
}

.fpv1-line b{
  font-size:13px;
}

.fpv1-days{
  display:flex;
  flex-direction:column;
}

.fpv1-day{
  display:grid;
  grid-template-columns:
    minmax(120px,1.3fr)
    repeat(3,minmax(100px,1fr));
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:
    1px solid rgba(148,163,184,.12);
}

.fpv1-day:last-child{
  border-bottom:0;
}

.fpv1-day strong,
.fpv1-day b{
  display:block;
  font-size:12px;
}

.fpv1-day span,
.fpv1-day small{
  display:block;
  font-size:9px;
  opacity:.55;
  margin-bottom:2px;
}

.fpv1-mini{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.fpv1-minirow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:8px 0;
  border-bottom:
    1px dashed rgba(148,163,184,.16);
}

.fpv1-minirow:last-child{
  border-bottom:0;
}

.fpv1-minirow strong{
  display:block;
  font-size:12px;
}

.fpv1-minirow small{
  display:block;
  font-size:9px;
  opacity:.55;
  margin-top:2px;
}

.fpv1-minirow>span{
  flex:0 0 auto;
  font-size:11px;
}

.fpv1-foot{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  font-size:9px;
  opacity:.55;
  padding:3px 2px 10px;
}

.fpv1-error{
  border:1px solid rgba(239,68,68,.22);
  background:rgba(239,68,68,.06);
  border-radius:15px;
  padding:15px;
}

.fpv1-error strong{
  display:block;
  margin-bottom:4px;
}

.fpv1-error span{
  font-size:12px;
  opacity:.7;
}

@media(max-width:760px){
  .fpv1-metrics,
  .fpv1-metrics-3,
  .fpv1-scenarios{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .fpv1-day{
    grid-template-columns:
      1fr 1fr;
  }
}

@media(max-width:480px){
  .fpv1-metrics,
  .fpv1-metrics-3,
  .fpv1-scenarios,
  .fpv1-grid2{
    grid-template-columns:1fr;
  }

  .fpv1-topline{
    align-items:center;
  }

  .fpv1-day{
    grid-template-columns:
      1fr 1fr;
  }
}

/* ==========================================================
   Financial Planning V1.1
   Decisión inmediata de reembolso
   ========================================================== */

.fpv1-now{
  border:1px solid rgba(148,163,184,.20);
  border-radius:17px;
  padding:16px;
  background:rgba(148,163,184,.035);
}

.fpv1-now.is-wait{
  border-color:rgba(245,158,11,.28);
  background:rgba(245,158,11,.055);
}

.fpv1-now.is-go{
  border-color:rgba(34,197,94,.30);
  background:rgba(34,197,94,.055);
}

.fpv1-now.is-neutral{
  border-color:rgba(59,130,246,.24);
  background:rgba(59,130,246,.045);
}

.fpv1-now-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.fpv1-now-top small{
  display:block;
  font-size:10px;
  letter-spacing:.07em;
  opacity:.58;
}

.fpv1-now-top h4{
  margin:4px 0 0;
  font-size:18px;
}

.fpv1-now-status{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 9px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  background:rgba(148,163,184,.13);
}

.fpv1-now.is-wait .fpv1-now-status{
  background:rgba(245,158,11,.14);
}

.fpv1-now.is-go .fpv1-now-status{
  background:rgba(34,197,94,.14);
}

.fpv1-now-main{
  display:grid;
  grid-template-columns:
    minmax(210px,.9fr)
    minmax(0,2fr);
  gap:18px;
  margin-top:16px;
  align-items:center;
}

.fpv1-now-main>div:first-child>span{
  display:block;
  font-size:11px;
  opacity:.62;
}

.fpv1-now-main>div:first-child>strong{
  display:block;
  margin-top:3px;
  font-size:30px;
  line-height:1.1;
}

.fpv1-now-main>div:first-child>small{
  display:block;
  margin-top:5px;
  font-size:9px;
  opacity:.52;
}

.fpv1-now-detail{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:8px;
}

.fpv1-now-detail div{
  border-left:
    1px solid rgba(148,163,184,.18);
  padding-left:11px;
}

.fpv1-now-detail span{
  display:block;
  font-size:9px;
  opacity:.57;
}

.fpv1-now-detail b{
  display:block;
  margin-top:3px;
  font-size:13px;
}

.fpv1-now-detail small{
  display:block;
  margin-top:2px;
  font-size:8px;
  opacity:.48;
}

.fpv1-now-reason{
  margin:14px 0 0;
  padding-top:11px;
  border-top:
    1px dashed rgba(148,163,184,.19);
  font-size:11px;
  line-height:1.45;
  opacity:.74;
}

.fpv1-now-refresh{
  display:block;
  margin-top:6px;
  font-size:9px;
  opacity:.46;
}

@media(max-width:680px){
  .fpv1-now-main{
    grid-template-columns:1fr;
  }

  .fpv1-now-detail{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:430px){
  .fpv1-now-detail{
    grid-template-columns:1fr;
  }
}

/* ==========================================================
   Financial Planning V1.1
   Decisión inmediata de reembolso
   ========================================================== */

.fpv1-now{
  border:1px solid rgba(148,163,184,.20);
  border-radius:17px;
  padding:16px;
  background:rgba(148,163,184,.035);
}

.fpv1-now.is-wait{
  border-color:rgba(245,158,11,.28);
  background:rgba(245,158,11,.055);
}

.fpv1-now.is-go{
  border-color:rgba(34,197,94,.30);
  background:rgba(34,197,94,.055);
}

.fpv1-now.is-neutral{
  border-color:rgba(59,130,246,.24);
  background:rgba(59,130,246,.045);
}

.fpv1-now-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.fpv1-now-top small{
  display:block;
  font-size:10px;
  letter-spacing:.07em;
  opacity:.58;
}

.fpv1-now-top h4{
  margin:4px 0 0;
  font-size:18px;
}

.fpv1-now-status{
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 9px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  background:rgba(148,163,184,.13);
}

.fpv1-now.is-wait .fpv1-now-status{
  background:rgba(245,158,11,.14);
}

.fpv1-now.is-go .fpv1-now-status{
  background:rgba(34,197,94,.14);
}

.fpv1-now-main{
  display:grid;
  grid-template-columns:
    minmax(210px,.9fr)
    minmax(0,2fr);
  gap:18px;
  margin-top:16px;
  align-items:center;
}

.fpv1-now-main>div:first-child>span{
  display:block;
  font-size:11px;
  opacity:.62;
}

.fpv1-now-main>div:first-child>strong{
  display:block;
  margin-top:3px;
  font-size:30px;
  line-height:1.1;
}

.fpv1-now-main>div:first-child>small{
  display:block;
  margin-top:5px;
  font-size:9px;
  opacity:.52;
}

.fpv1-now-detail{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:8px;
}

.fpv1-now-detail div{
  border-left:
    1px solid rgba(148,163,184,.18);
  padding-left:11px;
}

.fpv1-now-detail span{
  display:block;
  font-size:9px;
  opacity:.57;
}

.fpv1-now-detail b{
  display:block;
  margin-top:3px;
  font-size:13px;
}

.fpv1-now-detail small{
  display:block;
  margin-top:2px;
  font-size:8px;
  opacity:.48;
}

.fpv1-now-reason{
  margin:14px 0 0;
  padding-top:11px;
  border-top:
    1px dashed rgba(148,163,184,.19);
  font-size:11px;
  line-height:1.45;
  opacity:.74;
}

.fpv1-now-refresh{
  display:block;
  margin-top:6px;
  font-size:9px;
  opacity:.46;
}

@media(max-width:680px){
  .fpv1-now-main{
    grid-template-columns:1fr;
  }

  .fpv1-now-detail{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:430px){
  .fpv1-now-detail{
    grid-template-columns:1fr;
  }
}


/* FPV1 CONTRAST FIX R1
   El panel de Planeación tiene contenido claro,
   pero el tema general puede heredar títulos blancos.
*/
.fpv1{
  color:#111827;
}

.fpv1-topline h3,
.fpv1-section-head h4,
.fpv1-now-top h4{
  color:#111827 !important;
}

.fpv1-topline p,
.fpv1-section-head small,
.fpv1-section-head > span,
.fpv1-now-top small,
.fpv1-now-main span,
.fpv1-now-main small,
.fpv1-now-reason,
.fpv1-now-refresh{
  color:#475569;
}

.fpv1-now-main strong,
.fpv1-now-detail b,
.fpv1-metrics strong,
.fpv1-line b,
.fpv1-day strong,
.fpv1-day b,
.fpv1-minirow strong{
  color:#111827;
}

.fpv1-now-status{
  color:#111827;
}



/* FPV1 UNLOCK GAP V1 */

.fpv1-unlock{
  margin-top:12px;
  padding-top:10px;
  border-top:
    1px dashed rgba(148,163,184,.22);
}

.fpv1-unlock span{
  display:block;
  font-size:9px;
  color:#64748b;
}

.fpv1-unlock strong{
  display:block;
  margin-top:2px;
  font-size:18px !important;
  color:#b45309 !important;
}

.fpv1-unlock small{
  display:block;
  margin-top:1px;
  font-size:9px;
  color:#64748b;
}

.fpv1-unlock.is-ready strong{
  color:#15803d !important;
}



/* FPV1 TEXT VISIBILITY R2
   Corrige temas globales que usan text-fill-color.
*/

#ppv1PlanningOverlay .fpv1 .fpv1-topline h3,
#ppv1PlanningOverlay .fpv1 .fpv1-now-top h4,
#ppv1PlanningOverlay .fpv1 .fpv1-section-head h4{
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

#ppv1PlanningOverlay .fpv1 .fpv1-topline small,
#ppv1PlanningOverlay .fpv1 .fpv1-now-top small,
#ppv1PlanningOverlay .fpv1 .fpv1-section-head small{
  color:#64748b !important;
  -webkit-text-fill-color:#64748b !important;
  opacity:1 !important;
}

#ppv1PlanningOverlay .fpv1 .fpv1-now-status{
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
}



/* FPV1 SIMPLE TODAY V1 */

.fpv1-today{
  border:1px solid rgba(37,99,235,.18);
  border-radius:18px;
  padding:17px;
  background:
    linear-gradient(
      135deg,
      rgba(37,99,235,.045),
      rgba(14,165,233,.018)
    );
}

.fpv1-today-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.fpv1-today-head small{
  display:block;
  font-size:10px;
  letter-spacing:.07em;
  color:#64748b;
}

.fpv1-today-head h4{
  margin:3px 0 0;
  font-size:19px;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

.fpv1-today-head>span{
  font-size:11px;
  color:#64748b;
}

.fpv1-today-cards{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
}

.fpv1-action-card{
  border:1px solid rgba(148,163,184,.17);
  border-radius:15px;
  padding:14px;
  background:#fff;
}

.fpv1-action-card>span{
  display:block;
  font-size:11px;
  color:#64748b;
}

.fpv1-action-card>strong{
  display:block;
  margin-top:4px;
  font-size:25px;
  line-height:1.05;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

.fpv1-action-card>small{
  display:block;
  margin-top:5px;
  font-size:9px;
  color:#64748b;
}

.fpv1-action-card.is-purchase{
  border-color:rgba(37,99,235,.24);
}

.fpv1-action-card.is-reimburse{
  border-color:rgba(245,158,11,.24);
}

.fpv1-action-card.is-money{
  border-color:rgba(34,197,94,.22);
}


.fpv1-horizon{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:11px;
}

.fpv1-horizon>div{
  padding:10px 12px;
  border-radius:12px;
  background:rgba(148,163,184,.07);
}

.fpv1-horizon span{
  display:block;
  font-size:9px;
  color:#64748b;
}

.fpv1-horizon strong{
  display:block;
  margin-top:2px;
  font-size:15px;
  color:#111827;
}

.fpv1-horizon small{
  display:block;
  margin-top:2px;
  font-size:8px;
  color:#94a3b8;
}


.fpv1-today-message{
  margin-top:12px;
  padding:10px 12px;
  border-radius:11px;
  background:rgba(15,23,42,.035);
  font-size:11px;
  line-height:1.45;
  color:#475569;
}


.fpv1-buy-today{
  margin-top:13px;
  border-top:
    1px dashed rgba(148,163,184,.20);
  padding-top:11px;
}

.fpv1-buy-today-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:4px;
}

.fpv1-buy-today-head strong{
  font-size:12px;
  color:#111827;
}

.fpv1-buy-today-head small{
  font-size:9px;
  color:#94a3b8;
}

.fpv1-buy-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:8px 0;
  border-bottom:
    1px solid rgba(148,163,184,.10);
}

.fpv1-buy-row:last-child{
  border-bottom:0;
}

.fpv1-buy-row strong{
  display:block;
  font-size:11px;
  color:#111827;
}

.fpv1-buy-row small{
  display:block;
  margin-top:2px;
  font-size:9px;
  color:#64748b;
}

.fpv1-buy-row>b{
  flex:0 0 auto;
  font-size:11px;
  color:#111827;
}

.fpv1-more{
  display:block;
  margin-top:7px;
  font-size:9px;
  color:#64748b;
}


@media(max-width:700px){

  .fpv1-today-cards{
    grid-template-columns:1fr;
  }

  .fpv1-horizon{
    grid-template-columns:1fr 1fr;
  }

}


@media(max-width:430px){

  .fpv1-horizon{
    grid-template-columns:1fr;
  }

}


/* ==========================================================
   PLANEACION SIMPLE VISUAL V2
   ========================================================== */

.fpv1-today-main{
  display:grid;
  grid-template-columns:
    minmax(0,1.7fr)
    minmax(220px,.8fr);
  gap:11px;
}

.fpv1-primary-action{
  display:flex;
  gap:14px;
  align-items:flex-start;
  border:1px solid rgba(37,99,235,.20);
  border-radius:16px;
  padding:16px;
  background:
    linear-gradient(
      135deg,
      rgba(37,99,235,.08),
      rgba(14,165,233,.035)
    );
}

.fpv1-primary-icon{
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:rgba(37,99,235,.12);
  font-size:21px;
}

.fpv1-primary-content{
  min-width:0;
}

.fpv1-primary-content>span{
  display:block;
  font-size:10px;
  letter-spacing:.07em;
  font-weight:700;
  color:#2563eb;
}

.fpv1-primary-content>strong{
  display:block;
  margin-top:4px;
  font-size:31px;
  line-height:1.05;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

.fpv1-primary-content>small{
  display:block;
  margin-top:6px;
  max-width:390px;
  font-size:10px;
  line-height:1.35;
  color:#64748b;
}

.fpv1-primary-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:10px;
}

.fpv1-primary-tags span{
  border-radius:999px;
  padding:4px 7px;
  font-size:9px;
  background:rgba(34,197,94,.10);
  color:#166534;
}

.fpv1-primary-tags span.is-warning{
  background:rgba(245,158,11,.13);
  color:#92400e;
}


.fpv1-today-side{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.fpv1-simple-value{
  border:1px solid rgba(148,163,184,.17);
  border-radius:14px;
  padding:12px 13px;
  background:#fff;
}

.fpv1-simple-value span{
  display:block;
  font-size:9px;
  color:#64748b;
}

.fpv1-simple-value strong{
  display:block;
  margin-top:3px;
  font-size:19px;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

.fpv1-simple-value small{
  display:block;
  margin-top:3px;
  font-size:8px;
  line-height:1.3;
  color:#94a3b8;
}


.fpv1-reimburse-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:11px;
  border-radius:12px;
  padding:10px 12px;
  background:rgba(245,158,11,.075);
}

.fpv1-reimburse-strip>div{
  flex:0 0 auto;
}

.fpv1-reimburse-strip span{
  display:block;
  font-size:9px;
  color:#92400e;
}

.fpv1-reimburse-strip strong{
  display:block;
  margin-top:2px;
  font-size:17px;
  color:#111827;
}

.fpv1-reimburse-strip p{
  margin:0;
  font-size:10px;
  line-height:1.35;
  color:#64748b;
  text-align:right;
}


.fpv1-plan7{
  margin-top:12px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:15px;
  padding:13px;
  background:#fff;
}

.fpv1-plan7-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.fpv1-plan7-head span{
  display:block;
  font-size:9px;
  letter-spacing:.06em;
  color:#64748b;
}

.fpv1-plan7-head strong{
  display:block;
  margin-top:2px;
  font-size:14px;
  color:#111827;
}

.fpv1-plan7-head>b{
  font-size:12px;
  color:#111827;
}


.fpv1-timeline{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:11px;
}

.fpv1-timeline>div{
  position:relative;
  border-radius:12px;
  padding:11px;
  background:rgba(148,163,184,.07);
}

.fpv1-timeline>div.is-today{
  background:rgba(37,99,235,.09);
}

.fpv1-timeline span{
  display:block;
  font-size:8px;
  font-weight:700;
  letter-spacing:.05em;
  color:#64748b;
}

.fpv1-timeline strong{
  display:block;
  margin-top:3px;
  font-size:16px;
  color:#111827;
}

.fpv1-timeline small{
  display:block;
  margin-top:2px;
  font-size:8px;
  color:#94a3b8;
}


.fpv1-plan7-foot{
  display:flex;
  flex-wrap:wrap;
  gap:5px 14px;
  margin-top:10px;
  padding-top:9px;
  border-top:
    1px dashed rgba(148,163,184,.18);
}

.fpv1-plan7-foot span{
  font-size:9px;
  color:#64748b;
}


@media(max-width:720px){

  .fpv1-today-main{
    grid-template-columns:1fr;
  }

  .fpv1-today-side{
    grid-template-columns:1fr 1fr;
  }

}


@media(max-width:520px){

  .fpv1-today-side,
  .fpv1-timeline{
    grid-template-columns:1fr;
  }

  .fpv1-reimburse-strip{
    align-items:flex-start;
    flex-direction:column;
  }

  .fpv1-reimburse-strip p{
    text-align:left;
  }

}


/* ==========================================================
   CAPITAL V2 UI
   ========================================================== */

.fpv1-capital-reserve{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:13px;
  padding:11px 13px;
  border:1px solid rgba(245,158,11,.22);
  border-radius:12px;
  background:rgba(245,158,11,.055);
}

.fpv1-capital-reserve>div{
  flex:0 0 auto;
}

.fpv1-capital-reserve span{
  display:block;
  font-size:8px;
  letter-spacing:.07em;
  color:#92400e;
}

.fpv1-capital-reserve strong{
  display:block;
  margin-top:2px;
  font-size:17px;
  color:#111827;
}

.fpv1-capital-reserve>small{
  display:block;
  max-width:520px;
  font-size:9px;
  line-height:1.45;
  color:#64748b;
}


.fpv1-capital-box{
  margin-top:14px;
  padding-top:12px;
  border-top:
    1px dashed rgba(148,163,184,.22);
}

.fpv1-capital-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:6px;
}

.fpv1-capital-head strong{
  display:block;
  font-size:12px;
  color:#111827;
}

.fpv1-capital-head small{
  display:block;
  margin-top:2px;
  font-size:9px;
  line-height:1.4;
  color:#64748b;
}

.fpv1-capital-head>span{
  flex:0 0 auto;
  font-size:9px;
  color:#94a3b8;
}


.fpv1-capital-list{
  margin-top:7px;
}

.fpv1-capital-row{
  display:grid;
  grid-template-columns:
    92px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 0;
  border-bottom:
    1px solid rgba(148,163,184,.10);
}

.fpv1-capital-row:last-child{
  border-bottom:0;
}

.fpv1-capital-main{
  min-width:0;
}

.fpv1-capital-main strong{
  display:block;
  font-size:11px;
  color:#111827;
}

.fpv1-capital-main small{
  display:block;
  margin-top:2px;
  font-size:9px;
  line-height:1.4;
  color:#64748b;
}

.fpv1-capital-row>b{
  flex:0 0 auto;
  font-size:11px;
  color:#111827;
}


.fpv1-capital-badge{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:23px;
  padding:4px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
}

.fpv1-capital-badge.is-now{
  background:rgba(239,68,68,.09);
  color:#b91c1c;
}

.fpv1-capital-badge.is-week{
  background:rgba(245,158,11,.10);
  color:#92400e;
}

.fpv1-capital-badge.is-program{
  background:rgba(37,99,235,.08);
  color:#1d4ed8;
}

.fpv1-capital-badge.is-wait{
  background:rgba(100,116,139,.09);
  color:#475569;
}


.fpv1-capital-foot{
  display:block;
  margin-top:8px;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(148,163,184,.07);
  font-size:9px;
  line-height:1.4;
  color:#64748b;
}


@media(max-width:700px){

  .fpv1-capital-reserve{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .fpv1-capital-row{
    grid-template-columns:
      minmax(0,1fr) auto;
  }

  .fpv1-capital-badge{
    grid-column:1 / -1;
    justify-self:start;
  }

}


@media(max-width:430px){

  .fpv1-capital-head{
    flex-direction:column;
    gap:4px;
  }

}

/* ==========================================================
   /CAPITAL V2 UI
   ========================================================== */


/* ==========================================================
   SHOPPING UI V1
   ========================================================== */

/*
  La lista anterior de "Primero atender"
  se oculta en Flujo para evitar duplicar
  información. Los datos técnicos siguen
  disponibles en Análisis.
*/
.fpv1-buy-today{
  display:none;
}


.fpv1-shopping{
  margin-top:14px;
  padding-top:13px;
  border-top:
    1px dashed rgba(148,163,184,.22);
}


.fpv1-shopping-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}


.fpv1-shopping-head>div>small{
  display:block;
  font-size:9px;
  letter-spacing:.07em;
  color:#64748b;
}


.fpv1-shopping-head h4{
  margin:3px 0 0;
  font-size:18px;
  color:#111827;
}


.fpv1-shopping-head p{
  margin:4px 0 0;
  font-size:10px;
  color:#64748b;
}


.fpv1-brand-filter{
  flex:0 0 auto;
}


.fpv1-brand-filter span{
  display:block;
  margin-bottom:3px;
  font-size:8px;
  color:#64748b;
}


.fpv1-brand-filter select{
  min-width:140px;
  padding:7px 9px;
  border:
    1px solid rgba(148,163,184,.24);
  border-radius:9px;
  background:#fff;
  font-size:10px;
  color:#111827;
}


.fpv1-shopping-summary{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}


.fpv1-shopping-summary>div{
  padding:10px 11px;
  border:
    1px solid rgba(148,163,184,.16);
  border-radius:11px;
  background:#fff;
}


.fpv1-shopping-summary span{
  display:block;
  font-size:8px;
  letter-spacing:.05em;
  color:#64748b;
}


.fpv1-shopping-summary strong{
  display:block;
  margin-top:3px;
  font-size:15px;
  color:#111827;
}


.fpv1-shopping-summary small{
  display:block;
  margin-top:2px;
  font-size:8px;
  line-height:1.3;
  color:#64748b;
}


.fpv1-shopping-summary .is-buy{
  border-color:
    rgba(37,99,235,.20);
}


.fpv1-shopping-summary .is-quote{
  border-color:
    rgba(245,158,11,.24);
}


.fpv1-shopping-summary .is-reserved{
  border-color:
    rgba(100,116,139,.20);
}


.fpv1-shop-section{
  margin-top:15px;
}


.fpv1-shop-section-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:6px;
}


.fpv1-shop-section-head strong{
  font-size:12px;
  color:#111827;
}


.fpv1-shop-section-head small{
  font-size:8px;
  color:#94a3b8;
}


.fpv1-shop-section.is-quote{
  margin-top:18px;
  padding-top:12px;
  border-top:
    1px dashed rgba(245,158,11,.22);
}


.fpv1-shop-brand{
  margin-top:9px;
  overflow:hidden;
  border:
    1px solid rgba(148,163,184,.14);
  border-radius:12px;
  background:#fff;
}


.fpv1-shop-brand-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  background:
    rgba(148,163,184,.055);
}


.fpv1-shop-brand-head strong{
  font-size:11px;
  color:#111827;
}


.fpv1-shop-brand-head small{
  font-size:8px;
  color:#64748b;
}


.fpv1-shop-items{
  padding:0 11px;
}


.fpv1-shop-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border-bottom:
    1px solid rgba(148,163,184,.10);
}


.fpv1-shop-item:last-child{
  border-bottom:0;
}


.fpv1-shop-item>div{
  min-width:0;
}


.fpv1-shop-item strong{
  display:block;
  font-size:11px;
  line-height:1.3;
  color:#111827;
}


.fpv1-shop-item small{
  display:block;
  margin-top:2px;
  font-size:8px;
  color:#94a3b8;
}


.fpv1-shop-item>b{
  flex:0 0 auto;
  font-size:12px;
  text-align:right;
  color:#111827;
}


.fpv1-shop-later{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:14px;
  padding:9px 11px;
  border-radius:10px;
  background:
    rgba(148,163,184,.06);
}


.fpv1-shop-later strong{
  flex:0 0 auto;
  font-size:9px;
  color:#475569;
}


.fpv1-shop-later span{
  font-size:9px;
  line-height:1.4;
  color:#64748b;
}


@media(max-width:700px){

  .fpv1-shopping-head{
    flex-direction:column;
  }

  .fpv1-brand-filter{
    width:100%;
  }

  .fpv1-brand-filter select{
    width:100%;
  }

  .fpv1-shopping-summary{
    grid-template-columns:
      1fr 1fr;
  }

}


@media(max-width:430px){

  .fpv1-shopping-summary{
    grid-template-columns:1fr;
  }

  .fpv1-shop-item{
    align-items:flex-start;
  }

}


/* ==========================================================
   /SHOPPING UI V1
   ========================================================== */


/* ==========================================================
   FLOW CLEAN UI V2
   ========================================================== */

/*
  Los bloques antiguos calculaban la "compra sugerida"
  con toda la necesidad de inventario y no con la decisión
  presupuestaria final.

  Se mantienen en código por compatibilidad, pero ya no se
  muestran.
*/
#ppv1PlanningOverlay .fpv1-today{
  display:none !important;
}

#ppv1PlanningOverlay .fpv1-now{
  display:none !important;
}

#ppv1PlanningOverlay .fpv1-shopping{
  display:none !important;
}


.fpv2-money{
  margin-top:14px;
  padding:20px;
  border:
    1px solid rgba(148,163,184,.20);
  border-radius:18px;
  background:#fff;
}


.fpv2-money-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}


.fpv2-money-head small{
  display:block;
  font-size:10px;
  letter-spacing:.06em;
  color:#64748b;
}


.fpv2-money-head h4{
  margin:4px 0 0;
  font-size:20px;
  color:#111827;
}


.fpv2-money-head>span{
  font-size:10px;
  color:#64748b;
}


.fpv2-money-grid{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}


.fpv2-money-grid article{
  padding:15px;
  border:
    1px solid rgba(148,163,184,.17);
  border-radius:14px;
}


.fpv2-money-grid article.is-liquid{
  border-color:
    rgba(34,197,94,.22);
}


.fpv2-money-grid article.is-buy{
  border-color:
    rgba(37,99,235,.22);
}


.fpv2-money-grid article.is-reserved{
  border-color:
    rgba(245,158,11,.25);
}


.fpv2-money-grid span{
  display:block;
  font-size:9px;
  letter-spacing:.05em;
  color:#64748b;
}


.fpv2-money-grid strong{
  display:block;
  margin-top:5px;
  font-size:25px;
  color:#111827;
}


.fpv2-money-grid small{
  display:block;
  margin-top:4px;
  font-size:9px;
  line-height:1.35;
  color:#64748b;
}


.fpv2-decision{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-top:14px;
  padding:18px 20px;
  border:
    1px solid rgba(245,158,11,.25);
  border-radius:16px;
  background:
    rgba(245,158,11,.045);
}


.fpv2-decision>div{
  min-width:0;
}


.fpv2-decision small{
  display:block;
  font-size:9px;
  letter-spacing:.06em;
  color:#92400e;
}


.fpv2-decision h4{
  margin:5px 0 0;
  font-size:18px;
  color:#111827;
}


.fpv2-decision p{
  margin:7px 0 0;
  max-width:850px;
  font-size:10px;
  line-height:1.5;
  color:#64748b;
}


.fpv2-decision-status{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  font-size:9px;
  font-weight:700;
}


.fpv2-decision-status.is-esperar{
  background:
    rgba(245,158,11,.12);
  color:#92400e;
}


.fpv2-decision-status.is-prioridad{
  background:
    rgba(239,68,68,.10);
  color:#b91c1c;
}


.fpv2-decision-status.is-listo{
  background:
    rgba(34,197,94,.10);
  color:#166534;
}


@media(max-width:700px){

  .fpv2-money-grid{
    grid-template-columns:1fr;
  }

  .fpv2-decision{
    flex-direction:column;
  }

}

/* ==========================================================
   /FLOW CLEAN UI V2
   ========================================================== */

/*
  La lista rápida pertenece a COMPRAS.
  Flujo conserva la información financiera.
*/
#ppv1PlanningOverlay .fpv1-shopping{
  display:none !important;
}



/* ==========================================================
   PLANEACION DARK · FLOW FIX V1
   Corrige residuos del antiguo tema claro.
   SOLO APARIENCIA.
   ========================================================== */

#ppv1PlanningOverlay .fpv1{
  color:#f8fafc !important;
}


/* ---------- TITULOS PRINCIPALES ---------- */

#ppv1PlanningOverlay .fpv1 .fpv1-topline h3,
#ppv1PlanningOverlay .fpv1 .fpv1-section-head h4,
#ppv1PlanningOverlay .fpv1 .fpv1-now-top h4,
#ppv1PlanningOverlay .fpv1 .fpv1-today-head h4{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
}


/* ---------- TEXTOS SECUNDARIOS ---------- */

#ppv1PlanningOverlay .fpv1 .fpv1-topline p,
#ppv1PlanningOverlay .fpv1 .fpv1-topline small,
#ppv1PlanningOverlay .fpv1 .fpv1-section-head small,
#ppv1PlanningOverlay .fpv1 .fpv1-section-head > span,
#ppv1PlanningOverlay .fpv1 .fpv1-now-top small,
#ppv1PlanningOverlay .fpv1 .fpv1-today-head small,
#ppv1PlanningOverlay .fpv1 .fpv1-today-head > span,
#ppv1PlanningOverlay .fpv1 .fpv1-now-main span,
#ppv1PlanningOverlay .fpv1 .fpv1-now-main small,
#ppv1PlanningOverlay .fpv1 .fpv1-now-reason,
#ppv1PlanningOverlay .fpv1 .fpv1-now-refresh{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


/* ---------- FLUJO DE HOY ---------- */

#ppv1PlanningOverlay .fpv1 .fpv1-today{
  background:#172235 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay .fpv1 .fpv1-action-card{
  background:#1b2738 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay .fpv1 .fpv1-action-card > span,
#ppv1PlanningOverlay .fpv1 .fpv1-action-card > small{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


#ppv1PlanningOverlay .fpv1 .fpv1-action-card > strong{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}


/* Mantener los colores semanticos del borde */

#ppv1PlanningOverlay
.fpv1 .fpv1-action-card.is-money{
  border-color:rgba(74,222,128,.35) !important;
}

#ppv1PlanningOverlay
.fpv1 .fpv1-action-card.is-purchase{
  border-color:rgba(96,165,250,.40) !important;
}

#ppv1PlanningOverlay
.fpv1 .fpv1-action-card.is-reimburse{
  border-color:rgba(251,191,36,.38) !important;
}


/* ---------- VALORES EN OTRAS SECCIONES ---------- */

#ppv1PlanningOverlay .fpv1 .fpv1-now-main strong,
#ppv1PlanningOverlay .fpv1 .fpv1-now-detail b,
#ppv1PlanningOverlay .fpv1 .fpv1-metrics strong,
#ppv1PlanningOverlay .fpv1 .fpv1-line b,
#ppv1PlanningOverlay .fpv1 .fpv1-day strong,
#ppv1PlanningOverlay .fpv1 .fpv1-day b,
#ppv1PlanningOverlay .fpv1 .fpv1-minirow strong,
#ppv1PlanningOverlay .fpv1 .fpv1-scenario strong,
#ppv1PlanningOverlay .fpv1 .fpv1-scenario b{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}


/* ---------- ESTADO / BADGES ---------- */

#ppv1PlanningOverlay .fpv1 .fpv1-now-status{
  color:#e2e8f0 !important;
  -webkit-text-fill-color:#e2e8f0 !important;
}


/* ==========================================================
   /PLANEACION DARK · FLOW FIX V1
   ========================================================== */



/* ==========================================================
   PLANEACION DARK · FLOW FIX V2
   FPV2 money + encabezados FPV1
   SOLO APARIENCIA
   ========================================================== */


/* ---------- DINERO DISPONIBLE Y COMPROMETIDO ---------- */

#ppv1PlanningOverlay .fpv2-money{
  background:#172235 !important;
  border-color:#334155 !important;
  color:#f8fafc !important;
}


#ppv1PlanningOverlay .fpv2-money-head small,
#ppv1PlanningOverlay .fpv2-money-head > span{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


#ppv1PlanningOverlay .fpv2-money-head h4{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
}


#ppv1PlanningOverlay .fpv2-money-grid article{
  background:#1b2738 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay
.fpv2-money-grid article > span,
#ppv1PlanningOverlay
.fpv2-money-grid article > small{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


#ppv1PlanningOverlay
.fpv2-money-grid article > strong{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
}


/* Colores semánticos de las tres tarjetas */

#ppv1PlanningOverlay
.fpv2-money-grid article.is-liquid{
  border-color:rgba(74,222,128,.36) !important;
}


#ppv1PlanningOverlay
.fpv2-money-grid article.is-buy{
  border-color:rgba(96,165,250,.42) !important;
}


#ppv1PlanningOverlay
.fpv2-money-grid article.is-reserved{
  border-color:rgba(251,191,36,.40) !important;
}


/* ---------- RESTO DE SECCIONES DE FLUJO ---------- */

#ppv1PlanningOverlay .fpv1-section{
  background:#172235 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay
.fpv1-section-head h4{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  opacity:1 !important;
}


#ppv1PlanningOverlay
.fpv1-section-head small,
#ppv1PlanningOverlay
.fpv1-section-head > span{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


/* Escenarios de reembolso */

#ppv1PlanningOverlay .fpv1-scenario{
  background:#1b2738 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay
.fpv1-scenario > span,
#ppv1PlanningOverlay
.fpv1-scenario small{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


#ppv1PlanningOverlay
.fpv1-scenario strong,
#ppv1PlanningOverlay
.fpv1-scenario b{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}


#ppv1PlanningOverlay
.fpv1-scenario.is-central{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(96,165,250,.42) !important;
}


/* Deuda y métricas */

#ppv1PlanningOverlay .fpv1-metrics article{
  background:#1b2738 !important;
  border-color:#334155 !important;
}


#ppv1PlanningOverlay
.fpv1-metrics article > span,
#ppv1PlanningOverlay
.fpv1-metrics article > small{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


#ppv1PlanningOverlay
.fpv1-metrics article > strong{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}


/* Notas */

#ppv1PlanningOverlay .fpv1-note{
  color:#94a3b8 !important;
  -webkit-text-fill-color:#94a3b8 !important;
}


/* ==========================================================
   /PLANEACION DARK · FLOW FIX V2
   ========================================================== */

