/* =========================================================
   MikeSpot CR · Tema "Neo Gold" (futurista, oscuro, profesional)
   Se carga después de app.css. Marca: negro + dorado. Acento tecnológico: cian.
   ========================================================= */
:root{
  --bg:#05060b; --bg-2:#090b13; --surface:#0e111a; --surface-2:#141824;
  --line:#242a3d; --line-2:#1b2030;
  --text:#eef1f8; --text-2:#b6bfd2; --muted:#8892a8;
  --gold:#e7c46b; --gold-2:#d6a73d; --gold-3:#f3dc9d; --gold-ink:#f0d48a;
  --cyan:#4de1d2; --violet:#8b7cff;
  --ok:#5be39a; --ok-bg:rgba(61,214,140,.12); --bad:#ff8f8f; --bad-bg:rgba(255,95,95,.12); --warn:#f2c862; --warn-bg:rgba(242,200,98,.12); --info:#4de1d2; --info-bg:rgba(77,225,210,.12);
  --gold-grad:linear-gradient(135deg,#f3dc9d 0%,#e7c46b 40%,#c8932e 100%);
  --sh-1:0 1px 0 rgba(255,255,255,.04) inset,0 10px 34px rgba(0,0,0,.38);
  --sh-2:0 1px 0 rgba(255,255,255,.05) inset,0 24px 70px rgba(0,0,0,.55);
  --glow:0 0 0 1px rgba(231,196,107,.28),0 10px 40px rgba(231,196,107,.12);
  color-scheme:dark;
}
::selection{background:rgba(231,196,107,.35);color:#fff}
html{scrollbar-color:#2a3148 #07080d}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#252b40;border-radius:99px}::-webkit-scrollbar-track{background:transparent}

/* Fondo: malla de luz + rejilla sutil */
body,body.app,body.site{
  background:
    radial-gradient(900px 520px at 8% -8%,rgba(231,196,107,.14),transparent 62%),
    radial-gradient(760px 520px at 100% 18%,rgba(77,225,210,.07),transparent 62%),
    radial-gradient(700px 500px at 50% 115%,rgba(139,124,255,.07),transparent 60%),
    #05060b!important;
  background-attachment:fixed!important;color:var(--text)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 72%)}
.app-frame,.site-header,main,section,footer,.hero-dark,.page-hero{position:relative;z-index:1}
.site-header{z-index:90}.sheet-back{z-index:95}.sheet{z-index:96}.wa-float{z-index:80}.app-tabbar{z-index:70}.app-top{z-index:60}

h1,h2,h3,h4{color:var(--text)}
a{color:inherit}
.muted,.small,.hint{color:var(--muted)}
label{color:var(--text-2)}
input,select,textarea{background:var(--surface-2);color:var(--text);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:#5f6982}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(231,196,107,.16),0 0 24px rgba(231,196,107,.1)}
select option{background:#10131c;color:var(--text)}
input[type=file]{background:var(--surface-2)}
input[readonly],input:disabled,select:disabled{background:#0b0d15;color:#76809a}
input[type=date],input[type=datetime-local],input[type=month]{color-scheme:dark}

/* Superficies de cristal */
.card,.panel,.panel-premium,.section-card,.feature,.login-card,.task-card,.list-item,.auth-card,.pricing-card,.pcard,.kpi,.kpi-card,.calendar-card,.chat,.acc,.person,.faq details,.plan-notes-grid article,.catalog-admin-card,.shop-sidebar,.chart-panel,.ex,.cx,.photo,.fold,.progress-log-card,.sinpe-box{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),var(--surface);
  border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--text)}
.card:hover,.feature:hover,.pcard:hover,.person:hover{border-color:rgba(231,196,107,.35)}
.soft,.result,.inline-note,.empty-state,.soft-list .row,.task-card.compact,.crm-client-card,.plan-stat-chip,.executive-narrative,.timeline-content,.photo-slot,.upload-tile{background:var(--surface-2);border-color:var(--line);color:var(--text-2)}
.empty-state{border-style:dashed}
.inline-note strong{color:var(--gold-ink)}
.table-wrap,.table-shell{background:var(--surface);border-color:var(--line)}
table{background:transparent;color:var(--text)}
th{background:var(--surface-2);color:var(--muted)}
th,td{border-bottom-color:var(--line-2)}
tbody tr:hover td{background:rgba(231,196,107,.05)}
hr{border-top-color:var(--line)}

/* Botones */
.btn-primary{color:#1a1204;box-shadow:0 8px 30px rgba(231,196,107,.28),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-primary:hover{box-shadow:0 12px 40px rgba(231,196,107,.45),inset 0 1px 0 rgba(255,255,255,.5);filter:brightness(1.05)}
.btn-secondary{background:rgba(255,255,255,.04);color:var(--text);border-color:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.btn-secondary:hover{background:rgba(231,196,107,.1);border-color:var(--gold)}
.btn-dark,.btn-mini,.btn-small{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14)}
.btn-dark:hover,.btn-mini:hover,.btn-small:hover{background:rgba(231,196,107,.16);border-color:var(--gold)}
.btn-danger{background:var(--bad-bg)!important;color:var(--bad)!important;border-color:rgba(255,95,95,.3)!important}
.icon-btn{background:rgba(255,255,255,.05);color:var(--text-2);border-color:var(--line)}
.icon-btn:hover{background:rgba(231,196,107,.12);border-color:var(--gold);color:var(--gold)}
.icon-btn.danger:hover{background:var(--bad-bg);color:var(--bad);border-color:rgba(255,95,95,.35)}

/* Elementos "activos" que eran negro sólido */
.tabs{background:rgba(14,17,26,.85);border-color:var(--line);backdrop-filter:blur(14px)}
.tabs button,.tabs a{color:var(--text-2)}
.tabs button:hover,.tabs a:hover{background:rgba(255,255,255,.06);color:#fff}
.tabs button.on,.tabs a.on{background:var(--gold-grad);color:#1a1204;box-shadow:0 4px 18px rgba(231,196,107,.3)}
.yn{background:var(--surface-2);border-color:var(--line)}
.yn input:checked+label{background:rgba(255,255,255,.12);color:#fff}
.chips label{background:var(--surface-2);border-color:var(--line);color:var(--text-2)}
.chips input:checked+label{background:var(--gold-grad);color:#1a1204;border-color:transparent}
.catpills a{background:var(--surface-2);border-color:var(--line);color:var(--text-2)}
.catpills a.active,.catpills a:hover,.shop-tabs a.active,.shop-menu a.active,.shop-tabs a:hover,.shop-menu a:hover{background:var(--gold-grad);color:#1a1204;border-color:transparent}
.daybadge,.ex-head .num,.fold label .n,.badge.dark{background:linear-gradient(135deg,rgba(231,196,107,.22),rgba(77,225,210,.10));color:var(--gold);border:1px solid rgba(231,196,107,.35)}
.daybadge.rest{background:rgba(139,124,255,.16);color:#b6acff;border-color:rgba(139,124,255,.35)}
.feature .fi{background:linear-gradient(135deg,rgba(231,196,107,.2),rgba(77,225,210,.08));color:var(--gold);border:1px solid rgba(231,196,107,.3);box-shadow:0 0 24px rgba(231,196,107,.12)}
.badge{background:var(--warn-bg);border-color:rgba(242,200,98,.3);color:var(--warn)}
.badge.ok{background:var(--ok-bg);border-color:rgba(61,214,140,.3);color:var(--ok)}
.badge.bad{background:var(--bad-bg);border-color:rgba(255,95,95,.3);color:var(--bad)}
.badge.info{background:var(--info-bg);border-color:rgba(77,225,210,.3);color:var(--cyan)}
.badge.gray,.badge-soft{background:rgba(255,255,255,.06);border-color:var(--line);color:var(--text-2)}
.notice.success{background:var(--ok-bg);border-color:rgba(61,214,140,.3);color:var(--ok)}
.notice.error{background:var(--bad-bg);border-color:rgba(255,95,95,.3);color:var(--bad)}
.notice.warn{background:var(--warn-bg);border-color:rgba(242,200,98,.3);color:var(--warn)}
.notice b,.notice strong{color:inherit}
.delta{background:rgba(255,255,255,.07);color:var(--text-2)}
.delta.up,.kpi .delta.up{background:rgba(77,225,210,.14);color:var(--cyan)}
.delta.down,.kpi .delta.down{background:rgba(242,168,98,.14);color:#f4b36a}
.delta.same,.kpi .delta.same{background:rgba(255,255,255,.06);color:var(--muted)}
.lock-note{background:rgba(139,124,255,.1);border-color:rgba(139,124,255,.3);color:#b9b0ff}
.eyebrow{background:rgba(231,196,107,.1);border-color:rgba(231,196,107,.3);color:var(--gold)}
.acc[open]>summary{background:rgba(255,255,255,.03);border-bottom-color:var(--line)}
.acc.rest{background:linear-gradient(160deg,rgba(139,124,255,.13),rgba(139,124,255,.03)),var(--surface)}
.progress{background:var(--line)}

/* KPIs */
.kpi b,.kpi-card .value{color:var(--text)}
.kpi .ico{color:var(--gold)}
.kpi.dark{background:linear-gradient(145deg,rgba(231,196,107,.16),rgba(231,196,107,.03)),var(--surface);border-color:rgba(231,196,107,.35);box-shadow:var(--glow)}
.kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(231,196,107,.12),transparent 70%);pointer-events:none}
.result.hl{background:linear-gradient(145deg,rgba(231,196,107,.2),rgba(77,225,210,.06)),var(--surface);border-color:rgba(231,196,107,.4);box-shadow:var(--glow);color:var(--text)}
.result b{color:var(--text)}
.executive-summary-card{background:linear-gradient(145deg,rgba(231,196,107,.14),rgba(255,255,255,.02)),var(--surface);border:1px solid var(--line)}

/* Hero y secciones públicas */
.hero-dark{background:radial-gradient(900px 480px at 85% -10%,rgba(231,196,107,.24),transparent 60%),radial-gradient(700px 420px at 0% 110%,rgba(77,225,210,.1),transparent 60%),transparent}
.hero-dark h1 em{background:linear-gradient(100deg,#f3dc9d,#e7c46b 45%,#4de1d2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-dark::after{content:"";position:absolute;left:8%;bottom:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(77,225,210,.13),transparent 68%);filter:blur(10px);pointer-events:none}
.page-hero{background:radial-gradient(700px 300px at 90% -20%,rgba(231,196,107,.2),transparent 60%),radial-gradient(500px 260px at 0% 120%,rgba(77,225,210,.08),transparent 60%),transparent;border-bottom:1px solid var(--line)}
.section-light{background:transparent}.section-soft{background:rgba(255,255,255,.02)}
.section-dark{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.section-head p{color:var(--text-2)}
.phone-mock{box-shadow:0 40px 90px rgba(0,0,0,.65),0 0 0 1px rgba(231,196,107,.35),0 0 80px rgba(231,196,107,.15)}
.pm-card{background:linear-gradient(160deg,#141826,#0d1019)}
.step{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border-color:var(--line)}
.cta-band{background:radial-gradient(700px 300px at 90% 0%,rgba(231,196,107,.25),transparent 60%),radial-gradient(500px 240px at 0% 100%,rgba(77,225,210,.1),transparent 60%),var(--surface);box-shadow:var(--glow)}
.pricing-card.featured{background:linear-gradient(165deg,rgba(231,196,107,.18),rgba(255,255,255,.02)),var(--surface);border-color:rgba(231,196,107,.55);box-shadow:var(--glow)}
.pricing-card .pricing-price small{color:var(--muted)}
.popular-badge{color:#1a1204}
.pcard .pimg{background:linear-gradient(160deg,#f7f3ea,#e8e1cf)}
.pcard .pprice{color:var(--gold)}
.pcard.shop-card .pimg{background:#10131c}
.footer-brand p{color:var(--text-2)}
.site-footer{background:rgba(5,6,11,.9);border-top:1px solid var(--line)}
.site-header{background:rgba(6,7,12,.78);border-bottom:1px solid rgba(231,196,107,.2);backdrop-filter:saturate(1.6) blur(18px)}
.auth-side{background:radial-gradient(700px 420px at 20% 0%,rgba(231,196,107,.25),transparent 60%),radial-gradient(500px 360px at 100% 100%,rgba(77,225,210,.1),transparent 60%),#07080e}
.auth-form{background:transparent}
.auth-card{box-shadow:var(--sh-2),var(--glow)}
.login-wrap{background:radial-gradient(700px 360px at 80% 0%,rgba(231,196,107,.2),transparent 60%),transparent}
.faq summary{color:var(--text)}

/* App: barra lateral y cabeceras */
.app-side{background:linear-gradient(180deg,#07080e,#05060b);border-right:1px solid var(--line)}
.side-link.active{background:linear-gradient(90deg,rgba(231,196,107,.18),rgba(231,196,107,.04));color:var(--gold);box-shadow:inset 2px 0 0 var(--gold)}
.side-user{background:rgba(255,255,255,.04);border-color:var(--line)}
.app-hero{background:radial-gradient(600px 260px at 100% 0%,rgba(231,196,107,.26),transparent 60%),radial-gradient(420px 220px at 0% 100%,rgba(77,225,210,.1),transparent 60%),linear-gradient(160deg,#0b0d15,#10121c);border-color:rgba(231,196,107,.28);box-shadow:var(--sh-2),0 0 60px rgba(231,196,107,.07)}
.app-hero::after{content:"";position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;background:url('/assets/img/logo.png') center/contain no-repeat;opacity:.06;filter:grayscale(1) brightness(3)}
.app-tabbar,.app-top{background:rgba(6,7,12,.9)}
.sheet{background:#0e111a;border-top:1px solid var(--line)}.sheet-link{background:var(--surface-2);border-color:var(--line);color:var(--text)}
.page-title p{color:var(--muted)}

/* Formularios clínicos / rutinas */
.fold{background:var(--surface)}
.fold input{background:var(--surface-2);color:var(--text)}
.ex{background:var(--surface-2)}
.cx-meta span{background:var(--surface-2);border-color:var(--line);color:var(--text-2)}
.cx-meta span b{color:var(--gold)}
.plan-viewer{background:var(--surface-2);color:var(--text-2)}
.plan-stat-chip strong{color:var(--gold)}
.photo figcaption{color:var(--muted)}
.slot-btn{background:var(--surface-2);color:var(--text);border-color:var(--line)}
.slot-btn.is-active{background:var(--gold-grad);color:#1a1204}
.slot-btn.is-disabled{background:#0b0d15;color:#4b5470}
.phone-preview{background:var(--surface);border-color:#1f2433}

/* Chat */
.chat-list{background:rgba(255,255,255,.02);border-right-color:var(--line)}
.chat-head,.chat-form{background:rgba(255,255,255,.02);border-color:var(--line)}
.chat-msgs{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.thread{border-bottom-color:var(--line-2);color:var(--text)}
.thread:hover,.thread.on{background:rgba(231,196,107,.08)}
.thread.on{box-shadow:inset 3px 0 0 var(--gold)}
.bub.you{background:var(--surface-2);border-color:var(--line);color:var(--text)}
.bub.me{background:var(--gold-grad);color:#1a1204}
.bub.me small{opacity:.7}
.pill{background:var(--gold-grad);color:#1a1204}
.chat-form textarea{background:var(--surface-2)}

/* Calendario */
.fc{--fc-page-bg-color:transparent;--fc-neutral-bg-color:#10131c;--fc-border-color:#242a3d;--fc-today-bg-color:rgba(231,196,107,.1);--fc-list-event-hover-bg-color:#141824;--fc-neutral-text-color:#8892a8}
.fc .fc-button{background:rgba(255,255,255,.07)!important;border-color:var(--line)!important;color:var(--text)!important}
.fc .fc-button-active,.fc .fc-button:hover{background:var(--gold-grad)!important;color:#1a1204!important}
.fc .fc-daygrid-event{background:linear-gradient(135deg,rgba(231,196,107,.3),rgba(77,225,210,.15));border-color:rgba(231,196,107,.4);color:#fff}
.fc-theme-standard td,.fc-theme-standard th,.fc-theme-standard .fc-scrollgrid{border-color:#242a3d}
.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number,.fc .fc-toolbar-title{color:var(--text)}

/* Tienda heredada */
.cart-total{background:var(--surface-2)!important;color:var(--text)!important;border-top-color:var(--gold)!important}
.cart-line{border-bottom-color:var(--line-2)}.cart-line img{background:var(--surface-2)}
.shop-card-body p{color:var(--muted)}
.cart-services-banner,.store-services-cta,.store-service-bridge{background:radial-gradient(500px 220px at 100% 0%,rgba(231,196,107,.2),transparent 60%),var(--surface);border:1px solid var(--line)}

/* Documentos heredados con tarjeta clara (plan imprimible): texto oscuro legible */
.plan-doc-card,.plan-doc-card *,.plan-doc-page .plan-task-card,.plan-doc-page .plan-mini-stats div{color:#1c1c22}
.plan-doc-card h2,.plan-doc-card h3{color:#111}
.plan-doc-page{background:transparent}
.plan-doc-page .plan-doc-hero,.plan-doc-page .plan-doc-hero *{color:#fff}

/* Animaciones sutiles */
@keyframes floatGlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.phone-mock{animation:floatGlow 7s ease-in-out infinite}
.btn-primary,.btn-secondary,.card,.pcard,.feature,.person{transition:transform .2s ease,box-shadow .25s ease,border-color .2s,background .2s}
.feature:hover,.pcard:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Impresión: vuelve a claro (reportes y planes) */
@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#f6f4ee;--line:#ddd;--line-2:#eee;--text:#111;--text-2:#333;--muted:#666;--gold-ink:#7a5a17;--sh-1:none;--sh-2:none}
  body,body.app,body.site{background:#fff!important;color:#111}body::before{display:none}
  .card,.panel,.soft,.result{background:#fff!important;border-color:#ddd!important;box-shadow:none!important;color:#111}
  .result.hl{background:#f6f0dc!important;color:#111}th{background:#f3f3f3;color:#444}
  .result.hl small,.result small{color:#555}
}
/* generado automáticamente: fondos claros -> superficies del tema oscuro */
.btn-secondary{background:var(--surface)}
.btn-secondary:hover{background:var(--surface)}
input,select,textarea{background:var(--surface)}
input[readonly],input:disabled,select:disabled{background:var(--surface-2)}
.yn{background:var(--surface)}
.chips label{background:var(--surface)}
.badge-soft{background:var(--surface-2)}
.table-wrap,.table-shell{background:var(--surface)}
table{background:var(--surface)}
tbody tr:hover td{background:var(--surface)}
.feature{background:var(--surface)}
.faq details{background:var(--surface)}
.pcard{background:var(--surface)}
.catpills a{background:var(--surface)}
.pricing-card{background:var(--surface)}
.plan-notes-grid article{background:var(--surface)}
.auth-card{background:var(--surface)}
.kpi,.kpi-card{background:var(--surface)}
.acc{background:var(--surface)}
.tabs{background:var(--surface)}
.chart-panel{background:var(--surface)}
.fold{background:var(--surface)}
.cmp td.cur,.cmp th.cur{background:var(--surface-2)}
.photo{background:var(--surface)}
.ex{background:var(--surface)}
.icon-btn{background:var(--surface)}
.cx{background:var(--surface)}
.person{background:var(--surface)}
.slot-btn{background:var(--surface)}
.slot-btn.is-disabled{background:var(--surface-2)}
.calendar-card{background:var(--surface)}
.catalog-admin-card{background:var(--surface)}
.timeline-metrics span{background:var(--surface)}
.progress-log-card{background:var(--surface)}
.shop-sidebar{background:var(--surface)}
.shop-card{background:var(--surface)}
.sheet{background:var(--surface)}
.acc>summary .dtitle:hover,.acc>summary .dtitle:focus{background:var(--surface)}
.phone-preview{background:var(--surface)}
.chat{background:var(--surface)}
.thread:hover,.thread.on{background:var(--surface)}
.bub.you{background:var(--surface)}
.chat-form{background:var(--surface)}

/* ===== Escáner corporal (silueta) ===== */
.scan-card{background:linear-gradient(180deg,rgba(77,225,210,.05),rgba(139,124,255,.03)),var(--surface);border-color:rgba(77,225,210,.25)}
.scan-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:start}
.scan-stage{position:relative;background:radial-gradient(420px 360px at 50% 40%,rgba(77,225,210,.08),transparent 70%),#080a11;border:1px solid var(--line);border-radius:var(--r);padding:8px;overflow:hidden}
.ms-body{width:100%;height:auto;display:block;max-height:640px}
.scan-slider{display:flex;gap:10px;align-items:center;padding:6px 8px 4px}
.scan-slider input[type=range]{flex:1;min-height:0;padding:0;accent-color:var(--gold);background:transparent;border:0}
.scan-slider .icon-btn:first-child{transform:rotate(180deg)}
.scan-date{font-variant-numeric:tabular-nums;min-width:86px;text-align:right;color:var(--gold)}
.scan-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.78rem;color:var(--text-2);padding:4px 10px 6px}
.scan-legend i,.comp-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.scan-h{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.scan-h small{text-transform:none;letter-spacing:0}
.scan-side{display:grid;gap:14px}
.scan-comp,.scan-bal{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.scan-bal:empty{display:none}
.comp-bar{display:flex;height:14px;border-radius:99px;overflow:hidden;gap:2px;background:var(--line)}.comp-bar i{display:block;height:100%}
.comp-legend{display:flex;gap:14px;font-size:.78rem;color:var(--text-2);margin-top:8px}
.bal-row{display:grid;grid-template-columns:90px 1fr 82px;gap:10px;align-items:center;margin-bottom:8px;font-size:.84rem}
.bal-l{color:var(--text-2)}.bal-d{text-align:right;color:var(--muted);font-size:.78rem}
.bal-bars{display:grid;gap:4px}
.bal-r{position:relative;height:16px;background:var(--line-2);border-radius:99px;overflow:hidden}
.bal-r i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#22a396,#4de1d2)}
.bal-r:last-child i{background:linear-gradient(90deg,#7c6df0,#a79bff)}
.bal-r b{position:absolute;right:8px;top:0;line-height:16px;font-size:.7rem;color:#fff;font-weight:700}
.scan-ctrl select{min-height:40px;border-radius:99px;padding:.4em 1em;font-size:.86rem}
@media (max-width:960px){.scan-grid{grid-template-columns:1fr}.bal-row{grid-template-columns:78px 1fr 70px}}
.val-scan{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}
.scan-sticky{position:sticky;top:12px}
@media (max-width:960px){.val-scan{grid-template-columns:1fr}.scan-sticky{position:static;order:-1}}
[data-mode="edit"] .scan-grid{grid-template-columns:1fr}[data-mode="edit"] .scan-comp .result-grid{grid-template-columns:repeat(3,1fr)}
.news-strip{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:16px;border-radius:var(--r);background:linear-gradient(90deg,rgba(77,225,210,.14),rgba(231,196,107,.08));border:1px solid rgba(77,225,210,.35);text-decoration:none;box-shadow:0 0 30px rgba(77,225,210,.08)}
.news-strip b{display:block}.news-strip small{display:block;color:var(--text-2)}.news-strip .go{margin-left:auto;color:var(--cyan)}
.news-dot{width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(77,225,210,.6);animation:pulse 1.8s infinite;flex:none}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(77,225,210,0)}100%{box-shadow:0 0 0 0 rgba(77,225,210,0)}}

/* ===== Asistente de preguntas frecuentes ===== */
.faq-widget{position:fixed;right:18px;bottom:92px;z-index:85;font-family:inherit}
.faq-fab{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px 0 14px;border-radius:99px;border:1px solid rgba(231,196,107,.5);background:linear-gradient(135deg,#171a27,#0d1019);color:var(--gold);font:inherit;font-weight:800;cursor:pointer;box-shadow:0 12px 36px rgba(0,0,0,.5),0 0 30px rgba(231,196,107,.18)}
.faq-fab:hover{border-color:var(--gold);box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 40px rgba(231,196,107,.32)}
.faq-fab.hint::after{content:"";position:absolute;inset:-4px;border-radius:99px;border:2px solid rgba(231,196,107,.6);animation:fab 1.6s ease-out 3}
@keyframes fab{from{transform:scale(1);opacity:1}to{transform:scale(1.25);opacity:0}}
.faq-widget.open .faq-fab{display:none}
.faq-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 130px));display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),#0d1019;border:1px solid rgba(231,196,107,.4);border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 60px rgba(231,196,107,.12);animation:slideUp .22s ease}
.faq-panel[hidden]{display:none}
.faq-panel header{display:flex;gap:12px;align-items:center;padding:14px 16px;background:radial-gradient(300px 120px at 100% 0,rgba(231,196,107,.25),transparent 70%),#0a0c14;border-bottom:1px solid var(--line)}
.faq-panel header img{border-radius:10px;box-shadow:0 0 0 1px rgba(231,196,107,.4)}
.faq-panel header b{display:block;color:#fff;font-size:.98rem}.faq-panel header small{color:var(--muted);display:flex;align-items:center;gap:6px;font-size:.74rem}
.faq-panel header small i{width:7px;height:7px;border-radius:50%;background:#3ddc8c;box-shadow:0 0 8px #3ddc8c}
.faq-x{margin-left:auto;background:rgba(255,255,255,.07);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.3rem;cursor:pointer;line-height:1}
.faq-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.fm{max-width:88%;padding:10px 13px;border-radius:16px;font-size:.9rem;line-height:1.5;word-wrap:break-word}
.fm.bot{align-self:flex-start;background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-bottom-left-radius:5px}
.fm.me{align-self:flex-end;background:var(--gold-grad);color:#1a1204;font-weight:600;border-bottom-right-radius:5px}
.fm b{color:#fff}.fm.me b{color:#1a1204}
.faq-link{display:inline-block;margin-top:8px;padding:.4em .9em;border-radius:99px;background:rgba(231,196,107,.14);border:1px solid rgba(231,196,107,.4);color:var(--gold);font-weight:700;text-decoration:none;font-size:.84rem}
.dots{display:inline-flex;gap:4px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:dot 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.faq-chips{display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px;flex-wrap:nowrap;scrollbar-width:none}
.faq-chips::-webkit-scrollbar{display:none}
.faq-chips button{flex:none;max-width:250px;white-space:normal;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text-2);border-radius:14px;padding:.45em .8em;font:inherit;font-size:.78rem;cursor:pointer}
.faq-chips button:hover{border-color:var(--gold);color:#fff}
.faq-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#0a0c14}
.faq-form input{border-radius:99px;min-height:42px}.faq-form button{width:42px;height:42px;border-radius:50%;border:0;background:var(--gold-grad);color:#1a1204;cursor:pointer;font-size:1rem;flex:none}
@media (max-width:720px){.faq-widget{right:14px;bottom:84px}.faq-panel{position:fixed;right:10px;left:10px;bottom:10px;width:auto;height:min(78vh,600px)}.faq-fab-t{display:none}.faq-fab{padding:0 14px}}

/* ===== Reportes · estilo Power BI ===== */
.bi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.bi-head h1{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:900;letter-spacing:-.04em;margin:0}.bi-head p{margin:4px 0 0;color:var(--muted)}
.bi-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bi-filters select{min-height:42px;border-radius:99px;width:auto}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:3px}
.seg label{margin:0}.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.5em 1em;border-radius:99px;font-weight:700;font-size:.84rem;color:var(--text-2);cursor:pointer}
.seg input:checked+span{background:var(--gold-grad);color:#1a1204}
.seg input:focus-visible+span{outline:3px solid rgba(231,196,107,.55)}
.bi-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.bi-kpi{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 10px;box-shadow:var(--sh-1);overflow:hidden}
.bi-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kc,var(--gold))}
.bi-kpi.a-gold{--kc:#e7c46b}.bi-kpi.a-cyan{--kc:#4de1d2}.bi-kpi.a-violet{--kc:#8b7cff}.bi-kpi.a-blue{--kc:#4d93f0}.bi-kpi.a-coral{--kc:#f0816a}.bi-kpi.a-green{--kc:#4fcf86}
.bi-kpi small{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bi-kpi b{display:block;font-size:1.85rem;font-weight:900;letter-spacing:-.04em;line-height:1.15;margin:2px 0;color:var(--text)}
.bi-kpi span{display:block;font-size:.8rem;color:var(--text-2)}.bi-kpi span b{display:inline;font-size:.8rem;color:var(--kc)}
.bi-kpi .spark{display:block;width:100%;height:34px!important;margin-top:6px}
.tiles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.tile{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-1);min-width:0}
.tile.flat{background:none;border:0;box-shadow:none;padding:0}
.tile header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.tile h3{font-size:.98rem;margin:0;font-weight:800}.tile header small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.tile-tbl{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text-2);border-radius:99px;font:inherit;font-size:.74rem;font-weight:700;padding:.35em .9em;cursor:pointer;white-space:nowrap}
.tile-tbl:hover{border-color:var(--gold);color:#fff}
.tile-body{position:relative;height:260px}.tile.tall .tile-body{height:340px}
.tile-body[hidden],.tile-table[hidden]{display:none}
.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
@media (max-width:1100px){.span-4{grid-column:span 6}.span-8{grid-column:span 12}}
@media (max-width:720px){.span-4,.span-6,.span-8{grid-column:span 12}.tile-body{height:230px}}
.heatmap{display:grid;gap:4px;overflow-x:auto;padding-bottom:6px}
.hm-row{display:grid;grid-template-columns:42px repeat(14,minmax(34px,1fr));gap:4px;align-items:center}
.hm-head span{font-size:.7rem;color:var(--muted);text-align:center}
.hm-day{font-size:.78rem;color:var(--text-2);font-weight:700}
.hm-cell{height:34px;border-radius:6px;display:grid;place-items:center;font-size:.76rem;font-weight:800;color:#fff}
@media print{.bi-filters,.tabs,.tile-tbl{display:none!important}.pane{display:block!important}.tile,.bi-kpi{background:#fff!important;border-color:#ddd!important;break-inside:avoid}.bi-kpi b,.tile h3{color:#111}}

/* Vista previa de correo */
.mail-prev{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#f6f2e9}
.mp-head{background:linear-gradient(135deg,#0b0b0b,#191919);padding:20px;text-align:center}.mp-head img{margin:0 auto 6px;display:block;border-radius:12px}.mp-head b{color:#d4b15a;font-size:1.1rem}
.mp-body{background:#fff;margin:14px;border-radius:14px;padding:22px;color:#3e3a33}.mp-body h3{color:#171717;margin:0 0 10px;font-size:1.3rem}.mp-body p{white-space:pre-line;color:#3e3a33}
.mp-btn{display:inline-block;background:linear-gradient(180deg,#dfc06f,#c59a3e);color:#111;padding:10px 18px;border-radius:99px;font-weight:700}
.mem-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mem-card small{display:block;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.mem-card b{display:block;margin-top:2px}@media(max-width:720px){.mem-card{grid-template-columns:1fr}}

/* ===== App del cliente: meta, check-in, logros, membresía, hábitos ===== */
.home-trio{margin-bottom:18px}
.goal-ring{position:relative;width:170px;height:170px;margin:4px auto 0}
.goal-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.gr-bg{fill:none;stroke:var(--line);stroke-width:10}
.gr-fg{fill:none;stroke:url(#none);stroke:#e7c46b;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(231,196,107,.6));transition:stroke-dashoffset 1s ease}
.gr-txt{position:absolute;inset:0;display:grid;place-items:center;align-content:center}.gr-txt b{font-size:2rem;font-weight:900;line-height:1}.gr-txt small{color:var(--muted)}
.streak{display:inline-flex;align-items:center;gap:4px;padding:.3em .8em;border-radius:99px;background:rgba(242,168,98,.14);color:#f4b36a;font-weight:800;font-size:.82rem}
.checkin-card{display:grid;gap:12px}
.ck-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stepper{display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:4px}
.stepper button{width:34px;height:34px;border-radius:10px;border:0;background:rgba(255,255,255,.07);color:#fff;font-size:1.1rem;cursor:pointer;flex:none}
.stepper button:hover{background:rgba(231,196,107,.2)}
.stepper input{border:0;background:transparent;text-align:center;font-weight:800;min-height:34px;padding:0;width:100%;min-width:0}
.stepper span{color:var(--muted);font-size:.8rem;padding-right:2px}
.ck-yn{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;font-size:.9rem}
.ck-mood{display:flex;justify-content:space-between}
.ck-mood input{position:absolute;opacity:0;pointer-events:none}
.ck-mood label{font-size:1.6rem;cursor:pointer;padding:4px 8px;border-radius:12px;filter:grayscale(1);opacity:.55;transition:.15s;margin:0}
.ck-mood input:checked+label{filter:none;opacity:1;background:rgba(231,196,107,.15);transform:scale(1.12)}
.ck-mood input:focus-visible+label{outline:3px solid rgba(231,196,107,.55)}
.badges-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ach{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:10px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);opacity:.45}
.ach.on{opacity:1;border-color:rgba(231,196,107,.45);background:linear-gradient(135deg,rgba(231,196,107,.14),rgba(77,225,210,.05)),var(--surface-2)}
.ach-i{grid-row:span 2;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:var(--muted)}
.ach.on .ach-i{background:var(--gold-grad);color:#1a1204;box-shadow:0 0 16px rgba(231,196,107,.35)}
.ach b{font-size:.82rem}.ach small{font-size:.7rem;color:var(--muted);line-height:1.25}
.mem-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 18px;margin-bottom:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface)}
.mem-strip small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.mem-strip b{display:block}
.mem-strip .btn-primary{margin-left:auto}
.mem-strip.warn{border-color:rgba(242,200,98,.5);background:linear-gradient(90deg,rgba(242,200,98,.12),transparent),var(--surface)}
.habit-strip{display:grid;gap:5px;overflow-x:auto}
.hs-row{display:grid;grid-template-columns:110px repeat(14,minmax(22px,1fr));gap:5px;align-items:center}
.hs-head span{font-size:.7rem;color:var(--muted);text-align:center}
.hs-l{font-size:.8rem;color:var(--text-2);font-weight:600}
.hs-c{height:22px;border-radius:6px}
@media (max-width:720px){.badges-grid{grid-template-columns:1fr}.hs-row{grid-template-columns:86px repeat(14,minmax(16px,1fr))}.mem-strip .btn-primary{margin-left:0}}

/* Calorías */
.cal-ctrl{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.cal-ctrl .chips label{font-size:.8rem;padding:.42em .9em}
.cal-ctrl-r{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cal-ctrl-r select{width:auto;min-height:40px;border-radius:99px;font-size:.86rem}
.food-card{padding:16px;display:flex;flex-direction:column}
.food-card .pcat{font-size:.7rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}
.food-card h3{font-size:1rem;margin:2px 0 8px}
.food-kcal b{font-size:1.7rem;font-weight:900;letter-spacing:-.03em}.food-kcal small{color:var(--muted);margin-left:6px}
.macro-mini{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--text-2);margin-top:4px}
.macro-mini i,.dotk{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.mp{background:#22a396}.mc{background:#b78c24}.mf{background:#7c6df0}
.food-card .input-row{margin-top:auto}
.meal-group{display:grid;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.goal-row{display:grid;grid-template-columns:110px 1fr 120px;gap:10px;align-items:center;font-size:.84rem;margin-top:8px}.goal-row b{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:720px){.goal-row{grid-template-columns:90px 1fr;}.goal-row b{grid-column:2;text-align:left}}

/* ===== Inicio: superación, vitrina de la app, recorrido, patrocinadores ===== */
.motiv{display:flex;align-items:center;gap:12px;margin:18px 0 0;font-size:1.05rem;font-weight:700;color:var(--gold-3);min-height:1.6em}
.motiv-bar{width:34px;height:2px;background:var(--gold-grad);flex:none}
[data-rotate]{transition:opacity .45s ease,transform .45s ease}
[data-rotate].out{opacity:0;transform:translateY(6px)}
.superacion{position:relative;overflow:hidden}
.superacion::before{content:"";position:absolute;inset:auto -10% -40% auto;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(231,196,107,.12),transparent 65%);pointer-events:none}
.sup-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.sup-quote blockquote{margin:0 0 12px;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:900;letter-spacing:-.035em;line-height:1.15;background:linear-gradient(100deg,#fff,#f3dc9d 60%,#4de1d2);-webkit-background-clip:text;background-clip:text;color:transparent;min-height:3.5em}
.sup-quote .btn-primary{margin-top:10px}
.sup-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sup-card{padding:20px;border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),var(--surface);border:1px solid var(--line);transition:transform .2s,border-color .2s}
.sup-card:hover{transform:translateY(-4px);border-color:rgba(231,196,107,.45)}
.sup-card span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gold-grad);color:#1a1204;margin-bottom:12px;box-shadow:0 0 22px rgba(231,196,107,.3)}
.sup-card b{display:block;font-size:1.02rem;margin-bottom:4px}.sup-card p{margin:0;color:var(--text-2);font-size:.9rem}
.app-show{background:linear-gradient(180deg,transparent,rgba(77,225,210,.04),transparent)}
.phones{display:flex;justify-content:center;align-items:flex-end;gap:26px;flex-wrap:wrap}
.phone-shot{margin:0;width:240px;text-align:center}
.phone-shot img{width:100%;border-radius:34px;border:8px solid #1b1d26;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(231,196,107,.3);background:#0a0b10}
.phone-shot.big{width:280px}.phone-shot.big img{box-shadow:0 40px 100px rgba(0,0,0,.65),0 0 0 1px rgba(77,225,210,.45),0 0 70px rgba(77,225,210,.15)}
.phone-shot figcaption{margin-top:14px;color:var(--text-2);font-weight:700;font-size:.9rem}
.jr{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.jr::before{content:"";position:absolute;left:4%;right:4%;top:22px;height:2px;background:linear-gradient(90deg,var(--gold),var(--cyan));opacity:.5}
.jr-step{position:relative;padding:54px 20px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.jr-step::before{content:"";position:absolute;top:14px;left:20px;width:16px;height:16px;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 0 6px rgba(231,196,107,.15)}
.jr-step b{position:absolute;top:12px;left:46px;color:var(--gold);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.jr-step h3{font-size:1.05rem;margin:0 0 6px}.jr-step p{margin:0;color:var(--text-2);font-size:.9rem}
.sponsor-grid2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sponsor-tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);text-decoration:none;aspect-ratio:16/9;background:#0e111a;transition:transform .2s,border-color .2s}
.sponsor-tile:hover{transform:translateY(-4px);border-color:rgba(231,196,107,.5)}
.sponsor-tile img{width:100%;height:100%;object-fit:cover}
.sponsor-tile span{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;font-size:.78rem;font-weight:700;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
@media (max-width:1080px){.sup-grid{grid-template-columns:1fr}.jr{grid-template-columns:1fr 1fr}.jr::before{display:none}.sponsor-grid2{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.sup-cards{grid-template-columns:1fr}.jr{grid-template-columns:1fr}.phone-shot{width:200px}.phone-shot.big{width:230px}.phones{gap:14px}}
.section-light .btn-secondary,.section-light-soft .btn-secondary,.login-card .btn-secondary,.panel .btn-secondary,.card .btn-secondary,.feature-card .btn-secondary{background:rgba(255,255,255,.04);color:var(--text);border-color:rgba(255,255,255,.14)}
@media (max-width:960px){.home-trio{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.home-trio{grid-template-columns:1fr!important}}
