
:root{--cg-blue:#2E7E8A;--cg-blue2:#195E67;--cg-green:#2F7D57;--cg-green-dark:#123F2D;--cg-teal:#2E7E8A;--cg-gold:#D99B45;--cg-cream:#F8F4EA;--cg-cream-soft:#FFFDF8;--cg-red:#C45A3C;--cg-ink:#121814;--cg-muted:#59665C;--cg-card:rgba(255,253,248,.92);--cg-line:rgba(18,24,20,.12);--cg-shadow:0 24px 64px rgba(9,39,26,.14),0 8px 22px rgba(9,39,26,.08)}
.cg-calc-page{max-width:1060px;margin:0 auto 80px;padding:42px 18px 0;color:var(--cg-ink);font-family:Inter,"SF Pro Display",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;position:relative}
.cg-calc-page:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 12% 4%,rgba(47,125,87,.14),transparent 28rem),linear-gradient(180deg,var(--cg-cream-soft) 0%,var(--cg-cream) 100%)}
.cg-calc-top{display:flex;align-items:center;justify-content:center;gap:25px;text-align:left;margin:16px auto 14px}.cg-calc-title-icon{width:112px;height:112px;flex:0 0 112px}.cg-calc-title-icon .cg-tool-icon{width:112px;height:112px}
.cg-calc-top h1{margin:0;color:var(--cg-green-dark);font-weight:800;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.02;letter-spacing:-.04em;text-shadow:none}
.cg-calc-top h2{margin:15px 0 0;color:#3F4A40;font-weight:650;font-size:clamp(1rem,1.8vw,1.45rem);line-height:1.2;padding-top:12px;border-top:1px solid rgba(18,24,20,.1)}
.cg-calc-subcopy{text-align:center;margin:28px auto 34px;max-width:760px;color:var(--cg-muted);font-size:1.08rem;font-weight:500;line-height:1.55}
.cg-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:54px auto 22px;max-width:1000px}.cg-catalog-card{min-height:210px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.94));border:1px solid var(--cg-line);border-radius:20px;box-shadow:var(--cg-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#173E6A;text-decoration:none;transition:.28s cubic-bezier(.2,.8,.2,1)}.cg-catalog-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(34,78,122,.18)}.cg-catalog-card .cg-tool-icon{width:104px;height:104px;object-fit:contain;margin-bottom:12px}.cg-catalog-card h3{font-size:1.55rem;line-height:1.05;margin:6px 0 8px;color:#164A86;font-weight:800;letter-spacing:-.035em}.cg-catalog-card p{margin:0;color:#5D7898;font-size:1.02rem;font-weight:500}.cg-wide-card{grid-column:2/span 1;min-height:155px;flex-direction:row;text-align:left;justify-content:flex-start;gap:18px;padding:24px 34px}.cg-wide-card .cg-tool-icon{width:110px;height:110px;margin:0}.cg-catalog-cta{margin:40px auto 54px;display:flex;align-items:center;justify-content:center;gap:20px;width:min(420px,92%);height:64px;border-radius:18px;background:linear-gradient(90deg,#0B78D8 0%,#19B0C9 48%,#39B848 100%);color:#fff!important;font-weight:800;font-size:1.34rem;text-decoration:none;box-shadow:0 16px 31px rgba(19,128,202,.25),inset 0 1px 0 rgba(255,255,255,.28)}.cg-catalog-cta span{font-size:2.3rem;line-height:1}
.cg-premium-form{width:min(820px,100%);margin:0 auto 24px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.94));border:1px solid var(--cg-line);border-radius:28px;padding:34px 42px 30px;box-shadow:0 22px 48px rgba(34,78,122,.16), inset 0 1px 0 rgba(255,255,255,.78);display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}.cg-field{display:grid;gap:8px}.cg-field-full{grid-column:1/-1}.cg-field label{font-size:1.05rem;font-weight:800;color:#173E6A}.cg-field input,.cg-field select{height:54px;border:1px solid #D6E4F2;background:linear-gradient(180deg,#FFFFFF,#F5FAFF);border-radius:9px;padding:0 18px;color:#1D4776;font-size:1.14rem;font-weight:700;box-shadow:0 8px 14px rgba(34,78,122,.09);outline:none}.cg-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7595BC 50%),linear-gradient(135deg,#7595BC 50%,transparent 50%),linear-gradient(180deg,#fff,#F5FAFF);background-position:calc(100% - 24px) 23px,calc(100% - 14px) 23px,0 0;background-size:10px 10px,10px 10px,100% 100%;background-repeat:no-repeat}.cg-field input::placeholder{color:#1D4776;opacity:1}.cg-segmented{width:min(320px,100%);display:grid;grid-template-columns:1fr 1fr;background:#F3F7FC;border:1px solid #D6E4F2;border-radius:8px;box-shadow:0 7px 12px rgba(34,78,122,.08);overflow:hidden}.cg-segmented button{height:54px;border:0;background:transparent;color:#375D86;font-size:1.05rem;font-weight:700;cursor:pointer}.cg-segmented button.active{background:linear-gradient(180deg,#1C5A92,#0F3E71);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.cg-calc-button{grid-column:1/-1;height:64px;margin-top:16px;border:0;border-radius:10px;background:linear-gradient(90deg,#0B76D6 0%,#18B3C8 50%,#76C846 100%);color:#fff;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;cursor:pointer;box-shadow:0 13px 24px rgba(20,112,196,.24), inset 0 1px 0 rgba(255,255,255,.26)}
.cg-result-panel{width:min(820px,100%);margin:24px auto 28px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.94));border:1px solid var(--cg-line);border-radius:24px;padding:18px 42px 26px;box-shadow:0 22px 48px rgba(34,78,122,.16), inset 0 1px 0 rgba(255,255,255,.78);overflow:hidden}.cg-result-label{font-size:1.15rem;font-weight:800;color:#173E6A;margin-bottom:2px}.cg-result-main{display:flex;align-items:end;gap:10px;padding-bottom:9px;border-bottom:1px solid rgba(32,81,132,.10)}.cg-result-value{font-size:clamp(3.2rem,8vw,5.2rem);letter-spacing:-.06em;line-height:1;color:#194A81;font-weight:800}.cg-result-unit{font-size:1.45rem;color:#194A81;font-weight:800;margin-bottom:12px}
.cg-speedometer{width:min(360px,70%);height:112px;margin:12px auto 0;position:relative;overflow:hidden}.cg-arc{position:absolute;left:0;right:0;bottom:-76px;height:180px;border-radius:180px 180px 0 0;background:conic-gradient(from 270deg,#24A66A 0deg,#24A66A 56deg,#23A9D8 57deg,#0B6CD6 112deg,#F18A2C 113deg,#F04D37 180deg,transparent 181deg);box-shadow:0 12px 20px rgba(20,90,150,.16)}.cg-arc:after{content:"";position:absolute;left:54px;right:54px;bottom:0;height:100px;border-radius:100px 100px 0 0;background:linear-gradient(180deg,#fff,#F8FBFF)}.cg-needle{position:absolute;left:50%;bottom:17px;width:9px;height:92px;background:linear-gradient(180deg,#153D6D,#061B31);border-radius:10px;transform-origin:50% 93%;transform:rotate(0deg);box-shadow:0 4px 12px rgba(6,27,49,.35);transition:transform .55s cubic-bezier(.2,.8,.2,1);z-index:3}.cg-needle:after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);width:23px;height:23px;border-radius:50%;background:#1D4776;box-shadow:0 2px 9px rgba(244,197,66,.12)}
.cg-band{width:min(480px,82%);margin:-3px auto 24px;height:38px;display:grid;grid-template-columns:1fr 1fr 1fr;position:relative;z-index:4;box-shadow:0 9px 15px rgba(25,82,136,.17);border-radius:7px;overflow:hidden}.cg-band span{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.02rem}.cg-band span:nth-child(1){background:linear-gradient(90deg,#14A574,#14A190)}.cg-band span:nth-child(2){background:linear-gradient(90deg,#136ED8,#054EC2)}.cg-band span:nth-child(3){background:linear-gradient(90deg,#F27828,#F04438)}
.cg-result-line{border-top:1px solid rgba(32,81,132,.10);margin:0;padding:12px 8px;color:#305D8E;font-weight:700;font-size:1.04rem}.cg-macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.cg-macro-grid div{background:#F4FAFF;border:1px solid #DCEAF6;border-radius:12px;padding:12px;text-align:center}.cg-macro-grid b{display:block;color:#164A86;font-size:1.12rem}.cg-macro-grid span{font-size:.82rem;color:#5D7898;font-weight:700}
.cg-recommendations{width:min(820px,100%);margin:0 auto}.cg-recommendations h3{display:flex;align-items:center;gap:10px;color:#164A86;font-size:1.22rem;margin:0 0 12px;font-weight:800}.cg-recommendations h3:after{content:"";height:1px;background:#D6E4F2;flex:1}.cg-rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cg-rec-card{min-height:76px;background:linear-gradient(180deg,#fff,#F7FBFF);border:1px solid var(--cg-line);border-radius:12px;box-shadow:0 12px 22px rgba(34,78,122,.12);padding:13px 18px;display:grid;grid-template-columns:52px 1fr 18px;align-items:center;gap:10px;text-decoration:none;color:#173E6A}.cg-rec-icon{font-size:2.25rem}.cg-rec-card strong{display:block;color:#173E6A;font-size:1.02rem;line-height:1.15}.cg-rec-card em{display:block;font-style:normal;color:#5D7898;font-weight:600;font-size:.9rem;margin-top:2px}.cg-rec-card b{font-size:2.1rem;color:#6F8EB0}
.cg-calc-actions{width:min(820px,100%);margin:28px auto 0;display:grid;grid-template-columns:.7fr 1fr;gap:24px}.cg-reset,.cg-more{height:58px;border-radius:10px;border:1px solid #D6E4F2;background:linear-gradient(180deg,#fff,#F7FBFF);box-shadow:0 9px 15px rgba(34,78,122,.12);font-weight:800;font-size:1.1rem;color:#1C4776;text-align:center;display:flex;align-items:center;justify-content:center;text-decoration:none}.cg-more{background:linear-gradient(90deg,#0B6ED6,#20B4C9,#37B94A);border:0;color:#fff!important;font-size:1.18rem;gap:20px}.cg-more span{font-size:2rem}.cg-medical-note{text-align:center;color:#6E8BAA;margin:50px auto 0;font-size:.96rem;font-weight:500}
body.cg-dark .cg-calc-page:before{background:radial-gradient(circle at 5% 30%,rgba(32,180,210,.12),transparent 25%),radial-gradient(circle at 10% 0,rgba(40,80,220,.18),transparent 24%),linear-gradient(135deg,#07182B 0%,#0B1D33 60%,#0E2743 100%)}body.cg-dark .cg-calc-top h1,body.cg-dark .cg-result-value,body.cg-dark .cg-result-unit,body.cg-dark .cg-result-label,body.cg-dark .cg-field label,body.cg-dark .cg-recommendations h3,body.cg-dark .cg-rec-card strong,body.cg-dark .cg-catalog-card h3{color:#F4FAFF}body.cg-dark .cg-calc-top h2,body.cg-dark .cg-calc-subcopy,body.cg-dark .cg-medical-note,body.cg-dark .cg-result-line,body.cg-dark .cg-rec-card em,body.cg-dark .cg-catalog-card p{color:#B7CDE4}body.cg-dark .cg-premium-form,body.cg-dark .cg-result-panel,body.cg-dark .cg-catalog-card,body.cg-dark .cg-rec-card,body.cg-dark .cg-reset{background:linear-gradient(180deg,rgba(18,38,63,.98),rgba(12,30,52,.96));border-color:rgba(255,255,255,.12);box-shadow:0 22px 48px rgba(91,179,255,.17),inset 0 1px 0 rgba(255,255,255,.08)}body.cg-dark .cg-field input,body.cg-dark .cg-field select{background:#0B1D33;color:#fff;border-color:rgba(255,255,255,.16)}body.cg-dark .cg-field input::placeholder{color:#D5E9FF}body.cg-dark .cg-arc:after{background:linear-gradient(180deg,#12263F,#0C1E34)}body.cg-dark .cg-macro-grid div{background:#0B1D33;border-color:rgba(255,255,255,.12)}body.cg-dark .cg-macro-grid b{color:#fff}
@media(max-width:820px){.cg-calc-page{padding:28px 14px 0}.cg-calc-top{flex-direction:column;text-align:center;gap:8px}.cg-calc-title-icon{width:96px;height:96px}.cg-calc-title-icon .cg-tool-icon{width:96px;height:96px}.cg-premium-form{grid-template-columns:1fr;padding:24px 20px;border-radius:22px}.cg-catalog-grid{grid-template-columns:1fr;gap:18px;margin-top:32px}.cg-wide-card{grid-column:auto;flex-direction:column;text-align:center;min-height:210px}.cg-rec-grid,.cg-calc-actions,.cg-macro-grid{grid-template-columns:1fr}.cg-speedometer{width:92%;height:105px}.cg-band{width:96%}.cg-result-panel{padding:18px 20px 24px}.cg-calc-top h1{font-size:2.75rem}.cg-calc-top h2{font-size:1.16rem}.cg-calc-subcopy{font-size:1rem;margin:20px auto}.cg-catalog-card{min-height:190px}.cg-catalog-cta{height:58px;font-size:1.12rem}.cg-result-main{justify-content:flex-start}.cg-result-value{font-size:3.35rem}.cg-result-unit{font-size:1.1rem}.cg-rec-card{grid-template-columns:44px 1fr 16px}.cg-medical-note{margin-top:32px}}
@media(max-width:820px){.cg-field input,.cg-field select,.cg-field textarea{font-size:1rem}}
@media(max-width:420px){.cg-calc-page{padding-left:10px;padding-right:10px}.cg-premium-form,.cg-result-panel{padding-left:16px;padding-right:16px}.cg-field input,.cg-field select{height:52px;font-size:1rem}.cg-calc-button{height:58px;font-size:1.28rem}.cg-calc-top h1{font-size:2.35rem}.cg-result-value{font-size:3rem}.cg-band span{font-size:.88rem}.cg-rec-card{padding:12px}.cg-catalog-card h3{font-size:1.32rem}}


/* === Ajustes finales de contraste dentro del plugin === */
html.cg-dark .cg-calc-page:before,
body.cg-dark .cg-calc-page:before{
  background:
    radial-gradient(circle at 5% 30%,rgba(32,180,210,.16),transparent 25%),
    radial-gradient(circle at 10% 0,rgba(40,80,220,.22),transparent 24%),
    linear-gradient(135deg,#07182B 0%,#0B1D33 58%,#0E2743 100%) !important;
}
html.cg-dark .cg-calc-page,
body.cg-dark .cg-calc-page{color:#F4FAFF!important}
html.cg-dark .cg-premium-form,
html.cg-dark .cg-result-panel,
html.cg-dark .cg-catalog-card,
html.cg-dark .cg-rec-card,
html.cg-dark .cg-reset,
body.cg-dark .cg-premium-form,
body.cg-dark .cg-result-panel,
body.cg-dark .cg-catalog-card,
body.cg-dark .cg-rec-card,
body.cg-dark .cg-reset{
  background:linear-gradient(180deg,rgba(18,38,63,.98),rgba(12,30,52,.96))!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 22px 48px rgba(91,179,255,.18), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html.cg-dark .cg-calc-top h1,
html.cg-dark .cg-result-value,
html.cg-dark .cg-result-unit,
html.cg-dark .cg-result-label,
html.cg-dark .cg-field label,
html.cg-dark .cg-recommendations h3,
html.cg-dark .cg-rec-card strong,
html.cg-dark .cg-catalog-card h3,
body.cg-dark .cg-calc-top h1,
body.cg-dark .cg-result-value,
body.cg-dark .cg-result-unit,
body.cg-dark .cg-result-label,
body.cg-dark .cg-field label,
body.cg-dark .cg-recommendations h3,
body.cg-dark .cg-rec-card strong,
body.cg-dark .cg-catalog-card h3{color:#FFFFFF!important}
html.cg-dark .cg-calc-top h2,
html.cg-dark .cg-calc-subcopy,
html.cg-dark .cg-medical-note,
html.cg-dark .cg-result-line,
html.cg-dark .cg-rec-card em,
html.cg-dark .cg-catalog-card p,
body.cg-dark .cg-calc-top h2,
body.cg-dark .cg-calc-subcopy,
body.cg-dark .cg-medical-note,
body.cg-dark .cg-result-line,
body.cg-dark .cg-rec-card em,
body.cg-dark .cg-catalog-card p{color:#B7CDE4!important}
html.cg-dark .cg-field input,
html.cg-dark .cg-field select,
body.cg-dark .cg-field input,
body.cg-dark .cg-field select{
  background:#07182B!important;color:#FFFFFF!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 8px 14px rgba(244,197,66,.10)!important;
}
html.cg-dark .cg-field input::placeholder,
body.cg-dark .cg-field input::placeholder{color:#D5E9FF!important}
html.cg-dark .cg-arc:after,
body.cg-dark .cg-arc:after{background:linear-gradient(180deg,#12263F,#0C1E34)!important}
html.cg-dark .cg-macro-grid div,
body.cg-dark .cg-macro-grid div{background:#0B1D33!important;border-color:rgba(255,255,255,.14)!important}
html.cg-dark .cg-macro-grid b,
body.cg-dark .cg-macro-grid b{color:#FFFFFF!important}

/* Catálogo: tarjeta nutrición alineada y en español */
.cg-catalog-card.cg-wide-card{
  grid-column:1 / -1!important;
  max-width:650px!important;
  justify-self:center!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr)!important;
  align-items:center!important;
  text-align:left!important;
  gap:20px!important;
}
.cg-catalog-card.cg-wide-card .cg-tool-icon{width:122px!important;height:122px!important;margin:0!important}
.cg-catalog-card.cg-wide-card h3{max-width:100%!important}
@media(max-width:820px){
  .cg-catalog-card.cg-wide-card{
    grid-column:auto!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    text-align:center!important;
    justify-items:center!important;
  }
  .cg-premium-form{padding:20px 16px!important}
  .cg-calc-button{font-size:1.22rem!important}
  .cg-result-value{font-size:2.85rem!important}
}


/* === V6.4 resumen inteligente y gestor de plato === */
.cg-result-summary{
  margin-top:18px;padding:18px 20px;border-radius:16px;
  background:linear-gradient(135deg,rgba(30,143,74,.10),rgba(47,134,217,.10));
  border:1px solid rgba(47,134,217,.16);
  color:#274E7A;font-weight:650;line-height:1.55;
}
.cg-plate-builder{
  margin-top:18px;padding:18px;border-radius:18px;background:#F7FBFF;border:1px solid #DCEAF6;
}
.cg-plate-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.cg-plate-head h3{margin:0;color:#164A86;font-size:1.1rem}
.cg-add-food{
  border:0;border-radius:999px;padding:10px 16px;background:linear-gradient(90deg,#0B6ED6,#20B4C9,#37B94A);
  color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(20,112,196,.18);
}
.cg-plate-list{display:grid;gap:8px;margin:12px 0}
.cg-plate-row{
  display:grid;grid-template-columns:1fr auto 30px;gap:10px;align-items:center;
  background:#fff;border:1px solid #DCEAF6;border-radius:12px;padding:10px 12px;color:#274E7A;
}
.cg-plate-row b{color:#164A86}
.cg-plate-row button{
  width:28px;height:28px;border:0;border-radius:50%;background:#FFE8E8;color:#D33;font-weight:900;cursor:pointer;
}
.cg-plate-total{
  padding-top:10px;border-top:1px solid #DCEAF6;color:#274E7A;font-weight:700;
}
.cg-plate-total strong{color:#164A86}
body.cg-dark .cg-result-summary{
  background:linear-gradient(135deg,rgba(30,143,74,.16),rgba(47,134,217,.14))!important;
  border-color:rgba(255,255,255,.14)!important;color:#D9ECFF!important;
}
body.cg-dark .cg-plate-builder,
body.cg-dark .cg-plate-row{
  background:#0B1D33!important;border-color:rgba(255,255,255,.14)!important;color:#D9ECFF!important;
}
body.cg-dark .cg-plate-head h3,
body.cg-dark .cg-plate-row b,
body.cg-dark .cg-plate-total,
body.cg-dark .cg-plate-total strong{color:#FFFFFF!important}
@media(max-width:560px){
  .cg-plate-head{display:grid}
  .cg-add-food{width:100%}
  .cg-plate-row{grid-template-columns:1fr;gap:6px}
  .cg-plate-row button{justify-self:end}
}


/* Final mature product notice: framed, discreet, responsive */
.cg-medical-note {
  width: min(820px, 100%);
  margin: 36px auto 0 !important;
  padding: 12px 16px;
  border: 1px solid rgba(36, 99, 235, .14);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(247,251,255,.76));
  box-shadow: 0 8px 22px rgba(34,78,122,.06);
  color: #6E8BAA;
  display: grid;
  gap: 4px;
  text-align: center;
  font-size: .82rem;
  line-height: 1.55;
}
.cg-medical-note strong {
  color: #1C4776;
  font-size: .84rem;
  letter-spacing: .02em;
}
.cg-medical-note span { display: block; }
body.cg-dark .cg-medical-note, html.cg-dark .cg-medical-note {
  background: linear-gradient(180deg, rgba(32,180,201,.08), rgba(12,30,52,.92));
  border-color: rgba(255,255,255,.12);
  color: #B7CDE4;
  box-shadow: none;
}
body.cg-dark .cg-medical-note strong, html.cg-dark .cg-medical-note strong { color: #F4FAFF; }
@media(max-width:640px){.cg-medical-note{margin-top:28px!important;padding:11px 13px;border-radius:14px;font-size:.76rem}}

/* === V6.6.4 QA hotfix: aminograma con creador de plato integrado === */
.cg-calc-page[data-cg-calc="amino"] .cg-result-panel{
  overflow:hidden!important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-macro-grid,
.cg-calc-page[data-cg-calc="amino"] .cg-result-summary,
.cg-calc-page[data-cg-calc="amino"] .cg-plate-builder{
  width:100%!important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-plate-builder{
  margin:16px 0 0!important;
  padding:16px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,251,255,.92))!important;
  border:1px solid rgba(47,134,217,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-plate-head{
  margin-bottom:10px!important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-plate-head h3{
  font-size:1rem!important;
  color:#164A86!important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-add-food{
  min-height:42px!important;
  padding:10px 15px!important;
}
html.cg-dark .cg-calc-page[data-cg-calc="amino"] .cg-plate-builder{
  background:linear-gradient(180deg,rgba(14,31,53,.96),rgba(8,22,38,.96))!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
html.cg-dark .cg-calc-page[data-cg-calc="amino"] .cg-plate-head h3{color:#F4FAFF!important}
@media(min-width:920px){
  .cg-calc-page[data-cg-calc="amino"] .cg-result-panel{
    max-width:920px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media(max-width:560px){
  .cg-calc-page[data-cg-calc="amino"] .cg-plate-builder{padding:14px!important;border-radius:16px!important}
  .cg-calc-page[data-cg-calc="amino"] .cg-add-food{width:100%!important}
}

/* === CuidateGratis tools v6.6.6 final UX === */
.cg-result-panel{transition:opacity .25s ease,transform .25s ease}.cg-result-panel.cg-result-visible{animation:cgToolsResult .32s ease both}@keyframes cgToolsResult{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cg-save-result{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0;padding:14px;border-radius:16px;background:linear-gradient(135deg,rgba(37,184,90,.10),rgba(24,119,213,.08));border:1px solid rgba(24,119,213,.14)}.cg-save-current{border:0;border-radius:999px;min-height:44px;padding:10px 18px;background:linear-gradient(135deg,#25B85A,#1877D5);color:#fff;font-weight:850;cursor:pointer}.cg-save-current:disabled{opacity:.72;cursor:wait}.cg-save-result a{font-weight:850;color:#0E4F92;text-decoration:none}.cg-tools-account{max-width:980px;margin:48px auto;padding:28px;border-radius:26px;background:#fff;border:1px solid rgba(24,119,213,.12);box-shadow:0 18px 48px rgba(14,79,146,.12)}.cg-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.cg-account-card,.cg-account-row,.cg-account-empty{padding:18px;border-radius:18px;background:#F7FBFF;border:1px solid #DCEAF6}.cg-account-card strong{display:block;font-size:2rem;color:#164A86}.cg-account-history{display:grid;gap:10px}.cg-account-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.cg-export-link{font-weight:850;color:#0E4F92}.cg-field input:focus-visible,.cg-field select:focus-visible,.cg-calc-button:focus-visible,.cg-add-food:focus-visible{outline:3px solid rgba(244,197,66,.9)!important;outline-offset:3px!important}@media(max-width:640px){.cg-save-result,.cg-account-grid,.cg-account-row{grid-template-columns:1fr;display:grid}.cg-save-current{width:100%}}


/* ============================================================
   CuidateGratis Tools v6.9 - Color and contrast unification
   Syncs plugin palette with theme: Azul #1877D5 · Verde #25B85A
   · Amarillo sombra #F4C542
   Dark mode: responds to html[data-theme="dark"] (theme attribute)
   AND body.cg-dark / html.cg-dark (injected by theme compat)
   ============================================================ */

/* ── Token override: sync plugin vars to theme palette ── */
:root {
  --cg-blue:      #1877D5;
  --cg-blue2:     #0E4F92;
  --cg-green:     #25B85A;
  --cg-teal:      #15803D;
  --cg-ink:       #0D1B2A;
  --cg-muted:     #5D7898;
  --cg-card:      #FFFFFF;
  --cg-line:      #D8E8F5;
  --cg-shadow:    0 16px 40px rgba(244,197,66,.16), 0 4px 12px rgba(24,119,213,.10);
}

/* ── Gradient buttons: green→blue (brand gradient) ── */
.cg-catalog-cta,
.cg-calc-button,
.cg-more,
.cg-add-food,
.cg-save-current {
  background: linear-gradient(135deg, #25B85A 0%, #1877D5 100%) !important;
  box-shadow: 0 12px 28px rgba(24,119,213,.22), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.cg-segmented button.active {
  background: linear-gradient(180deg, #1877D5, #0E4F92) !important;
}

/* ── Focus ring: yellow (AdSense / WCAG compliant) ── */
.cg-field input:focus-visible,
.cg-field select:focus-visible,
.cg-calc-button:focus-visible,
.cg-add-food:focus-visible,
.cg-save-current:focus-visible,
.cg-rec-card:focus-visible,
.cg-catalog-card:focus-visible {
  outline: 3px solid #F4C542 !important;
  outline-offset: 3px !important;
}

/* ── Dark mode: html[data-theme="dark"] (primary selector) ── */
html[data-theme="dark"] .cg-calc-page::before,
html[data-theme="dark"] body .cg-calc-page::before {
  background:
    radial-gradient(circle at 5% 30%, rgba(37,184,90,.14), transparent 25%),
    radial-gradient(circle at 10% 0,  rgba(24,119,213,.18), transparent 24%),
    linear-gradient(135deg, #07182B 0%, #0B1D33 58%, #0E2743 100%) !important;
}
html[data-theme="dark"] .cg-calc-page { color: #E8F4FF !important; }
html[data-theme="dark"] .cg-premium-form,
html[data-theme="dark"] .cg-result-panel,
html[data-theme="dark"] .cg-catalog-card,
html[data-theme="dark"] .cg-rec-card,
html[data-theme="dark"] .cg-reset,
html[data-theme="dark"] .cg-plate-builder {
  background: linear-gradient(180deg, rgba(12,29,52,.98), rgba(7,18,32,.96)) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 22px 48px rgba(91,179,255,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .cg-calc-top h1,
html[data-theme="dark"] .cg-result-value,
html[data-theme="dark"] .cg-result-unit,
html[data-theme="dark"] .cg-result-label,
html[data-theme="dark"] .cg-field label,
html[data-theme="dark"] .cg-recommendations h3,
html[data-theme="dark"] .cg-rec-card strong,
html[data-theme="dark"] .cg-catalog-card h3,
html[data-theme="dark"] .cg-plate-head h3 { color: #FFFFFF !important; }
html[data-theme="dark"] .cg-calc-top h2,
html[data-theme="dark"] .cg-calc-subcopy,
html[data-theme="dark"] .cg-medical-note,
html[data-theme="dark"] .cg-result-line,
html[data-theme="dark"] .cg-rec-card em,
html[data-theme="dark"] .cg-catalog-card p { color: #90AECB !important; }
html[data-theme="dark"] .cg-field input,
html[data-theme="dark"] .cg-field select {
  background: #07182B !important;
  color: #FFFFFF !important;
  border-color: rgba(255,255,255,.18) !important;
}
html[data-theme="dark"] .cg-field input::placeholder { color: #90AECB !important; }
html[data-theme="dark"] .cg-arc::after {
  background: linear-gradient(180deg, #12263F, #0C1E34) !important;
}
html[data-theme="dark"] .cg-macro-grid div {
  background: #0B1D33 !important;
  border-color: rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] .cg-macro-grid b { color: #FFFFFF !important; }
html[data-theme="dark"] .cg-result-summary {
  background: linear-gradient(135deg, rgba(37,184,90,.14), rgba(24,119,213,.12)) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #B0D4F1 !important;
}
html[data-theme="dark"] .cg-medical-note {
  background: linear-gradient(180deg, rgba(24,119,213,.10), rgba(7,18,32,.92)) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #90AECB !important;
}
html[data-theme="dark"] .cg-medical-note strong { color: #E8F4FF !important; }
html[data-theme="dark"] .cg-save-result {
  background: linear-gradient(135deg, rgba(37,184,90,.14), rgba(24,119,213,.10)) !important;
  border-color: rgba(255,255,255,.14) !important;
}
html[data-theme="dark"] .cg-save-result a { color: #5BB3FF !important; }
html[data-theme="dark"] .cg-plate-list .cg-plate-row {
  background: rgba(12,29,52,.96) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #B0D4F1 !important;
}
html[data-theme="dark"] .cg-plate-row b { color: #5BB3FF !important; }
html[data-theme="dark"] .cg-plate-total { color: #90AECB !important; }
html[data-theme="dark"] .cg-plate-total strong { color: #5BB3FF !important; }


/* v6.7.14 premium refinements */
.cg-calc-top h1{letter-spacing:-.03em}.cg-calc-top h2{color:#5D7898;font-weight:800}.cg-field label{font-weight:850;color:#0D1B2A}.cg-food-search{margin-bottom:10px}.cg-field select[data-food-select]{min-height:54px}.cg-plate-builder{margin-top:18px;border:1px solid rgba(24,119,213,.16);background:linear-gradient(135deg,rgba(37,184,90,.08),rgba(24,119,213,.06));border-radius:22px;padding:18px}.cg-add-food{background:linear-gradient(135deg,#25B85A,#1877D5);box-shadow:0 12px 24px rgba(37,184,90,.22)}.cg-tools-account form{display:grid;gap:14px;max-width:480px}.cg-tools-account label{font-weight:850}.cg-tools-account input{width:100%;min-height:46px;border-radius:14px;border:1px solid rgba(24,119,213,.18);padding:10px 14px}.cg-tools-account .button{border:0;border-radius:999px;min-height:46px;background:linear-gradient(135deg,#25B85A,#1877D5);color:#fff;font-weight:900;padding:10px 18px}.cg-account-register a{font-weight:850;color:#0E4F92}
.cg-result-summary{font-size:1rem;line-height:1.65;color:#334155;background:rgba(255,255,255,.70);border:1px solid rgba(24,119,213,.10);border-radius:16px;padding:14px;margin-top:14px}
html.cg-dark .cg-field label, body.cg-dark .cg-field label{color:#E8F4FF}html.cg-dark .cg-result-summary,body.cg-dark .cg-result-summary{background:rgba(12,29,52,.72);color:#CFE5FA}

.cg-privacy-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.cg-delete-link{color:#D93025;font-weight:850;text-decoration:none}.cg-account-privacy{margin-top:12px;color:#5D7898;font-size:.92rem}

/* v6.7.14 unified account and register surface */
.cg-tools-account--guest{max-width:1120px;padding:clamp(22px,4vw,38px)}
.cg-account-hero{max-width:760px;margin-bottom:24px}
.cg-account-hero span,.cg-auth-kicker{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:4px 10px;background:rgba(37,184,90,.10);color:#168342;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.cg-account-hero h1{margin:12px 0 10px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.035em;color:#0D1B2A}
.cg-account-hero p{max-width:680px;color:#5D7898;font-size:1.05rem;line-height:1.62}
.cg-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.cg-auth-card{padding:clamp(20px,3vw,28px);border:1px solid rgba(24,119,213,.13);border-radius:22px;background:linear-gradient(180deg,#fff,#F8FBFF);box-shadow:0 18px 44px rgba(14,79,146,.10)}
.cg-auth-card--primary{background:linear-gradient(135deg,rgba(37,184,90,.10),rgba(24,119,213,.08),#fff)}
.cg-auth-card h2{margin:12px 0 8px;color:#0D1B2A;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15}
.cg-auth-card p{color:#5D7898;line-height:1.58}
.cg-auth-card form{display:grid;gap:12px;margin-top:16px}
.cg-auth-card label{font-weight:850;color:#0D1B2A}
.cg-auth-card label span{font-size:.82rem;color:#6E8BAA;font-weight:750}
.cg-auth-card input[type="text"],.cg-auth-card input[type="email"],.cg-auth-card input[type="password"]{width:100%;min-height:50px;border:1px solid rgba(24,119,213,.18);border-radius:14px;background:#fff;padding:10px 14px;color:#0D1B2A;box-shadow:0 8px 18px rgba(14,79,146,.05)}
.cg-auth-card input:focus-visible{outline:3px solid rgba(244,197,66,.75);outline-offset:2px}
.cg-auth-card .login-submit{margin:4px 0 0}
.cg-auth-card .button,.cg-register-submit{width:100%;min-height:50px;border:0;border-radius:999px;background:linear-gradient(135deg,#25B85A,#1877D5);color:#fff;font-weight:950;padding:12px 18px;box-shadow:0 14px 28px rgba(24,119,213,.18);cursor:pointer}
.cg-account-register{margin:12px 0 0}.cg-account-register a{font-weight:850;color:#0E4F92;text-decoration:none}.cg-account-register a:hover{text-decoration:underline}
.cg-check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(37,184,90,.16);border-radius:14px;background:rgba(37,184,90,.06);font-size:.92rem;line-height:1.45}
.cg-check input{margin-top:3px}.cg-check a{color:#0E4F92;font-weight:850}
.cg-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.cg-account-message{margin:0 0 18px;padding:13px 15px;border-radius:14px;font-weight:850}
.cg-account-message--success{background:rgba(37,184,90,.12);color:#126C36;border:1px solid rgba(37,184,90,.22)}
.cg-account-message--error{background:rgba(217,48,37,.09);color:#B3261E;border:1px solid rgba(217,48,37,.18)}
html[data-theme="dark"] .cg-auth-card,html.cg-dark .cg-auth-card,body.cg-dark .cg-auth-card{background:linear-gradient(180deg,rgba(12,29,52,.98),rgba(7,18,32,.96));border-color:rgba(255,255,255,.12);box-shadow:0 22px 48px rgba(91,179,255,.17)}
html[data-theme="dark"] .cg-auth-card h2,html[data-theme="dark"] .cg-auth-card label,html[data-theme="dark"] .cg-account-hero h1,html.cg-dark .cg-auth-card h2,html.cg-dark .cg-auth-card label,html.cg-dark .cg-account-hero h1,body.cg-dark .cg-auth-card h2,body.cg-dark .cg-auth-card label,body.cg-dark .cg-account-hero h1{color:#F4FAFF}
html[data-theme="dark"] .cg-auth-card p,html[data-theme="dark"] .cg-account-hero p,html.cg-dark .cg-auth-card p,html.cg-dark .cg-account-hero p,body.cg-dark .cg-auth-card p,body.cg-dark .cg-account-hero p{color:#B7CDE4}
html[data-theme="dark"] .cg-auth-card input[type="text"],html[data-theme="dark"] .cg-auth-card input[type="email"],html[data-theme="dark"] .cg-auth-card input[type="password"],html.cg-dark .cg-auth-card input[type="text"],html.cg-dark .cg-auth-card input[type="email"],html.cg-dark .cg-auth-card input[type="password"],body.cg-dark .cg-auth-card input[type="text"],body.cg-dark .cg-auth-card input[type="email"],body.cg-dark .cg-auth-card input[type="password"]{background:#07182B;color:#fff;border-color:rgba(255,255,255,.16)}
@media(max-width:820px){.cg-auth-grid{grid-template-columns:1fr}.cg-tools-account--guest{padding:18px}.cg-auth-card{border-radius:18px}}

/* === v6.7.14 premium calculator product layer === */
.cg-calc-page {
  max-width: 1120px;
  padding-top: clamp(34px, 6vw, 72px);
  isolation: isolate;
}
.cg-calc-page::before {
  background:
    linear-gradient(145deg, rgba(24,119,213,.12), transparent 28%) 0 0 / 100% 100% no-repeat,
    linear-gradient(155deg, transparent 0 20%, rgba(37,184,90,.10) 20% 30%, transparent 30% 100%),
    linear-gradient(135deg, #f7fbff 0%, #ffffff 46%, #eef8ff 100%) !important;
}
.cg-calc-page::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 420px;
  z-index: -1;
  background:
    linear-gradient(130deg, transparent 0 38%, rgba(24,119,213,.08) 38% 39%, transparent 39% 100%),
    linear-gradient(145deg, transparent 0 46%, rgba(37,184,90,.08) 46% 47%, transparent 47% 100%);
  pointer-events: none;
}
.cg-calc-top {
  max-width: 900px;
  margin-top: 0;
  margin-bottom: 18px;
}
.cg-calc-title-icon {
  width: clamp(86px, 10vw, 126px);
  height: clamp(86px, 10vw, 126px);
  flex-basis: clamp(86px, 10vw, 126px);
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,250,255,.80));
  border: 1px solid rgba(24,119,213,.13);
  box-shadow: 0 18px 42px rgba(24,119,213,.14), inset 0 1px 0 rgba(255,255,255,.9);
}
.cg-calc-title-icon .cg-tool-icon {
  width: 78%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(24,119,213,.16));
}
.cg-calc-top h1 {
  color: #103968;
  font-size: clamp(2.35rem, 5.1vw, 4.8rem);
  letter-spacing: -.035em;
}
.cg-calc-top h2 {
  max-width: 620px;
  border-top-color: rgba(24,119,213,.16);
  color: #385f8d;
}
.cg-calc-subcopy {
  max-width: 700px;
  margin-bottom: 18px;
}
.cg-calc-trustbar {
  width: min(780px, 100%);
  margin: 0 auto clamp(28px, 4vw, 48px);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.cg-calc-trustbar span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 6px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(24,119,213,.11);
  color: #31587f;
  font-size: .82rem;
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(24,119,213,.07);
}
.cg-calc-trustbar span::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #25B85A, #1877D5);
}
.cg-catalog-grid {
  max-width: 1040px;
  gap: 22px;
  margin-top: clamp(32px, 5vw, 54px);
}
.cg-catalog-card {
  min-height: 214px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,255,.94)),
    linear-gradient(135deg, rgba(37,184,90,.10), rgba(24,119,213,.10));
  border-color: rgba(24,119,213,.13);
  box-shadow: 0 18px 44px rgba(24,119,213,.12), 0 8px 18px rgba(244,197,66,.10);
}
.cg-catalog-card:hover {
  transform: translateY(-5px);
  border-color: rgba(37,184,90,.30);
  box-shadow: 0 22px 54px rgba(24,119,213,.17), 0 10px 22px rgba(37,184,90,.10);
}
.cg-catalog-card .cg-tool-icon {
  width: 96px;
  height: 96px;
  filter: drop-shadow(0 10px 16px rgba(24,119,213,.14));
}
.cg-catalog-card h3 {
  color: #123f71;
  font-size: clamp(1.24rem, 2vw, 1.5rem);
  letter-spacing: -.02em;
}
.cg-catalog-card p {
  color: #4f7196;
}
.cg-catalog-card.cg-wide-card {
  max-width: 720px !important;
  grid-template-columns: 122px minmax(0, 1fr) !important;
}
.cg-catalog-cta,
.cg-calc-button,
.cg-more {
  border-radius: 12px;
  min-height: 62px;
  background: linear-gradient(100deg, #0e6ed6 0%, #1cb6c7 46%, #38b84b 100%) !important;
}
.cg-premium-form,
.cg-result-panel {
  border-radius: 26px;
  border-color: rgba(24,119,213,.13);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.94)),
    linear-gradient(135deg, rgba(24,119,213,.08), rgba(37,184,90,.08));
  box-shadow: 0 24px 58px rgba(24,119,213,.14), 0 8px 22px rgba(24,119,213,.08), inset 0 1px 0 rgba(255,255,255,.82);
}
.cg-premium-form {
  gap: 18px 30px;
}
.cg-field label {
  color: #123f71;
}
.cg-field input,
.cg-field select {
  height: 56px;
  border-radius: 10px;
  border-color: rgba(24,119,213,.18);
  color: #163e6c;
}
.cg-field input:focus,
.cg-field select:focus {
  border-color: rgba(24,119,213,.42);
  box-shadow: 0 0 0 4px rgba(24,119,213,.10), 0 10px 20px rgba(24,119,213,.09);
}
.cg-segmented {
  width: min(360px, 100%);
  border-radius: 10px;
}
.cg-segmented button {
  position: relative;
}
.cg-segmented button::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-right: 8px;
  display: inline-block;
  vertical-align: -2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .48;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.56);
}
.cg-segmented button.active::before {
  opacity: 1;
  background: #fff;
  box-shadow: inset 0 0 0 5px rgba(24,119,213,.18);
}
.cg-result-label {
  color: #123f71;
}
.cg-result-value,
.cg-result-unit {
  color: #123f71 !important;
}
.cg-result-summary,
.cg-article-note {
  border-left: 4px solid #25B85A;
}
.cg-rec-grid {
  gap: 16px;
}
.cg-rec-card {
  grid-template-columns: 54px 1fr 18px;
  border-radius: 14px;
  border-color: rgba(24,119,213,.13);
  box-shadow: 0 14px 32px rgba(24,119,213,.11), 0 6px 14px rgba(244,197,66,.10);
}
.cg-rec-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(37,184,90,.10), rgba(24,119,213,.10));
}
.cg-rec-icon .cg-tool-icon {
  width: 38px;
  height: 38px;
  object-fit: contain;
}
.cg-medical-note {
  max-width: 760px;
}
html[data-theme="dark"] .cg-calc-page::before,
html[data-theme="dark"] body .cg-calc-page::before,
html.cg-dark .cg-calc-page::before,
body.cg-dark .cg-calc-page::before {
  background:
    linear-gradient(145deg, rgba(91,179,255,.10), transparent 28%),
    linear-gradient(155deg, transparent 0 20%, rgba(63,212,123,.10) 20% 30%, transparent 30% 100%),
    linear-gradient(135deg, #071220 0%, #0b1d33 56%, #102a46 100%) !important;
}
html[data-theme="dark"] .cg-calc-title-icon,
html.cg-dark .cg-calc-title-icon,
body.cg-dark .cg-calc-title-icon,
html[data-theme="dark"] .cg-calc-trustbar span,
html.cg-dark .cg-calc-trustbar span,
body.cg-dark .cg-calc-trustbar span {
  background: linear-gradient(180deg, rgba(12,29,52,.94), rgba(7,18,32,.90));
  border-color: rgba(255,255,255,.12);
  color: #d9ecff;
  box-shadow: 0 18px 44px rgba(91,179,255,.17), inset 0 1px 0 rgba(255,255,255,.08);
}
html[data-theme="dark"] .cg-result-value,
html[data-theme="dark"] .cg-result-unit,
html.cg-dark .cg-result-value,
html.cg-dark .cg-result-unit,
body.cg-dark .cg-result-value,
body.cg-dark .cg-result-unit {
  color: #ffffff !important;
}
@media (max-width: 820px) {
  .cg-calc-page {
    padding-top: 26px;
  }
  .cg-calc-top {
    margin-bottom: 12px;
  }
  .cg-calc-title-icon {
    border-radius: 22px;
  }
  .cg-calc-trustbar {
    justify-content: flex-start;
  }
  .cg-catalog-card.cg-wide-card {
    grid-template-columns: 1fr !important;
  }
  .cg-premium-form,
  .cg-result-panel {
    border-radius: 22px;
  }
}
@media (max-width: 480px) {
  .cg-calc-top h1 {
    font-size: clamp(2.1rem, 12vw, 2.85rem);
  }
  .cg-calc-trustbar span {
    width: 100%;
  }
  .cg-catalog-card {
    min-height: 188px;
  }
  .cg-catalog-card .cg-tool-icon {
    width: 82px;
    height: 82px;
  }
  .cg-result-main {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }
  .cg-result-unit {
    margin-bottom: 0;
  }
}

/* v6.7.14 final contrast pass for dark theme */
html[data-theme="dark"] .cg-tools-account,
html.cg-dark .cg-tools-account,
body.cg-dark .cg-tools-account,
html[data-theme="dark"] .cg-account-card,
html.cg-dark .cg-account-card,
body.cg-dark .cg-account-card,
html[data-theme="dark"] .cg-account-row,
html.cg-dark .cg-account-row,
body.cg-dark .cg-account-row,
html[data-theme="dark"] .cg-account-empty,
html.cg-dark .cg-account-empty,
body.cg-dark .cg-account-empty {
  background: linear-gradient(180deg, rgba(12,29,52,.98), rgba(7,18,32,.96)) !important;
  border-color: rgba(255,255,255,.13) !important;
  color: #e8f4ff !important;
  box-shadow: 0 18px 52px rgba(91,179,255,.18) !important;
}
html[data-theme="dark"] .cg-account-card strong,
html.cg-dark .cg-account-card strong,
body.cg-dark .cg-account-card strong,
html[data-theme="dark"] .cg-account-row strong,
html.cg-dark .cg-account-row strong,
body.cg-dark .cg-account-row strong {
  color: #fff !important;
}
html[data-theme="dark"] .cg-account-privacy,
html.cg-dark .cg-account-privacy,
body.cg-dark .cg-account-privacy,
html[data-theme="dark"] .cg-auth-card label span,
html.cg-dark .cg-auth-card label span,
body.cg-dark .cg-auth-card label span {
  color: #b7cde4 !important;
}
html[data-theme="dark"] .cg-check,
html.cg-dark .cg-check,
body.cg-dark .cg-check {
  background: rgba(37,184,90,.12) !important;
  border-color: rgba(63,212,123,.22) !important;
  color: #d9ecff !important;
}
html[data-theme="dark"] .cg-check a,
html[data-theme="dark"] .cg-account-register a,
html[data-theme="dark"] .cg-export-link,
html.cg-dark .cg-check a,
html.cg-dark .cg-account-register a,
html.cg-dark .cg-export-link,
body.cg-dark .cg-check a,
body.cg-dark .cg-account-register a,
body.cg-dark .cg-export-link {
  color: #8dcfff !important;
}
html[data-theme="dark"] .cg-account-message--success,
html.cg-dark .cg-account-message--success,
body.cg-dark .cg-account-message--success {
  background: rgba(37,184,90,.16) !important;
  border-color: rgba(63,212,123,.28) !important;
  color: #d9ffe8 !important;
}
html[data-theme="dark"] .cg-account-message--error,
html.cg-dark .cg-account-message--error,
body.cg-dark .cg-account-message--error {
  background: rgba(217,48,37,.16) !important;
  border-color: rgba(255,130,120,.30) !important;
  color: #ffe1dd !important;
}
html[data-theme="dark"] .cg-segmented,
html.cg-dark .cg-segmented,
body.cg-dark .cg-segmented {
  background: #07182b !important;
  border-color: rgba(255,255,255,.16) !important;
}
html[data-theme="dark"] .cg-segmented button,
html.cg-dark .cg-segmented button,
body.cg-dark .cg-segmented button {
  color: #d9ecff !important;
}
html[data-theme="dark"] .cg-macro-grid span,
html.cg-dark .cg-macro-grid span,
body.cg-dark .cg-macro-grid span {
  color: #b7cde4 !important;
}

/* v6.7.14 premium QA: readable titles, explanatory results and integrated plate builder */
.cg-calc-top h1 {
  max-width: min(780px, 100%);
  margin-inline: auto;
  font-size: clamp(2rem, 4.2vw, 3.65rem) !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}
.cg-calc-page[data-cg-calc="amino"] .cg-calc-top h1 {
  max-width: 620px;
  font-size: clamp(1.9rem, 3.8vw, 3.15rem) !important;
}
.cg-result-summary {
  display: grid;
  gap: 10px;
}
.cg-result-summary p {
  margin: 0;
}
.cg-result-summary strong {
  color: #0e4f92;
}
.cg-plate-builder {
  margin-top: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74), 0 12px 28px rgba(24,119,213,.08);
}
.cg-plate-head {
  align-items: flex-start;
}
.cg-plate-head h3::after {
  content: "Selecciona un alimento, ajusta cantidad y sumalo al plato.";
  display: block;
  margin-top: 4px;
  color: #5d7898;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}
.cg-add-food {
  min-height: 44px;
  white-space: normal;
}
html[data-theme="dark"] .cg-result-summary strong,
html.cg-dark .cg-result-summary strong,
body.cg-dark .cg-result-summary strong {
  color: #7fc7ff;
}
@media(max-width:560px) {
  .cg-calc-page[data-cg-calc="amino"] .cg-calc-top h1 {
    font-size: clamp(1.75rem, 10vw, 2.45rem) !important;
  }
  .cg-plate-builder {
    margin-top: 12px !important;
  }
  .cg-plate-head h3::after {
    font-size: .78rem;
  }
}

/* v6.7.14 aminogram QA: compact fields and visible plate builder inside the calculator */
.cg-food-search,
.cg-field select[data-food-select] {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  width: 100%;
}
.cg-calc-page[data-cg-calc="amino"] .cg-premium-form {
  align-items: start;
}
.cg-calc-page[data-cg-calc="amino"] .cg-plate-builder--form {
  grid-column: 1 / -1;
  display: block;
  margin: 4px 0 0 !important;
  padding: 16px !important;
  background:
    linear-gradient(135deg, rgba(244,197,66,.16), rgba(37,184,90,.10)),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.94)) !important;
  border: 1px solid rgba(244,197,66,.34) !important;
  box-shadow: 0 14px 28px rgba(24,119,213,.08), inset 0 1px 0 rgba(255,255,255,.76) !important;
}
.cg-calc-page[data-cg-calc="amino"] .cg-plate-builder--form .cg-plate-list:empty {
  display: none;
}
.cg-calc-page[data-cg-calc="amino"] .cg-result-panel .cg-plate-builder {
  display: none !important;
}
html[data-theme="dark"] .cg-calc-page[data-cg-calc="amino"] .cg-plate-builder--form,
html.cg-dark .cg-calc-page[data-cg-calc="amino"] .cg-plate-builder--form,
body.cg-dark .cg-calc-page[data-cg-calc="amino"] .cg-plate-builder--form {
  background:
    linear-gradient(135deg, rgba(244,197,66,.12), rgba(63,212,123,.10)),
    linear-gradient(180deg, rgba(12,29,52,.98), rgba(7,18,32,.96)) !important;
  border-color: rgba(244,197,66,.24) !important;
}

/* v6.7.14 combobox and 3D premium icon polish */
.cg-food-combobox-wrap {
  display: grid;
  gap: 7px;
}
.cg-food-combobox {
  width: 100%;
  height: 54px !important;
  min-height: 54px !important;
  border: 1px solid rgba(24,119,213,.18);
  border-radius: 12px;
  background:
    linear-gradient(180deg, #fff, #f5faff),
    linear-gradient(135deg, rgba(37,184,90,.08), rgba(244,197,66,.12));
  color: #163e6c;
  padding: 0 16px;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(24,119,213,.08);
}
.cg-food-combobox:focus {
  border-color: rgba(24,119,213,.42);
  box-shadow: 0 0 0 4px rgba(24,119,213,.10), 0 10px 20px rgba(244,197,66,.12);
  outline: none;
}
.cg-combobox-help {
  color: #5d7898;
  font-size: .82rem;
  font-weight: 750;
}
.cg-calc-title-icon,
.cg-catalog-card .cg-tool-icon,
.cg-rec-icon {
  position: relative;
  isolation: isolate;
}
.cg-calc-title-icon::before,
.cg-rec-icon::before {
  content: "";
  position: absolute;
  inset: 8%;
  z-index: -1;
  border-radius: 28%;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.90), transparent 28%),
    linear-gradient(135deg, rgba(37,184,90,.20), rgba(24,119,213,.18) 58%, rgba(244,197,66,.20));
  box-shadow: 0 16px 34px rgba(24,119,213,.14), 0 7px 16px rgba(244,197,66,.12);
  transform: perspective(420px) rotateX(8deg) rotateY(-8deg);
}
.cg-catalog-card {
  overflow: hidden;
}
.cg-catalog-card .cg-tool-icon,
.cg-calc-title-icon .cg-tool-icon,
.cg-rec-icon .cg-tool-icon {
  filter: drop-shadow(0 13px 18px rgba(24,119,213,.20)) drop-shadow(0 4px 10px rgba(244,197,66,.14));
  transform: translateZ(0);
}
.cg-catalog-card:hover .cg-tool-icon {
  transform: translateY(-2px) scale(1.035);
}
html[data-theme="dark"] .cg-food-combobox,
html.cg-dark .cg-food-combobox,
body.cg-dark .cg-food-combobox {
  background: #07182b !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.18) !important;
}
html[data-theme="dark"] .cg-combobox-help,
html.cg-dark .cg-combobox-help,
body.cg-dark .cg-combobox-help {
  color: #b7cde4;
}

/* v6.7.14 account/login polish */
.cg-auth-card .login-remember {
  margin: 2px 0 4px;
}
.cg-auth-card .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: auto;
  min-height: 24px;
  font-size: .92rem;
  line-height: 1.2;
  color: #355b82;
}
.cg-auth-card .login-remember input[type="checkbox"],
.cg-check input[type="checkbox"] {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 4px;
  accent-color: #25B85A;
  box-shadow: none !important;
}
html[data-theme="dark"] .cg-auth-card input[type="text"],
html[data-theme="dark"] .cg-auth-card input[type="email"],
html[data-theme="dark"] .cg-auth-card input[type="password"],
html.cg-dark .cg-auth-card input[type="text"],
html.cg-dark .cg-auth-card input[type="email"],
html.cg-dark .cg-auth-card input[type="password"],
body.cg-dark .cg-auth-card input[type="text"],
body.cg-dark .cg-auth-card input[type="email"],
body.cg-dark .cg-auth-card input[type="password"] {
  background: #102b48 !important;
  color: #ffffff !important;
  border-color: rgba(141,207,255,.32) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.05), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .cg-auth-card input::placeholder,
html.cg-dark .cg-auth-card input::placeholder,
body.cg-dark .cg-auth-card input::placeholder {
  color: #bdd7ef !important;
}
html[data-theme="dark"] .cg-auth-card .login-remember label,
html.cg-dark .cg-auth-card .login-remember label,
body.cg-dark .cg-auth-card .login-remember label {
  color: #d9ecff !important;
}

/* ============================================================
   CuidateGratis Tools v6.7.16 — Premium wellness visual system
   Objetivo: alinear calculadoras con la portada premium:
   verde profundo, crema cálido, dorado discreto y resultados
   tipo informe. Capa final no destructiva sobre el CSS histórico.
   ============================================================ */
:root {
  --cg-blue: #2E7E8A;
  --cg-blue2: #195E67;
  --cg-green: #2F7D57;
  --cg-green-dark: #123F2D;
  --cg-teal: #2E7E8A;
  --cg-gold: #D99B45;
  --cg-cream: #F8F4EA;
  --cg-cream-soft: #FFFDF8;
  --cg-ink: #121814;
  --cg-muted: #59665C;
  --cg-card: rgba(255,253,248,.92);
  --cg-line: rgba(18,24,20,.12);
  --cg-shadow: 0 24px 64px rgba(9,39,26,.14), 0 8px 22px rgba(9,39,26,.08);
}

.cg-calc-page {
  max-width: 1140px;
  margin-bottom: clamp(52px, 8vw, 96px);
  color: var(--cg-ink);
  font-family: Inter, "SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cg-calc-page::before {
  background:
    radial-gradient(circle at 12% 4%, rgba(47,125,87,.14), transparent 28rem),
    linear-gradient(180deg, var(--cg-cream-soft) 0%, var(--cg-cream) 100%) !important;
}

.cg-calc-page::after {
  height: 360px;
  background:
    linear-gradient(135deg, rgba(255,253,248,.2), rgba(238,247,233,.42)),
    linear-gradient(110deg, transparent 0 62%, rgba(217,155,69,.14) 62% 63%, transparent 63%) !important;
}

.cg-calc-top {
  justify-content: flex-start;
  max-width: 920px;
  gap: 20px;
  margin-inline: auto;
}

.cg-calc-title-icon {
  width: clamp(72px, 8vw, 104px);
  height: clamp(72px, 8vw, 104px);
  flex-basis: clamp(72px, 8vw, 104px);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255,253,248,.94), rgba(238,247,233,.82)),
    var(--cg-card);
  border: 1px solid rgba(47,125,87,.16);
  box-shadow: 0 16px 36px rgba(9,39,26,.12), inset 0 1px 0 rgba(255,255,255,.86);
}

.cg-calc-title-icon::before,
.cg-rec-icon::before {
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(135deg, rgba(47,125,87,.22), rgba(217,155,69,.18)) !important;
  box-shadow: 0 14px 30px rgba(9,39,26,.12) !important;
  transform: none !important;
}

.cg-calc-title-icon .cg-tool-icon,
.cg-catalog-card .cg-tool-icon,
.cg-rec-icon .cg-tool-icon {
  filter: drop-shadow(0 10px 16px rgba(9,39,26,.14)) !important;
}

.cg-calc-top h1 {
  max-width: 780px;
  color: var(--cg-green-dark) !important;
  font-size: clamp(2.25rem, 4.6vw, 4.1rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  text-shadow: none !important;
}

.cg-calc-top h2 {
  max-width: 680px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(18,24,20,.1);
  color: #3F4A40 !important;
  font-size: clamp(1rem, 1.7vw, 1.35rem);
  font-weight: 750;
}

.cg-calc-subcopy {
  max-width: 760px;
  color: var(--cg-muted) !important;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
}

.cg-calc-trustbar {
  max-width: 860px;
  margin-bottom: clamp(26px, 4vw, 44px);
}

.cg-calc-trustbar span {
  background: rgba(255,253,248,.78) !important;
  border: 1px solid rgba(47,125,87,.14) !important;
  color: var(--cg-green-dark) !important;
  box-shadow: 0 8px 18px rgba(9,39,26,.06) !important;
}

.cg-calc-trustbar span::before {
  background: var(--cg-gold) !important;
}

.cg-premium-form,
.cg-result-panel,
.cg-catalog-card,
.cg-rec-card,
.cg-reset,
.cg-plate-builder,
.cg-tools-account,
.cg-auth-card {
  background:
    linear-gradient(145deg, rgba(255,253,248,.96), rgba(248,244,234,.88)),
    var(--cg-card) !important;
  border-color: rgba(18,24,20,.11) !important;
  box-shadow: var(--cg-shadow) !important;
}

.cg-premium-form,
.cg-result-panel {
  width: min(860px, 100%);
  border-radius: 26px;
}

.cg-premium-form {
  padding: clamp(22px, 4vw, 36px);
  gap: 18px 24px;
}

.cg-field label {
  color: var(--cg-green-dark) !important;
  font-size: .92rem;
  letter-spacing: .01em;
}

.cg-field input,
.cg-field select,
.cg-food-combobox,
.cg-auth-card input[type="text"],
.cg-auth-card input[type="email"],
.cg-auth-card input[type="password"] {
  height: 54px !important;
  border-radius: 14px !important;
  border-color: rgba(18,24,20,.13) !important;
  background: #FFFFFF !important;
  color: var(--cg-ink) !important;
  box-shadow: 0 8px 18px rgba(9,39,26,.05) !important;
  font-weight: 750;
}

.cg-field input:focus,
.cg-field select:focus,
.cg-food-combobox:focus,
.cg-auth-card input:focus {
  border-color: rgba(47,125,87,.45) !important;
  box-shadow: 0 0 0 4px rgba(47,125,87,.12), 0 10px 22px rgba(9,39,26,.06) !important;
}

.cg-segmented {
  border-radius: 14px;
  border-color: rgba(18,24,20,.11);
  background: rgba(255,255,255,.68);
  box-shadow: none;
}

.cg-segmented button {
  color: #48544B;
  font-weight: 850;
}

.cg-segmented button.active {
  background: var(--cg-green-dark) !important;
  color: #FFFFFF !important;
}

.cg-calc-button,
.cg-catalog-cta,
.cg-more,
.cg-add-food,
.cg-save-current,
.cg-auth-card .button,
.cg-register-submit {
  min-height: 56px;
  border-radius: 14px !important;
  background: var(--cg-green-dark) !important;
  color: #FFFFFF !important;
  box-shadow: 0 16px 34px rgba(18,63,45,.22) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cg-calc-button:hover,
.cg-catalog-cta:hover,
.cg-more:hover,
.cg-add-food:hover,
.cg-save-current:hover,
.cg-register-submit:hover {
  transform: translateY(-2px);
  background: #0D3423 !important;
  box-shadow: 0 20px 44px rgba(18,63,45,.28) !important;
}

.cg-result-panel {
  padding: clamp(20px, 4vw, 34px);
  background:
    linear-gradient(145deg, #FFFFFF, rgba(238,247,233,.88)) !important;
}

.cg-result-label {
  color: var(--cg-green-dark) !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}

.cg-result-main {
  align-items: flex-end;
  border-bottom-color: rgba(18,24,20,.1);
}

.cg-result-value,
.cg-result-unit {
  color: var(--cg-green-dark) !important;
}

.cg-result-value {
  font-size: clamp(3rem, 7vw, 4.6rem) !important;
}

.cg-speedometer {
  height: 100px;
}

.cg-arc {
  background: conic-gradient(from 270deg, #8DBD86 0deg, #8DBD86 60deg, #2F7D57 61deg, #2E7E8A 122deg, #D99B45 123deg, #D99B45 180deg, transparent 181deg) !important;
  box-shadow: 0 10px 18px rgba(9,39,26,.12);
}

.cg-arc::after {
  background: linear-gradient(180deg, #FFFFFF, #F8F4EA) !important;
}

.cg-needle {
  background: linear-gradient(180deg, #123F2D, #09271A) !important;
}

.cg-band {
  height: 34px;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(9,39,26,.1);
}

.cg-band span:nth-child(1) { background: #8DBD86 !important; }
.cg-band span:nth-child(2) { background: #2F7D57 !important; }
.cg-band span:nth-child(3) { background: #D99B45 !important; }

.cg-result-line {
  color: #3F4A40 !important;
  border-top-color: rgba(18,24,20,.1);
  font-weight: 650;
}

.cg-result-summary {
  background: rgba(255,253,248,.72) !important;
  border: 1px solid rgba(47,125,87,.15) !important;
  border-left: 4px solid var(--cg-green) !important;
  color: #304238 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.cg-result-summary strong {
  color: var(--cg-green-dark) !important;
}

.cg-macro-grid div,
.cg-plate-row,
.cg-account-card,
.cg-account-row,
.cg-account-empty {
  background: rgba(255,255,255,.58) !important;
  border-color: rgba(18,24,20,.1) !important;
  border-radius: 16px;
}

.cg-macro-grid b,
.cg-account-card strong,
.cg-account-row strong,
.cg-plate-row b,
.cg-plate-total strong {
  color: var(--cg-green-dark) !important;
}

.cg-recommendations h3 {
  color: var(--cg-green-dark) !important;
}

.cg-recommendations h3::after {
  background: rgba(18,24,20,.1);
}

.cg-rec-card {
  min-height: 92px;
  border-radius: 18px;
  grid-template-columns: 56px 1fr 20px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.cg-rec-card:hover,
.cg-catalog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(47,125,87,.24) !important;
}

.cg-rec-icon {
  background: rgba(238,247,233,.88) !important;
  border: 1px solid rgba(47,125,87,.12);
}

.cg-rec-card strong,
.cg-catalog-card h3 {
  color: var(--cg-green-dark) !important;
}

.cg-rec-card em,
.cg-catalog-card p,
.cg-combobox-help,
.cg-macro-grid span,
.cg-plate-head h3::after,
.cg-account-privacy {
  color: var(--cg-muted) !important;
}

.cg-rec-card b {
  color: rgba(18,63,45,.44);
}

.cg-catalog-grid {
  gap: 18px;
}

.cg-catalog-card {
  min-height: 218px;
  border-radius: 22px;
}

.cg-catalog-card h3 {
  font-size: clamp(1.16rem, 1.9vw, 1.42rem);
}

.cg-catalog-cta {
  width: min(460px, 100%);
}

.cg-reset {
  background: rgba(255,253,248,.8) !important;
  color: var(--cg-green-dark) !important;
  box-shadow: 0 10px 24px rgba(9,39,26,.07) !important;
}

.cg-medical-note {
  background: rgba(255,253,248,.62) !important;
  border-color: rgba(18,24,20,.1) !important;
  color: var(--cg-muted) !important;
  box-shadow: 0 8px 20px rgba(9,39,26,.05) !important;
}

.cg-medical-note strong {
  color: var(--cg-green-dark) !important;
}

html[data-theme="dark"] .cg-calc-page::before,
html.cg-dark .cg-calc-page::before,
body.cg-dark .cg-calc-page::before {
  background:
    radial-gradient(circle at 12% 4%, rgba(63,212,123,.12), transparent 28rem),
    linear-gradient(180deg, #071220 0%, #0C1D34 100%) !important;
}

html[data-theme="dark"] .cg-premium-form,
html[data-theme="dark"] .cg-result-panel,
html[data-theme="dark"] .cg-catalog-card,
html[data-theme="dark"] .cg-rec-card,
html[data-theme="dark"] .cg-reset,
html[data-theme="dark"] .cg-plate-builder,
html[data-theme="dark"] .cg-tools-account,
html[data-theme="dark"] .cg-auth-card,
html.cg-dark .cg-premium-form,
html.cg-dark .cg-result-panel,
html.cg-dark .cg-catalog-card,
html.cg-dark .cg-rec-card,
html.cg-dark .cg-reset,
html.cg-dark .cg-plate-builder,
html.cg-dark .cg-tools-account,
html.cg-dark .cg-auth-card,
body.cg-dark .cg-premium-form,
body.cg-dark .cg-result-panel,
body.cg-dark .cg-catalog-card,
body.cg-dark .cg-rec-card,
body.cg-dark .cg-reset,
body.cg-dark .cg-plate-builder,
body.cg-dark .cg-tools-account,
body.cg-dark .cg-auth-card {
  background: linear-gradient(180deg, rgba(12,29,52,.96), rgba(7,18,32,.94)) !important;
  border-color: rgba(232,244,255,.13) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.34) !important;
}

html[data-theme="dark"] .cg-calc-top h1,
html[data-theme="dark"] .cg-calc-top h2,
html[data-theme="dark"] .cg-result-value,
html[data-theme="dark"] .cg-result-unit,
html[data-theme="dark"] .cg-result-label,
html[data-theme="dark"] .cg-field label,
html[data-theme="dark"] .cg-recommendations h3,
html[data-theme="dark"] .cg-rec-card strong,
html[data-theme="dark"] .cg-catalog-card h3,
html.cg-dark .cg-calc-top h1,
html.cg-dark .cg-calc-top h2,
html.cg-dark .cg-result-value,
html.cg-dark .cg-result-unit,
html.cg-dark .cg-result-label,
html.cg-dark .cg-field label,
html.cg-dark .cg-recommendations h3,
html.cg-dark .cg-rec-card strong,
html.cg-dark .cg-catalog-card h3,
body.cg-dark .cg-calc-top h1,
body.cg-dark .cg-calc-top h2,
body.cg-dark .cg-result-value,
body.cg-dark .cg-result-unit,
body.cg-dark .cg-result-label,
body.cg-dark .cg-field label,
body.cg-dark .cg-recommendations h3,
body.cg-dark .cg-rec-card strong,
body.cg-dark .cg-catalog-card h3 {
  color: #F4FAFF !important;
}

html[data-theme="dark"] .cg-calc-subcopy,
html[data-theme="dark"] .cg-result-line,
html[data-theme="dark"] .cg-rec-card em,
html[data-theme="dark"] .cg-catalog-card p,
html[data-theme="dark"] .cg-medical-note,
html.cg-dark .cg-calc-subcopy,
html.cg-dark .cg-result-line,
html.cg-dark .cg-rec-card em,
html.cg-dark .cg-catalog-card p,
html.cg-dark .cg-medical-note,
body.cg-dark .cg-calc-subcopy,
body.cg-dark .cg-result-line,
body.cg-dark .cg-rec-card em,
body.cg-dark .cg-catalog-card p,
body.cg-dark .cg-medical-note {
  color: #B7CDE4 !important;
}

html[data-theme="dark"] .cg-field input,
html[data-theme="dark"] .cg-field select,
html[data-theme="dark"] .cg-food-combobox,
html.cg-dark .cg-field input,
html.cg-dark .cg-field select,
html.cg-dark .cg-food-combobox,
body.cg-dark .cg-field input,
body.cg-dark .cg-field select,
body.cg-dark .cg-food-combobox {
  background: #102B48 !important;
  color: #FFFFFF !important;
  border-color: rgba(232,244,255,.16) !important;
}

@media (max-width: 820px) {
  .cg-calc-top {
    align-items: center;
    text-align: center;
  }

  .cg-calc-trustbar {
    justify-content: center;
  }

  .cg-premium-form,
  .cg-result-panel {
    border-radius: 22px;
  }

  .cg-calc-actions {
    gap: 12px;
  }
}

@media (max-width: 480px) {
  .cg-calc-page {
    padding-inline: 12px;
  }

  .cg-calc-top h1 {
    font-size: clamp(2rem, 11vw, 2.7rem) !important;
  }

  .cg-calc-button,
  .cg-catalog-cta,
  .cg-more {
    font-size: 1.08rem !important;
  }
}

/* ============================================================
   CuidateGratis Tools v6.7.17 — Premium app interface
   Más aplicación, menos página: shell, toolbar, grid de paneles,
   controles táctiles y resultado tipo dashboard.
   ============================================================ */
.cg-calculator-app {
  width: min(1120px, 100%);
  margin: 0 auto clamp(26px, 4vw, 42px);
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr);
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(18,24,20,.11);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,253,248,.32)),
    rgba(255,253,248,.62);
  box-shadow:
    0 34px 90px rgba(9,39,26,.16),
    0 12px 28px rgba(9,39,26,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(22px) saturate(128%);
  -webkit-backdrop-filter: blur(22px) saturate(128%);
}

.cg-app-toolbar {
  grid-column: 1 / -1;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 8px 8px 14px;
  color: rgba(18,63,45,.74);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cg-app-toolbar div {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.cg-app-toolbar i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(18,63,45,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.cg-app-toolbar i:nth-child(1) { background: #D99B45; }
.cg-app-toolbar i:nth-child(2) { background: #8DBD86; }
.cg-app-toolbar i:nth-child(3) { background: #2E7E8A; }

.cg-calculator-app .cg-premium-form,
.cg-calculator-app .cg-result-panel {
  width: 100%;
  margin: 0;
  box-shadow:
    0 16px 42px rgba(9,39,26,.10),
    inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.cg-calculator-app .cg-premium-form {
  align-self: stretch;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  row-gap: 16px;
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,244,234,.92)) !important;
}

.cg-calculator-app .cg-result-panel {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  border-radius: 26px;
  background:
    radial-gradient(circle at 85% 12%, rgba(217,155,69,.20), transparent 26%),
    linear-gradient(180deg, rgba(18,63,45,.98), rgba(9,39,26,.96)) !important;
  color: #fff;
  border-color: rgba(255,255,255,.12) !important;
  overflow: hidden;
}

.cg-calculator-app .cg-result-panel[hidden] {
  display: none !important;
}

.cg-calculator-app .cg-result-label {
  color: #BFE8C8 !important;
}

.cg-calculator-app .cg-result-value,
.cg-calculator-app .cg-result-unit {
  color: #FFFFFF !important;
}

.cg-calculator-app .cg-result-main {
  border-bottom-color: rgba(255,255,255,.14);
}

.cg-calculator-app .cg-result-line {
  color: rgba(255,255,255,.78) !important;
  border-top-color: rgba(255,255,255,.12);
}

.cg-calculator-app .cg-result-summary {
  background: rgba(255,255,255,.09) !important;
  border-color: rgba(255,255,255,.15) !important;
  border-left-color: #BFE8C8 !important;
  color: rgba(255,255,255,.84) !important;
}

.cg-calculator-app .cg-result-summary strong {
  color: #FFFFFF !important;
}

.cg-calculator-app .cg-speedometer {
  width: min(340px, 92%);
}

.cg-calculator-app .cg-arc::after {
  background: linear-gradient(180deg, #123F2D, #09271A) !important;
}

.cg-calculator-app .cg-band {
  box-shadow: none;
}

.cg-calculator-app .cg-save-result {
  margin-top: auto;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.cg-calculator-app .cg-save-result a {
  color: #BFE8C8 !important;
}

.cg-field {
  position: relative;
}

.cg-field label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cg-field label::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--cg-gold);
  opacity: .78;
}

.cg-field input,
.cg-field select,
.cg-food-combobox {
  padding-inline: 16px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.cg-field input:hover,
.cg-field select:hover,
.cg-food-combobox:hover {
  transform: translateY(-1px);
}

.cg-segmented {
  min-height: 56px;
  padding: 5px;
}

.cg-segmented button {
  min-height: 44px;
  border-radius: 11px;
}

.cg-calc-button {
  margin-top: 8px;
  min-height: 58px;
}

.cg-recommendations,
.cg-calc-actions,
.cg-medical-note {
  width: min(1120px, 100%);
}

.cg-recommendations {
  padding: 18px;
  border: 1px solid rgba(18,24,20,.09);
  border-radius: 28px;
  background: rgba(255,253,248,.46);
  box-shadow: 0 16px 40px rgba(9,39,26,.07);
}

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

.cg-calc-actions {
  grid-template-columns: minmax(180px, .42fr) minmax(0, .58fr);
}

html[data-theme="dark"] .cg-calculator-app,
html.cg-dark .cg-calculator-app,
body.cg-dark .cg-calculator-app {
  background: rgba(12,29,52,.62);
  border-color: rgba(232,244,255,.12);
  box-shadow: 0 34px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}

html[data-theme="dark"] .cg-app-toolbar,
html.cg-dark .cg-app-toolbar,
body.cg-dark .cg-app-toolbar {
  color: rgba(244,250,255,.72);
}

html[data-theme="dark"] .cg-calculator-app .cg-premium-form,
html.cg-dark .cg-calculator-app .cg-premium-form,
body.cg-dark .cg-calculator-app .cg-premium-form {
  background: linear-gradient(180deg, rgba(12,29,52,.98), rgba(7,18,32,.95)) !important;
}

@media (max-width: 980px) {
  .cg-calculator-app {
    grid-template-columns: 1fr;
    border-radius: 28px;
  }

  .cg-rec-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cg-calculator-app {
    padding: 9px;
    border-radius: 24px;
  }

  .cg-app-toolbar {
    padding-inline: 8px;
  }

  .cg-calculator-app .cg-premium-form {
    grid-template-columns: 1fr;
    padding: 18px !important;
    border-radius: 20px;
  }

  .cg-calculator-app .cg-result-panel {
    border-radius: 20px;
  }

  .cg-calc-actions {
    grid-template-columns: 1fr;
  }
}

/* === V6.7.17 Premium app catalog === */
.cg-catalog-app {
  width: min(1120px, 100%);
  margin: 0 auto 34px;
  padding: 14px;
  border: 1px solid rgba(18,24,20,.11);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.56), rgba(255,253,248,.32)),
    rgba(255,253,248,.62);
  box-shadow:
    0 34px 90px rgba(9,39,26,.16),
    0 12px 28px rgba(9,39,26,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(22px) saturate(128%);
  -webkit-backdrop-filter: blur(22px) saturate(128%);
}

.cg-catalog-app .cg-catalog-grid {
  margin: 0;
  max-width: none;
  gap: 14px;
}

.cg-catalog-app .cg-catalog-card {
  min-height: 182px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 86% 12%, rgba(191,232,200,.46), transparent 34%),
    linear-gradient(180deg, rgba(255,253,248,.98), rgba(248,244,234,.94));
  border-color: rgba(18,24,20,.09);
  box-shadow: 0 16px 42px rgba(9,39,26,.10), inset 0 1px 0 rgba(255,255,255,.78);
}

.cg-catalog-app .cg-catalog-card:hover {
  transform: translateY(-5px) scale(1.01);
  border-color: rgba(217,155,69,.42);
  box-shadow: 0 24px 58px rgba(9,39,26,.16), inset 0 1px 0 rgba(255,255,255,.86);
}

.cg-catalog-app .cg-catalog-card h3 {
  color: var(--cg-forest);
}

.cg-catalog-app .cg-catalog-card p {
  color: var(--cg-muted);
}

.cg-catalog-app .cg-catalog-cta {
  margin: 18px auto 2px;
  width: min(440px, 100%);
  border-radius: 18px;
  background: linear-gradient(135deg, #123F2D, #1E6A4D);
  box-shadow: 0 18px 36px rgba(9,39,26,.20), inset 0 1px 0 rgba(255,255,255,.24);
}

html[data-theme="dark"] .cg-catalog-app,
html.cg-dark .cg-catalog-app,
body.cg-dark .cg-catalog-app {
  background: rgba(12,29,52,.62);
  border-color: rgba(232,244,255,.12);
  box-shadow: 0 34px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}

@media (max-width: 980px) {
  .cg-catalog-app {
    border-radius: 28px;
  }
}

@media (max-width: 560px) {
  .cg-catalog-app {
    padding: 9px;
    border-radius: 24px;
  }

  .cg-catalog-app .cg-catalog-card {
    border-radius: 20px;
  }
}

/* === v6.7.18 cálculo responsable: validación, ayuda y claridad legal === */
.cg-form-error {
  grid-column: 1 / -1;
  border: 1px solid rgba(176, 74, 42, .24);
  background: linear-gradient(135deg, rgba(255, 247, 237, .96), rgba(255, 255, 255, .94));
  color: #7A2E17;
  border-radius: 16px;
  padding: 12px 14px;
  font-size: .94rem;
  font-weight: 850;
  line-height: 1.45;
  box-shadow: 0 12px 28px rgba(122, 46, 23, .08);
}

.cg-field-help {
  color: #6F7D6E;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
}

.cg-field input:user-invalid,
.cg-field select:user-invalid {
  border-color: rgba(176, 74, 42, .45) !important;
  box-shadow: 0 0 0 4px rgba(176, 74, 42, .08) !important;
}

.cg-calculator-app .cg-result-summary p {
  margin: 0 0 10px;
}

.cg-calculator-app .cg-result-summary p:last-child {
  margin-bottom: 0;
}

html[data-theme="dark"] .cg-form-error,
html.cg-dark .cg-form-error,
body.cg-dark .cg-form-error {
  background: rgba(60, 31, 22, .88);
  border-color: rgba(250, 204, 160, .24);
  color: #FFE7CF;
}

html[data-theme="dark"] .cg-field-help,
html.cg-dark .cg-field-help,
body.cg-dark .cg-field-help {
  color: #B9C9B5;
}

@media (min-width: 981px) {
  #informe-bienestar-container.cg-calculator-app.has-results,
  #informe-bienestar-container.cg-calculator-app.resultados-activos {
    grid-template-columns: minmax(0, .95fr) minmax(360px, .8fr);
    column-gap: clamp(22px, 3vw, 34px);
  }

  #informe-bienestar-container.cg-calculator-app.has-results .cg-result-panel,
  #informe-bienestar-container.cg-calculator-app.resultados-activos .cg-result-panel {
    min-width: 0;
  }
}

/* === QA UI premium: evitar corte inferior en el catálogo de calculadoras === */
.cg-catalog-app,
.cgb-calculators-grid-container,
.bento-grid-content {
  padding-bottom: max(2rem, 32px);
  overflow: visible;
}

.cg-catalog-app .cg-catalog-grid,
.cgb-calculators-grid-container .cg-catalog-grid,
.bento-grid-content .cg-catalog-grid {
  padding-bottom: clamp(1.25rem, 2.8vw, 2rem);
}

.cg-catalog-app .cg-catalog-cta {
  margin-bottom: clamp(.75rem, 2vw, 1.25rem);
}

@media (max-width: 980px) {
  .cg-catalog-app,
  .cgb-calculators-grid-container,
  .bento-grid-content {
    padding-bottom: max(1.75rem, 28px);
  }
}

@media (max-width: 560px) {
  .cg-catalog-app,
  .cgb-calculators-grid-container,
  .bento-grid-content {
    padding-bottom: max(1.5rem, 24px);
  }

  .cg-catalog-app .cg-catalog-grid,
  .cgb-calculators-grid-container .cg-catalog-grid,
  .bento-grid-content .cg-catalog-grid {
    padding-bottom: 1rem;
  }
}

/* === QA UI premium: nitidez del icono de grasa corporal con símbolo % === */
.cg-catalog-card[href*="body-fat-calculator"] .cg-tool-icon,
.cg-calc-page[data-cg-calc="grasa"] .cg-tool-icon,
.cg-tool-icon[src*="grasa.svg"],
.icon-grasa-corporal,
.icon-shield-percent {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  transform: translateZ(0);
  backface-visibility: hidden;
  filter: contrast(1.08) saturate(1.04);
}

.cg-catalog-card[href*="body-fat-calculator"] svg,
.cg-calc-page[data-cg-calc="grasa"] svg,
.icon-grasa-corporal svg,
.icon-shield-percent svg {
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}

@media (max-width: 420px) {
  .cg-catalog-card[href*="body-fat-calculator"] .cg-tool-icon,
  .cg-calc-page[data-cg-calc="grasa"] .cg-tool-icon,
  .cg-tool-icon[src*="grasa.svg"],
  .icon-grasa-corporal,
  .icon-shield-percent {
    min-width: 82px;
    min-height: 82px;
  }
}

/* === QA UI premium: Informe de bienestar expansivo y sin superposiciones === */
#informe-bienestar-container.cg-calculator-app {
  width: min(1200px, calc(100% - 2rem));
  max-width: 1200px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: stretch;
  box-sizing: border-box;
  overflow: visible;
  transition: grid-template-columns .34s ease, gap .34s ease, padding .34s ease;
}

#informe-bienestar-container.cg-calculator-app:not(.resultados-activos):not(.has-results) .cg-premium-form {
  width: min(760px, 100%);
  justify-self: center;
  grid-column: 1 / -1;
}

#informe-bienestar-container.cg-calculator-app.resultados-activos,
#informe-bienestar-container.cg-calculator-app.has-results {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
}

#informe-bienestar-container .cg-premium-form,
#informe-bienestar-container .cg-result-panel {
  position: static !important;
  inset: auto !important;
  transform: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
  justify-self: stretch;
  transition: opacity .34s ease, box-shadow .34s ease;
}

#informe-bienestar-container .cg-result-panel {
  grid-column: auto;
  align-self: stretch;
}

#informe-bienestar-container .cg-result-panel[hidden] {
  display: none !important;
}

#informe-bienestar-container .cg-calc-button,
#btn-calcular-cg {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-self: stretch;
}

/* Tarjetas dinámicas de "Siguiente paso recomendado" con miniatura fija. */
#siguiente-paso-contenedor-cg .cg-rec-card--dynamic {
  grid-template-columns: 60px minmax(0, 1fr) 18px;
  min-height: 94px;
  padding: 14px;
  gap: 14px;
}

.cg-rec-thumb-wrap,
.cg-recommendation-thumb {
  width: 60px;
  height: 60px;
  border-radius: 8px;
}

.cg-rec-thumb-wrap {
  display: block;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(236,246,238,.74));
  background-size: cover;
  background-position: center;
  box-shadow: 0 10px 22px rgba(9,39,26,.10);
}

.cg-recommendation-thumb {
  display: block;
  object-fit: cover;
}

#siguiente-paso-contenedor-cg .cg-rec-card--dynamic:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(9,39,26,.13), inset 0 1px 0 rgba(255,255,255,.82);
}

@media (max-width: 768px) {
  #informe-bienestar-container.cg-calculator-app,
  #informe-bienestar-container.cg-calculator-app.resultados-activos,
  #informe-bienestar-container.cg-calculator-app.has-results,
  #informe-bienestar-container.cg-calculator-app:not(.resultados-activos) {
    width: min(100%, calc(100% - 1rem));
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  #informe-bienestar-container .cg-premium-form,
  #informe-bienestar-container .cg-result-panel,
  #informe-bienestar-container.cg-calculator-app:not(.resultados-activos):not(.has-results) .cg-premium-form {
    width: 100%;
  }
}

@media (max-width: 480px) {
  #siguiente-paso-contenedor-cg .cg-rec-card--dynamic {
    grid-template-columns: 54px minmax(0, 1fr) 14px;
    min-height: 86px;
    gap: 12px;
  }

  .cg-rec-thumb-wrap,
  .cg-recommendation-thumb {
    width: 54px;
    height: 54px;
  }
}

/* === QA UI premium: dashboard ancho en escritorio === */
@media (min-width: 992px) {
  .cg-calc-page {
    --cg-calculator-dashboard-width: min(1200px, calc(100vw - 48px));
  }

  .cg-calc-page #informe-bienestar-container.cg-calculator-app,
  .cg-calc-page .cg-recommendations,
  .cg-calc-page .cg-calc-actions,
  .cg-calc-page .cg-medical-note {
    width: var(--cg-calculator-dashboard-width);
    max-width: 1200px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
  }

  .cg-calc-page #informe-bienestar-container.cg-calculator-app.resultados-activos,
  .cg-calc-page #informe-bienestar-container.cg-calculator-app.has-results {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
  }

  .cg-calc-page .cg-recommendations {
    padding: 1.5rem;
  }

  .cg-calc-page #siguiente-paso-contenedor-cg,
  .cg-calc-page .cg-rec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .cg-calc-page .cg-rec-card {
    width: 100%;
    min-width: 0;
  }

  .cg-calc-page .cg-calc-actions {
    display: grid;
    grid-template-columns: minmax(220px, .42fr) minmax(0, .58fr);
    gap: 1.5rem;
    align-items: stretch;
  }

  .cg-calc-page .cg-reset,
  .cg-calc-page .cg-more {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 991px) {
  .cg-calc-page #informe-bienestar-container.cg-calculator-app,
  .cg-calc-page .cg-recommendations,
  .cg-calc-page .cg-calc-actions,
  .cg-calc-page .cg-medical-note {
    width: 100%;
    max-width: 100%;
  }

  .cg-calc-page #siguiente-paso-contenedor-cg,
  .cg-calc-page .cg-rec-grid,
  .cg-calc-page .cg-calc-actions {
    grid-template-columns: 1fr;
  }
}

/* === Hotfix UI: dashboard ancho y recomendaciones sin solapamientos === */
.cg-calc-page {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.cg-calc-page #informe-bienestar-container.cg-calculator-app,
.cg-calc-page .cg-recommendations,
.cg-calc-page .cg-calc-actions,
.cg-calc-page .cg-medical-note {
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.cg-calc-page #siguiente-paso-contenedor-cg,
.cg-calc-page .cg-rec-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

.cg-calc-page .cg-rec-card,
.cg-calc-page #siguiente-paso-contenedor-cg .cg-rec-card,
.cg-calc-page #siguiente-paso-contenedor-cg .cg-rec-card--dynamic {
  position: relative !important;
  inset: auto !important;
  transform: none;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.cg-rec-thumb-wrap,
.cg-recommendation-thumb,
#siguiente-paso-contenedor-cg .cg-rec-thumb-wrap,
#siguiente-paso-contenedor-cg .cg-recommendation-thumb {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  border-radius: 12px !important;
}

.cg-recommendation-thumb {
  display: block !important;
  object-fit: cover !important;
}

@media (max-width: 860px) {
  .cg-calc-page #informe-bienestar-container.cg-calculator-app,
  .cg-calc-page .cg-recommendations,
  .cg-calc-page .cg-calc-actions,
  .cg-calc-page .cg-medical-note {
    width: min(100%, calc(100vw - 24px)) !important;
  }

  .cg-calc-page #siguiente-paso-contenedor-cg,
  .cg-calc-page .cg-rec-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === Full Bleed Breakout: elimina franjas laterales y estiramiento vertical === */
html,
body,
#page,
.site,
.site-content {
  background-color: #fdfbf7 !important;
}

.cg-calc-wrapper,
.cg-calc-page {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  background: #fdfbf7 !important;
}

.cg-calc-page > .cg-calc-top,
.cg-calc-page > .cg-calc-subcopy,
.cg-calc-page > .cg-calc-trustbar,
.cg-calc-page > #informe-bienestar-container,
.cg-calc-page > .cg-analysis-report,
.cg-calc-page > .cg-recommendations,
.cg-calc-page > .cg-calc-actions,
.cg-calc-page > .cg-medical-note {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

.cg-calc-page #informe-bienestar-container.cg-calculator-app.has-results,
.cg-calc-page #informe-bienestar-container.cg-calculator-app.resultados-activos {
  align-items: stretch !important;
}

.cg-calc-page #informe-bienestar-container .cg-premium-form {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  align-content: start !important;
}

.cg-calc-page #siguiente-paso-contenedor-cg,
.cg-calc-page .cg-rec-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

.cg-calc-page .cg-rec-card {
  position: relative !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.cg-calc-page #informe-bienestar-container .cg-result-panel {
  height: 100% !important;
  align-self: stretch !important;
  display: grid !important;
  align-content: start !important;
}

.cg-calc-page #informe-bienestar-container .result-line-one,
.cg-calc-page #informe-bienestar-container .result-line-two,
.cg-calc-page #informe-bienestar-container .cg-result-summary {
  display: none !important;
}

.cg-analysis-report {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 32px auto 0 auto !important;
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 40px !important;
  border: 1px solid #e2e8f0 !important;
  box-sizing: border-box !important;
  color: #1e293b !important;
  box-shadow: 0 24px 58px rgba(18,63,45,.08), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

.cg-analysis-report[hidden] {
  display: none !important;
}

.cg-analysis-report h3 {
  margin: 0 0 26px !important;
  color: #064e3b !important;
  font-size: clamp(1.55rem, 2.4vw, 2.1rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

.cg-analysis-report__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.cg-analysis-report article {
  min-width: 0 !important;
  padding: 22px !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15,78,59,.08) !important;
}

.cg-analysis-report h4 {
  margin: 0 0 12px !important;
  color: #064e3b !important;
  font-size: 1.04rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

.cg-analysis-report p {
  margin: 0 !important;
  color: #1e293b !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  font-weight: 560 !important;
}

@media (max-width: 860px) {
  .cg-calc-wrapper,
  .cg-calc-page {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .cg-calc-page #siguiente-paso-contenedor-cg,
  .cg-calc-page .cg-rec-grid {
    grid-template-columns: 1fr !important;
  }

  .cg-analysis-report {
    padding: 24px !important;
    margin-top: 24px !important;
  }

  .cg-analysis-report__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Integrated calculator analysis report inside the main app card */
#informe-bienestar-container.cg-calculator-app {
  overflow: visible !important;
}

#informe-bienestar-container.cg-calculator-app.has-results,
#informe-bienestar-container.cg-calculator-app.resultados-activos {
  align-items: stretch !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report,
.cg-calculator-app .cg-analysis-report {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 0 !important;
  background: #f4f1ea !important;
  border: 1px solid #e2dcd0 !important;
  border-radius: 16px !important;
  padding: 32px !important;
  box-sizing: border-box !important;
  color: #2c3e50 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 18px 42px rgba(18,63,45,.08) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report[hidden],
.cg-calculator-app .cg-analysis-report[hidden] {
  display: none !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h3,
.cg-calculator-app .cg-analysis-report h3 {
  margin: 0 0 24px !important;
  color: #064e3b !important;
  font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report__grid,
.cg-calculator-app .cg-analysis-report__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report article,
.cg-calculator-app .cg-analysis-report article {
  min-width: 0 !important;
  padding: 20px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.54) !important;
  border: 1px solid rgba(226,220,208,.92) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h4,
.cg-calculator-app .cg-analysis-report h4 {
  margin: 0 0 12px !important;
  color: #064e3b !important;
  font-size: 1.04rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report p,
.cg-calculator-app .cg-analysis-report p {
  margin: 0 !important;
  color: #2c3e50 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  font-weight: 560 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-result-panel,
.cg-calculator-app .cg-result-panel.cg-result-visible {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-result,
.cg-calculator-app .cg-save-result {
  margin-top: auto !important;
  padding: 16px !important;
  background: rgba(0,0,0,.2) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  bottom: 0 !important;
  align-items: center !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-current,
.cg-calculator-app .cg-save-current {
  min-height: 46px !important;
  border-radius: 10px !important;
  background: #fdfbf7 !important;
  color: #064e3b !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-result a,
.cg-calculator-app .cg-save-result a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  color: #fdfbf7 !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
}

@media (max-width: 860px) {
  #informe-bienestar-container.cg-calculator-app .cg-analysis-report,
  .cg-calculator-app .cg-analysis-report {
    padding: 22px !important;
    margin-top: 20px !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-analysis-report__grid,
  .cg-calculator-app .cg-analysis-report__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-save-result,
  .cg-calculator-app .cg-save-result {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* Premium refinement: cleaner result actions and editorial analysis flow */
#informe-bienestar-container.cg-calculator-app .cg-save-result,
.cg-calculator-app .cg-save-result {
  margin: 22px auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-current,
#informe-bienestar-container.cg-calculator-app .cg-save-result a,
.cg-calculator-app .cg-save-current,
.cg-calculator-app .cg-save-result a {
  min-height: 46px !important;
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  background: rgba(253,251,247,.96) !important;
  color: #064e3b !important;
  border: 1px solid rgba(255,255,255,.74) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.78) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-result a,
.cg-calculator-app .cg-save-result a {
  background: linear-gradient(135deg, #f4c542, #dba83f) !important;
  color: #123f2d !important;
  border-color: rgba(255,235,169,.72) !important;
  box-shadow: 0 14px 28px rgba(244,197,66,.22), 0 10px 24px rgba(0,0,0,.16) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-current:hover,
#informe-bienestar-container.cg-calculator-app .cg-save-result a:hover,
.cg-calculator-app .cg-save-current:hover,
.cg-calculator-app .cg-save-result a:hover {
  transform: translateY(-1px) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-save-current:focus-visible,
#informe-bienestar-container.cg-calculator-app .cg-save-result a:focus-visible,
.cg-calculator-app .cg-save-current:focus-visible,
.cg-calculator-app .cg-save-result a:focus-visible {
  outline: 3px solid rgba(244,197,66,.9) !important;
  outline-offset: 3px !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report,
.cg-calculator-app .cg-analysis-report {
  background: #e8dfd0 !important;
  border-color: #d8cfbf !important;
  padding: 26px 30px !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h3,
.cg-calculator-app .cg-analysis-report h3 {
  margin-bottom: 18px !important;
  font-size: clamp(1.28rem, 1.8vw, 1.68rem) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report__grid,
.cg-calculator-app .cg-analysis-report__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report article,
.cg-calculator-app .cg-analysis-report article {
  padding: 16px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-top: 1px solid rgba(100,88,69,.18) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report article:first-child,
.cg-calculator-app .cg-analysis-report article:first-child {
  border-top: 0 !important;
  padding-top: 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report article:last-child,
.cg-calculator-app .cg-analysis-report article:last-child {
  padding-bottom: 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h4,
.cg-calculator-app .cg-analysis-report h4 {
  margin-bottom: 8px !important;
  font-size: clamp(.98rem, 1.12vw, 1.08rem) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report p,
.cg-calculator-app .cg-analysis-report p {
  max-width: 920px !important;
  font-size: clamp(.92rem, 1vw, .99rem) !important;
  line-height: 1.58 !important;
  font-weight: 620 !important;
}

@media (max-width: 640px) {
  #informe-bienestar-container.cg-calculator-app .cg-save-result,
  .cg-calculator-app .cg-save-result {
    grid-template-columns: 1fr !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-analysis-report,
  .cg-calculator-app .cg-analysis-report {
    padding: 24px !important;
  }
}

/* Limited public analysis: concise, scannable and account-led */
#informe-bienestar-container.cg-calculator-app .cg-save-result a:hover,
.cg-calculator-app .cg-save-result a:hover {
  background: linear-gradient(135deg, #ffd86a, #e0ad3f) !important;
  color: #0b3b2a !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report,
.cg-calculator-app .cg-analysis-report {
  padding: 22px 26px !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h3,
.cg-calculator-app .cg-analysis-report h3 {
  margin: 0 0 14px !important;
  font-size: clamp(1.16rem, 1.45vw, 1.42rem) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report article,
.cg-calculator-app .cg-analysis-report article {
  padding: 12px 0 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report h4,
.cg-calculator-app .cg-analysis-report h4 {
  margin: 0 0 6px !important;
  font-size: clamp(.94rem, 1vw, 1rem) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-report p,
.cg-calculator-app .cg-analysis-report p {
  max-width: 860px !important;
  font-size: clamp(.88rem, .92vw, .94rem) !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-cta,
.cg-calculator-app .cg-analysis-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(100,88,69,.18) !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-cta p,
.cg-calculator-app .cg-analysis-cta p {
  margin: 0 !important;
  color: #516052 !important;
  font-size: .88rem !important;
  line-height: 1.35 !important;
}

#informe-bienestar-container.cg-calculator-app .cg-analysis-cta a,
.cg-calculator-app .cg-analysis-cta a {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: #0f5138 !important;
  color: #fffaf0 !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  box-shadow: 0 12px 24px rgba(15,81,56,.18) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  #informe-bienestar-container.cg-calculator-app .cg-analysis-report,
  .cg-calculator-app .cg-analysis-report {
    padding: 18px !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-analysis-cta,
  .cg-calculator-app .cg-analysis-cta {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-analysis-cta a,
  .cg-calculator-app .cg-analysis-cta a {
    width: 100% !important;
  }
}

/* QA hardening: stable calculator layout, transitions and dynamic blocks */
.cg-calc-page #informe-bienestar-container.cg-calculator-app.has-results,
.cg-calc-page #informe-bienestar-container.cg-calculator-app.resultados-activos,
#informe-bienestar-container.cg-calculator-app.has-results,
#informe-bienestar-container.cg-calculator-app.resultados-activos {
  align-items: start !important;
}

#informe-bienestar-container.cg-calculator-app .cg-premium-form,
.cg-calculator-app .cg-premium-form {
  height: auto !important;
  align-self: start !important;
}

#informe-bienestar-container.cg-calculator-app .cg-result-panel,
.cg-calculator-app .cg-result-panel {
  align-self: start !important;
}

.cg-calc-page > .cg-calc-top,
.cg-calc-page > .cg-calc-subcopy,
.cg-calc-page > .cg-calc-trustbar,
.cg-calc-page > #informe-bienestar-container,
.cg-calc-page > .cg-recommendations,
.cg-calc-page > .cg-calc-actions,
.cg-calc-page > .cg-medical-note {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cg-recommendations,
#siguiente-paso-contenedor-cg,
.cg-rec-grid {
  min-height: 118px !important;
}

.cg-calc-button,
.cg-reset,
.cg-more,
.cg-save-current,
.cg-save-result a,
.cg-rec-card,
.cg-catalog-card,
.cg-catalog-cta,
.cg-segmented button,
.cg-add-food,
.cg-food-option {
  transition: all .2s ease-in-out !important;
}

.cg-calc-button:active,
.cg-reset:active,
.cg-more:active,
.cg-save-current:active,
.cg-save-result a:active,
.cg-rec-card:active,
.cg-catalog-card:active,
.cg-catalog-cta:active,
.cg-segmented button:active,
.cg-add-food:active,
.cg-food-option:active {
  transform: translateY(1px) scale(.99) !important;
}

/* QA 360 final guardrails: full-width calculator shell and stable dynamic UI */
html,
body,
#page,
.site,
.site-content {
  background-color: #fdfbf7 !important;
}

.cg-calc-page {
  background-color: #fdfbf7 !important;
  overflow-x: clip !important;
}

@media (min-width: 1024px) {
  .cg-calc-page {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cg-calc-page > .cg-calc-top,
  .cg-calc-page > .cg-calc-subcopy,
  .cg-calc-page > .cg-calc-trustbar,
  .cg-calc-page > #informe-bienestar-container,
  .cg-calc-page > .cg-recommendations,
  .cg-calc-page > .cg-calc-actions,
  .cg-calc-page > .cg-medical-note {
    width: min(1200px, calc(100vw - 48px)) !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
  }
}

#informe-bienestar-container.cg-calculator-app.has-results,
#informe-bienestar-container.cg-calculator-app.resultados-activos,
.cg-calc-page #informe-bienestar-container.cg-calculator-app.has-results,
.cg-calc-page #informe-bienestar-container.cg-calculator-app.resultados-activos {
  align-items: start !important;
}

#informe-bienestar-container.cg-calculator-app .cg-premium-form,
.cg-calculator-app .cg-premium-form,
#informe-bienestar-container.cg-calculator-app .cg-result-panel,
.cg-calculator-app .cg-result-panel {
  height: auto !important;
  align-self: start !important;
}

.cg-calc-page #siguiente-paso-contenedor-cg,
.cg-calc-page .cg-rec-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  min-height: 118px !important;
}

.cg-calc-page #siguiente-paso-contenedor-cg .cg-rec-card,
.cg-calc-page .cg-rec-grid .cg-rec-card {
  position: relative !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 900px) {
  .cg-calc-page #siguiente-paso-contenedor-cg,
  .cg-calc-page .cg-rec-grid {
    grid-template-columns: 1fr !important;
  }
}

/* QA layout lock: el resultado nunca cae debajo en escritorio */
#informe-bienestar-container.cg-calculator-app:not(.has-results):not(.resultados-activos) .cg-result-panel,
.cg-calc-page:not(.has-results):not(.resultados-activos) #informe-bienestar-container.cg-calculator-app .cg-result-panel {
  display: none !important;
}

@media (min-width: 901px) {
  #informe-bienestar-container.cg-calculator-app.has-results,
  #informe-bienestar-container.cg-calculator-app.resultados-activos,
  .cg-calc-page #informe-bienestar-container.cg-calculator-app.has-results,
  .cg-calc-page #informe-bienestar-container.cg-calculator-app.resultados-activos {
    display: grid !important;
    grid-template-columns: minmax(0, .98fr) minmax(420px, 1.02fr) !important;
    grid-auto-flow: row !important;
    gap: clamp(24px, 3vw, 42px) !important;
    align-items: start !important;
  }

  #informe-bienestar-container.cg-calculator-app.has-results .cg-premium-form,
  #informe-bienestar-container.cg-calculator-app.resultados-activos .cg-premium-form {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: auto !important;
    align-self: start !important;
    justify-self: stretch !important;
  }

  #informe-bienestar-container.cg-calculator-app.has-results .cg-result-panel,
  #informe-bienestar-container.cg-calculator-app.resultados-activos .cg-result-panel {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    align-self: start !important;
    justify-self: stretch !important;
    margin: 0 !important;
  }

  #informe-bienestar-container.cg-calculator-app .cg-analysis-report {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}

/* Tema HTML Final: base clara para evitar que clases/caches dark antiguas contaminen el plugin. */
html.cg-force-light,
html.cg-force-light body,
html.cg-force-light .cg-calc-page{
  color-scheme:light!important;
}
html.cg-force-light .cg-calc-page:before,
html.cg-force-light body .cg-calc-page:before{
  background:
    radial-gradient(circle at 12% 5%, rgba(220,235,214,.55), transparent 28rem),
    linear-gradient(180deg,#fffdf8 0%,#f8f4ea 64%,#f4eedf 100%)!important;
}
html.cg-force-light .cg-premium-form,
html.cg-force-light .cg-catalog-card:not(.cg-catalog-card--photo),
html.cg-force-light .cg-rec-card,
html.cg-force-light .cg-reset,
html.cg-force-light .cg-plate-builder{
  background:linear-gradient(180deg,#fffefb,#faf6ee)!important;
  border-color:rgba(18,63,45,.12)!important;
  box-shadow:0 20px 54px rgba(18,63,45,.11)!important;
}
html.cg-force-light .cg-calc-top h1,
html.cg-force-light .cg-field label,
html.cg-force-light .cg-recommendations h3,
html.cg-force-light .cg-rec-card strong,
html.cg-force-light .cg-catalog-card:not(.cg-catalog-card--photo) h3{
  color:#0d3f2d!important;
}
html.cg-force-light .cg-calc-subcopy,
html.cg-force-light .cg-medical-note,
html.cg-force-light .cg-rec-card em,
html.cg-force-light .cg-catalog-card:not(.cg-catalog-card--photo) p{
  color:#5d6d5f!important;
}

/* === Mi Panel premium: Bento dashboard + triple anillo === */
.cg-dashboard {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  padding: clamp(32px, 5vw, 72px) 20px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(217,155,69,.12), transparent 26rem),
    radial-gradient(circle at 92% 18%, rgba(16,185,129,.12), transparent 26rem),
    linear-gradient(180deg,#fdfbf7,#f4f1e8) !important;
  box-sizing: border-box !important;
}
.cg-dashboard > * {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.cg-dashboard-card,
.cg-dashboard-onboarding {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(18,63,45,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 60px rgba(18,63,45,.10) !important;
  padding: clamp(22px, 3vw, 34px) !important;
  box-sizing: border-box !important;
}
.cg-dashboard-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  color: #2f7d57 !important;
  font-size: .76rem !important;
  font-weight: 950 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.cg-dashboard h1,
.cg-dashboard h2,
.cg-dashboard h3 {
  margin-top: 0 !important;
  color: #082318 !important;
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  line-height: 1.05 !important;
}
.cg-dashboard h1 { font-size: clamp(2rem, 4vw, 3.8rem) !important; }
.cg-dashboard h2 { font-size: clamp(1.45rem, 2.5vw, 2.2rem) !important; }
.cg-dashboard p { color: #536456 !important; line-height: 1.65 !important; }
.cg-dashboard-header {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 16px 24px !important;
  align-items: flex-end !important;
  margin-bottom: 18px !important;
  padding: clamp(18px, 3vw, 28px) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  box-shadow: 0 16px 40px rgba(18,63,45,.08) !important;
}
.cg-dashboard-header h1 {
  margin: 6px 0 0 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
}
.cg-dashboard-header-date {
  margin: 6px 0 0 !important;
  color: #607064 !important;
  font-weight: 800 !important;
}
.cg-dashboard-header-summary {
  margin: 0 !important;
  max-width: 28rem !important;
  color: #123f2d !important;
  font-weight: 850 !important;
}
.cg-dashboard-ghost {
  border: 1px solid rgba(18,63,45,.14) !important;
  border-radius: 999px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  background: #fff !important;
  color: #123f2d !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.cg-dashboard-onboarding {
  position: relative !important;
  z-index: 12 !important;
  display: grid !important;
  gap: 14px !important;
  align-items: center !important;
  margin-bottom: 18px !important;
  transition: opacity .22s ease, transform .22s ease, max-height .28s ease, margin .28s ease, padding .28s ease !important;
}
.cg-dashboard-onboarding--compact {
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, 1fr) auto !important;
  padding: 16px 18px !important;
}
.cg-dashboard-onboarding--compact h1 {
  display: none !important;
}
.cg-dashboard-onboarding--compact .cg-dashboard-onboarding-copy p {
  margin: 6px 0 0 !important;
  color: #213228 !important;
  font-weight: 750 !important;
}
.cg-dashboard-onboarding--compact .cg-dashboard-kicker {
  color: #2f7d57 !important;
}
.cg-dashboard-onboarding--compact .cg-dashboard-primary {
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  cursor: pointer !important;
}
.cg-dashboard-onboarding--compact .cg-dashboard-dismiss {
  z-index: 4 !important;
  pointer-events: auto !important;
}
.cg-dashboard-onboarding.is-leaving {
  opacity: 0 !important;
  transform: translateY(-8px) !important;
}
.cg-dashboard-onboarding.is-dismissed {
  display: none !important;
}
.cg-dashboard-guide--inline {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.cg-dashboard-guide--inline li {
  padding: 10px 12px !important;
}
.cg-dashboard-insights {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}
.cg-dashboard-weekly-bars {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: end !important;
  min-height: 120px !important;
  margin-top: 12px !important;
}
.cg-dashboard-weekly-bar {
  display: grid !important;
  gap: 6px !important;
  justify-items: center !important;
  height: 120px !important;
  align-content: end !important;
}
.cg-dashboard-weekly-bar span {
  display: block !important;
  width: 100% !important;
  max-width: 34px !important;
  border-radius: 10px 10px 4px 4px !important;
  background: linear-gradient(180deg, #10b981, #3b82f6) !important;
  min-height: 8px !important;
}
.cg-dashboard-weekly-bar small {
  color: #607064 !important;
  font-weight: 900 !important;
  font-size: .72rem !important;
}
.cg-dashboard-weekly-note,
.cg-dashboard-streak-hint,
.cg-tracker-hint,
.cg-dashboard-disclaimer,
.cg-dashboard-history-tip {
  margin: 10px 0 0 !important;
  color: #647164 !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
}
.cg-dashboard-disclaimer {
  margin-top: 18px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(18,63,45,.08) !important;
}
.cg-dashboard-streak-value {
  display: grid !important;
  gap: 2px !important;
  justify-items: center !important;
  text-align: center !important;
}
.cg-dashboard-streak-value strong {
  font-size: clamp(1.85rem, 4.8vw, 2.45rem) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}
.cg-dashboard-streak-value small {
  display: block !important;
  color: #607064 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: .72rem !important;
}
.cg-dashboard-water-bar {
  width: 100% !important;
  height: 10px !important;
  margin-top: 14px !important;
  border-radius: 999px !important;
  background: rgba(59,130,246,.12) !important;
  overflow: hidden !important;
}
.cg-dashboard-water-bar-fill {
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #3b82f6, #10b981) !important;
  transition: width .45s ease !important;
}
.cg-dashboard-water-detail {
  margin: 8px 0 0 !important;
  font-weight: 900 !important;
  color: #123f2d !important;
}
.cg-dashboard-activity-summary {
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: #eef5eb !important;
  color: #123f2d !important;
  font-weight: 850 !important;
}
.cg-dashboard-featured {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
  background: linear-gradient(180deg, rgba(16,185,129,.08), rgba(255,255,255,.92)) !important;
}
.cg-dashboard-featured-value {
  font-size: 1.5rem !important;
  font-weight: 950 !important;
  color: #123f2d !important;
  margin: 0 !important;
}
.cg-dashboard-history-head {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.cg-dashboard-history-icon {
  font-size: 1.4rem !important;
  line-height: 1 !important;
}
.cg-dashboard-history-foot {
  display: flex !important;
  justify-content: space-between !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-top: 6px !important;
}
.cg-dashboard-history-cta {
  font-weight: 900 !important;
  color: #0f766e !important;
  text-decoration: none !important;
}
.cg-dashboard-pro--slim {
  padding: 16px 20px !important;
  min-height: 0 !important;
}
.cg-dashboard-pro-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 18px !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.cg-dashboard-pro-row p {
  margin: 6px 0 0 !important;
  max-width: 42rem !important;
}
.cg-dashboard-dismiss {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 38px !important;
  height: 38px !important;
  border: 1px solid rgba(18,63,45,.12) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #123f2d !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.cg-dashboard-guide {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.cg-dashboard-guide li {
  display: grid !important;
  gap: 3px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  border-radius: 16px !important;
  background: #f7fbf4 !important;
}
.cg-dashboard-guide strong { color: #123f2d !important; font-weight: 950 !important; }
.cg-dashboard-guide span { color: #627266 !important; font-weight: 750 !important; }
.cg-dashboard-grid {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 22px !important;
}
.cg-dashboard-rings-card {
  min-height: 0 !important;
}
.cg-dashboard-trackers {
  min-height: 0 !important;
}
.cg-dashboard-rings-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 12px !important;
}
.cg-dashboard-rings {
  position: relative !important;
  width: min(360px, 88vw) !important;
  aspect-ratio: 1 !important;
  margin: 18px auto 8px !important;
  display: grid !important;
  place-items: center !important;
}
.cg-dashboard-rings svg {
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg) !important;
}
.cg-ring-bg,
.cg-ring-progress {
  fill: none !important;
  stroke-width: 10 !important;
  stroke-linecap: round !important;
}
.cg-ring-bg { stroke: rgba(18,63,45,.09) !important; }
.cg-ring-progress {
  transition: stroke-dashoffset .78s cubic-bezier(.22, 1, .36, 1) !important;
  will-change: stroke-dashoffset !important;
}
.cg-ring-nutrition { stroke: #10b981 !important; }
.cg-ring-water { stroke: #3b82f6 !important; }
.cg-ring-activity { stroke: #f97316 !important; }
.cg-dashboard-rings .cg-dashboard-streak {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(42%, 9.5rem) !important;
  height: min(42%, 9.5rem) !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  text-align: center !important;
  pointer-events: none !important;
  z-index: 2 !important;
  color: #082318 !important;
}
.cg-dashboard-rings .cg-dashboard-streak-icon {
  font-size: 1.15rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.cg-dashboard-rings .cg-dashboard-streak-value {
  width: 100% !important;
}
.cg-dashboard-rings .cg-dashboard-streak-value small {
  font-size: 0.58rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.06em !important;
}
.cg-dashboard-progress-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 4px !important;
}
.cg-dashboard-progress-list p {
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: #f7fbf4 !important;
  font-weight: 850 !important;
  text-align: left !important;
}
.cg-dashboard-progress-list strong { display: block !important; color: #123f2d !important; }
.dot {
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  margin-right: 7px !important;
}
.dot.nutrition { background: #10b981 !important; }
.dot.water { background: #3b82f6 !important; }
.dot.activity { background: #f97316 !important; }
.cg-tracker-block {
  padding: 16px !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  border-radius: 18px !important;
  background: #fffdf8 !important;
  margin-top: 14px !important;
}
.cg-tracker-block h3 {
  font-size: 1.05rem !important;
  margin-bottom: 10px !important;
}
.cg-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.cg-chip-row button,
.cg-dashboard-primary,
.cg-dashboard-secondary {
  border: 1px solid rgba(18,63,45,.14) !important;
  border-radius: 999px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  transition: all .2s ease-in-out !important;
  touch-action: manipulation !important;
}
.cg-chip-row button {
  background: #fff !important;
  color: #123f2d !important;
}
.cg-chip-row button:hover,
.cg-chip-row button[aria-pressed="true"],
.cg-chip-row button.is-active {
  background: #123f2d !important;
  color: #fffdf8 !important;
  transform: translateY(-1px) !important;
}
.cg-chip-row button:active,
.cg-dashboard-primary:active,
.cg-dashboard-secondary:active {
  transform: scale(.97) !important;
}
.cg-chip-row button.cg-tap-confirmed {
  box-shadow: 0 0 0 6px rgba(16,185,129,.13) !important;
}
.cg-chip-row--stack {
  display: grid !important;
  gap: 12px !important;
}
.cg-chip-row--stack > div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.cg-chip-row--stack span {
  min-width: 78px !important;
  color: #607064 !important;
  font-weight: 950 !important;
}
.cg-segmented-control {
  padding: 6px !important;
  border-radius: 18px !important;
  background: #eef5eb !important;
  border: 1px solid rgba(18,63,45,.10) !important;
}
.cg-segmented-control span {
  padding-left: 8px !important;
}
.cg-segmented-control button {
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.cg-segmented-control button[aria-pressed="true"],
.cg-segmented-control button.is-active {
  background: #123f2d !important;
  color: #fffdf8 !important;
  box-shadow: 0 10px 24px rgba(18,63,45,.18) !important;
}
.cg-tracker-note {
  margin: 10px 0 0 !important;
  font-size: .92rem !important;
  font-weight: 850 !important;
}
.cg-dashboard-primary-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.cg-dashboard-favorites--compact {
  text-align: left;
}
.cg-dashboard-favorites--compact h2 {
  font-size: 1.2rem !important;
  margin-bottom: 10px !important;
}
.cg-dashboard-favorites--compact [data-cg-favorites-panel] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
  margin-bottom: 8px;
}
.cg-favorites-hint {
  margin: 0 !important;
  font-size: 0.82rem !important;
  color: #627266 !important;
  line-height: 1.45 !important;
}
.cg-dashboard-favorites [data-cg-favorites-panel] {
  display: grid !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.cg-favorites-item {
  display: grid !important;
  gap: 4px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(18, 63, 45, 0.1) !important;
  background: #fffdf8 !important;
  color: #123f2d !important;
  text-decoration: none !important;
}

.cg-favorites-item span {
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #2f7d57 !important;
}

.cg-favorites-item strong {
  font-size: 0.95rem !important;
  line-height: 1.25 !important;
}

.cg-favorites-empty {
  margin: 0 !important;
  color: #627266 !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
}

.cg-dashboard-panel-actions-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  margin-top: 12px !important;
}
.cg-dashboard-panel-actions-grid .cg-dashboard-ghost {
  grid-column: 1 / -1 !important;
}
.cg-dashboard-actions-hint {
  margin: 10px 0 0 !important;
  color: #627266 !important;
  font-size: .92rem !important;
}
.cg-tracker-inline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin-top: 10px !important;
}
.cg-tracker-inline input[type="number"] {
  width: min(140px, 42vw) !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(18,63,45,.14) !important;
  border-radius: 12px !important;
  font: inherit !important;
}
.cg-dashboard-weekly-detail {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(18,63,45,.08) !important;
}
.cg-dashboard-weekly-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: .92rem !important;
}
.cg-dashboard-weekly-table th,
.cg-dashboard-weekly-table td {
  padding: 8px 10px !important;
  border-bottom: 1px solid rgba(18,63,45,.08) !important;
  text-align: left !important;
}
.cg-dashboard-weekly-table th {
  color: #627266 !important;
  font-weight: 800 !important;
}
.cg-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.cg-dashboard-ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(18,63,45,.12) !important;
  background: transparent !important;
  color: #123f2d !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.cg-dashboard-panel-actions .cg-dashboard-primary,
.cg-dashboard-panel-actions .cg-dashboard-secondary,
.cg-dashboard-panel-actions .cg-dashboard-ghost {
  width: 100% !important;
}
.cg-tracker-status {
  min-height: 20px !important;
  margin: 12px 0 0 !important;
  color: #647164 !important;
  font-size: .86rem !important;
  font-weight: 850 !important;
  transition: color .2s ease-in-out, opacity .2s ease-in-out !important;
}
.cg-tracker-status.is-saving { color: #8a6a1f !important; }
.cg-tracker-status.is-success { color: #0f766e !important; }
.cg-tracker-status.is-error { color: #b42318 !important; }
.cg-dashboard-history,
.cg-dashboard-pro {
  grid-column: span 1 !important;
}
.cg-dashboard-pro {
  grid-column: 1 / -1 !important;
}
.cg-dashboard-history-list {
  display: grid !important;
  gap: 10px !important;
}
.cg-dashboard-history-list article,
.cg-dashboard-empty {
  display: grid !important;
  gap: 4px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  background: #f7fbf4 !important;
  border: 1px solid rgba(18,63,45,.09) !important;
  transition: transform .2s ease-in-out, box-shadow .2s ease-in-out !important;
}
.cg-dashboard-history-list article:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(18,63,45,.08) !important;
}
.cg-dashboard-history-list strong { color: #123f2d !important; }
.cg-dashboard-history-list span { color: #213228 !important; font-weight: 850 !important; }
.cg-dashboard-history-list small { color: #647164 !important; }
.cg-dashboard-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #123f2d !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 16px 36px rgba(18,63,45,.18) !important;
}
.cg-dashboard-secondary,
.cg-dashboard-empty a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  background: #fff !important;
  color: #123f2d !important;
  text-decoration: none !important;
}
.cg-dashboard-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}
@media (max-width: 980px) {
  .cg-dashboard-onboarding--compact,
  .cg-dashboard-insights,
  .cg-dashboard-grid {
    grid-template-columns: 1fr !important;
  }
  .cg-dashboard-guide--inline {
    grid-template-columns: 1fr !important;
  }
  .cg-dashboard-rings-card,
  .cg-dashboard-trackers {
    min-height: auto !important;
  }
}
@media (max-width: 640px) {
  .cg-dashboard {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .cg-dashboard-card,
  .cg-dashboard-onboarding {
    border-radius: 20px !important;
    padding: 20px !important;
  }
  .cg-dashboard-progress-list {
    grid-template-columns: 1fr !important;
  }
  .cg-chip-row,
  .cg-chip-row--stack > div,
  .cg-dashboard-actions,
  .cg-dashboard-panel-actions-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .cg-chip-row--stack span {
    min-width: 0 !important;
  }
  .cg-dashboard-primary,
  .cg-dashboard-secondary,
  .cg-chip-row button {
    width: 100% !important;
  }
}

/* Contraste final premium: todo estado verde activo/seleccionado conserva lectura clara. */
.cg-calc-page .cg-calc-button,
.cg-calc-page .cg-more,
.cg-calc-page .cg-save-current,
.cg-calc-page .cg-result-actions a,
.cg-calc-page .cg-analysis-cta a,
.cg-dashboard-primary,
.cg-chip-row button:hover,
.cg-chip-row button[aria-pressed="true"],
.cg-chip-row button.is-active,
.cg-catalog-card:hover .cg-catalog-cta,
.cg-tool-card:hover .cg-catalog-cta {
  color: #fffdf8 !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.16) !important;
}
.cg-calc-page .cg-calc-button *,
.cg-calc-page .cg-more *,
.cg-calc-page .cg-save-current *,
.cg-calc-page .cg-result-actions a *,
.cg-calc-page .cg-analysis-cta a,
.cg-calc-page .cg-analysis-cta a *,
.cg-dashboard-primary *,
.cg-chip-row button:hover *,
.cg-chip-row button[aria-pressed="true"] *,
.cg-chip-row button.is-active *,
.cg-catalog-card:hover .cg-catalog-cta *,
.cg-tool-card:hover .cg-catalog-cta * {
  color: inherit !important;
}
.cg-chip-row button:hover,
.cg-chip-row button[aria-pressed="true"],
.cg-chip-row button.is-active {
  background: linear-gradient(135deg,#123f2d,#236744) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.cg-calc-page .cg-more,
.cg-calc-page .cg-analysis-cta a {
  background: linear-gradient(135deg,#0f5138,#123f2d) !important;
}
.cg-calc-page .cg-analysis-cta {
  background: transparent !important;
  text-shadow: none !important;
}
.cg-calc-page .cg-analysis-cta p {
  color: #516052 !important;
  text-shadow: none !important;
}

/* v6.7.18 — Marca verde-crema unificada (prioridad sobre capas azules legacy) */
.cg-calc-page:before,
html.cg-force-light .cg-calc-page:before {
  background:
    radial-gradient(circle at 12% 4%, rgba(47,125,87,.14), transparent 28rem),
    linear-gradient(180deg, #fffdf8 0%, #f4f1e8 100%) !important;
}
.cg-app-toolbar {
  display: none !important;
}
.cg-calculator-app {
  padding-top: 18px !important;
}
.cg-catalog-cta,
.cg-calc-button,
.cg-more,
.cg-save-current {
  background: #123f2d !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.cg-catalog-card h3,
.cg-field label,
.cg-result-label,
.cg-result-value,
.cg-result-unit,
.cg-recommendations h3 {
  color: #123f2d !important;
}
.cg-save-result {
  padding: 18px 20px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(47,125,87,.22) !important;
  background: linear-gradient(135deg, rgba(47,125,87,.12), rgba(217,155,69,.08)) !important;
}
.cg-save-result .cg-save-current {
  min-height: 48px !important;
  font-size: 1.05rem !important;
}
.cg-save-result a {
  color: #123f2d !important;
  font-weight: 900 !important;
}

/* v6.7.19–20 — Formulario calculadora: sin solapamiento ni desalineación peso/edad */
#informe-bienestar-container .cg-premium-form {
  align-items: start !important;
  row-gap: 18px !important;
}

#informe-bienestar-container .cg-premium-form .cg-field {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  width: 100% !important;
  align-self: start !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}

#informe-bienestar-container .cg-premium-form .cg-field label {
  min-height: 1.5rem !important;
  margin: 0 !important;
  align-items: center !important;
}

#informe-bienestar-container .cg-premium-form .cg-field input,
#informe-bienestar-container .cg-premium-form .cg-field select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

#informe-bienestar-container .cg-premium-form .cg-field-help {
  display: block !important;
  margin: 0 !important;
  padding-top: 2px !important;
}

/* IMC: edad ancho completo; peso y altura en la misma fila, alineados arriba */
@media (min-width: 560px) {
  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container.cg-calculator-app:not(.has-results):not(.resultados-activos) .cg-premium-form,
  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
  }

  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form .cg-field--has-help,
  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form .cg-field:has(.cg-field-help),
  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form .cg-calc-button {
    grid-column: 1 / -1 !important;
  }

  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form .cg-field:nth-child(2),
  .cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container .cg-premium-form .cg-field:nth-child(3) {
    grid-column: auto !important;
    align-self: start !important;
  }
}

#informe-bienestar-container.cg-calculator-app.has-results .cg-premium-form,
#informe-bienestar-container.cg-calculator-app.resultados-activos .cg-premium-form,
.cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container.cg-calculator-app.has-results .cg-premium-form,
.cg-calc-page[data-cg-calc="imc"] #informe-bienestar-container.cg-calculator-app.resultados-activos .cg-premium-form {
  grid-template-columns: 1fr !important;
}

#informe-bienestar-container.cg-calculator-app.has-results .cg-premium-form .cg-field,
#informe-bienestar-container.cg-calculator-app.resultados-activos .cg-premium-form .cg-field {
  grid-column: 1 / -1 !important;
}

/* v6.7.21 — Catálogo premium: iconos verde-crema + cards tipo producto */
.cg-tool-icon-wrap {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  margin: 0 auto 14px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 30% 20%, rgba(217,155,69,.16), transparent 42%),
    linear-gradient(145deg, rgba(255,253,248,.98), rgba(232,242,228,.92));
  border: 1px solid rgba(18,63,45,.10);
  box-shadow:
    0 14px 32px rgba(9,39,26,.10),
    inset 0 1px 0 rgba(255,255,255,.88);
  flex: 0 0 88px;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.cg-calc-title-icon .cg-tool-icon-wrap {
  width: 112px;
  height: 112px;
  margin: 0;
  border-radius: 28px;
}

.cg-tool-icon-wrap .cg-tool-icon,
.cg-catalog-card .cg-tool-icon,
.cg-calc-title-icon .cg-tool-icon {
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  object-fit: contain;
  filter: none !important;
}

.cg-calc-title-icon .cg-tool-icon {
  width: 72px !important;
  height: 72px !important;
}

.cg-catalog-app__head {
  margin: 0 0 16px;
  padding: 0 6px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #627266;
}

.cg-catalog-app .cg-catalog-grid {
  gap: 16px !important;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) {
  position: relative;
  min-height: 196px;
  padding: 22px 20px 20px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto 1fr auto !important;
  align-items: start !important;
  text-align: left !important;
  border-radius: 22px !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(191,232,200,.35), transparent 36%),
    linear-gradient(180deg, rgba(255,253,248,.99), rgba(248,244,234,.95)) !important;
  box-shadow: 0 16px 40px rgba(9,39,26,.09), inset 0 1px 0 rgba(255,255,255,.84) !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: right center !important;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) .cg-tool-icon-wrap {
  grid-column: 1 / -1;
  margin: 0 0 12px;
  justify-self: start;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) .cg-catalog-card__body {
  grid-column: 1;
  min-width: 0;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) .cg-catalog-card__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 0 0 6px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(47,125,87,.10);
  color: #2F7D57;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) h3 {
  margin: 0 0 6px !important;
  color: #123f2d !important;
  font-size: 1.22rem !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}

.cg-catalog-app .cg-catalog-card:not(.cg-catalog-card--photo) p {
  margin: 0 !important;
  color: #627266 !important;
  font-size: .94rem !important;
  line-height: 1.45 !important;
}

.cg-catalog-app .cg-catalog-card__chevron {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  justify-self: end;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(18,63,45,.06);
  color: #123f2d;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}

.cg-catalog-app .cg-catalog-card:hover,
.cg-catalog-app .cg-catalog-card:focus-visible {
  transform: translateY(-4px) !important;
  border-color: rgba(47,125,87,.28) !important;
  box-shadow: 0 22px 52px rgba(9,39,26,.14), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.cg-catalog-app .cg-catalog-card:hover .cg-tool-icon-wrap,
.cg-catalog-app .cg-catalog-card:focus-visible .cg-tool-icon-wrap {
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(217,155,69,.35);
  box-shadow: 0 18px 38px rgba(9,39,26,.12), inset 0 1px 0 rgba(255,255,255,.92);
}

.cg-catalog-app .cg-catalog-card:hover .cg-catalog-card__chevron,
.cg-catalog-app .cg-catalog-card:focus-visible .cg-catalog-card__chevron {
  background: #123f2d;
  color: #fffdf8;
  transform: translateX(2px);
}

.cg-catalog-app .cg-catalog-card.cg-wide-card:not(.cg-catalog-card--photo) {
  grid-column: 1 / -1 !important;
  grid-template-columns: 88px minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 0 18px !important;
  min-height: 128px !important;
  padding: 18px 20px !important;
}

.cg-catalog-app .cg-catalog-card.cg-wide-card:not(.cg-catalog-card--photo) .cg-tool-icon-wrap {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  align-self: center;
}

.cg-catalog-app .cg-catalog-card.cg-wide-card:not(.cg-catalog-card--photo) .cg-catalog-card__body {
  grid-column: 2;
  grid-row: 1;
}

.cg-catalog-app .cg-catalog-card.cg-wide-card:not(.cg-catalog-card--photo) .cg-catalog-card__chevron {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
}

.cg-catalog-app .cg-catalog-card:focus-visible {
  outline: 3px solid rgba(47,125,87,.35);
  outline-offset: 3px;
}

@media (max-width: 820px) {
  .cg-catalog-app .cg-catalog-card,
  .cg-catalog-app .cg-catalog-card.cg-wide-card {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto !important;
    min-height: 0 !important;
  }

  .cg-catalog-app .cg-catalog-card.cg-wide-card .cg-tool-icon-wrap {
    grid-column: 1 / -1;
    margin-bottom: 10px;
  }

  .cg-catalog-app .cg-catalog-card.cg-wide-card .cg-catalog-card__body {
    grid-column: 1;
    grid-row: 2;
  }

  .cg-catalog-app .cg-catalog-card.cg-wide-card .cg-catalog-card__chevron {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 560px) {
  .cg-tool-icon-wrap {
    width: 76px;
    height: 76px;
    border-radius: 20px;
  }

  .cg-tool-icon-wrap .cg-tool-icon,
  .cg-catalog-card .cg-tool-icon {
    width: 54px !important;
    height: 54px !important;
  }
}

/* v6.7.22 — Calculadoras 100% verde-crema (inputs, velocímetro, rec-cards) */
.cg-calc-page .cg-premium-form,
.cg-calc-page .cg-calculator-app .cg-premium-form,
html.cg-force-light .cg-calc-page .cg-premium-form {
  background:
    radial-gradient(circle at 92% 6%, rgba(191,232,200,.28), transparent 34%),
    linear-gradient(180deg, rgba(255,253,248,.99), rgba(248,244,234,.96)) !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  box-shadow:
    0 22px 56px rgba(9,39,26,.10),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.cg-calc-page .cg-field label,
html.cg-force-light .cg-calc-page .cg-field label {
  color: #123f2d !important;
}

.cg-calc-page .cg-field input,
.cg-calc-page .cg-field select,
.cg-calc-page .cg-food-combobox,
html.cg-force-light .cg-calc-page .cg-field input,
html.cg-force-light .cg-calc-page .cg-field select {
  border: 1px solid rgba(18,63,45,.14) !important;
  background: linear-gradient(180deg, #fffdf8, #f8f4ea) !important;
  color: #123f2d !important;
  box-shadow: 0 8px 18px rgba(9,39,26,.06) !important;
}

.cg-calc-page .cg-field input::placeholder,
.cg-calc-page .cg-food-combobox::placeholder {
  color: #627266 !important;
  opacity: 1 !important;
}

.cg-calc-page .cg-field input:focus,
.cg-calc-page .cg-field select:focus,
.cg-calc-page .cg-food-combobox:focus {
  border-color: rgba(47,125,87,.42) !important;
  box-shadow: 0 0 0 4px rgba(47,125,87,.12), 0 8px 18px rgba(9,39,26,.06) !important;
  outline: none !important;
}

.cg-calc-page .cg-field select {
  background-image:
    linear-gradient(45deg, transparent 50%, #627266 50%),
    linear-gradient(135deg, #627266 50%, transparent 50%),
    linear-gradient(180deg, #fffdf8, #f8f4ea) !important;
  background-position: calc(100% - 22px) 22px, calc(100% - 14px) 22px, 0 0 !important;
  background-size: 8px 8px, 8px 8px, 100% 100% !important;
  background-repeat: no-repeat !important;
}

.cg-calc-page .cg-segmented {
  border: 1px solid rgba(18,63,45,.12) !important;
  background: rgba(232,242,228,.75) !important;
  box-shadow: 0 8px 16px rgba(9,39,26,.06) !important;
}

.cg-calc-page .cg-segmented button {
  color: #3f4a40 !important;
}

.cg-calc-page .cg-segmented button.active,
.cg-calc-page .cg-segmented button[aria-pressed="true"] {
  background: linear-gradient(135deg, #123f2d, #2f7d57) !important;
  color: #fffdf8 !important;
}

.cg-calc-page .cg-arc {
  background: conic-gradient(
    from 270deg,
    #b8dcc0 0deg,
    #8dbd86 58deg,
    #2f7d57 59deg,
    #123f2d 118deg,
    #d99b45 119deg,
    #c4883f 180deg,
    transparent 181deg
  ) !important;
  box-shadow: 0 10px 20px rgba(9,39,26,.12) !important;
}

.cg-calc-page .cg-arc::after,
.cg-calculator-app .cg-arc::after {
  background: linear-gradient(180deg, #fffdf8, #f0ebe0) !important;
}

.cg-calc-page .cg-calculator-app .cg-arc::after {
  background: linear-gradient(180deg, #f8f4ea, #123f2d) !important;
}

.cg-calc-page .cg-needle {
  background: linear-gradient(180deg, #123f2d, #09271a) !important;
}

.cg-calc-page .cg-needle::after {
  background: #123f2d !important;
}

.cg-calc-page .cg-band {
  box-shadow: 0 8px 18px rgba(9,39,26,.1) !important;
}

.cg-calc-page .cg-band span:nth-child(1) {
  background: linear-gradient(90deg, #a8d5a0, #8dbd86) !important;
}

.cg-calc-page .cg-band span:nth-child(2) {
  background: linear-gradient(90deg, #2f7d57, #123f2d) !important;
}

.cg-calc-page .cg-band span:nth-child(3) {
  background: linear-gradient(90deg, #d99b45, #c4883f) !important;
}

.cg-calc-page .cg-result-line,
.cg-calc-page .cg-calculator-app .cg-result-line {
  color: rgba(255,253,248,.82) !important;
  border-top-color: rgba(255,255,255,.14) !important;
}

.cg-calc-page .cg-recommendations {
  background: rgba(255,253,248,.55) !important;
  border: 1px solid rgba(18,63,45,.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 40px rgba(9,39,26,.06) !important;
}

.cg-calc-page .cg-recommendations h3,
html.cg-force-light .cg-calc-page .cg-recommendations h3 {
  color: #123f2d !important;
}

.cg-calc-page .cg-recommendations h3::after {
  background: rgba(18,63,45,.12) !important;
}

.cg-calc-page .cg-rec-card,
html.cg-force-light .cg-calc-page .cg-rec-card {
  background:
    radial-gradient(circle at 88% 12%, rgba(191,232,200,.22), transparent 38%),
    linear-gradient(180deg, #fffefb, #f8f4ea) !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  box-shadow: 0 14px 34px rgba(9,39,26,.08) !important;
  color: #123f2d !important;
}

.cg-calc-page .cg-rec-card strong {
  color: #123f2d !important;
}

.cg-calc-page .cg-rec-card em {
  color: #627266 !important;
}

.cg-calc-page .cg-rec-card b {
  color: #2f7d57 !important;
}

.cg-calc-page .cg-rec-card:hover,
.cg-calc-page .cg-rec-card:focus-visible {
  background: linear-gradient(145deg, #123f2d, #236744) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 42px rgba(9,39,26,.18) !important;
  color: #fffdf8 !important;
}

.cg-calc-page .cg-rec-card:hover strong,
.cg-calc-page .cg-rec-card:hover em,
.cg-calc-page .cg-rec-card:focus-visible strong,
.cg-calc-page .cg-rec-card:focus-visible em,
.cg-calc-page .cg-rec-card:hover b,
.cg-calc-page .cg-rec-card:focus-visible b {
  color: #fffdf8 !important;
}

.cg-calc-page .cg-reset,
html.cg-force-light .cg-calc-page .cg-reset {
  background: linear-gradient(180deg, #fffefb, #f8f4ea) !important;
  border: 1px solid rgba(18,63,45,.12) !important;
  color: #123f2d !important;
  box-shadow: 0 10px 22px rgba(9,39,26,.08) !important;
}

.cg-calc-page .cg-more,
html.cg-force-light .cg-calc-page .cg-more {
  background: linear-gradient(135deg, #0f3d2e, #1f6b45) !important;
  border: 0 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(15, 61, 46, 0.22) !important;
}

.cg-calc-page .cg-more *,
html.cg-force-light .cg-calc-page .cg-more * {
  color: inherit !important;
}

.cg-calc-page .cg-macro-grid div {
  background: rgba(255,253,248,.9) !important;
  border: 1px solid rgba(18,63,45,.10) !important;
}

.cg-calc-page .cg-macro-grid b {
  color: #123f2d !important;
}

.cg-calc-page .cg-macro-grid span {
  color: #627266 !important;
}

.cg-calc-page .cg-analysis-report {
  background: linear-gradient(180deg, #fffefb, #f8f4ea) !important;
  border: 1px solid rgba(18,63,45,.10) !important;
  color: #304238 !important;
  box-shadow: 0 20px 52px rgba(9,39,26,.08) !important;
}

.cg-calc-page .cg-analysis-report h3,
.cg-calc-page .cg-analysis-report h4 {
  color: #123f2d !important;
}

.cg-calc-page .cg-analysis-report article {
  background: rgba(255,253,248,.86) !important;
  border: 1px solid rgba(18,63,45,.08) !important;
}

.cg-calc-page .cg-plate-builder {
  border: 1px solid rgba(18,63,45,.12) !important;
  background: linear-gradient(135deg, rgba(47,125,87,.08), rgba(217,155,69,.06)) !important;
}

.cg-calc-page .cg-plate-head h3 {
  color: #123f2d !important;
}

.cg-calc-page .cg-add-food {
  background: #123f2d !important;
  background-image: none !important;
  box-shadow: 0 12px 26px rgba(18,63,45,.18) !important;
}

.cg-calc-page .cg-medical-note {
  color: #627266 !important;
}

.cg-calc-page .cg-medical-note strong {
  color: #123f2d !important;
}

.cg-app-toolbar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Panel v3 — gamificación, perfil, informe editorial */
.cg-dashboard-header--profile { align-items: flex-start !important; }
.cg-dashboard-profile {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
}
.cg-dashboard-avatar-btn {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
}
.cg-dashboard-avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2rem !important;
  background: #f7fbf4 !important;
  border: 3px solid #c4a35a !important;
  overflow: hidden !important;
  transition: box-shadow .35s ease, transform .35s ease !important;
}
.cg-dashboard-avatar img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.cg-level-bronze .cg-dashboard-avatar, .cg-level-bronze.cg-dashboard-avatar { border-color: #b87333 !important; box-shadow: 0 0 0 4px rgba(184,115,51,.15) !important; }
.cg-level-silver .cg-dashboard-avatar, .cg-level-silver.cg-dashboard-avatar { border-color: #9ca3af !important; box-shadow: 0 0 0 4px rgba(156,163,175,.18) !important; }
.cg-level-gold .cg-dashboard-avatar, .cg-level-gold.cg-dashboard-avatar { border-color: #c4a35a !important; box-shadow: 0 0 0 4px rgba(196,163,90,.22) !important; }
.cg-level-emerald .cg-dashboard-avatar, .cg-level-emerald.cg-dashboard-avatar { border-color: #10b981 !important; box-shadow: 0 0 0 4px rgba(16,185,129,.2) !important; }
.cg-level-violet .cg-dashboard-avatar, .cg-level-violet.cg-dashboard-avatar { border-color: #7c3aed !important; box-shadow: 0 0 0 4px rgba(124,58,237,.2) !important; }
.cg-dashboard-level-line { margin: 6px 0 0 !important; font-size: .92rem !important; color: #627266 !important; }
.cg-level-badge {
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.cg-level-bronze { background: #f5e6d6 !important; color: #7a4e1f !important; }
.cg-level-silver { background: #eef1f4 !important; color: #4b5563 !important; }
.cg-level-gold { background: #fff4d6 !important; color: #8a6a1f !important; }
.cg-level-emerald { background: #e8f7ef !important; color: #0f766e !important; }
.cg-level-violet { background: #f1e9ff !important; color: #5b3a8c !important; }
.cg-dashboard-avatar-picker {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(18,63,45,.1) !important;
  border-radius: 18px !important;
  background: #fff !important;
}
.cg-dashboard-avatar-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.cg-dashboard-avatar-grid button {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(18,63,45,.12) !important;
  background: #f7fbf4 !important;
  font-size: 1.35rem !important;
  cursor: pointer !important;
}
.cg-dashboard-avatar-grid button.is-active {
  border-color: #123f2d !important;
  box-shadow: 0 0 0 3px rgba(18,63,45,.12) !important;
}
.cg-dashboard-goals {
  margin-bottom: 18px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(18,63,45,.1) !important;
  background: linear-gradient(135deg, #fffdf8, #f7fbf4) !important;
}
.cg-dashboard-goals p { margin: 8px 0 12px !important; color: #627266 !important; }
.cg-dashboard-reminder {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #fff7e6 !important;
  border: 1px solid rgba(196,163,90,.35) !important;
}
.cg-dashboard-reminder p { margin: 0 !important; color: #7a5a12 !important; font-weight: 750 !important; }
.cg-dashboard-reminder .cg-dashboard-ghost {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  color: #123f2d !important;
}
.cg-dashboard-rewards { position: relative !important; overflow: hidden !important; }
.cg-dashboard-xp-bar {
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(18,63,45,.08) !important;
  margin: 12px 0 16px !important;
  overflow: hidden !important;
}
.cg-dashboard-xp-bar span {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #123f2d, #c4a35a) !important;
  transition: width .6s cubic-bezier(.22, 1, .36, 1) !important;
}
.cg-dashboard-trophy-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)) !important;
  gap: 10px !important;
}
.cg-trophy {
  text-align: center !important;
  padding: 12px 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(18,63,45,.1) !important;
  background: #f7fbf4 !important;
  transition: transform .25s ease, opacity .25s ease !important;
}
.cg-trophy.is-locked { opacity: .45 !important; filter: grayscale(.6) !important; }
.cg-trophy.is-unlocked { opacity: 1 !important; }
.cg-trophy.is-unlocked .cg-trophy-icon { animation: cg-trophy-pop .6s ease; }
.cg-trophy-icon { display: block !important; font-size: 1.6rem !important; margin-bottom: 4px !important; }
.cg-trophy small { display: block !important; font-size: .68rem !important; line-height: 1.2 !important; color: #627266 !important; font-weight: 800 !important; }
.cg-tracker-save-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(18, 63, 45, 0.1);
}
.cg-tracker-save-row .cg-dashboard-primary {
  min-width: min(100%, 260px);
}
.cg-tracker-save-row .cg-tracker-status {
  margin: 0 !important;
  flex: 1 1 180px;
}
.cg-tracker-block--journal textarea {
  width: 100% !important;
  margin: 8px 0 10px !important;
  padding: 12px !important;
  border: 1px solid rgba(18,63,45,.14) !important;
  border-radius: 12px !important;
  font: inherit !important;
  resize: vertical !important;
}
.cg-dashboard-month-compare {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: #f7fbf4 !important;
  color: #123f2d !important;
  font-weight: 750 !important;
  font-size: .9rem !important;
}
.cg-dashboard-toast {
  position: fixed !important;
  right: 20px !important;
  bottom: 20px !important;
  z-index: 9999 !important;
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  max-width: min(360px, 92vw) !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: #123f2d !important;
  color: #fffdf8 !important;
  box-shadow: 0 20px 50px rgba(18,63,45,.28) !important;
}
.cg-dashboard-toast.is-celebrating { animation: cg-toast-in .45s ease; }
.cg-dashboard-toast-icon { font-size: 1.8rem !important; }
.cg-dashboard-toast strong { display: block !important; margin-bottom: 4px !important; }
.cg-dashboard-toast p { margin: 0 !important; font-size: .9rem !important; opacity: .92 !important; }
.cg-confetti {
  position: absolute !important;
  top: 10px !important;
  width: 8px !important;
  height: 14px !important;
  border-radius: 2px !important;
  pointer-events: none !important;
  animation: cg-confetti-fall 1.2s ease forwards !important;
}
@keyframes cg-trophy-pop {
  0% { transform: scale(.6); }
  60% { transform: scale(1.15); }
  100% { transform: scale(1); }
}
@keyframes cg-toast-in {
  from { transform: translateY(12px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes cg-confetti-fall {
  from { transform: translateY(0) rotate(0deg); opacity: 1; }
  to { transform: translateY(80px) rotate(240deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cg-trophy.is-unlocked .cg-trophy-icon,
  .cg-dashboard-toast.is-celebrating,
  .cg-confetti { animation: none !important; }
}

/* Mi Panel v3 layout redistribution */
.cg-dashboard--v3 .cg-dashboard-layout {
  display: grid;
  gap: 20px;
}
.cg-dashboard--v3 .cg-dashboard-layout__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 1fr);
  gap: 18px;
  align-items: stretch;
}
.cg-dashboard--v3 .cg-dashboard-layout__hero .cg-dashboard-header {
  margin: 0 !important;
}
.cg-dashboard--v3 .cg-dashboard-goals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(238,247,233,.95), rgba(255,253,248,.92));
  border: 1px solid rgba(18,63,45,.1);
  margin: 0 !important;
  box-shadow: 0 10px 28px rgba(18,63,45,.06);
}
.cg-dashboard--v3 .cg-dashboard-goals .cg-dashboard-kicker {
  margin: 0 !important;
}
.cg-dashboard--v3 .cg-dashboard-goals p {
  flex: 1 1 200px;
  margin: 0 !important;
}
.cg-dashboard--v3 .cg-dashboard-layout__primary {
  display: grid;
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr);
  gap: 22px;
  align-items: start;
}
.cg-dashboard--v3 .cg-dashboard-layout__primary.cg-dashboard-grid {
  grid-template-columns: minmax(300px, 0.92fr) minmax(0, 1.08fr) !important;
}
.cg-dashboard--v3 .cg-dashboard-primary-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.cg-dashboard--v3 .cg-dashboard-layout__secondary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.cg-dashboard--v3 .cg-dashboard-layout__secondary.cg-dashboard-insights {
  grid-template-columns: 1fr 1fr !important;
}
.cg-dashboard--v3 .cg-dashboard-layout__tertiary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
}
.cg-dashboard--v3 .cg-dashboard-layout__support.cg-dashboard-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.cg-dashboard--v3 .cg-dashboard-rewards .cg-dashboard-trophy-grid {
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)) !important;
}
.cg-dashboard--v3 .cg-dashboard-onboarding.is-dismissed {
  display: none !important;
}
@media (max-width: 900px) {
  .cg-dashboard--v3 .cg-dashboard-layout__hero,
  .cg-dashboard--v3 .cg-dashboard-layout__primary,
  .cg-dashboard--v3 .cg-dashboard-layout__primary.cg-dashboard-grid,
  .cg-dashboard--v3 .cg-dashboard-layout__secondary,
  .cg-dashboard--v3 .cg-dashboard-layout__secondary.cg-dashboard-insights,
  .cg-dashboard--v3 .cg-dashboard-layout__tertiary,
  .cg-dashboard--v3 .cg-dashboard-layout__support.cg-dashboard-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Catalog photo cards — fondo temático + difuminado (excluye tarjetas horizontales de la home) */
.cg-catalog-app .cg-catalog-card--photo,
.cg-catalog-card--photo:not(.home-calc-card) {
  position: relative;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  text-align: left;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border: 1px solid rgba(18,63,45,.14);
  border-radius: 24px;
  box-shadow: 0 22px 56px rgba(9,39,26,.12);
  padding: 22px;
  color: #fffdf8;
}
.cg-catalog-card--photo:not(.home-calc-card)::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(15, 61, 46, 0.78) 0%,
    rgba(15, 61, 46, 0.42) 52%,
    rgba(15, 61, 46, 0.55) 100%
  );
  opacity: 1;
  border-radius: inherit;
  z-index: 0;
  pointer-events: none;
}
.cg-catalog-card--photo > * {
  position: relative;
  z-index: 1;
}
.cg-catalog-card--photo .cg-tool-icon-wrap {
  margin: 0 0 14px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.cg-catalog-card--photo .cg-tool-icon {
  width: 72px !important;
  height: 72px !important;
  margin: 0 !important;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 6px 14px rgba(9,39,26,.18));
}
.cg-catalog-card--photo .cg-catalog-card__body {
  position: relative;
  margin-top: 0;
  width: 100%;
  max-width: 92%;
  padding: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  box-shadow: none;
}
.cg-catalog-card--photo.home-calc-card .cg-catalog-card__eyebrow {
  color: #eef7e9 !important;
  background: rgba(15, 61, 46, 0.72) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.cg-catalog-card--photo .cg-catalog-card__eyebrow {
  color: #eef7e9 !important;
  background: rgba(15, 61, 46, 0.55);
  border: 1px solid rgba(63, 163, 77, 0.35);
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  text-shadow: none;
  font-weight: 900;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cg-catalog-card--photo h3 {
  color: #fffdf8 !important;
  text-shadow: 0 2px 12px rgba(7, 20, 34, 0.45);
  font-family: Outfit, Inter, sans-serif;
  font-size: 1.35rem;
  letter-spacing: -.03em;
  margin: 8px 0 6px;
}
.cg-catalog-card--photo p {
  color: rgba(255, 253, 248, 0.88) !important;
  text-shadow: 0 1px 8px rgba(7, 20, 34, 0.35);
  font-size: .92rem;
  line-height: 1.45;
  margin: 0;
}
.cg-catalog-card--photo .cg-catalog-card__chevron {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(18,63,45,.88);
  color: #fffdf8;
  font-size: 1.2rem;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(9,39,26,.2);
}
.cg-catalog-card--photo:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 70px rgba(9,39,26,.16);
}
.cg-catalog-card--photo.cg-wide-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  min-height: 200px;
  padding: 24px 26px;
}
.cg-catalog-card--photo.cg-wide-card .cg-tool-icon-wrap {
  margin: 0;
  align-self: end;
}
.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__body {
  max-width: none;
}
.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__chevron {
  position: static;
  align-self: end;
}
@media (max-width: 820px) {
  .cg-catalog-card--photo {
    min-height: 220px;
  }
  .cg-catalog-card--photo.cg-wide-card {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .cg-catalog-card--photo.cg-wide-card .cg-catalog-card__chevron {
    position: absolute;
    right: 18px;
    bottom: 18px;
  }
}

/* Catálogo calculadoras — tarjetas oscuras premium (referencia visual) */
.cg-catalog-app .cg-catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 1100px !important;
  margin: 0 auto 24px !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo {
  position: relative;
  min-height: 248px !important;
  padding: 22px 20px 20px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr auto !important;
  align-items: start !important;
  justify-content: stretch !important;
  text-align: left !important;
  border-radius: 22px !important;
  border: 1px solid rgba(63, 163, 77, 0.12) !important;
  background-color: #0f3d2e !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: 0 20px 50px rgba(9, 39, 26, 0.22) !important;
  overflow: hidden !important;
  color: #fffdf8 !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(
    105deg,
    rgba(15, 61, 46, 0.78) 0%,
    rgba(15, 61, 46, 0.42) 52%,
    rgba(15, 61, 46, 0.55) 100%
  ) !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}

.cg-catalog-app .cg-catalog-card__accent-edge {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
  box-sizing: border-box;
  border-top: 3px solid var(--cg-card-accent, #3fa34d);
  border-left: 3px solid var(--cg-card-accent, #3fa34d);
  opacity: 0.95;
}

.cg-catalog-app .cg-catalog-card--accent-green {
  --cg-card-accent: #3fa34d;
}

.cg-catalog-app .cg-catalog-card--accent-gold {
  --cg-card-accent: #e5b91e;
}

.cg-catalog-app .cg-catalog-card--accent-teal {
  --cg-card-accent: #2a91ad;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo .cg-tool-icon-wrap {
  position: relative;
  z-index: 2;
  width: 72px !important;
  height: 72px !important;
  margin: 0 0 14px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: var(--cg-card-accent, #3fa34d) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25) !important;
  display: grid !important;
  place-items: center !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo .cg-tool-icon {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35)) !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo .cg-catalog-card__body {
  position: relative;
  z-index: 2;
  grid-column: 1 !important;
  max-width: none !important;
  padding: 0 !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo .cg-catalog-card__eyebrow {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cg-card-accent, #3fa34d) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45) !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo h3 {
  color: #fffdf8 !important;
  font-size: 1.42rem !important;
  line-height: 1.08 !important;
  margin: 0 0 8px !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo p {
  color: rgba(168, 212, 184, 0.92) !important;
  font-size: 0.92rem !important;
  line-height: 1.48 !important;
  margin: 0 !important;
  max-width: 32ch;
}

.cg-catalog-app .cg-catalog-card__go {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--cg-card-accent, #3fa34d);
  color: #fffdf8 !important;
  font-size: 0.88rem;
  font-weight: 900;
  background: rgba(15, 61, 46, 0.72);
  backdrop-filter: blur(6px);
  align-self: start;
  grid-row: 3;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo .cg-catalog-card__chevron {
  display: none !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card {
  grid-column: 1 / -1 !important;
  grid-template-columns: 72px minmax(0, 1fr) auto !important;
  grid-template-rows: 1fr !important;
  align-items: center !important;
  gap: 0 16px !important;
  min-height: 152px !important;
  padding: 22px 24px !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-tool-icon-wrap {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  align-self: center !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__body {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-right: 8px !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card h3 {
  font-size: clamp(1.15rem, 2.4vw, 1.36rem) !important;
  line-height: 1.15 !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card p {
  max-width: 42ch !important;
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__go {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 820px) {
  .cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 12px !important;
    min-height: 0 !important;
    align-items: start !important;
  }

  .cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-tool-icon-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__body {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-right: 0 !important;
  }

  .cg-catalog-app .cg-catalog-card.cg-catalog-card--photo.cg-wide-card .cg-catalog-card__go {
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: start !important;
  }
}

.cg-catalog-app .cg-catalog-card.cg-catalog-card--photo:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 28px 64px rgba(9, 39, 26, 0.28) !important;
}

@media (max-width: 900px) {
  .cg-catalog-app .cg-catalog-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === Escritorio consolidado (auditoría ≥901px) === */
@media (min-width: 901px) {
  .cg-catalog-app {
    max-width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
  }

  .cg-calc-page {
    max-width: min(1200px, calc(100% - 40px));
    margin-inline: auto;
  }

  .cg-dashboard {
    max-width: min(1140px, calc(100% - 40px));
    margin-inline: auto;
  }

  .cg-auth-card {
    max-width: 480px;
    margin-inline: auto;
  }
}

/* === Móvil consolidado (auditoría 820px) — preferir este bloque para nuevos ajustes === */
@media (max-width: 820px) {
  .cg-aminogram-table-wrap,
  .cg-nutrition-scroll,
  .cg-dashboard-weekly-table-wrap {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .cg-aminogram-table,
  .cg-nutrition-table {
    min-width: 520px;
  }

  .cg-dashboard-streak__value {
    font-size: clamp(1.4rem, 6vw, 1.85rem) !important;
  }

  .cg-auth-card,
  .cg-tools-account {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
}
