/* Datalytic.app by BMP · página de planes. Estilo del dashboard: vidrio + relieve suave + minimalismo.
   Propio de esta página (no depende de ../styles.css). Ver diseno-planes.md */
:root{
  --ink:#1D1D1F; --ink-2:#44454C; --line:rgba(30,40,80,.14);
  --act:#0057FF; --act-hover:#0047D6; --act-ink:#FFFFFF;
  --link:#0043C7; --focus:#003BB8;
  --glass:rgba(255,255,255,.76); --glass-line:rgba(255,255,255,.9); --glass-in:rgba(255,255,255,.7);
  --shadow:0 1px 1px rgba(20,30,70,.04),0 22px 50px -24px rgba(30,50,110,.30);
  --neu-bg:#ECF0F7; --nb:#7A8093;
  --neu-raise:5px 5px 12px rgba(140,156,190,.55),-5px -5px 12px rgba(255,255,255,.95);
  --neu-press:inset 3px 3px 7px rgba(140,156,190,.55),inset -3px -3px 7px rgba(255,255,255,.95);
  --ok:#05603A; --chip:#DCE8FF; --recom:#0057FF;
  --mesh:radial-gradient(60% 50% at 6% 4%,#C3CFE4 0,transparent 70%),radial-gradient(45% 45% at 74% 0%,#BFD3FF 0,transparent 70%),radial-gradient(42% 42% at 100% 68%,#D5E2FF 0,transparent 70%),radial-gradient(55% 50% at 0% 100%,#9DBBF2 0,transparent 70%),radial-gradient(40% 36% at 58% 100%,#DCE8FF 0,transparent 70%),#EEF2F9;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(16px,5vw,40px); --max:1120px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#F4F5F8; --ink-2:#B7BAC6; --line:rgba(255,255,255,.14);
    --glass:rgba(24,27,38,.64); --glass-line:rgba(255,255,255,.14); --glass-in:rgba(255,255,255,.07);
    --shadow:0 1px 1px rgba(0,0,0,.3),0 22px 50px -24px rgba(0,0,0,.7);
    --neu-bg:#1B1F2D; --nb:#8189A0;
    --neu-raise:5px 5px 12px rgba(0,0,0,.6),-5px -5px 12px rgba(255,255,255,.06);
    --neu-press:inset 3px 3px 7px rgba(0,0,0,.6),inset -3px -3px 7px rgba(255,255,255,.06);
    --link:#A9C5FF; --focus:#A9C5FF; --ok:#5FD99B; --recom:#8FB4FF;
    --mesh:radial-gradient(60% 50% at 6% 4%,#1E2A48 0,transparent 70%),radial-gradient(45% 45% at 74% 0%,#1B3366 0,transparent 70%),radial-gradient(42% 42% at 100% 68%,#14285A 0,transparent 70%),radial-gradient(55% 50% at 0% 100%,#12306B 0,transparent 70%),radial-gradient(40% 36% at 58% 100%,#2B2410 0,transparent 70%),#0C0F18;
  }
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;background:#EEF2F9;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--mesh)}
a{color:var(--link)} :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-64px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;z-index:100;transition:top .2s}
.skip:focus{top:12px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
svg.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Barra superior */
.top{padding:16px 0}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:baseline;gap:7px;text-decoration:none;color:var(--ink)}
.brand b{font-size:21px;font-weight:700;letter-spacing:-.045em}
.brand small{font-size:11px;font-weight:500;color:var(--ink-2)}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;color:var(--ink);background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35)}

/* Cabecera */
.hero{padding:clamp(32px,6vw,72px) 0 clamp(24px,4vw,40px)}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
h1{font-size:clamp(36px,6vw,64px);line-height:1.05;letter-spacing:-.035em;font-weight:700;max-width:16ch}
.lead{font-size:clamp(17px,2vw,21px);line-height:1.45;color:var(--ink-2);max-width:52ch;margin-top:18px}

/* Selector Mensual / Anual */
.sel-wrap{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.sel{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(100%,320px);height:52px;padding:0;border-radius:999px;background:var(--neu-bg);box-shadow:var(--neu-press);border:1.5px solid var(--nb)}
.sel .knob{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:999px;background:var(--act);border:2px solid var(--act-ink);box-shadow:var(--neu-raise);transition:transform 280ms var(--ease)}
.sel[data-p="anual"] .knob{transform:translateX(100%)}
.sel button{position:relative;z-index:1;border:0;background:transparent;font:600 15px/1.1 var(--font);color:var(--ink-2);border-radius:999px;cursor:pointer;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.sel button[aria-checked="true"]{color:var(--act-ink)}
.sel button small{font-size:11px;font-weight:600;letter-spacing:.01em}
.sel-note{font-size:14px;color:var(--ink-2);max-width:46ch}
.sel-note b{color:var(--ink)}

/* Tarjetas */
.plans{display:grid;gap:24px;margin-top:32px;grid-template-columns:1fr;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:24px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35);scroll-margin-top:24px}
.plan#pro{border:2px solid var(--recom)}
.plan.rec .chip{position:absolute;top:-14px;left:20px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px;border-radius:999px;background:var(--chip);color:#1D1D1F;font-size:12.5px;font-weight:700;border:1px solid rgba(20,20,20,.28)}
.plan.prem::before{content:"";position:absolute;left:0;right:0;top:0;height:56px;border-radius:24px 24px 0 0;background:linear-gradient(180deg,rgba(180,205,255,.55),transparent);pointer-events:none}
.plan h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px;position:relative}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-height:62px}
.price .n{font-size:48px;font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.price .u{font-size:15px;color:var(--ink-2)}
.price s{font-size:15px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.bill{font-size:14px;color:var(--ink-2);min-height:42px}
.bill b{color:var(--ink);font-weight:600}
.desc{font-size:16px;color:var(--ink)}
.who{font-size:14px;color:var(--ink-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font:600 16px/1 var(--font);text-decoration:none;cursor:pointer;transition:background-color .2s,transform 100ms ease-out;text-align:center}
.btn:active{transform:scale(.97)}
.btn-main{background:var(--act);color:var(--act-ink);border:1px solid rgba(20,20,20,.28);box-shadow:0 8px 18px -10px rgba(0,60,180,.55)}
.btn-main:hover{background:var(--act-hover)}
.btn-sec{background:var(--neu-bg);color:var(--ink);border:1.5px solid var(--nb);box-shadow:var(--neu-raise)}
.btn-sec:active{box-shadow:var(--neu-press)}
.micro{font-size:13px;color:var(--ink-2);margin-top:-6px}
.feat-h{font-size:14px;font-weight:600;margin-top:4px}
.feat{list-style:none;padding:0;display:grid;gap:10px;font-size:15px}
.feat li{display:flex;gap:10px;align-items:flex-start}
.feat .ic{color:var(--ok);margin-top:2px;width:18px;height:18px;stroke-width:2.2}
.feat .dm{color:var(--ink)}
.more{font-size:14px;font-weight:600;margin-top:auto}

/* Tabla */
section.blk{padding:clamp(48px,8vw,96px) 0 0}
h2.sec{font-size:clamp(28px,4vw,40px);line-height:1.1;letter-spacing:-.03em;font-weight:700;max-width:22ch}
.sec-sub{color:var(--ink-2);margin-top:12px;max-width:60ch}
.tbl-card{margin-top:28px;border-radius:24px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(1.35);backdrop-filter:blur(24px) saturate(1.35);overflow-x:auto}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-size:15px}
caption{text-align:left;padding:20px 20px 4px;font-weight:600}
thead th{position:sticky;top:0;z-index:2;background:var(--neu-bg);padding:14px 12px;text-align:left;font-weight:700;border-bottom:1px solid var(--line);vertical-align:bottom}
thead th .pp{display:block;font-weight:400;color:var(--ink-2);font-size:13px;margin-top:2px;font-variant-numeric:tabular-nums}
tbody th,tbody td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
tbody th[scope="row"]{font-weight:500;width:36%;position:sticky;left:0;background:var(--neu-bg);z-index:1}
tbody th small{display:block;font-weight:400;color:var(--ink-2);font-size:13px;margin-top:2px}
tbody tr.grp th{background:var(--neu-bg);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700;position:static;padding-top:20px}
td.pro{background:var(--glass-in)}
td .y{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}
td .y .ic{width:16px;height:16px;stroke-width:2.4}
td .no{color:var(--ink-2)}
td .dm{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:4px}

/* FAQ */
.faq{margin-top:28px;display:grid;gap:10px;max-width:820px}
details{border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line)}
summary{list-style:none;cursor:pointer;min-height:56px;padding:14px 16px;font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;font-weight:400;line-height:1}
details[open] summary::after{content:"−"}
details p{padding:0 16px 16px;color:var(--ink-2);max-width:62ch}
details p b{color:var(--ink)}

/* Cierre y pie */
.closing{margin-top:clamp(48px,8vw,96px);padding:clamp(28px,5vw,48px);border-radius:24px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);display:grid;gap:12px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.closing h2{font-size:clamp(26px,3.5vw,36px);line-height:1.1;letter-spacing:-.03em}
.closing p{color:var(--ink-2)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:8px}
footer{padding:48px 0 40px;font-size:14px;color:var(--ink-2)}
footer p+p{margin-top:8px}
footer .links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px}

@media (min-width:700px){
  .plans{grid-template-columns:1fr 1fr}
  #gratis{order:-1}
  .plan#gratis{grid-column:1/-1}
  .plan#gratis .feat{grid-template-columns:1fr 1fr}
  .plan{padding:28px}
}
@media (min-width:1100px){
  .plans{grid-template-columns:repeat(3,1fr)}
  .plan#gratis{grid-column:auto}
  .plan#gratis .feat{grid-template-columns:1fr}
}
@media (prefers-reduced-transparency:reduce){
  .plan,.tbl-card,.back,.closing{background:rgba(255,255,255,.97);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-transparency:reduce) and (prefers-color-scheme:dark){
  .plan,.tbl-card,.back,.closing{background:#181B26}
}
@media (prefers-contrast:more){
  :root{--ink-2:#2B2C31;--glass:#fff;--glass-in:#fff}
  .plan,.tbl-card,details{border-color:var(--ink)}
}
.js .rise{opacity:0;transform:translateY(14px);transition:opacity 500ms var(--ease),transform 500ms var(--ease);transition-delay:calc(var(--i,0)*.08s)}
.js .rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .js .rise{opacity:1;transform:none}
}

/* Arreglos de la auditoría de accesibilidad (Trotsky, 06-10-2026) */
.sel button[aria-checked="true"]{font-weight:700}
.sel button[aria-checked="true"]::before{content:"✓ ";font-weight:700}
.sel button[aria-checked="true"]{flex-direction:row;flex-wrap:wrap;gap:0 4px;padding:0 6px}
.sel button[aria-checked="true"] small{flex-basis:100%;text-align:center}
.brand,footer .links a{display:inline-flex;align-items:center;min-height:44px}
footer a{color:#002B8A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer a{color:var(--link)}}
.swipe{display:none}
@media (max-width:699px){
  .swipe{display:block;font-size:14px}
  table{min-width:560px;font-size:14px}
  tbody th[scope="row"]{width:auto;min-width:128px;max-width:128px}
  thead th:first-child{position:sticky;left:0;z-index:3}
}
@media (forced-colors:active){
  .sel .knob{border-color:Highlight;background:Highlight}
  .sel button[aria-checked="true"]{color:HighlightText}
}
th .dm{margin-right:6px;vertical-align:-3px}
