/* ===== Dirección de arte propia de Ayuno Intermitente: «Mañana clara» (ver DESIGN.md) =====
   Override sobre core/template/theme.css (plantilla de Addiction Remover). Misma estructura; distinta piel:
   crema + tinta verde salvia + mandarina; serif cálida (Fraunces) + Plus Jakarta Sans + JetBrains Mono. OFL 1.1, offline. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}

/* Oscuro (por defecto): noche verde-tinta, no azul marino */
:root{
  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Plus Jakarta Sans","Helvetica Neue","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --page:#0A0D0B; --bg:#111613; --surface:#19201B; --surface-2:#222B24;
  --line:rgba(214,230,214,.09); --line-2:rgba(214,230,214,.17);
  --fg:#F1EEE4; --muted:#A3A99C; --faint:#69705F; --tick-off:rgba(214,230,214,.12);
  --fog:#7FA48A;   /* fase 1 · digestión (salvia) */
  --dusk:#E2B84F;  /* fase 2 · quema de grasa (miel) */
  --dawn:#FF8A3D;  /* acento / fase 3 · objetivo (mandarina) */
  --dawn-ink:#1C0F05; --ok:#8ED19B; --alert:#F0776A; --gold:#F2C14E; --sky:#8CC4C9;
  --bezel:#1D241F; --glass:rgba(25,32,27,.86);
  --fog-blob:rgba(127,164,138,.22); --glow:rgba(255,138,61,.24);
  --r-lg:22px; --r-md:16px; --r-sm:10px;
  --shadow:0 1px 0 rgba(255,255,255,.035) inset,0 14px 32px -22px rgba(0,0,0,.8);
}
/* Claro: papel crema y tinta verde */
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --page:#EDE6D6; --bg:#F8F4EA; --surface:#FFFDF7; --surface-2:#F0EADB;
  --line:rgba(36,52,40,.09); --line-2:rgba(36,52,40,.18);
  --fg:#1F2B22; --muted:#5D6858; --faint:#949B88; --tick-off:rgba(36,52,40,.12);
  --fog:#5E8A6B; --dusk:#C8941E; --dawn:#E2601A; --dawn-ink:#FFFFFF;
  --ok:#2F8550; --alert:#C2463D; --gold:#A87712; --sky:#2F7C84;
  --bezel:#D6CFBE; --glass:rgba(31,43,34,.94);
  --fog-blob:rgba(94,138,107,.18); --glow:rgba(226,96,26,.18);
  --shadow:0 1px 2px rgba(60,50,20,.05),0 14px 28px -18px rgba(60,50,20,.22);
}}
:root[data-theme="light"]{
  --page:#EDE6D6; --bg:#F8F4EA; --surface:#FFFDF7; --surface-2:#F0EADB;
  --line:rgba(36,52,40,.09); --line-2:rgba(36,52,40,.18);
  --fg:#1F2B22; --muted:#5D6858; --faint:#949B88; --tick-off:rgba(36,52,40,.12);
  --fog:#5E8A6B; --dusk:#C8941E; --dawn:#E2601A; --dawn-ink:#FFFFFF;
  --ok:#2F8550; --alert:#C2463D; --gold:#A87712; --sky:#2F7C84;
  --bezel:#D6CFBE; --glass:rgba(31,43,34,.94);
  --fog-blob:rgba(94,138,107,.18); --glow:rgba(226,96,26,.18);
  --shadow:0 1px 2px rgba(60,50,20,.05),0 14px 28px -18px rgba(60,50,20,.22);
}
/* Colores Pro: mismo mecanismo data-accent, tonos propios */
:root[data-accent="oceano"]{--dawn:#5FB3D9;--glow:rgba(95,179,217,.26)}
:root[data-accent="bosque"]{--dawn:#5FC27E;--glow:rgba(95,194,126,.24)}
:root[data-accent="oro"]{--dawn:#F2C14E;--glow:rgba(242,193,78,.26)}
:root[data-accent="aurora"]{--dawn:#D58AE0;--glow:rgba(213,138,224,.26)}

body,button,input,textarea,select{font-family:var(--f-body)}
h1,h2,h3,h4,.ob-title,.pw2 .pw-h,.sos-title,.brand-name{font-family:var(--f-display);font-weight:500;letter-spacing:-.015em;font-variation-settings:"SOFT" 100,"WONK" 0}
.ob-title em{font-style:italic;color:var(--dawn)}
.num,.dial-num,.stat b,.of-price b,.pp,.cal i,.stepper .num{font-variant-numeric:tabular-nums lining-nums}
.dial-num{font-weight:400;letter-spacing:-.03em}
.stat b,.card.mini b{font-weight:500;letter-spacing:-.02em}

/* Tarjetas: sin borde visible, papel con sombra suave; radio algo menor y más "objeto" */
.card,.stat{border-color:transparent!important;box-shadow:var(--shadow)}
.stat{background:var(--surface)}
.chip{border-radius:8px}
.btn{border-radius:16px}
.btn.ghost{background:var(--surface);border-color:var(--line-2)}
.gd-emo{border-radius:12px;background:color-mix(in srgb,var(--fog) 18%,var(--surface))}

/* Atmósfera: sin niebla azul; un único halo cálido abajo */
.atmo .f1,.atmo .f2{opacity:.5!important}

/* Dial: anillo de cuentas gruesas (no rayitas finas) */
.dial-wrap .tick,.cv-dial .tick{stroke-width:5.2px;stroke-linecap:round}
.dial-wrap .tick[stroke="var(--tick-off)"],.cv-dial .tick[stroke="var(--tick-off)"]{stroke-width:3.2px}
.dial-wrap .today-tick,.cv-dial .today-tick{stroke-width:8px;filter:drop-shadow(0 0 6px var(--glow))}
.dial-wrap svg text,.cv-dial svg text{font-family:var(--f-mono)}

/* Barra flotante: pastilla de tinta sólida + botón central "squircle" mandarina */
.tabbar{background:linear-gradient(to top,var(--bg) 50%,transparent)}
.tabs{border-radius:24px;background:var(--glass);border:0;box-shadow:0 18px 36px -18px rgba(0,0,0,.55)}
.tab{color:color-mix(in srgb,#F1EEE4 45%,transparent)}
.tab[aria-current="page"]{color:#F1EEE4}
.sos-btn{border-radius:20px;background:var(--dawn);box-shadow:0 12px 26px -8px var(--glow),0 0 0 5px var(--bg)}
.sos-btn::before{border-radius:22px}

/* Solo piezas propias de esta app; todo lo demás viene de core/template/theme.css (Addiction Remover). */
.fast-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fast-times .stat b{font-size:22px}
.fast-times button.stat{text-align:left}
.pchips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pchips .chip{height:32px;font-size:11px}
.pchips .chip[aria-pressed="true"]{color:var(--dawn);border-color:color-mix(in srgb,var(--dawn) 55%,transparent)}
.fl-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);width:100%;text-align:left}
.fl-row:first-child{border-top:0}
.fl-row b{font-size:16px;font-weight:600}.fl-row span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.fl-row .ok{color:var(--ok)}.fl-row em{font-style:normal;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal span{font-family:var(--f-mono);font-size:10px;color:var(--faint)}
.cal i{font-style:normal;aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:13px;border:1px solid var(--line);color:var(--muted)}
.cal i.on{background:color-mix(in srgb,var(--dawn) 22%,transparent);border-color:color-mix(in srgb,var(--dawn) 55%,transparent);color:var(--fg);font-weight:700}
.cal i.today{outline:2px solid var(--dawn);outline-offset:1px}.cal i.pad{border:0}
.sos-btn svg{width:24px;height:24px}
.hgrid .hchip[aria-pressed="true"]{border-color:var(--hc)}
.field-dt{display:block;width:100%;margin-top:6px}
.lock{font-family:var(--f-mono);font-size:9px;color:var(--gold);margin-left:4px}
/* Reloj del dial: más pequeño para que quepa H:MM:SS */
.dial-num.clk{font-size:36px!important;letter-spacing:-.02em;line-height:1.1;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.dial-center .dial-of{font-size:10px}
/* Guías */
.gd-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 0;border-top:1px solid var(--line)}
.list .gd-row:first-child{border-top:0}
.card.gd-row{padding:16px;border-top:1px solid var(--line)}
.gd-emo{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:var(--surface-2)}
.gd-t{flex:1;min-width:0;display:grid;gap:2px}.gd-t b{font-size:15.5px;font-weight:600}.gd-t > span:not(.mono){font-size:12.5px;color:var(--muted)}
.gd-go{font-size:22px;color:var(--faint)}.gd-row.read .gd-t b{color:var(--muted)}
/* Pro */
.pro-lock{cursor:pointer}.pro-lock .blur{filter:blur(5px);opacity:.6;pointer-events:none}
.m30{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;height:70px;align-items:end;margin-top:16px}
.m30 i{display:block;height:100%;border-radius:3px;background:var(--tick-off);position:relative;overflow:hidden}
.m30 i::after{content:"";position:absolute;inset:0;background:var(--dawn);transform-origin:bottom;transform:scaleY(var(--h))}
.stepper{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 4px;border-top:1px solid var(--line);margin-top:12px}
.stepper small{font-size:12.5px;color:var(--muted)}.stepper > div{display:flex;align-items:center;gap:12px}.stepper .num{min-width:58px;text-align:center;font-size:17px}
.stepper .icon-btn{font-size:20px;font-weight:600}
.wdays{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.wdays .chip[aria-pressed="true"],.pchips .chip[aria-pressed="true"]{color:var(--dawn);border-color:color-mix(in srgb,var(--dawn) 55%,transparent)}
.accents{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.accents button{display:grid;justify-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.accents i{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 2px var(--bg),0 0 0 3px transparent}
.accents [aria-pressed="true"] i{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--fg)}
.accents [aria-pressed="true"]{color:var(--fg)}
/* Fraunces no tiene cifras tabulares: el reloj en vivo usa Plus Jakarta Sans (tnum) para que no "baile" */
.dial-num.clk{font-family:var(--f-body)!important;font-weight:650!important;letter-spacing:-.03em!important}
/* Muestras del selector de color (los hex vienen de main.js; aquí se alinean con esta paleta) */
.accents [data-accent=""] i{background:#FF8A3D!important}
.accents [data-accent="oceano"] i{background:#5FB3D9!important}
.accents [data-accent="bosque"] i{background:#5FC27E!important}
.accents [data-accent="oro"] i{background:#F2C14E!important}
.accents [data-accent="aurora"] i{background:#D58AE0!important}

/* Logo de la portada = icono de la app (design/icon.svg) */
.brand-row .logo{background:none;box-shadow:none;overflow:hidden;border-radius:10px}
.brand-row .logo img{display:block;width:34px;height:34px}
/* Regla de contraste: #E2601A (mandarina en claro) solo en texto grande/negrita.
   Texto pequeño en color de acento usa --dawn-text (más oscuro en modo claro, ≥ 4,5:1 sobre crema). */
:root{--dawn-text:var(--dawn)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--dawn-text:#A8460C}}
:root[data-theme="light"]{--dawn-text:#A8460C}
.t-dawn{color:var(--dawn-text)!important}
.eyebrow,.wdays .chip[aria-pressed="true"],.pchips .chip[aria-pressed="true"],.back,.why-link{color:var(--dawn-text)}

/* ===== Cronómetro redondeado (feedback 11 oct) =====
   Nunito (OFL, redondeada, cifras tabulares) solo para el reloj y las cifras del dial; resto igual. */
@font-face{font-family:"Nunito";font-style:normal;font-weight:200 1000;font-display:swap;src:url(fonts/nunito-latin-wght-normal.woff2) format("woff2")}
:root{--f-round:"Nunito","Plus Jakarta Sans",system-ui,sans-serif}
.dial-num,.dial-num.clk,.cv-center .num,.fast-times .stat b{font-family:var(--f-round)!important;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1}
.dial-num.clk{font-weight:800!important;font-size:37px!important;letter-spacing:-.01em!important}
.dial-num:not(.clk),.cv-center .num{font-weight:700!important;letter-spacing:-.02em}
.dial-center .mono,.dial-center .dial-of,.cv-center span{font-family:var(--f-round);font-weight:700;letter-spacing:.02em;text-transform:none}
/* Formas más blandas en el dial */
.dial-wrap svg circle,.cv-dial svg circle{stroke-linecap:round}
.dial-wrap .tick,.cv-dial .tick{stroke-linecap:round;stroke-width:6px}
.dial-wrap .tick[stroke="var(--tick-off)"],.cv-dial .tick[stroke="var(--tick-off)"]{stroke-width:4px}
.dial-wrap .today-tick,.cv-dial .today-tick{stroke-width:10px}
.dial-wrap svg circle[stroke="var(--dusk)"]{stroke-width:5px}
.fast-times .stat{border-radius:22px}
.fast-times .stat b{font-weight:800}
.cv-center span{font-size:14px!important;letter-spacing:0;max-width:160px;text-align:center;line-height:1.25}

/* ===================== Pulido «award» · ronda 1 ===================== */
/* Oferta única: fuera el rojo de AR; banda de tinta + reloj mandarina, pulso en el halo de la paleta */
@keyframes aiPulse{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 22px 0 var(--glow)}}
.of-urgent{background:linear-gradient(100deg,#1F2B22,#2C3B2F)!important;color:#F1EEE4!important;animation:aiPulse 2.4s ease-in-out infinite!important}
.of-u-l{color:#F1EEE4;letter-spacing:.06em;font-size:12px}
.of-u-l svg{stroke:var(--dawn)!important}
.of-urgent b{color:var(--dawn-ink)!important}
.of-timer{background:var(--dawn)!important;color:var(--dawn-ink)!important;animation:aiPulse 2.4s ease-in-out infinite!important}
.of-timer svg{stroke:var(--dawn-ink)!important}
.of-strip{background:linear-gradient(90deg,color-mix(in srgb,var(--dawn) 16%,var(--surface)),var(--surface))!important;border-color:color-mix(in srgb,var(--dawn) 40%,transparent)!important}
.of-gift{background:conic-gradient(from 200deg,var(--dusk),var(--dawn),var(--dusk))!important;box-shadow:0 0 34px -6px var(--glow)!important}
/* Chips de plan en Hoy: una sola línea deslizable, misma altura, superficie de papel */
.pchips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px;scroll-padding:20px}
.pchips::-webkit-scrollbar{display:none}
.pchips .chip{flex:none;height:34px;padding:0 13px;border-radius:10px;background:var(--surface);border-color:var(--line-2);font-size:12.5px;color:var(--muted)}
.pchips .chip[aria-pressed="true"]{background:color-mix(in srgb,var(--dawn) 14%,var(--surface));border-color:var(--dawn)}
/* Barra: etiquetas inactivas legibles (≥ 4,5:1 sobre tinta) */
.tab{color:rgba(241,238,228,.62)}
/* Portada: subtítulo del dial con aire */
.cv-center span{font-size:13px!important;color:var(--muted);margin-top:4px}

/* ===================== Pulido «award» · ronda 2 ===================== */
/* Un solo color de acción en todo el embudo: mandarina (el verde de AR se reserva para "conseguido") */
.pw-cta.green{background:var(--dawn)!important;color:var(--dawn-ink)!important;box-shadow:0 16px 36px -14px var(--glow)!important}
.oa-it.open .pt-chev{background:var(--dawn)}
.oa-it.open .pt-chev svg{stroke:var(--dawn-ink)}
.offer2{background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--dawn) 14%,transparent),transparent 60%),var(--surface)!important;border-color:color-mix(in srgb,var(--dawn) 45%,transparent)!important}
.of-tag,.of-price.sm span,.of-save b{color:var(--dawn-text)!important}
.of-acc{border:0;box-shadow:var(--shadow)}
/* Ritmo: etiquetas de sección en versalitas suaves, mismo tamaño en todas las pantallas */
.sec-label,.list-h{letter-spacing:.04em}

/* ===================== Pulido «award» · ronda 3 ===================== */
/* Estadísticas: cifra en una sola línea, misma línea base en toda la rejilla */
.stat b,.card.mini b{white-space:nowrap;font-size:clamp(22px,6.4vw,28px)}
.stat span{color:var(--muted);font-size:12px}
/* Calendario: días cumplidos como "cuentas" del dial (círculo), hoy con anillo mandarina */
.cal i{border-radius:50%;border-color:transparent;background:color-mix(in srgb,var(--fg) 5%,transparent)}
.cal i.pad{background:none}
.cal i.on{background:color-mix(in srgb,var(--dawn) 24%,var(--surface));border-color:transparent}
.cal i.today{outline-color:var(--dawn);outline-offset:2px}
/* Micro-detalle: pulsación táctil coherente */
.card:is(button):active,.stat:is(button):active,.chip:active{transform:scale(.98);transition:transform .15s var(--ease)}

/* Próximo ayuno (Hoy, dial en reposo) */
.next-fast{display:grid;justify-items:center;gap:2px;margin:-6px 0 2px;text-align:center}
.next-fast span{font-size:12.5px;color:var(--muted);font-weight:600}
.next-fast b{font-family:var(--f-round);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums;color:var(--fg)}
.next-fast small{font-size:12px;color:var(--faint)}

/* ===== Cifra del plan a tamaño equilibrado (feedback 12 oct: «el 16 es gigante») =====
   La plantilla pone 104 px (dial) y 88 px (portada). Aquí: la cifra del plan ocupa ~1/4 del dial,
   en línea con el reloj en vivo (37 px), y la unidad "h" va pequeña y alineada a la base. */
.dial-num.idle{font-size:58px!important;line-height:1!important;letter-spacing:-.02em!important;margin:2px 0;display:flex;align-items:baseline;justify-content:center;gap:3px}
.dial-num.idle .unit{font-size:22px;font-weight:700;color:var(--muted);letter-spacing:0}
.cv-center b,.cv-center .num{font-size:56px!important;line-height:1!important;letter-spacing:-.02em!important;animation:none}

/* ===== Funciones Pro (base de Apps · Desarrollo; Estudio de Diseño puede sustituirla con design/pro-screens/pro.css) ===== */
.phase-chip{margin-top:8px;display:inline-grid;justify-items:center;gap:1px;padding:5px 12px;border-radius:12px;background:color-mix(in srgb,var(--dusk) 16%,transparent);color:var(--fg);font-family:var(--f-round);font-weight:800;font-size:12.5px;line-height:1.2}
.phase-chip small{font-weight:600;font-size:10.5px;color:var(--muted)}
.sos-pill{justify-self:center;margin-top:-6px;padding:10px 16px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);font-weight:700;font-size:14px;color:var(--fg)}
.two-btn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ba button{aspect-ratio:3/4;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;align-content:center;gap:6px;overflow:hidden;position:relative}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba small{position:relative;font-size:11.5px;color:var(--muted);font-weight:600}.ba img + small{position:absolute;bottom:0;left:0;right:0;padding:6px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff}
.ba span{font-size:26px}
.lchart{width:100%;height:90px;display:block;margin-top:6px}
.lchart-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);font-weight:600}
.eh{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;height:80px;align-items:end;margin-top:8px}
.eh div{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:2px;height:100%;align-items:end}
.eh i{display:block;border-radius:4px;height:calc(var(--h) * 100%);min-height:3px}.eh i.e{background:var(--fog)}.eh i.h{background:var(--dawn)}
.eh span{grid-column:1/3;text-align:center;font-size:10px;color:var(--faint)}
.wk-leg i.e{background:var(--fog)}.wk-leg i.h{background:var(--dawn)}
.troph{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.troph div{display:grid;justify-items:center;gap:4px;padding:12px 6px;border-radius:16px;background:var(--surface-2);text-align:center;opacity:.45;filter:grayscale(1)}
.troph div.on,.troph.blur div{opacity:1;filter:none}
.troph b{font-size:24px}.troph span{font-size:11.5px;font-weight:700;line-height:1.2}
.ch-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.list .ch-row:first-child{border-top:0}
.ch-bar{display:block;height:6px;border-radius:6px;background:var(--tick-off);margin-top:6px;overflow:hidden}
.ch-bar i{display:block;height:100%;width:calc(var(--p) * 100%);background:var(--dawn);border-radius:6px}
.adapt{display:flex;align-items:center;gap:4px;margin-top:12px}
.adapt span{padding:6px 10px;border-radius:10px;background:var(--surface-2);font-family:var(--f-round);font-weight:800;font-size:13px;color:var(--muted)}
.adapt span.past{color:var(--ok)}.adapt span.now{background:var(--dawn);color:var(--dawn-ink)}
.adapt i{flex:1;height:2px;background:var(--line-2);border-radius:2px}
.phases{display:grid;gap:10px;margin-top:16px}
.ph{display:flex;gap:12px;padding:12px;border-radius:16px;background:var(--surface-2);opacity:.6}
.ph.past{opacity:.85}.ph.now{opacity:1;box-shadow:inset 0 0 0 2px var(--dawn)}
.ph > b{font-size:22px}.ph div{display:grid;gap:2px}.ph div b{font-size:15px}.ph div span{font-size:13px;color:var(--muted)}.ph .mono{font-size:10px;margin-left:4px}
.scale{display:flex;gap:8px}.scale .chip{flex:1;justify-content:center;height:40px;font-size:15px;font-family:var(--f-round);font-weight:800}
.scale .chip[aria-pressed="true"]{background:var(--dawn);color:var(--dawn-ink);border-color:transparent}
.sos-view{padding:calc(env(safe-area-inset-top,0px) + 14px) 20px 40px;display:grid;gap:14px}
.sos-view .pw-h{font-family:var(--f-round);font-weight:800}
.breath{position:relative;width:180px;height:180px;margin:6px auto;display:grid;place-items:center}
.breath i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fog) 55%,transparent),color-mix(in srgb,var(--fog) 15%,transparent));animation:breath 14s ease-in-out infinite}
.breath b{position:relative;font-family:var(--f-round);font-weight:800;font-size:18px}
@keyframes breath{0%{transform:scale(.6)}28%{transform:scale(1)}57%{transform:scale(1)}100%{transform:scale(.6)}}
@media (prefers-reduced-motion:reduce){.breath i{animation:none;transform:scale(.85)}}
.sos-tips{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14.5px}
.pw-prog{margin-top:14px;padding:16px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow);display:grid;gap:8px;text-align:center}
.pw-prog > b{font-size:16px}.pw-prog > span:not(.mono){font-size:13.5px;color:var(--muted)}
.pw-prog-n{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pw-prog-n b{display:block;font-family:var(--f-round);font-weight:800;font-size:28px}.pw-prog-n span{font-size:11.5px;color:var(--muted)}
.debug-card{box-shadow:inset 0 0 0 2px var(--gold)}

/* dial svg must not block the phase chip */
.dial svg{pointer-events:none}
.phase-chip{position:relative;z-index:3;pointer-events:auto}
/* =====================================================================
   Ayuno Intermitente · Pro (7 funciones + paywall de progreso) — «Mañana clara»
   Pegar al FINAL de src/app.css. Solo usa tokens existentes (--bg, --surface, --fg, --muted,
   --faint, --line, --fog, --dusk, --dawn, --dawn-text, --dawn-ink, --ok, --glow, --shadow, --r-*).
   Prefijo de clases nuevas: .pr-*
   ===================================================================== */
:root{
  /* Fases corporales (información general): mismas familias que el dial */
  --ph1:var(--fog);   /* Glucógeno · 4–12 h */
  --ph2:var(--dusk);  /* Quema de grasa · 12–18 h */
  --ph3:var(--dawn);  /* Cetosis · 18–24 h */
  --ph4:#B79BE0;      /* Autofagia · 24 h+ (lila suave, el único color "extra") */
  --pr-ink:#1F2B22;   /* tinta fija (bandas, PDF) */
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--ph4:#7B5BB5}}
:root[data-theme="light"]{--ph4:#7B5BB5}

/* ---------- Comunes ---------- */
.pr-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--dawn-text,var(--dawn));letter-spacing:.01em}
.pr-eyebrow .pr-pro{height:18px;padding:0 6px;border-radius:6px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.06em;display:inline-grid;place-items:center}
.pr-h1{font-family:var(--f-display);font-size:30px;font-weight:500;line-height:1.05;letter-spacing:-.02em;margin:6px 0 0}
.pr-h1 em{font-style:italic;color:var(--dawn)}
.pr-lead{color:var(--muted);font-size:14.5px;line-height:1.5;margin:8px 0 0}
.pr-note{font-size:11.5px;line-height:1.45;color:var(--faint);text-align:center;padding:0 12px}
.pr-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pr-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pr-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pr-big{font-family:var(--f-display);font-size:34px;font-weight:500;letter-spacing:-.02em;line-height:1}
.pr-big small{font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--muted);margin-left:4px;letter-spacing:0}
.pr-delta{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:700;background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.pr-delta.down{background:color-mix(in srgb,var(--dawn) 14%,transparent);color:var(--dawn-text,var(--dawn))}

/* ---------- 1 · Plan adaptativo ---------- */
.pr-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin:6px 0 4px}
.pr-ladder::before{content:"";position:absolute;left:12.5%;right:12.5%;top:21px;height:3px;border-radius:3px;background:var(--tick-off)}
.pr-ladder::after{content:"";position:absolute;left:12.5%;top:21px;height:3px;border-radius:3px;width:calc(75% * var(--lp,0));background:linear-gradient(90deg,var(--fog),var(--dusk),var(--dawn))}
.pr-step{position:relative;z-index:1;display:grid;justify-items:center;gap:8px;text-align:center}
.pr-step i{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12.5px;font-weight:800;background:var(--surface);color:var(--muted);box-shadow:0 0 0 1.5px var(--line-2),0 0 0 6px var(--surface)}
.pr-step.done i{background:var(--fog);color:#0F1A12;box-shadow:0 0 0 6px var(--surface)}
.pr-step.now i{background:var(--dawn);color:var(--dawn-ink);box-shadow:0 0 0 6px var(--surface),0 0 0 8px color-mix(in srgb,var(--dawn) 35%,transparent),0 8px 20px -6px var(--glow)}
.pr-step span{font-size:12px;font-weight:600;color:var(--muted);line-height:1.25}
.pr-step.now span{color:var(--fg)}
.pr-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.pr-week b{display:grid;place-items:center;height:34px;border-radius:50%;aspect-ratio:1;justify-self:center;font-size:11px;font-weight:700;color:var(--faint);background:color-mix(in srgb,var(--fg) 5%,transparent)}
.pr-week b.ok{background:color-mix(in srgb,var(--fog) 26%,var(--surface));color:var(--fg)}
.pr-week b.miss{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--alert) 45%,transparent);background:none;color:var(--muted)}
.pr-week b.today{box-shadow:0 0 0 2px var(--dawn)}
.pr-suggest{display:grid;gap:12px;background:linear-gradient(140deg,color-mix(in srgb,var(--dawn) 14%,var(--surface)),var(--surface) 70%)!important}
.pr-suggest .pr-big{color:var(--dawn)}
.pr-actions{display:grid;grid-template-columns:1fr auto;gap:10px}

/* ---------- 2 · Fases corporales en el dial ---------- */
.pr-dial{position:relative;width:min(100%,318px);aspect-ratio:1;margin:0 auto}
.pr-dial svg{width:100%;height:100%;overflow:visible}
.pr-dial .pr-center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;gap:2px}
.pr-phase-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:9px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--pc) 18%,transparent);color:var(--pc)}
.pr-phase-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}
.pr-phases{display:grid;gap:0}
.pr-ph{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.pr-ph:first-child{border-top:0}
.pr-ph > i{width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 22%,transparent)}
.pr-ph b{font-size:15px;font-weight:700}
.pr-ph p{margin:2px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.pr-ph > span{font-family:var(--f-mono);font-size:11px;color:var(--faint);white-space:nowrap;margin-top:3px}
.pr-ph.past b{color:var(--muted)}.pr-ph.past > i{opacity:.55}
.pr-ph.now{margin:0 -12px;padding:12px;border-radius:14px;border-top-color:transparent;background:color-mix(in srgb,var(--pc) 9%,var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--pc) 38%,transparent)}
.pr-ph.now + .pr-ph{border-top-color:transparent}
.pr-ph.next b{color:var(--fg)}
.pr-meter{height:6px;border-radius:6px;background:var(--tick-off);overflow:hidden;margin-top:8px}
.pr-meter i{display:block;height:100%;width:calc(var(--v)*100%);border-radius:inherit;background:var(--pc,var(--dawn))}

/* ---------- 3 · Registro rápido + gráficas ---------- */
.pr-sheet{position:absolute;left:0;right:0;bottom:0;z-index:60;background:var(--surface);border-radius:28px 28px 0 0;padding:10px 20px 30px;box-shadow:0 -20px 60px -20px rgba(0,0,0,.5)}
.pr-scrim{position:absolute;inset:0;z-index:55;background:rgba(8,12,9,.45)}
.pr-grab{width:38px;height:5px;border-radius:5px;background:var(--line-2);margin:0 auto 14px}
.pr-field{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line)}
.pr-field:first-of-type{border-top:0}
.pr-field > .pr-row > b{font-size:15px}
.pr-field > .pr-row > span{font-size:12px;color:var(--muted)}
.pr-weight{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}
.pr-weight .icon-btn,.pr-round{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);font-size:20px;font-weight:600}
.pr-weight output{text-align:center;font-family:var(--f-round,var(--f-body));font-size:40px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pr-weight output small{font-size:15px;color:var(--muted);font-weight:700;margin-left:4px}
.pr-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pr-scale button{height:54px;border-radius:14px;display:grid;place-items:center;gap:0;background:var(--surface-2);font-size:20px;line-height:1;padding-top:4px}
.pr-scale button span{font-size:10px;font-weight:700;color:var(--muted);margin-top:-6px}
.pr-scale button[aria-pressed="true"]{background:color-mix(in srgb,var(--dawn) 18%,var(--surface));box-shadow:inset 0 0 0 2px var(--dawn)}
.pr-scale button[aria-pressed="true"] span{color:var(--dawn-text,var(--dawn))}
.pr-chart{position:relative;margin-top:6px}
.pr-chart svg{display:block;width:100%;height:auto;overflow:visible}
.pr-chart .grid{stroke:var(--line);stroke-width:1}
.pr-chart .axis{font-family:var(--f-mono);font-size:9px;fill:var(--faint)}
.pr-chart .line{fill:none;stroke:var(--dawn);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pr-chart .area{fill:url(#prArea)}
.pr-chart .dot{fill:var(--surface);stroke:var(--dawn);stroke-width:2.4}
.pr-chart .dot.last{fill:var(--dawn);stroke:var(--surface);stroke-width:3}
.pr-seg{display:inline-flex;padding:3px;border-radius:11px;background:var(--surface-2);gap:2px}
.pr-seg button{height:28px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:700;color:var(--muted)}
.pr-seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}
.pr-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:64px}
.pr-dots i{display:block;border-radius:6px;height:calc(var(--h)*100%);background:var(--c,var(--dusk))}
.pr-legend{display:flex;gap:14px;font-size:11.5px;color:var(--muted);margin-top:10px}
.pr-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:6px}

/* ---------- 4 · Resumen semanal ---------- */
.pr-hero{position:relative;overflow:hidden;background:var(--pr-ink)!important;color:#F1EEE4;padding:22px!important}
.pr-hero::after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle closest-side,rgba(255,138,61,.55),rgba(255,138,61,0));pointer-events:none}
.pr-hero > *{position:relative;z-index:1}
.pr-hero .pr-eyebrow{color:#FFB27A}
.pr-hero .pr-big{font-size:52px;color:#F1EEE4}
.pr-hero .pr-big small{color:rgba(241,238,228,.7)}
.pr-hero p{color:rgba(241,238,228,.75);margin:6px 0 0;font-size:14px;position:relative;z-index:1}
.pr-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:120px;margin-top:8px}
.pr-bars div{display:grid;grid-template-rows:1fr auto;gap:6px;height:100%;justify-items:center}
.pr-bars i{align-self:end;width:100%;max-width:26px;border-radius:9px;height:calc(var(--h)*100%);background:linear-gradient(to top,var(--fog),var(--dusk) 60%,var(--dawn));position:relative}
.pr-bars i.miss{background:var(--tick-off)}
.pr-bars i.best::after{content:"★";position:absolute;top:-18px;left:50%;translate:-50% 0;font-size:11px;color:var(--dawn)}
.pr-bars span{font-family:var(--f-mono);font-size:10px;color:var(--faint)}
.pr-goal-line{position:relative}
.pr-goal-line::before{content:"16 h";position:absolute;z-index:2;left:0;top:calc((1 - var(--g))*120px - 14px);font-family:var(--f-mono);font-size:9px;color:var(--faint)}
.pr-goal-line::after{content:"";position:absolute;left:0;right:0;top:calc((1 - var(--g))*120px);border-top:1.5px dashed color-mix(in srgb,var(--fg) 30%,transparent);z-index:2;pointer-events:none}
.pr-insight{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.pr-insight > i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:18px;background:color-mix(in srgb,var(--fog) 20%,var(--surface))}
.pr-insight b{font-size:14.5px}.pr-insight p{margin:2px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
/* Vista previa bloqueada en Hoy (usuarios gratis) */
.pr-locked{position:relative;overflow:hidden}
.pr-locked .pr-blur{filter:blur(6px) saturate(.8);opacity:.55;pointer-events:none;user-select:none}
.pr-lock-cta{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:16px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--surface) 70%,transparent))}
.pr-lock-cta .pr-lock-i{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--dawn);color:var(--dawn-ink);box-shadow:0 10px 24px -8px var(--glow)}
.pr-lock-cta .pr-lock-i svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none}
.pr-lock-cta b{font-family:var(--f-display);font-size:19px;font-weight:500}
.pr-lock-cta span{font-size:12.5px;color:var(--muted);max-width:28ch}

/* ---------- 5 · Modo SOS (hambre) ---------- */
.pr-sos{position:absolute;inset:0;z-index:70;display:flex;flex-direction:column;padding:60px 20px 34px;background:radial-gradient(120% 70% at 50% 38%,color-mix(in srgb,var(--fog) 22%,var(--bg)),var(--bg) 70%)}
.pr-sos-top{display:flex;justify-content:space-between;align-items:center}
.pr-breath{position:relative;width:236px;height:236px;margin:22px auto 6px;display:grid;place-items:center}
.pr-breath i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--fog) 50%,transparent),transparent);animation:prBreath 8s ease-in-out infinite}
.pr-breath i:nth-child(2){inset:34px;background:color-mix(in srgb,var(--fog) 30%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--fog) 40%,transparent);animation-delay:.2s}
.pr-breath b{position:relative;font-family:var(--f-display);font-size:26px;font-weight:500}
.pr-breath small{position:relative;display:block;font-size:12px;color:var(--muted);text-align:center;margin-top:2px}
@keyframes prBreath{0%,100%{transform:scale(.82)}45%,55%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.pr-breath i{animation:none}}
.pr-sos-title{font-family:var(--f-display);font-size:28px;font-weight:500;text-align:center;line-height:1.1;letter-spacing:-.02em}
.pr-sos-sub{text-align:center;color:var(--muted);font-size:14px;margin:8px auto 0;max-width:30ch}
.pr-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.pr-tip{display:grid;justify-items:center;gap:6px;padding:14px 6px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);font-size:12.5px;font-weight:700;text-align:center}
.pr-tip em{font-style:normal;font-size:22px}
.pr-tip small{font-size:11px;font-weight:600;color:var(--muted)}
.pr-tip[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--fog),var(--shadow)}
.pr-sos-foot{margin-top:auto;display:grid;gap:10px}
.pr-left{display:flex;justify-content:center;gap:6px;font-size:13px;color:var(--muted)}
.pr-left b{color:var(--fg);font-variant-numeric:tabular-nums}

/* ---------- 6 · Informe PDF (A4: 794×1123 px a 96 dpi) ---------- */
.pr-a4{width:794px;min-height:1123px;margin:0 auto;background:#FFFDF7;color:#1F2B22;font-family:var(--f-body);padding:56px 60px;box-sizing:border-box;display:flex;flex-direction:column;gap:22px}
.pr-a4 h1{font-family:var(--f-display);font-size:30px;font-weight:500;letter-spacing:-.015em;margin:0}
.pr-a4 h2{font-family:var(--f-display);font-size:17px;font-weight:600;margin:0 0 10px}
.pr-a4-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #1F2B22;padding-bottom:16px}
.pr-a4-head .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px}
.pr-a4-head .brand img{width:30px;height:30px;border-radius:8px}
.pr-a4-meta{font-size:12px;color:#5D6858;text-align:right;line-height:1.6}
.pr-a4-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pr-a4-kpis div{border:1px solid rgba(36,52,40,.14);border-radius:12px;padding:12px 14px}
.pr-a4-kpis b{display:block;font-family:var(--f-display);font-size:26px;font-weight:500}
.pr-a4-kpis span{font-size:11px;color:#5D6858}
.pr-a4 table{width:100%;border-collapse:collapse;font-size:11.5px}
.pr-a4 th{text-align:left;font-weight:700;color:#5D6858;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid rgba(36,52,40,.25)}
.pr-a4 td{padding:6px 8px;border-bottom:1px solid rgba(36,52,40,.08);font-variant-numeric:tabular-nums}
.pr-a4 tr:nth-child(even) td{background:rgba(36,52,40,.025)}
.pr-a4 .ok{color:#2F8550;font-weight:700}.pr-a4 .no{color:#A8460C;font-weight:700}
.pr-a4-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.pr-a4-notes{border:1px dashed rgba(36,52,40,.3);border-radius:12px;min-height:90px;padding:12px 14px;font-size:11px;color:#949B88}
.pr-a4-foot{margin-top:auto;display:flex;justify-content:space-between;font-size:10px;color:#949B88;border-top:1px solid rgba(36,52,40,.14);padding-top:10px}
@media print{@page{size:A4;margin:0}.pr-a4{box-shadow:none}}
.pr-pdf-card{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center}
.pr-pdf-thumb{width:62px;height:84px;border-radius:8px;background:#FFFDF7;box-shadow:0 0 0 1px var(--line-2),0 10px 20px -10px rgba(0,0,0,.5);padding:8px 7px;display:grid;gap:4px;align-content:start}
.pr-pdf-thumb i{display:block;height:4px;border-radius:2px;background:rgba(36,52,40,.18)}
.pr-pdf-thumb i:first-child{height:7px;width:70%;background:#1F2B22}
.pr-pdf-thumb i.c{height:18px;background:linear-gradient(90deg,#5E8A6B,#C8941E,#E2601A);opacity:.7}

/* ---------- 7 · Retos y trofeos ---------- */
.pr-challenge{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.pr-ring{position:relative;width:64px;height:64px}
.pr-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pr-ring .t{fill:none;stroke:var(--tick-off);stroke-width:6}
.pr-ring .v{fill:none;stroke:var(--dawn);stroke-width:6;stroke-linecap:round}
.pr-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.pr-challenge h4{font-family:var(--f-body);font-size:15.5px;font-weight:700;letter-spacing:0;margin:0}
.pr-challenge p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}
.pr-challenge .pr-meter{margin-top:8px}
.pr-trophies{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pr-trophy{display:grid;justify-items:center;gap:8px;padding:16px 8px 14px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);text-align:center}
.pr-medal{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;font-size:26px;background:conic-gradient(from 210deg,var(--dusk),var(--dawn),var(--dusk));box-shadow:inset 0 0 0 3px color-mix(in srgb,#fff 35%,transparent),0 10px 22px -10px var(--glow);transform:rotate(-6deg)}
.pr-medal > span{transform:rotate(6deg)}
.pr-medal.sage{background:conic-gradient(from 210deg,var(--fog),color-mix(in srgb,var(--fog) 60%,#fff),var(--fog))}
.pr-trophy b{font-size:12.5px;font-weight:700;line-height:1.2}
.pr-trophy small{font-size:10.5px;color:var(--faint)}
.pr-trophy.locked .pr-medal{background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--line-2);filter:grayscale(1);opacity:.6}
.pr-trophy.locked b{color:var(--muted)}
.pr-trophy.new{box-shadow:inset 0 0 0 2px var(--dawn),var(--shadow)}
.pr-trophy.new::after{content:"Nuevo";position:absolute;margin-top:-8px;height:18px;padding:0 7px;border-radius:6px;background:var(--dawn);color:var(--dawn-ink);font-size:10px;font-weight:800;line-height:18px}
.pr-trophy{position:relative}

/* ---------- 8 · Paywall de progreso real (v2: rejilla de 4 px, todo en el primer pliegue) ----------
   Rejilla: margen 20 · espaciado 8/12/16/24 · todas las columnas alinean al mismo borde izquierdo (20 px).
   Altura útil 844: top 44 · héroe 96 · lead · tarjeta 3 filas · planes 3 col · dock fijo 112. */
.pr-pw{position:absolute;inset:0;z-index:80;overflow-y:auto;padding:52px 20px 132px;display:flex;flex-direction:column;gap:16px;background:radial-gradient(110% 50% at 50% 0%,color-mix(in srgb,var(--dawn) 14%,var(--bg)),var(--bg) 62%);font-variant-numeric:tabular-nums lining-nums}
.pr-pw-top{display:flex;justify-content:space-between;align-items:center;height:36px}
.pr-pw-top .close-x{position:static;margin:0}
.pr-you{display:grid;grid-template-columns:96px 1fr;column-gap:16px;align-items:center}
.pr-you .pr-ring{width:96px;height:96px}
.pr-you .pr-ring .t,.pr-you .pr-ring .v{stroke-width:7}
/* El número y su unidad forman UN bloque centrado ópticamente (line-height 1, sin márgenes sueltos) */
.pr-you .pr-ring b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1}
.pr-you .pr-ring b span{font-family:var(--f-round,var(--f-body));font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;transform:translateY(1px)}
.pr-you .pr-ring b small{font-size:10px;font-weight:700;color:var(--muted);line-height:1;letter-spacing:.02em}
.pr-you-t{display:grid;gap:6px;align-content:center}
.pr-you-t .pr-h1{font-size:26px;margin:0;line-height:1.08}
.pr-you-t .pr-h1 em{font-style:normal;color:var(--dawn-text,var(--dawn))}
.pr-pw .pr-lead{margin:0;font-size:13.5px}
.pr-unlock{display:grid;gap:0;padding:4px 16px!important}
.pr-unlock > div{display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.pr-unlock > div:first-child{border-top:0}
.pr-unlock i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--dawn) 13%,var(--surface));color:var(--dawn-text,var(--dawn))}
.pr-unlock i svg{width:19px;height:19px}
.pr-unlock b{display:block;font-size:14px;line-height:1.25}
.pr-unlock p{margin:2px 0 0;font-size:12.5px;line-height:1.35;color:var(--muted)}
.pr-unlock p strong{color:var(--fg);font-weight:700}
.pr-more{font-size:12px;color:var(--faint);margin:-4px 0 0;padding:0}
.pr-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:stretch}
.pr-plan{position:relative;display:grid;grid-template-rows:auto auto auto;justify-items:center;align-content:center;gap:4px;padding:16px 6px 12px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:center;width:100%}
.pr-plan b{font-size:12.5px;font-weight:700;color:var(--muted);line-height:1}
.pr-plan strong{font-family:var(--f-round,var(--f-body));font-size:20px;font-weight:800;line-height:1;letter-spacing:-.01em;color:var(--fg)}
.pr-plan small{font-size:11px;color:var(--faint);line-height:1.1}
.pr-plan[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--dawn),0 12px 26px -16px var(--glow);background:color-mix(in srgb,var(--dawn) 8%,var(--surface))}
.pr-plan[aria-pressed="true"] b{color:var(--fg)}
.pr-plan .tag{position:absolute;top:0;left:50%;translate:-50% -50%;height:18px;padding:0 7px;border-radius:6px;background:var(--dawn);color:var(--dawn-ink);font-size:9.5px;font-weight:800;letter-spacing:.05em;line-height:18px;white-space:nowrap}
.pr-pw-cta{position:absolute;left:0;right:0;bottom:0;z-index:81;padding:16px 20px 24px;background:linear-gradient(to top,var(--bg) 72%,transparent);display:grid;gap:8px}
.pr-pw-cta .btn{height:56px;font-size:16px;box-shadow:0 16px 34px -14px var(--glow)}
.pr-pw-cta .pr-note{margin:0;padding:0}

/* integración */
.pr-dial svg{pointer-events:none}.pr-dial .pr-center{pointer-events:none}.pr-dial .pr-center .pr-phase-pill{pointer-events:auto}
.sos-link{justify-self:center;margin-top:-6px;font-weight:700;color:var(--dawn-text,var(--dawn))}
.pr-pdf-card .btn{margin-top:4px}
.pr-a4 .pr-chart .line{stroke:#E2601A}.pr-a4 .pr-chart .dot{fill:#fff;stroke:#E2601A}.pr-a4 .pr-chart .dot.last{fill:#E2601A;stroke:#fff}.pr-a4 .pr-chart .grid{stroke:rgba(36,52,40,.12)}
