/* styles.css
 * Generado por tests/extract-css.js a partir de los <style> inline.
 * + DESIGN SYSTEM v2 (light/warm/premium) en cabecera.
 */

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — light · warm · premium
   Migración dark navy → warm off-white. Las variables v2 + el mapeo a los
   nombres antiguos viven aquí ARRIBA, así sobreescriben los `:root` viejos
   que están más abajo en el archivo (cascada CSS: gana el último).
   Ver DESIGN_SYSTEM.md para la guía completa.
   ════════════════════════════════════════════════════════════════════════ */
:root{
  /* ── Surface ─── */
  --bg:           #fbfaf5;
  --bg-elevated:  #ffffff;
  --bg-subtle:    #f3f1ea;
  --bg-inverse:   #0c1426;

  /* ── Ink ─── */
  --ink:          #0c1426;
  --ink-2:        #4a5468;
  --ink-3:        #8892a4;
  --ink-inverse:  #fbfaf5;

  /* ── Accents ─── */
  --gold-pale:    #fbf3dc;

  /* ── Semánticos ─── */
  --good:         #1f8f5b;
  --good-soft:    #e6f5ec;
  --warn:         #c97a1c;
  --warn-soft:    #fdf2e3;
  --bad:          #c43a3a;
  --bad-soft:     #fbe9e9;
  --info:         #2a6dc7;
  --info-soft:    #e8f0fb;

  /* ── Borders / shadows ─── */
  --border-strong:#cfc9b7;
  --shadow-sm:    0 1px 2px rgba(12,20,38,.05);
  --shadow:       0 4px 12px rgba(12,20,38,.06), 0 1px 3px rgba(12,20,38,.04);
  --shadow-lg:    0 14px 40px rgba(12,20,38,.10), 0 4px 12px rgba(12,20,38,.05);
  --shadow-inset: inset 0 0 0 1px rgba(12,20,38,.05);

  /* ── Fonts (sin cambio) ─── */
  --font-display: 'Playfair Display', 'Libre Baskerville', Georgia, serif;
  --font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'DM Mono', 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

  /* ── Spacing ─── */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 16px; --sp-5: 24px; --sp-6: 32px;
  --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;

  /* ── Radius ─── */
  --r-sm: 6px;  --r: 10px;  --r-lg: 14px;
  --r-xl: 20px; --r-pill: 999px;

  /* ── Motion ─── */
  --ease:     cubic-bezier(.2,.7,.3,1.05);
  --ease-out: cubic-bezier(.2,.6,.3,1);
  --t-fast:   .14s;
  --t:        .22s;
  --t-slow:   .35s;
}

/* El mapeo de tokens antiguos → paleta v2 se aplica al FINAL del archivo
   (orden de cascada CSS: gana el último :root para la misma variable). */

/* ─── A partir de aquí, CSS original heredado del index.html dark ─── */

/* ─── bloque #1 (era line 81 del index.html) ─── */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#060d1a;--navy2:#0d1a2e;--navy3:#132238;--navy4:#1a2f4a;
  --gold:#d4a843;--gold-l:#f0d898;--gold-dim:rgba(212,168,67,.14);

  --txt:#f0ede6;
  --txt2:#c8d0de;
  --muted:#92a0b8;
  --border:rgba(212,168,67,.22);
  --border2:rgba(255,255,255,.10);  
  --green:#27d464;--green-dim:rgba(39,212,100,.14);
  --red:#f0453a;--red-dim:rgba(240,69,58,.14);
  --amber:#f5a623;--amber-dim:rgba(245,166,35,.14);
  --blue:#4ba3e3;--blue-dim:rgba(75,163,227,.14);
  --purple:#a866cc;
  --radius:10px;--shadow:0 4px 28px rgba(0,0,0,.38);
}
body{background:var(--navy);color:var(--txt);font-family:'DM Sans',sans-serif;min-height:100vh;overflow-x:hidden;}

.hdr{
  background:#0b1629;
  border-right:1px solid rgba(255,255,255,.07);
  padding:0;display:flex;flex-direction:column;align-items:stretch;
  width:240px;min-width:240px;flex-shrink:0;
  position:sticky;top:0;height:100vh;z-index:100;
  overflow-y:auto;overflow-x:hidden;
  transition:width .22s cubic-bezier(.4,0,.2,1);
}

.brand{
  display:flex;align-items:center;gap:11px;flex-shrink:0;
  padding:20px 16px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.brand-mark{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(135deg,#d4a843 0%,#9a6f1e 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:'Libre Baskerville',serif;font-size:13px;font-weight:700;
  color:#000;box-shadow:0 0 0 1px rgba(212,168,67,.3),0 4px 12px rgba(0,0,0,.4);
}
.brand-text{overflow:hidden;flex:1;min-width:0;}
.brand-text .t1{
  font-family:'Libre Baskerville',serif;font-size:12.5px;font-weight:700;
  color:#f0ede6;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.brand-text .t2{
  font-size:7px;color:#d4a843;letter-spacing:.2em;
  text-transform:uppercase;opacity:.7;white-space:nowrap;margin-top:1px;display:block;
}
.hdr-divider{display:none;}

.sidebar-toggle{
  width:20px;height:20px;border-radius:4px;
  border:1px solid rgba(255,255,255,.1);
  background:transparent;cursor:pointer;color:rgba(255,255,255,.3);
  font-size:10px;transition:all .15s;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin-left:auto;
}
.sidebar-toggle:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.7);}

.nav-section-label{
  font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.22);padding:18px 18px 4px;
  white-space:nowrap;overflow:hidden;
}

.nav{display:flex;flex-direction:column;flex:1;padding:4px 0 0;}
.nav-tabs{display:flex;flex-direction:column;gap:1px;padding:0 10px;}
.nav-sep{height:1px;background:rgba(255,255,255,.06);margin:10px 14px;}

.tbtn{
  padding:7px 10px;border-radius:6px;
  border:1px solid transparent;background:transparent;
  color:rgba(255,255,255,.42);font-size:12.5px;font-weight:500;
  cursor:pointer;transition:all .12s;font-family:'DM Sans',sans-serif;
  white-space:nowrap;display:flex;align-items:center;gap:9px;
  flex-shrink:0;width:100%;text-align:left;min-width:0;
  letter-spacing:-.01em;
}
.tbtn-text{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.tbtn .nb{font-size:8px;background:rgba(255,255,255,.08);border-radius:3px;padding:1px 5px;color:rgba(255,255,255,.3);margin-left:auto;flex-shrink:0;}
.tbtn:hover{color:rgba(255,255,255,.82);background:rgba(255,255,255,.05);}
.tbtn.active{
  background:rgba(212,168,67,.1);
  color:#d4a843;
  border-color:rgba(212,168,67,.18);
  font-weight:600;
}
.tbtn .tab-icon{
  font-size:13px;flex-shrink:0;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  opacity:.5;transition:opacity .12s;font-style:normal;
}
.tbtn:hover .tab-icon,.tbtn.active .tab-icon{opacity:1;}

.tbtn-addmonth{
  color:rgba(212,168,67,.9) !important;
  background:rgba(212,168,67,.06) !important;
  border-color:rgba(212,168,67,.15) !important;
  font-weight:600 !important;
}
.tbtn-addmonth:hover{background:rgba(212,168,67,.12) !important;border-color:rgba(212,168,67,.28) !important;}
.tbtn-addmonth .tab-icon{opacity:.9 !important;font-size:15px !important;font-weight:700;}

.tbtn-account{color:rgba(255,255,255,.6) !important;}
.tbtn-account-dot{
  width:7px;height:7px;border-radius:50%;
  background:#27d464;flex-shrink:0;display:inline-block;
  box-shadow:0 0 6px rgba(39,212,100,.4);
}

.tbtn-upgrade{color:#d4a843 !important;background:rgba(212,168,67,.08) !important;border:1px solid rgba(212,168,67,.18) !important;border-radius:8px !important;margin:0 4px !important;}
.tbtn-upgrade:hover{background:rgba(167,139,250,.12) !important;}

.nav-utils{
  display:flex;flex-direction:column;gap:1px;
  padding:10px 10px 14px;
  border-top:1px solid rgba(255,255,255,.06);
  margin-top:auto;
}
.tbtn-data{color:rgba(255,255,255,.35);font-size:12.5px;}
.tbtn-data:hover{color:rgba(255,255,255,.7);}

.nav-bottom-row{display:flex;gap:5px;padding:4px 0 0;}
.nav-lang-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:6px;padding:6px 8px;font-size:.68rem;font-weight:700;
  color:rgba(255,255,255,.38);cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all .12s;white-space:nowrap;overflow:hidden;
}
.nav-lang-btn:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.75);}
.dash-back-btn{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:6px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.38);cursor:pointer;transition:all .12s;
}
.dash-back-btn:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.75);}
.hdr-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}

#dashboard-wrap{display:none;}
.dash-shell{display:flex;min-height:100vh;align-items:stretch;}
.dash-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.dash-main-inner{
  flex:1;overflow-y:auto;background:var(--navy-deep,#0a1628);
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:44px 44px;background-attachment:local;
}

.hdr.collapsed{width:60px;min-width:60px;}
.hdr.collapsed .brand-text{display:none;}
.hdr.collapsed .nav-section-label{display:none;}
.hdr.collapsed .brand{padding:16px 13px;justify-content:center;gap:0;}
.hdr.collapsed .sidebar-toggle{position:absolute;right:8px;top:16px;margin:0;}
.hdr.collapsed .tbtn{padding:9px;justify-content:center;gap:0;}
.hdr.collapsed .tbtn-text{display:none;}
.hdr.collapsed .tbtn .nb{display:none;}
.hdr.collapsed .tbtn .tab-icon{width:22px;height:22px;font-size:15px;}
.hdr.collapsed .nav-tabs,.hdr.collapsed .nav-utils{padding:0 8px;}
.hdr.collapsed .nav-lang-btn span:not(:first-child){display:none;}
.hdr.collapsed .nav-lang-btn{padding:7px;justify-content:center;}
.hdr.collapsed .nav-bottom-row{flex-direction:column;align-items:center;gap:4px;}
.hdr.collapsed .dash-back-btn{width:36px;}
.hdr.collapsed .nav-sep{margin:6px 8px;}

.cbar{
  background:rgba(11,22,41,.85);border-bottom:1px solid rgba(255,255,255,.06);
  padding:9px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  position:sticky;top:0;z-index:50;
}
.cbar-pill{display:flex;align-items:center;gap:7px;}
.cbar-dot{width:6px;height:6px;border-radius:50%;background:#27d464;box-shadow:0 0 8px rgba(39,212,100,.5);}
.cbar-name{font-size:12px;font-weight:700;color:#d4a843;letter-spacing:-.01em;}
.cbar-period{font-size:11px;color:rgba(255,255,255,.4);}
.uplbl{
  display:flex;align-items:center;gap:6px;cursor:pointer;padding:5px 12px;
  border:1px solid rgba(201,168,76,.25);border-radius:6px;transition:all .15s;
}
.uplbl:hover{background:rgba(212,168,67,.08);border-color:rgba(201,168,76,.5);}
.uplbl span{font-size:11px;color:#d4a843;font-weight:600;}
.btn-ghost{
  background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;
  padding:5px 12px;color:rgba(255,255,255,.45);font-size:11px;cursor:pointer;
  transition:all .15s;font-family:'DM Sans',sans-serif;
}
.btn-ghost:hover{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.25);}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes ledPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(196,160,60,.5)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(196,160,60,0)}}
@keyframes scoreIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
.page.active{animation:fadeUp .38s cubic-bezier(.22,.68,0,1.2) both;}

.cbar{
  background:rgba(10,22,40,.9);border-bottom:1px solid rgba(255,255,255,.07);
  padding:9px 28px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  position:sticky;top:0;z-index:50;
}
.cbar-pill{display:flex;align-items:center;gap:7px;}
.cbar-dot{width:7px;height:7px;border-radius:50%;background:#27d464;animation:ledPulse 2.4s ease-in-out infinite;}
.cbar-name{font-family:'Playfair Display',Georgia,serif;font-size:13px;font-weight:700;color:#d4a843;letter-spacing:-.01em;}
.cbar-period{font-size:11px;color:rgba(255,255,255,.35);font-family:'DM Mono',monospace;letter-spacing:.04em;}
.uplbl{display:flex;align-items:center;gap:6px;cursor:pointer;padding:5px 12px;border:1px solid rgba(212,168,67,.22);border-radius:6px;transition:all .2s;}
.uplbl:hover{background:rgba(212,168,67,.08);border-color:rgba(212,168,67,.45);}
.uplbl span{font-size:11px;color:#d4a843;font-weight:600;}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:5px 12px;color:rgba(255,255,255,.45);font-size:11px;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;}
.btn-ghost:hover{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.28);}

.ov-hero{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:28px;margin-bottom:24px;padding:32px 36px;
  background:rgba(255,255,255,.022);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;position:relative;overflow:hidden;
}
.ov-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 80% 100% at 0% 50%,black 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 80% 100% at 0% 50%,black 20%,transparent 70%);
}
.ov-hero::after{
  content:'';position:absolute;top:-80px;right:-60px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,168,67,.1) 0%,transparent 65%);pointer-events:none;
}
.ov-hero-left{flex:1;min-width:0;position:relative;z-index:1;}
.ov-company{
  display:inline-flex;align-items:center;gap:8px;
  padding:3px 11px 3px 6px;background:rgba(212,168,67,.1);border:1px solid rgba(212,168,67,.22);
  border-radius:100px;margin-bottom:16px;
}
.ov-company-dot{width:6px;height:6px;border-radius:50%;background:#d4a843;animation:ledPulse 2.4s ease-in-out infinite;}
.ov-company-text{font-family:'DM Mono',monospace;font-size:9px;font-weight:600;color:#d4a843;letter-spacing:.12em;text-transform:uppercase;}
.ov-title-main{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:700;color:#f0ede6;line-height:1.12;margin-bottom:8px;letter-spacing:-.025em;}
.ov-title-main strong{font-style:italic;color:#d4a843;font-weight:700;}
.ov-sub{font-size:11px;color:rgba(255,255,255,.32);margin-top:4px;font-family:'DM Mono',monospace;letter-spacing:.02em;}
.ov-hero-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.01em;}
.ov-hero-chip.urgent{background:rgba(231,76,60,.1);color:#f87171;border:1px solid rgba(231,76,60,.2);}
.ov-hero-chip.warn{background:rgba(245,166,35,.08);color:#fbbf24;border:1px solid rgba(245,166,35,.18);}
.ov-hero-chip.ok{background:rgba(46,204,113,.07);color:#34d399;border:1px solid rgba(46,204,113,.14);}

.ov-score-pill{
  display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;
  background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:20px 24px;min-width:210px;
  backdrop-filter:blur(12px);position:relative;z-index:1;
  animation:scoreIn .5s cubic-bezier(.22,.68,0,1.2) .15s both;
}
.ov-score-main{display:flex;align-items:center;gap:16px;width:100%;margin-bottom:16px;}
.ov-score-num{font-family:'Playfair Display',Georgia,serif;font-size:58px;font-weight:700;line-height:1;letter-spacing:-.04em;}
.ov-score-right{display:flex;flex-direction:column;gap:7px;}
.ov-score-lbl{font-family:'DM Mono',monospace;font-size:7.5px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.16em;font-weight:600;}
.ov-score-tag{font-size:10px;font-weight:700;padding:3px 11px;border-radius:20px;display:inline-block;letter-spacing:.04em;}
.ov-score-dims{width:100%;display:flex;flex-direction:column;gap:8px;}
.ov-dim-row{display:flex;align-items:center;gap:8px;}
.ov-dim-label{font-family:'DM Mono',monospace;font-size:7.5px;color:rgba(255,255,255,.28);width:64px;flex-shrink:0;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.ov-dim-bar-wrap{flex:1;background:rgba(255,255,255,.07);border-radius:3px;height:4px;overflow:hidden;}
.ov-dim-bar{height:100%;border-radius:3px;transition:width 1s cubic-bezier(.22,.68,0,1.2);}
.ov-dim-val{font-size:9px;font-weight:700;width:22px;text-align:right;flex-shrink:0;font-family:'DM Mono',monospace;}

.ov-kstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
@media(max-width:900px){.ov-kstrip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.ov-kstrip{grid-template-columns:1fr;}}
.ov-kcard{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:14px;padding:20px 22px 16px;position:relative;overflow:hidden;
  transition:border-color .2s,background .2s,transform .18s cubic-bezier(.22,.68,0,1.2),box-shadow .2s;
}
.ov-kcard:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.14);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.28);}
.ov-kcard-accent{position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0;opacity:.7;}
.ov-klabel{font-family:'DM Mono',monospace;font-size:8.5px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:12px;}
.ov-kcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.ov-kval{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:700;color:#f0ede6;line-height:1;letter-spacing:-.025em;}
.ov-sparkline{flex-shrink:0;opacity:.8;margin-top:4px;}
.ov-ksub{font-size:11px;margin-top:7px;font-weight:600;line-height:1.4;}
.ov-kyoy{font-size:10px;margin-top:3px;color:rgba(255,255,255,.3);font-weight:500;font-family:'DM Mono',monospace;letter-spacing:.02em;}
.ov-kbadge{display:inline-flex;align-items:center;gap:3px;margin-top:10px;background:rgba(255,255,255,.06);border-radius:4px;padding:3px 9px;font-size:8.5px;font-weight:700;letter-spacing:.04em;font-family:'DM Mono',monospace;}

.ov-charts-row{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:16px;}
@media(max-width:800px){.ov-charts-row{grid-template-columns:1fr;}}
.cc{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 22px;transition:border-color .2s;}
.cc:hover{border-color:rgba(255,255,255,.11);}
.ctitle{font-family:'DM Mono',monospace;font-size:8.5px;font-weight:600;color:rgba(255,255,255,.32);text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px;}

.ov-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
@media(max-width:800px){.ov-bottom-row{grid-template-columns:1fr;}}
.ov-signals{background:rgba(255,255,255,.022);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;}
.ov-signals-title{font-family:'DM Mono',monospace;font-size:8.5px;font-weight:600;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;}
.ov-signal{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:9px;border:1px solid transparent;}
.ov-signal.urgent{background:rgba(231,76,60,.06);border-color:rgba(231,76,60,.14);}
.ov-signal.warn{background:rgba(245,166,35,.05);border-color:rgba(245,166,35,.12);}
.ov-signal.ok{background:rgba(46,204,113,.05);border-color:rgba(46,204,113,.11);}
.ov-signal-icon{font-size:13px;flex-shrink:0;margin-top:2px;}
.ov-signal-label{font-size:12px;font-weight:700;color:#f0ede6;margin-bottom:2px;line-height:1.3;}
.ov-signal-detail{font-size:10.5px;color:rgba(255,255,255,.4);line-height:1.55;}
.ov-action-panel{background:rgba(255,255,255,.022);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 22px;}
.ov-action-panel-title{font-family:'DM Mono',monospace;font-size:8.5px;font-weight:600;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;}
.insight-box{background:rgba(212,168,67,.05);border:1px solid rgba(212,168,67,.18);border-radius:14px;padding:16px 20px;font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.6;}

.pg-header{margin-bottom:22px;}
.pg-title{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:700;color:#f0ede6;letter-spacing:-.02em;margin-bottom:4px;}
.pg-sub{font-size:11px;color:rgba(255,255,255,.35);font-family:'DM Mono',monospace;letter-spacing:.02em;}
.stitle{display:flex;align-items:center;gap:10px;margin-bottom:14px;margin-top:22px;}
.stitle-bar{width:3px;height:18px;background:linear-gradient(180deg,#d4a843,#a07828);border-radius:2px;flex-shrink:0;}
.stitle h3{font-family:'Playfair Display',Georgia,serif;font-size:16px;font-weight:700;color:#f0ede6;margin:0;letter-spacing:-.01em;}

.page{display:none;padding:28px 28px 48px;max-width:1320px;margin:0 auto;position:relative;}
.page.active{display:block;animation:fadeIn .2s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

.dash-back-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;padding:6px 8px;
  color:var(--muted);cursor:pointer;transition:all .15s;
}
.dash-back-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:var(--txt);}
.dash-back-btn svg{opacity:.7;}
.dash-back-btn:hover svg{opacity:1;}

.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58vh;text-align:center;gap:16px;}
.empty-icon{font-size:52px;opacity:.25;}
.dropz{
  border:2px dashed rgba(201,168,76,.35);border-radius:14px;padding:32px 56px;cursor:pointer;
  transition:all .2s;background:rgba(201,168,76,.03);
}
.dropz:hover,.dropz.drag{background:var(--gold-dim);border-color:var(--gold);}
.dropz h3{color:var(--gold);font-size:14px;margin-bottom:5px;font-family:'Libre Baskerville',serif;}
.dropz p{color:var(--muted);font-size:12px;}

.pg-header{margin-bottom:20px;}
.pg-title{font-family:'Libre Baskerville',serif;font-size:20px;color:var(--txt);line-height:1.2;}
.pg-sub{font-size:12px;color:var(--txt2);margin-top:4px;}

.stitle{display:flex;align-items:center;gap:9px;margin:22px 0 10px;}
.stitle-bar{width:3px;height:14px;background:var(--gold-l);border-radius:2px;flex-shrink:0;}
.stitle h3{font-size:11px;color:var(--gold-l);letter-spacing:.14em;text-transform:uppercase;font-weight:700;}

.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:6px;}
.kcard{
  background:linear-gradient(140deg,#1a2840,#1f3050);
  border:1px solid var(--border2);border-top:2px solid var(--gold);
  border-radius:var(--radius);padding:15px 16px;
  transition:border-color .2s,transform .15s;cursor:default;
}
.kcard:hover{border-top-color:var(--gold);transform:translateY(-1px);border-color:var(--border);}
.klabel{font-size:10px;color:var(--txt2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-weight:600;}
.kval{font-family:'Libre Baskerville',serif;font-size:22px;font-weight:700;color:var(--txt);line-height:1;}
.ksub{font-size:11px;margin-top:5px;font-weight:600;}

.cc{
  background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow);
}
.ctitle{font-size:10px;color:var(--txt2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-weight:700;}

.g2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-bottom:13px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;}
.g1-2{display:grid;grid-template-columns:1fr 2fr;gap:13px;margin-bottom:13px;}
@media(max-width:960px){.g2,.g3,.g4,.g1-2{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.g2,.g3,.g4,.g1-2{grid-template-columns:1fr;}}

.twrap{background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);overflow:hidden;margin-bottom:13px;}
.twrap-s{overflow-x:auto;}
table.dt{width:100%;border-collapse:collapse;font-size:12px;}
table.dt th{padding:9px 11px;text-align:right;color:var(--gold-l);font-size:10px;
  letter-spacing:.07em;text-transform:uppercase;font-weight:700;
  border-bottom:1px solid var(--border);background:#1a2b42;white-space:nowrap;}
table.dt th:first-child{text-align:left;}
table.dt td{padding:8px 11px;text-align:right;border-bottom:1px solid rgba(255,255,255,.07);color:var(--txt2);white-space:nowrap;}
table.dt td:first-child{text-align:left;color:var(--txt);}
table.dt tr:hover td{background:rgba(201,168,76,.03);}
table.dt tr.brow td{font-weight:700;color:var(--txt);border-top:1px solid var(--border);background:rgba(28,45,71,.6);}

#cnt-overview { max-width: 1200px; }
.ov-hero{
  background:linear-gradient(135deg,var(--navy3) 0%,var(--navy4) 100%);
  border:1px solid var(--border);border-radius:14px;
  padding:22px 28px;margin-bottom:16px;
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.ov-hero::before{
  content:'';position:absolute;right:-80px;top:-80px;
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 70%);
  pointer-events:none;
}
.ov-hero-left{ flex:1;min-width:0; }
.ov-company{font-size:12px;color:var(--txt2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;}
.ov-period{font-family:'Libre Baskerville',serif;font-size:24px;color:var(--txt);line-height:1.2;}
.ov-sub{font-size:12px;color:var(--txt2);margin-top:5px;}

.ov-score-pill{
  display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;
  background:rgba(255,255,255,.04);border:1px solid var(--border2);
  border-radius:14px;padding:16px 20px;min-width:200px;
}
.ov-score-main{display:flex;align-items:center;gap:14px;width:100%;}
.ov-score-num{
  font-family:'Libre Baskerville',serif;font-size:48px;font-weight:700;line-height:1;
}
.ov-score-right{display:flex;flex-direction:column;gap:4px;}
.ov-score-lbl{font-size:9px;color:var(--txt2);text-transform:uppercase;letter-spacing:.1em;}
.ov-score-tag{
  font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;display:inline-block;
}

.ov-score-dims{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:5px;}
.ov-dim-row{display:flex;align-items:center;gap:6px;}
.ov-dim-label{font-size:8.5px;color:var(--txt2);width:70px;flex-shrink:0;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.ov-dim-bar-wrap{flex:1;background:rgba(255,255,255,.06);border-radius:3px;height:5px;overflow:hidden;}
.ov-dim-bar{height:100%;border-radius:3px;transition:width .6s ease;}
.ov-dim-val{font-size:8.5px;font-weight:700;width:24px;text-align:right;flex-shrink:0;}

.ov-kstrip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:14px;
}
@media(max-width:900px){.ov-kstrip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.ov-kstrip{grid-template-columns:1fr;}}

.ov-bottom-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:14px;margin-bottom:14px;
}
@media(max-width:800px){.ov-bottom-row{grid-template-columns:1fr;}}
.ov-action-panel{
  background:var(--navy3);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px 20px;
}
.ov-action-panel-title{
  font-size:10px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;
}
.ov-kcard{
  background:var(--navy3);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 18px;position:relative;overflow:hidden;
}
.ov-kcard-accent{position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px 2px 0 0;}
.ov-klabel{font-size:10px;color:var(--txt2);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:6px;}
.ov-kcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.ov-kval{font-family:'Libre Baskerville',serif;font-size:26px;font-weight:700;color:var(--txt);line-height:1;}
.ov-sparkline{flex-shrink:0;opacity:.85;}
.ov-ksub{font-size:11px;margin-top:6px;font-weight:600;}
.ov-kyoy{font-size:9.5px;margin-top:3px;color:var(--txt2);font-weight:500;}
.ov-kbadge{
  display:inline-flex;align-items:center;gap:4px;margin-top:8px;
  background:rgba(255,255,255,.06);border-radius:4px;
  padding:2px 8px;font-size:9px;font-weight:700;
}

.ov-bottom{display:grid;grid-template-columns:1fr 340px;gap:14px;margin-bottom:16px;}
@media(max-width:900px){.ov-bottom{grid-template-columns:1fr;}}

.ov-signals{
  background:var(--navy3);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;display:flex;flex-direction:column;gap:10px;
}
.ov-signals-title{
  font-size:10px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;
}
.ov-signal{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;border-radius:8px;
}
.ov-signal.urgent  {background:rgba(231,76,60,.08);  border:1px solid rgba(231,76,60,.2);}
.ov-signal.warn    {background:rgba(245,166,35,.07);  border:1px solid rgba(245,166,35,.18);}
.ov-signal.ok      {background:rgba(46,204,113,.07);  border:1px solid rgba(46,204,113,.18);}
.ov-signal-icon    {font-size:14px;flex-shrink:0;line-height:1.4;}
.ov-signal-text    {}
.ov-signal-label   {font-size:11px;font-weight:700;color:var(--txt);line-height:1.3;}
.ov-signal-detail  {font-size:10px;color:var(--txt2);margin-top:2px;line-height:1.4;}

.ov-inner{max-width:760px;margin:0 auto;}

.ov-4grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
@media(max-width:700px){.ov-4grid{grid-template-columns:repeat(2,1fr);}}
.ov-ktrend{display:flex;align-items:center;gap:4px;margin-top:6px;}
.ov-ktrend-dot{width:5px;height:5px;border-radius:50%;}
.ov-ktrend-txt{font-size:10px;color:#8fa3bc;}

.insight-box{
  background:var(--gold-dim);border:1px solid rgba(201,168,76,.22);
  border-radius:var(--radius);padding:14px 16px;
  display:flex;gap:12px;align-items:flex-start;
}
.insight-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.insight-text{font-size:12px;color:var(--txt);line-height:1.6;}
.insight-text strong{color:var(--gold);}

.diag-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px;margin-bottom:20px;
}
.diag-card{
  background:var(--navy3);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;box-shadow:var(--shadow);transition:border-color .2s;
  display:flex;flex-direction:column;gap:0;
}
.diag-card:hover{border-color:rgba(255,255,255,.18);}
.diag-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;gap:8px;
}
.diag-header-left{display:flex;align-items:center;gap:8px;}
.diag-label{font-size:10px;color:var(--txt2);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.diag-badge{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.03em;white-space:nowrap;}
.diag-badge.green{background:var(--green-dim);color:var(--green);}
.diag-badge.amber{background:var(--amber-dim);color:var(--amber);}
.diag-badge.red{background:var(--red-dim);color:var(--red);}
.diag-badge.blue{background:var(--blue-dim);color:var(--blue);}
.diag-chart-wrap{height:75px;margin-bottom:14px;}
.diag-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin-bottom:12px;
}
.diag-metric{min-width:0;}
.diag-metric-label{font-size:9px;color:var(--txt2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.diag-metric-val{font-family:'Libre Baskerville',serif;font-size:15px;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.diag-interpretation{
  font-size:11.5px;color:var(--txt2);line-height:1.65;
  border-top:1px solid var(--border2);padding-top:10px;margin-top:auto;
}
.diag-score-row{display:flex;align-items:center;gap:8px;margin-top:8px;}
.diag-score-bar{flex:1;height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden;}
.diag-score-fill{height:100%;border-radius:2px;transition:width .6s;}

.diag-score-card{
  background:linear-gradient(135deg,var(--navy3) 0%,var(--navy4) 100%);
  border:1px solid var(--border);border-radius:14px;
  padding:24px 28px;margin-bottom:20px;
  display:grid;
  grid-template-columns:auto 1fr 1fr;
  gap:28px;align-items:center;
}
@media(max-width:700px){
  .diag-score-card{grid-template-columns:1fr;}
}
.diag-score-main{
  flex-shrink:0;text-align:center;
  padding-right:24px;
  border-right:1px solid var(--border2);
}
.diag-score-num{
  font-family:'Libre Baskerville',serif;font-size:72px;font-weight:700;line-height:1;
}
.diag-score-label{
  font-size:10px;color:var(--txt2);text-transform:uppercase;letter-spacing:.12em;margin-top:6px;
}
.diag-score-desc{}
.diag-score-title{font-family:'Libre Baskerville',serif;font-size:18px;color:var(--txt);margin-bottom:8px;line-height:1.3;}
.diag-score-text{font-size:12px;color:var(--txt2);line-height:1.7;}
.diag-dims{display:flex;flex-direction:column;gap:8px;}
.diag-dim-row{display:flex;align-items:center;gap:9px;}
.diag-dim-label{font-size:10px;color:var(--txt2);width:110px;flex-shrink:0;white-space:nowrap;}
.diag-dim-bar{flex:1;height:5px;background:rgba(255,255,255,.07);border-radius:3px;overflow:hidden;}
.diag-dim-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1);}
.diag-dim-val{font-size:10px;font-weight:700;width:28px;text-align:right;flex-shrink:0;}

.risk-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;flex-wrap:wrap;gap:8px;}
.risk-indicator{display:flex;align-items:center;gap:9px;}
.risk-pulse{width:10px;height:10px;border-radius:50%;position:relative;}
.risk-pulse::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:1px solid;opacity:.5;}
.risk-level-txt{font-size:12px;font-weight:700;}

.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px;margin-bottom:8px;}
.rcard{
  background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);
  padding:16px 16px 14px;position:relative;overflow:hidden;transition:border-color .2s;
}
.rcard:hover{border-color:var(--border);}
.rcard-stripe{position:absolute;left:0;top:0;bottom:0;width:3px;}
.rcat{font-size:9px;color:var(--txt2);letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:3px;}
.rlabel{font-size:12px;color:var(--txt);font-weight:600;margin-bottom:9px;line-height:1.3;}
.rval{font-family:'Libre Baskerville',serif;font-size:28px;font-weight:700;line-height:1;margin-bottom:4px;}
.rval.green{color:var(--green);}
.rval.amber{color:var(--amber);}
.rval.red{color:var(--red);}
.rval.blue{color:var(--blue);}
.rprev{font-size:10px;color:var(--txt2);margin-bottom:5px;}
.rformula{font-size:9px;color:rgba(148,165,195,.65);font-family:monospace;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rgauge{height:5px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden;margin-bottom:7px;}
.rgauge-fill{height:100%;border-radius:3px;transition:width .5s;}
.rbench{font-size:10px;color:rgba(160,175,200,.85);margin-bottom:5px;line-height:1.4;}
.rnote{font-size:11px;color:var(--txt2);line-height:1.5;border-top:1px solid rgba(201,168,76,.07);padding-top:7px;}

.health-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:18px;}
.hcard{background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:12px 15px;display:flex;align-items:center;gap:10px;}
.hcard-ico{font-size:20px;flex-shrink:0;}
.hcard-lbl{font-size:9px;color:var(--txt2);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:2px;}
.hcard-val{font-family:'Libre Baskerville',serif;font-size:15px;font-weight:700;}
.hcard-val.green{color:var(--green);}
.hcard-val.amber{color:var(--amber);}
.hcard-val.red{color:var(--red);}

.debt-viz{background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:16px;margin-bottom:14px;}
.debt-bar{display:flex;height:36px;border-radius:7px;overflow:hidden;gap:2px;margin:10px 0;}
.debt-seg{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;
  color:rgba(255,255,255,.88);transition:flex .4s;min-width:0;overflow:hidden;white-space:nowrap;}
.debt-legend{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:8px;}
.dl-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--txt2);}
.dl-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0;}

.scen-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-bottom:14px;}
@media(max-width:780px){.scen-grid{grid-template-columns:1fr;}}
.scen-card{border-radius:var(--radius);padding:18px;border:1px solid var(--border);}
.scen-card.base{background:linear-gradient(135deg,#0d2414,#142f18);border-color:rgba(46,204,113,.3);}
.scen-card.pes{background:linear-gradient(135deg,#230a0a,#311010);border-color:rgba(231,76,60,.3);}
.scen-card.opt{background:linear-gradient(135deg,#0b182d,#10233f);border-color:rgba(52,152,219,.3);}
.scen-lbl{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin-bottom:10px;}
.scen-lbl.base{color:var(--green);}
.scen-lbl.pes{color:var(--red);}
.scen-lbl.opt{color:var(--blue);}
.sm{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.sm:last-child{border-bottom:none;}
.sm-l{font-size:11px;color:var(--txt2);}
.sm-v{font-size:13px;font-weight:700;color:var(--txt);}

.val-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px;margin-bottom:14px;}
.vc{background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:16px;}
.vm{font-size:11px;font-weight:700;color:var(--txt);margin-bottom:9px;}
.vr{font-family:'Libre Baskerville',serif;font-size:18px;color:var(--gold);margin-bottom:5px;}
.vn{font-size:10px;color:var(--txt2);font-style:italic;}
.vbars{display:flex;flex-direction:column;gap:5px;margin-top:9px;}
.vbr{display:flex;align-items:center;gap:7px;}
.vbl{width:34px;font-size:10px;color:#8fa3bc;flex-shrink:0;}
.vbb{flex:1;height:13px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;}
.vbf{height:100%;border-radius:3px;}
.vbv{width:78px;text-align:right;font-size:11px;font-weight:700;color:var(--txt);}

.report-section{
  background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);
  padding:22px 24px;margin-bottom:14px;
}
.report-section-title{
  font-family:'Libre Baskerville',serif;font-size:14px;color:var(--gold);
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:9px;
}
.report-section-icon{font-size:16px;}
.report-content{font-size:12px;color:var(--txt);line-height:1.75;}
.report-content p{margin-bottom:10px;}
.report-content p:last-child{margin-bottom:0;}
.report-content strong{color:#edeae2;}
.action-item{
  display:flex;align-items:flex-start;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--border2);
}
.action-item:last-child{border-bottom:none;}
.action-num{
  width:24px;height:24px;border-radius:50%;background:var(--gold-dim);border:1px solid rgba(201,168,76,.3);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--gold);font-weight:700;flex-shrink:0;
}
.action-text{font-size:12px;color:var(--txt);line-height:1.6;}
.action-text strong{color:var(--txt);}
.action-tag{display:inline-block;padding:2px 8px;border-radius:3px;font-size:9px;font-weight:700;margin-left:7px;text-transform:uppercase;letter-spacing:.04em;}
.action-tag.urgent{background:var(--red-dim);color:var(--red);}
.action-tag.medium{background:var(--amber-dim);color:var(--amber);}
.action-tag.low{background:var(--blue-dim);color:var(--blue);}

.rpt-health-bar{
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.rpt-health-pill{
  display:flex;align-items:center;gap:7px;padding:8px 14px;
  border-radius:20px;font-size:11px;font-weight:700;
  border:1px solid;
}

.rpt-pattern-frame {
  font-family: 'Georgia', serif;
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--txt);
  margin-bottom: 20px;
  padding: 16px 20px;
  background: rgba(212,168,67,.06);
  border-left: 3px solid var(--gold);
  border-radius: 0 8px 8px 0;
}
.rpt-pattern-label {
  display: inline-block;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(212,168,67,.12);
  padding: 2px 8px;
  border-radius: 3px;
  margin-right: 10px;
  vertical-align: middle;
}

.rpt-trajectory-signal {
  font-family: 'Georgia', serif;
  font-size: 13px;
  line-height: 1.82;
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 6px;
  border-left: 3px solid;
}
.rpt-traj-danger  { border-color: #e74c3c; background: rgba(231,76,60,.06); color: var(--txt); }
.rpt-traj-warning { border-color: #e67e22; background: rgba(230,126,34,.06); color: var(--txt); }
.rpt-traj-good    { border-color: #27ae60; background: rgba(39,174,96,.06);  color: var(--txt); }

.rpt-inflection-narrative {
  font-family: 'Georgia', serif;
  font-size: 13px;
  line-height: 1.82;
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 6px;
  border-left: 3px solid #9b59b6;
  background: rgba(155,89,182,.05);
  color: var(--txt);
}
.rpt-health-pill.healthy{background:rgba(39,212,100,.08);border-color:rgba(39,212,100,.25);color:var(--green);}
.rpt-health-pill.moderate{background:rgba(245,166,35,.08);border-color:rgba(245,166,35,.25);color:var(--amber);}
.rpt-health-pill.critical{background:rgba(240,69,58,.08);border-color:rgba(240,69,58,.25);color:var(--red);}
.rpt-health-pill.neutral{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:var(--txt2);}

.rpt-insight-card{
  border-radius:10px;padding:16px 18px;margin-bottom:10px;
  border-left:3px solid;position:relative;overflow:hidden;
}
.rpt-insight-card::before{
  content:'';position:absolute;right:0;top:0;bottom:0;width:60px;
  pointer-events:none;
}
.rpt-insight-card.critical{
  background:rgba(240,69,58,.06);border-left-color:var(--red);
}
.rpt-insight-card.critical::before{background:linear-gradient(90deg,transparent,rgba(240,69,58,.04));}
.rpt-insight-card.warning{
  background:rgba(245,166,35,.06);border-left-color:var(--amber);
}
.rpt-insight-card.warning::before{background:linear-gradient(90deg,transparent,rgba(245,166,35,.04));}
.rpt-insight-card.positive{
  background:rgba(39,212,100,.05);border-left-color:var(--green);
}
.rpt-insight-card.positive::before{background:linear-gradient(90deg,transparent,rgba(39,212,100,.04));}
.rpt-insight-card.opportunity{
  background:rgba(75,163,227,.06);border-left-color:var(--blue);
}
.rpt-insight-card.opportunity::before{background:linear-gradient(90deg,transparent,rgba(75,163,227,.04));}

.rpt-insight-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;
}
.rpt-insight-title{
  font-family:'Libre Baskerville',serif;font-size:13px;font-weight:700;color:var(--txt);line-height:1.3;
}
.rpt-insight-badges{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap;}
.rpt-badge{
  padding:2px 8px;border-radius:12px;font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;
}
.rpt-badge.critical{background:var(--red-dim);color:var(--red);}
.rpt-badge.warning{background:var(--amber-dim);color:var(--amber);}
.rpt-badge.positive{background:var(--green-dim);color:var(--green);}
.rpt-badge.opportunity{background:var(--blue-dim);color:var(--blue);}
.rpt-badge.area{background:rgba(255,255,255,.07);color:var(--txt2);}
.rpt-badge.priority{background:rgba(168,102,204,.15);color:var(--purple);}
.rpt-badge.contradiction{background:rgba(231,76,60,.12);color:#f87171;font-weight:700;}

.rpt-insight-hallazgo{
  font-size:11px;color:var(--txt2);font-style:italic;
  padding:5px 0 8px;border-bottom:1px solid rgba(255,255,255,.06);
  margin-bottom:8px;line-height:1.55;
}
.rpt-insight-action{
  font-size:11.5px;font-weight:600;color:var(--gold);
  padding-top:8px;border-top:1px solid rgba(255,255,255,.06);
  margin-top:8px;line-height:1.5;
}
.rpt-insight-action span{color:var(--txt2);font-weight:400;margin-right:4px;}

.rpt-insight-body{font-size:12px;color:var(--txt2);line-height:1.7;margin-bottom:8px;}
.rpt-insight-impact{
  font-size:11px;font-weight:600;color:var(--txt);
  padding:7px 10px;background:rgba(255,255,255,.04);border-radius:6px;margin-bottom:7px;
}
.rpt-insight-impact span{color:var(--gold);}
.rpt-insight-action{
  font-size:11px;color:var(--txt);
  display:flex;align-items:flex-start;gap:7px;
  padding-top:8px;border-top:1px solid rgba(255,255,255,.06);
}
.rpt-insight-action-icon{
  flex-shrink:0;width:18px;height:18px;border-radius:50%;
  background:var(--gold-dim);border:1px solid rgba(201,168,76,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;color:var(--gold);font-weight:700;margin-top:1px;
}
.rpt-insight-evidence{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;
}
.rpt-evidence-tag{
  font-size:9px;color:var(--muted);background:rgba(255,255,255,.04);
  border-radius:4px;padding:2px 7px;border:1px solid rgba(255,255,255,.07);
  font-family:'DM Mono',monospace;
}

.rpt-pattern-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;
}
@media(max-width:700px){.rpt-pattern-grid{grid-template-columns:1fr;}}

.rpt-pattern-card{
  background:var(--navy3);border:1px solid var(--border);border-radius:10px;
  padding:14px 16px;
}
.rpt-pattern-label{
  font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:4px;
}
.rpt-pattern-val{
  font-family:'Libre Baskerville',serif;font-size:18px;font-weight:700;
}
.rpt-pattern-note{font-size:11px;color:var(--txt2);margin-top:3px;line-height:1.4;}

.rpt-action-row{
  display:flex;align-items:flex-start;gap:13px;padding:12px 0;
  border-bottom:1px solid var(--border2);
}
.rpt-action-row:last-child{border-bottom:none;}
.rpt-action-idx{
  flex-shrink:0;width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;margin-top:1px;
}
.rpt-action-idx.immediate{background:rgba(240,69,58,.12);color:var(--red);}
.rpt-action-idx.tactical{background:rgba(245,166,35,.12);color:var(--amber);}
.rpt-action-idx.strategic{background:rgba(75,163,227,.12);color:var(--blue);}
.rpt-action-body{flex:1;}
.rpt-action-title{font-size:12px;font-weight:700;color:var(--txt);margin-bottom:3px;line-height:1.4;}
.rpt-action-rationale{font-size:11px;color:var(--txt2);line-height:1.5;margin-bottom:5px;}
.rpt-action-meta{display:flex;gap:6px;flex-wrap:wrap;}
.rpt-action-tag{padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.04em;}
.rpt-action-tag.owner{background:rgba(201,168,76,.1);color:var(--gold);}
.rpt-action-tag.time{background:rgba(255,255,255,.06);color:var(--muted);}
.rpt-action-tag.impact{background:rgba(168,102,204,.12);color:var(--purple);}

.rpt-exec-text{
  font-family:'Libre Baskerville',serif;font-size:13.5px;color:var(--txt);
  line-height:1.85;
}
.rpt-exec-text p{margin-bottom:12px;}
.rpt-exec-text p:last-child{margin-bottom:0;}
.rpt-exec-text strong{color:var(--gold-l);}
.rpt-pattern-frame{
  font-family:'Libre Baskerville',serif;font-size:13.5px;color:var(--txt);
  line-height:1.85;border-left:3px solid var(--gold);padding-left:16px;
  margin-bottom:16px;
}
.rpt-pattern-label{
  display:inline-block;font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--gold);margin-bottom:6px;margin-right:0;
  padding:2px 8px 2px 0;
}

.rpt-bp-banner{
  background:rgba(255,255,255,.025);border-radius:8px;
  padding:16px 20px;margin-top:4px;
  border-left-width:4px;border-left-style:solid;
}
.rpt-bp-header{
  display:flex;align-items:baseline;gap:10px;margin-bottom:10px;
}
.rpt-bp-label{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:700;letter-spacing:.02em;
}
.rpt-bp-sublabel{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:11px;color:var(--txt2);
}
.rpt-bp-desc{
  font-family:'Libre Baskerville',serif;
  font-size:12.5px;color:var(--txt);line-height:1.75;margin-bottom:10px;
}
.rpt-bp-drivers{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;
}
.rpt-bp-drivers-label{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:10px;color:var(--txt2);font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;margin-right:2px;
}
.rpt-bp-driver-tag{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:10.5px;color:var(--txt2);
  background:rgba(255,255,255,.06);border-radius:4px;
  padding:2px 8px;
}
.rpt-bp-risk{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:11px;color:var(--txt2);line-height:1.5;
  border-top:1px solid rgba(255,255,255,.06);padding-top:8px;
}
.rpt-bp-risk-label{
  font-weight:700;color:var(--amber);margin-right:6px;
}

.rpt-score-row{
  display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.rpt-score-row:last-child{border-bottom:none;}
.rpt-score-label{font-size:11px;color:var(--txt2);width:130px;flex-shrink:0;}
.rpt-score-bar{flex:1;height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;}
.rpt-score-fill{height:100%;border-radius:3px;transition:width .7s cubic-bezier(.4,0,.2,1);}
.rpt-score-val{width:36px;text-align:right;font-size:11px;font-weight:700;flex-shrink:0;}

.rpt-conclusion{
  background:linear-gradient(135deg,var(--navy3),var(--navy4));
  border:1px solid var(--border);border-radius:12px;padding:20px 24px;
  position:relative;overflow:hidden;
}
.rpt-conclusion::before{
  content:'"';position:absolute;left:16px;top:6px;
  font-family:'Libre Baskerville',serif;font-size:72px;color:rgba(201,168,76,.1);
  line-height:1;pointer-events:none;
}
.rpt-conclusion-text{
  font-family:'Libre Baskerville',serif;font-size:14px;color:var(--txt);
  line-height:1.8;font-style:italic;position:relative;
}
.rpt-conclusion-sig{
  margin-top:14px;font-size:11px;color:var(--muted);
  text-align:right;font-style:normal;
}

.fsec{background:#18253d;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:16px;margin-bottom:10px;}
.fst{font-size:10px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  margin-bottom:12px;padding-bottom:7px;border-bottom:1px solid var(--border2);}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.ff{display:flex;flex-direction:column;gap:3px;}
.ff label{font-size:10px;color:var(--txt2);letter-spacing:.07em;text-transform:uppercase;font-weight:600;}
.ff input,.ff select,.ff textarea{
  background:var(--navy2);border:1px solid var(--border2);border-radius:6px;
  padding:7px 9px;color:var(--txt);font-size:12px;outline:none;
  transition:border-color .2s;font-family:'DM Sans',sans-serif;width:100%;
}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:rgba(201,168,76,.4);}
.btn-p{
  background:var(--gold);color:var(--navy);border:none;border-radius:7px;padding:9px 20px;
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:opacity .15s;font-family:'DM Sans',sans-serif;
}
.btn-p:hover{opacity:.88;}
.btn-s{
  background:transparent;color:var(--muted);border:1px solid var(--border2);border-radius:7px;
  padding:9px 14px;font-size:11px;cursor:pointer;transition:color .15s;font-family:'DM Sans',sans-serif;
}
.btn-s:hover{color:var(--txt);}
.bic{background:transparent;border:1px solid;border-radius:4px;padding:2px 7px;font-size:10px;cursor:pointer;font-family:'DM Sans',sans-serif;}
.bic.be{color:var(--gold);border-color:var(--gold);}
.bic.bd{color:var(--red);border-color:var(--red);margin-left:3px;}
.prev{background:rgba(201,168,76,.09);border:1px solid rgba(201,168,76,.28);border-radius:var(--radius);
  padding:12px 16px;display:flex;gap:20px;flex-wrap:wrap;margin-bottom:13px;}
.pil{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;}
.piv{font-family:'Libre Baskerville',serif;font-size:18px;}
#overlay{display:none;position:fixed;inset:0;background:rgba(4,8,16,.97);z-index:200;overflow-y:auto;padding:22px 14px;}
.ov-inner{max-width:760px;margin:0 auto;}

.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;}
.ok{background:var(--green-dim);color:var(--green);}
.warn{background:var(--amber-dim);color:var(--amber);}
.alrt{background:var(--red-dim);color:var(--red);}

.toast{position:fixed;bottom:18px;right:18px;background:var(--green);color:#fff;
  padding:9px 16px;border-radius:8px;font-size:12px;font-weight:700;z-index:300;display:none;
  box-shadow:0 4px 16px rgba(46,204,113,.3);}

.ktgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;}
.ktitem{display:flex;align-items:center;justify-content:space-between;background:#18253d;
  border:1px solid rgba(255,255,255,.11);border-radius:8px;padding:9px 12px;cursor:pointer;transition:border-color .18s;}
.ktitem.on{border-color:rgba(201,168,76,.3);background:var(--gold-dim);}
.kt-l{font-size:12px;color:var(--txt);}
.kt-c{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:1px;}
.tgsw{width:28px;height:15px;background:var(--navy);border-radius:8px;position:relative;border:1px solid var(--border2);transition:background .18s;flex-shrink:0;}
.tgsw::after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--muted);top:2px;left:2px;transition:all .18s;}
.ktitem.on .tgsw{background:var(--gold-dim);border-color:var(--gold);}
.ktitem.on .tgsw::after{background:var(--gold);left:14px;}

.cb-wrap{display:flex;flex-direction:column;gap:6px;}
.cb{display:flex;align-items:center;gap:8px;}
.cb-l{width:100px;font-size:11px;color:var(--muted);flex-shrink:0;}
.cb-bg{flex:1;height:17px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;}
.cb-fill{height:100%;border-radius:3px;display:flex;align-items:center;padding-left:6px;font-size:9px;font-weight:700;color:var(--navy);}
.cb-pct{width:40px;text-align:right;font-size:11px;font-weight:700;flex-shrink:0;}

.ecell{cursor:pointer;border-radius:3px;transition:background .15s;display:inline-block;min-width:18px;padding:1px 4px;}
.ecell:hover{background:var(--gold-dim);color:var(--txt);}
.einput{background:var(--navy);border:1px solid var(--gold);border-radius:4px;color:var(--txt);
  font-size:12px;padding:2px 5px;width:80px;outline:none;font-family:'DM Sans',sans-serif;text-align:right;}

.bal-guide{background:#111a2e;border:1px solid rgba(201,168,76,.25);border-radius:var(--radius);padding:14px 18px;max-width:480px;text-align:left;}
.bal-guide h4{color:var(--gold);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.bgl{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:#8fa3bc;padding:3px 0;border-bottom:1px solid rgba(201,168,76,.08);}
.bgl:last-child{border-bottom:none;}
.bgd{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px;}

.liq-interp{background:#1a2840;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:15px 18px;margin-top:6px;}
.liq-interp-title{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:8px;}
.liq-interp-text{font-size:12px;color:var(--txt);line-height:1.65;}

::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--navy4);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}

.tab-intro {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 16px;
  background: linear-gradient(135deg, rgba(10,15,28,.7) 0%, rgba(18,28,52,.7) 100%);
  border: 1px solid rgba(201,168,76,.15);
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.tab-intro::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 220px; height: 100%;
  background: radial-gradient(ellipse at top right, rgba(201,168,76,.07) 0%, transparent 70%);
  pointer-events: none;
}
.tab-intro-left { flex: 1; }
.tab-intro-title {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.tab-intro-title::before {
  content: '';
  display: inline-block;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--gold);
}
.tab-intro-headline {
  font-family: 'Libre Baskerville', serif;
  font-size: 1.15rem;
  color: var(--txt);
  line-height: 1.35;
  margin-bottom: 8px;
  font-weight: 400;
}
.tab-intro-headline strong { color: var(--gold); font-weight: 700; }
.tab-intro-headline .ti-green { color: var(--green); font-weight: 700; }
.tab-intro-headline .ti-red { color: var(--red); font-weight: 700; }
.tab-intro-headline .ti-amber { color: var(--amber); font-weight: 700; }
.tab-intro-body {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.6;
  max-width: 680px;
}
.tab-intro-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.tip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  padding: 4px 11px;
  font-size: .73rem;
  color: var(--muted);
  white-space: nowrap;
}
.tip-icon { font-size: .85rem; }
.tip.good  { border-color: rgba(46,204,113,.3);  color: var(--green); background: rgba(46,204,113,.07); }
.tip.warn  { border-color: rgba(231,76,60,.3);   color: var(--red);   background: rgba(231,76,60,.07); }
.tip.info  { border-color: rgba(52,152,219,.3);  color: var(--blue);  background: rgba(52,152,219,.07); }
.tip.amber { border-color: rgba(243,156,18,.3);  color: var(--amber); background: rgba(243,156,18,.07); }
.tab-intro-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.2);
  border: 1px solid rgba(201,168,76,.12);
  border-radius: 12px;
  padding: 14px 18px;
  min-width: 90px;
  text-align: center;
  flex-shrink: 0;
}
.tab-intro-score-num {
  font-family: 'Libre Baskerville', serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
}
.tab-intro-score-label {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.chart-label-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}
.chart-explain {
  font-size: .72rem;
  color: rgba(106,120,145,.7);
  font-style: italic;
  line-height: 1.3;
  margin-top: 6px;
  padding: 5px 10px;
  background: rgba(255,255,255,.02);
  border-left: 2px solid rgba(201,168,76,.2);
  border-radius: 0 5px 5px 0;
}

.insight-box {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: rgba(201,168,76,.06);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 12px;
  padding: 14px 18px;
  margin: 16px 0;
}
.insight-box-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 1px; }
.insight-box-content { flex: 1; }
.insight-box-title {
  font-size: .73rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gold);
  margin-bottom: 4px;
}
.insight-box-text {
  font-size: .84rem;
  color: var(--muted);
  line-height: 1.6;
}
.insight-box-text strong { color: var(--txt); }

.chart-stat-row {
  display: flex;
  gap: 20px;
  padding: 10px 14px 6px;
  flex-wrap: wrap;
}
.csr-item { display: flex; flex-direction: column; gap: 2px; }
.csr-val  { font-size: .92rem; font-weight: 700; color: var(--txt); }
.csr-lbl  { font-size: .67rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }

@media(max-width:640px){
  .tab-intro { grid-template-columns: 1fr; }
  .tab-intro-score { display: none; }
}

#pdf-export-root {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: -1;
  display: none;
  width: 794px;
}

.pdf-page {
  width: 794px;
  min-height: 1123px;
  padding: 0;
  box-sizing: border-box;
  background: #fff;
  position: relative;
  overflow: hidden;
  page-break-after: always;
  font-family: 'Georgia', 'Times New Roman', serif;
  color: #1c1c28;
}
/* Defensive: si el usuario usa Print desde el navegador, evitar
   cortes a media tabla o card en la salida nativa de Chrome. */
.pdf-page table,
.pdf-page .pdf-sec,
.pdf-page .pdf-kpi-card,
.pdf-page .pdf-action-row { page-break-inside: avoid; break-inside: avoid; }

.pdf-cover {
  width: 794px;
  height: 1123px;
  min-height: 1123px;
  background: #0d1524;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.pdf-cover-sidebar {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 6px;
  background: linear-gradient(180deg, #c9a84c 0%, #e6c76a 50%, #a07828 100%);
}
.pdf-cover-accent {
  position: absolute;
  right: -120px; top: -120px;
  width: 440px; height: 440px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.08) 0%, transparent 70%);
}
.pdf-cover-accent2 {
  position: absolute;
  left: -60px; bottom: -60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.05) 0%, transparent 70%);
}
.pdf-cover-content {
  padding: 72px 64px 60px 80px;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
.pdf-cover-brand {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #c9a84c;
  font-weight: 700;
  margin-bottom: 80px;
}
.pdf-cover-report-type {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  font-weight: 600;
  margin-bottom: 14px;
}
.pdf-cover-company {
  font-family: 'Georgia', serif;
  font-size: 44px;
  font-weight: 400;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 8px;
  letter-spacing: -.5px;
}
.pdf-cover-period {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,.55);
  margin-bottom: 56px;
  font-weight: 300;
}
.pdf-cover-divider {
  width: 48px;
  height: 2px;
  background: #c9a84c;
  margin-bottom: 32px;
}
.pdf-cover-subtitle {
  font-family: 'Georgia', serif;
  font-size: 17px;
  color: rgba(255,255,255,.78);
  line-height: 1.55;
  max-width: 480px;
  font-style: italic;
  margin-bottom: 56px;
}
.pdf-cover-health {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}
.pdf-cover-score-ring {
  width: 88px; height: 88px;
  border-radius: 50%;
  border: 3px solid;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  flex-shrink: 0;
}
.pdf-cover-score-num {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}
.pdf-cover-score-lbl {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-top: 2px;
}
.pdf-cover-kpis-row {
  display: flex;
  gap: 14px;
  flex: 1;
  flex-wrap: wrap;
}
.pdf-cover-kpi-item {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 14px 16px;
  min-width: 110px;
  flex: 1;
}
.pdf-cover-kpi-label {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 6px;
  font-weight: 600;
}
.pdf-cover-kpi-value {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 4px;
}
.pdf-cover-kpi-delta {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,.45);
}
.pdf-cover-footer {
  margin-top: auto;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pdf-cover-footer-left {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px;
  color: rgba(255,255,255,.25);
  letter-spacing: .04em;
}
.pdf-cover-footer-right {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  color: rgba(255,255,255,.2);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pdf-inner {
  width: 794px;
  min-height: 1123px;
  background: #fff;
  position: relative;
}
.pdf-inner-header {
  background: #0d1524;
  padding: 14px 52px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.pdf-inner-header::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, #c9a84c, transparent);
}
.pdf-inner-header-brand {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #c9a84c;
  font-weight: 700;
}
.pdf-inner-header-right {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  color: rgba(255,255,255,.35);
  letter-spacing: .04em;
}
.pdf-inner-body {
  padding: 36px 52px 80px;
}
.pdf-inner-footer {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 12px 52px;
  background: #fafafa;
  border-top: 1px solid #ebebeb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pdf-inner-footer-text {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 8.5px;
  color: #aaa;
  letter-spacing: .04em;
}
.pdf-inner-footer-page {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  color: #bbb;
  font-weight: 700;
}

.pdf-sec {
  margin-bottom: 24px;
}
.pdf-sec-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 9px;
  border-bottom: 1px solid #e8e8e8;
  position: relative;
}
.pdf-sec-head::before {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  width: 40px; height: 2px;
  background: #c9a84c;
}
.pdf-sec-num {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #c9a84c;
  text-transform: uppercase;
}
.pdf-sec-title {
  font-family: 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #1c1c28;
  letter-spacing: -.2px;
}

.pdf-exec-text {
  font-family: 'Georgia', serif;
  font-size: 12.5px;
  line-height: 1.82;
  color: #2c2c3a;
}
.pdf-exec-text p { margin: 0 0 12px; }
.pdf-exec-text p:last-child { margin-bottom: 0; }
.pdf-exec-text strong { color: #1c1c28; font-weight: 700; }

.pdf-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}
.pdf-kpi-cell {
  border: 1px solid #e8e8e8;
  border-top: 3px solid;
  border-radius: 6px;
  padding: 12px 13px;
  background: #fafafa;
}
.pdf-kpi-cell-label {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #999;
  margin-bottom: 5px;
  font-weight: 600;
}
.pdf-kpi-cell-val {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 4px;
}
.pdf-kpi-cell-delta {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 600;
}
.pdf-kpi-cell-comment {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9.5px;
  color: #777;
  margin-top: 5px;
  line-height: 1.45;
  font-style: italic;
}

.pdf-health-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.pdf-health-dim {
  text-align: center;
  padding: 10px 8px;
  border-radius: 6px;
  background: #f8f8f8;
  border: 1px solid #ebebeb;
}
.pdf-health-dim-val {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 3px;
}
.pdf-health-dim-label {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 8.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #999;
  font-weight: 600;
}
.pdf-health-bar-wrap {
  height: 3px;
  background: #ebebeb;
  border-radius: 2px;
  margin: 5px 0 0;
  overflow: hidden;
}
.pdf-health-bar-fill {
  height: 100%;
  border-radius: 2px;
}

.pdf-insight-card {
  border-radius: 7px;
  padding: 14px 16px;
  margin-bottom: 10px;
  border-left: 4px solid;
  background: #fafafa;
  page-break-inside: avoid;
}
.pdf-insight-card.critical { border-left-color: #c0392b; background: #fef9f9; }
.pdf-insight-card.warning  { border-left-color: #d68910; background: #fffdf5; }
.pdf-insight-card.positive { border-left-color: #1e8449; background: #f6fffa; }
.pdf-insight-card.opportunity { border-left-color: #1a6ea3; background: #f5f9ff; }

.pdf-insight-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #1c1c28;
  margin-bottom: 6px;
  line-height: 1.3;
}
.pdf-insight-badges {
  display: flex;
  gap: 5px;
  margin-bottom: 7px;
  flex-wrap: wrap;
}
.pdf-insight-badge {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 8.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 3px;
}
.pdf-badge-critical  { background: #fde8e8; color: #c0392b; }
.pdf-badge-warning   { background: #fef3cd; color: #8a5d00; }
.pdf-badge-positive  { background: #e8f5e9; color: #1e6c2e; }
.pdf-badge-area      { background: #f0f0f0; color: #666; }

.pdf-insight-body {
  font-family: 'Georgia', serif;
  font-size: 11.5px;
  line-height: 1.72;
  color: #333;
  margin-bottom: 7px;
}
.pdf-insight-impact {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10.5px;
  color: #444;
  background: rgba(0,0,0,.03);
  border-radius: 4px;
  padding: 5px 9px;
  margin-bottom: 6px;
  line-height: 1.5;
}
.pdf-insight-impact strong {
  color: #222;
}
.pdf-insight-action {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10.5px;
  color: #1c1c28;
  font-weight: 600;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,.07);
  line-height: 1.55;
}
.pdf-insight-evidence {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}
.pdf-evidence-tag {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  background: rgba(0,0,0,.05);
  color: #666;
  padding: 1px 6px;
  border-radius: 3px;
}

.pdf-area-block {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
  page-break-inside: avoid;
}
.pdf-area-block:last-child { border-bottom: none; }
.pdf-area-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
}
.pdf-area-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  color: #1c1c28;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.pdf-area-status {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.pdf-area-status.green  { background: #e8f5e9; color: #1e6c2e; }
.pdf-area-status.amber  { background: #fef3cd; color: #8a5d00; }
.pdf-area-status.red    { background: #fde8e8; color: #c0392b; }
.pdf-area-text {
  font-family: 'Georgia', serif;
  font-size: 11.5px;
  color: #333;
  line-height: 1.72;
}
.pdf-area-metrics {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 7px;
}
.pdf-area-metric {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  background: #f3f3f3;
  color: #555;
  padding: 2px 9px;
  border-radius: 3px;
  font-weight: 600;
}

.pdf-action-block {
  margin-bottom: 16px;
}
.pdf-action-horizon-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pdf-action-horizon-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pdf-action-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 11px 13px;
  margin-bottom: 7px;
  border-radius: 7px;
  background: #fafafa;
  border: 1px solid #ebebeb;
  page-break-inside: avoid;
}
.pdf-action-num {
  width: 22px; height: 22px;
  border-radius: 50%;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 10px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #fff;
  margin-top: 2px;
}
.pdf-action-body { flex: 1; }
.pdf-action-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  color: #1c1c28;
  margin-bottom: 4px;
  line-height: 1.35;
}
.pdf-action-rationale {
  font-family: 'Georgia', serif;
  font-size: 11px;
  line-height: 1.65;
  color: #444;
  margin-bottom: 6px;
}
.pdf-action-meta {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.pdf-action-tag {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  letter-spacing: .04em;
}
.pdf-tag-owner  { background: #fef3cd; color: #8a5d00; }
.pdf-tag-time   { background: #f0f0f0; color: #666; }
.pdf-tag-impact { background: #e8eaf6; color: #3949ab; }

.pdf-pl-table { width: 100%; border-collapse: collapse; font-size: 11px; margin-bottom: 4px; }
.pdf-pl-table th {
  background: #f4f4f4;
  padding: 8px 10px;
  text-align: left;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #777;
  font-weight: 700;
  border-bottom: 1px solid #e0e0e0;
}
.pdf-pl-table th:not(:first-child) { text-align: right; }
.pdf-pl-table td {
  padding: 7px 10px;
  border-bottom: 1px solid #f4f4f4;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  color: #333;
  font-size: 11px;
}
.pdf-pl-table td:not(:first-child) { text-align: right; }
.pdf-pl-table tr.bold-row td { font-weight: 800; background: #f8f7f2; color: #1c1c28; }

.pdf-charts-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 18px;
}
.pdf-chart-box {
  border: 1px solid #ebebeb;
  border-radius: 8px;
  padding: 13px 14px;
  background: #fafafa;
}
.pdf-chart-title {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: #666;
  margin-bottom: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pdf-conclusion-box {
  background: #fdf9ef;
  border: 1px solid #e8d99a;
  border-radius: 8px;
  padding: 22px 24px;
  position: relative;
  page-break-inside: avoid;
}
.pdf-conclusion-quote {
  position: absolute;
  left: 14px; top: 8px;
  font-family: 'Georgia', serif;
  font-size: 56px;
  color: rgba(201,168,76,.18);
  line-height: 1;
}
.pdf-conclusion-text {
  font-family: 'Georgia', serif;
  font-size: 12.5px;
  line-height: 1.82;
  color: #2c2c3a;
  font-style: italic;
  position: relative;
  z-index: 1;
}
.pdf-conclusion-sig {
  margin-top: 14px;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 9.5px;
  color: #aaa;
  text-align: right;
  font-style: normal;
}

.pdf-cover-logo, .pdf-section-header, .pdf-section-num, .pdf-section-title,
.pdf-kpi-grid, .pdf-kpi-card, .pdf-kpi-label, .pdf-kpi-val, .pdf-kpi-sub,
.pdf-diag-grid, .pdf-diag-card, .pdf-diag-label, .pdf-diag-val,
.pdf-insights, .pdf-insight-item, .pdf-page-header, .pdf-page-header-logo,
.pdf-page-header-info, .pdf-page-footer, .pdf-score-badge { display: none !important; }

@keyframes spin { to { transform: rotate(360deg); } }

#lang-toggle:hover, #dash-lang-toggle:hover {
  background: rgba(201,168,76,.12) !important;
  border-color: rgba(201,168,76,.35) !important;
  color: var(--gold, #c9a84c) !important;
}

@media(max-width:700px){
  .hdr{ width:58px; }
  .brand-text{ display:none !important; }
  .sidebar-toggle{ display:none !important; }
  .nav-section-label{ display:none !important; }
  .tbtn{ padding:10px !important; justify-content:center !important; gap:0 !important; }
  .tbtn span:not(.tab-icon):not(.auth-account-dot):not(#dash-upgrade-label){ display:none !important; }
  #dash-upgrade-label{ display:none !important; }
  .tbtn .tab-icon{ width:auto !important; font-size:16px !important; opacity:1 !important; }
  .nav-lang-btn span:last-child{ display:none !important; }
  .nav-lang-btn{ justify-content:center !important; padding:8px !important; }
  .nav-sep{ margin:6px 8px !important; }
  .nav-tabs,.nav-utils{ padding:0 6px !important; }
  .brand{ padding:14px 12px !important; justify-content:center !important; }
  .brand-mark{ margin:0 !important; }
  .dash-back-btn{ padding:8px !important; }
  
  #demo-sticky-cta{ left:60px !important; }
}

@media(max-width:600px){
  .hdr{
    width:100% !important;
    height:auto !important;
    min-height:48px;
    flex-direction:row !important;
    position:sticky;
    top:0;
    height:48px !important;
    overflow:visible;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .dash-shell{ flex-direction:column !important; }
  .brand{ padding:8px 12px !important; border-bottom:none !important; flex-shrink:0; }
  .nav{ flex-direction:row !important; flex:1; padding:0 !important; overflow:hidden; }
  .nav-section-label{ display:none !important; }
  .nav-tabs{
    flex-direction:row !important;
    padding:4px 0 !important;
    gap:1px !important;
    overflow-x:auto;
    scrollbar-width:none;
    flex:1;
  }
  .nav-tabs::-webkit-scrollbar{ display:none; }
  .nav-sep{ display:none !important; }
  .nav-utils{ flex-direction:row !important; padding:4px 6px !important; gap:2px !important; border-top:none !important; border-left:1px solid var(--border); margin-top:0 !important; flex-shrink:0; }
  .tbtn{ padding:5px 9px !important; font-size:11px !important; white-space:nowrap; flex-shrink:0; width:auto !important; justify-content:flex-start !important; gap:5px !important; }
  .tbtn .tab-icon{ font-size:13px !important; }
  .tbtn span:not(.tab-icon):not(.auth-account-dot){ display:none !important; }
  .nav-lang-btn{ padding:5px 7px !important; width:auto !important; }
  .sidebar-toggle{ display:none !important; }
  #demo-sticky-cta{ left:0 !important; top:48px !important; }
  .dash-back-btn{ padding:5px 8px !important; }
}

@media(max-width:400px){
  .tbtn{ padding:4px 8px !important; font-size:10px !important; }
}

@media(max-width:768px){
  .cbar{ padding:6px 12px; gap:6px; flex-wrap:wrap; }
  .cbar-period{ display:none; }
  .uplbl span{ font-size:10px; }
  .btn-ghost{ font-size:10px; padding:4px 8px; }
}
@media(max-width:480px){
  .uplbl span[data-i18n]::before{ content:'📂'; }
  .cbar-name{ font-size:11px; }
}

@media(max-width:600px){
  #demo-sticky-cta > div:first-child span:last-child{ display:none; }
  #demo-sticky-cta{ padding:8px 12px; }
}

@media(max-width:768px){
  .page{ padding:16px 12px; }
}
@media(max-width:480px){
  .page{ padding:12px 8px; }
}

@media(max-width:480px){
  .ov-kval{ font-size:20px !important; }
  .ov-klabel{ font-size:9px; }
  .ov-kcard{ padding:12px 10px; }
}

@media(max-width:768px){
  .ov-hero{ flex-direction:column; gap:12px; padding:14px; }
  .ov-score-pill{ align-self:flex-start; }
  .ov-period{ font-size:18px; }
}

@media(max-width:600px){
  .ov-4grid{ grid-template-columns:1fr 1fr !important; }
}

@media(max-width:480px){
  .ov-signal{ padding:10px 12px; font-size:11px; }
}

@media(max-width:768px){
  .twrap-s{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .twrap-s table{ min-width:500px; }
  table.dt th, table.dt td{ padding:7px 8px; font-size:11px; }
  
  #hist-tbody tr td:nth-child(n+4){ white-space:nowrap; }
}
@media(max-width:480px){
  table.dt th, table.dt td{ padding:5px 6px; font-size:10px; }
}

@media(max-width:768px){
  .fin-grid{ grid-template-columns:1fr !important; }
  .perf-grid{ grid-template-columns:1fr !important; }
}

@media(max-width:600px){
  .diag-metrics{ grid-template-columns:1fr 1fr !important; }
  .diag-metric{ padding:10px; }
  .diag-metric-val{ font-size:13px; }
}
@media(max-width:400px){
  .diag-metrics{ grid-template-columns:1fr !important; }
}

@media(max-width:480px){
  .rcard{ padding:12px 12px 12px 15px; }
  .rcard-title{ font-size:11px; }
}

@media(max-width:768px){
  .rpt-grid{ grid-template-columns:1fr !important; }
  .rpt-score-label{ width:90px; font-size:10px; }
  .rpt-score-val{ width:28px; }
}
@media(max-width:480px){
  .report-section{ padding:12px 12px 12px 14px; margin-bottom:10px; }
  .report-section-title{ font-size:11px; }
}

@media(max-width:768px){
  #page-datos .twrap{ overflow-x:auto; }
  #page-datos table{ min-width:600px; }
  .bic{ font-size:10px; padding:4px 8px; }
}

@media(max-width:600px){
  .bal-grid{ grid-template-columns:1fr 1fr !important; gap:8px; }
  .bal-guide{ max-width:100%; }
}
@media(max-width:400px){
  .bal-grid{ grid-template-columns:1fr !important; }
}

@media(max-width:600px){
  #overlay{ padding:12px 8px; }
  #overlay > div{ padding:18px 14px !important; border-radius:12px !important; }
  #overlay h3{ font-size:15px !important; }
  
  #overlay [id^="step-tab-"]{ padding:6px 4px !important; }
  #overlay [id^="step-tab-"] div:first-child{ font-size:8px !important; }
  
  #overlay [style*="grid-template-columns:1fr 1fr"]{ display:grid !important; grid-template-columns:1fr !important; }
  #overlay [style*="grid-template-columns:repeat(2"]{ display:grid !important; grid-template-columns:1fr !important; }
  #overlay [style*="grid-template-columns:repeat(3"]{ display:grid !important; grid-template-columns:1fr 1fr !important; }
}
@media(max-width:400px){
  #overlay [style*="grid-template-columns:repeat(3"]{ display:grid !important; grid-template-columns:1fr !important; }
}

@media(max-width:480px){
  #kt-grid{ grid-template-columns:1fr !important; }
  .ktitem{ padding:10px 12px; }
}

@media(max-width:480px){
  .stitle{ font-size:12px; }
  .stitle-big{ font-size:15px; }
}

@media(max-width:480px){
  canvas{ max-width:100% !important; }
  .chart-wrap{ overflow-x:auto; }
}

@media(max-width:768px){
  .tab-intro-pills{ flex-wrap:wrap; gap:6px; }
  .tab-intro-scores{ flex-wrap:wrap; gap:8px; }
  .tip{ font-size:10px; }
}

@media(max-width:480px){
  .pw-box{ padding:20px 16px !important; margin:20px 12px !important; }
  .pw-title{ font-size:15px !important; }
}

@media(max-width:480px){
  #demo-edit-block-overlay > div{ padding:24px 18px 20px !important; border-radius:14px !important; }
}

@media(max-width:480px){
  #admin-panel{ width:calc(100vw - 0px) !important; max-width:100vw !important; }
  .adm-panel-inner{ padding:12px !important; }
}

@media(max-width:480px){
  .scen-grid{ grid-template-columns:1fr !important; }
  .val-grid{ grid-template-columns:1fr 1fr !important; }
}

@media(max-width:480px){
  .vbl{ width:28px; font-size:9px; }
  .vbv{ width:60px; font-size:10px; }
  .debt-bar{ height:28px; }
}

@media(max-width:700px){
  .ov-hero{
    flex-direction:column;gap:16px;padding:20px 18px;
  }
  .ov-score-pill{
    width:100%;min-width:0;flex-direction:row;
    align-items:center;padding:14px 18px;gap:16px;
  }
  .ov-score-main{ margin-bottom:0;flex:1; }
  .ov-score-dims{ display:none; }
  .ov-score-num{ font-size:44px; }
  .ov-title-main{ font-size:22px; }
}
@media(max-width:480px){
  .ov-hero{ padding:14px 12px;border-radius:12px; }
  .ov-title-main{ font-size:20px; }
  .ov-score-num{ font-size:38px; }
  .ov-company-text{ font-size:8px; }
  .ov-sub{ font-size:10px; }
  .ov-hero-chip{ font-size:9px;padding:3px 8px; }
}

@media(max-width:600px){
  .ov-kstrip{ grid-template-columns:1fr 1fr !important; gap:8px; }
}
@media(max-width:380px){
  .ov-kstrip{ grid-template-columns:1fr !important; }
}

@media(max-width:600px){
  .ov-charts-row{ grid-template-columns:1fr !important; gap:8px; }
  .ov-bottom-row{ grid-template-columns:1fr !important; gap:8px; }
}

@media(max-width:600px){
  .pg-title{ font-size:19px; }
  .pg-header{ margin-bottom:14px; }
  #diag-narrative-headline{
    font-size:12px !important;
    padding:9px 13px !important;
    border-radius:8px !important;
  }
}
@media(max-width:480px){
  .pg-title{ font-size:17px; }
  .pg-sub{ font-size:10px; }
}

@media(max-width:600px){
  #diag-synthesis > div > div:last-child,
  #diag-synthesis > div > div:nth-child(3){
    padding:14px 14px !important;
    border-radius:10px !important;
  }
  #diag-synthesis > div > div > div:last-child{
    font-size:11px !important;
    line-height:1.65 !important;
  }
  #diag-synthesis > div > div > div:nth-child(2){
    font-size:13px !important;
  }
}

@media(max-width:700px){
  .diag-grid{ grid-template-columns:1fr !important; }
}
@media(max-width:600px){
  .diag-card{ padding:14px 14px 12px !important; }
  .diag-interpretation{ font-size:11px !important;line-height:1.6; }
  .diag-score-card{ flex-direction:column;gap:12px;padding:16px; }
  .diag-score-num{ font-size:48px !important; }
}

@media(max-width:600px){
  .insight-box{
    font-size:11.5px !important;
    padding:12px 14px !important;
    border-radius:10px !important;
  }
}

@media(max-width:700px){
  .rpt-insight-card{
    padding:13px 14px !important;
    border-radius:8px !important;
  }
  .rpt-insight-title{ font-size:12px !important;line-height:1.4; }
  .rpt-insight-body{ font-size:11px !important; }
  .rpt-insight-impact{ font-size:10.5px !important; }
  .rpt-insight-badges{ flex-wrap:wrap;gap:4px; }
  .rpt-action-row{ flex-direction:column;gap:8px; }
  .rpt-action-idx{ width:24px !important;height:24px !important;font-size:11px !important; }
  .rpt-action-title{ font-size:12px !important; }
  .rpt-action-rationale{ font-size:10.5px !important; }
  .rpt-exec-text{ font-size:12px !important;line-height:1.7; }
  .rpt-exec-text p{ margin-bottom:10px; }
  .rpt-kpi-grid{ grid-template-columns:1fr 1fr !important; }
  .rpt-health-pill{ font-size:9px !important;padding:3px 8px !important; }
}
@media(max-width:480px){
  .rpt-insight-card{ padding:11px 12px !important; }
  .rpt-kpi-grid{ grid-template-columns:1fr !important; }
  .rpt-section-title{ font-size:13px !important; }
  .rpt-exec-text{ font-size:11.5px !important; }
}

@media(max-width:600px){
  .cbar{ padding:6px 10px;gap:5px; }
  .cbar-name{ font-size:11px; }
  .cbar-dot{ width:6px;height:6px; }
  .btn-ghost{ display:none; }
}

@media(max-width:480px){
  .ov-signals{ padding:14px 14px !important; }
  .ov-signal-label{ font-size:11px !important; }
  .ov-signal-detail{ font-size:10px !important; }
  .ov-action-panel{ padding:14px 14px !important; }
}

@media(max-width:360px){
  .ov-dim-label{ width:48px;font-size:7px; }
  .ov-score-num{ font-size:34px; }
}

@media(max-width:600px){
  .tbtn{ min-height:40px; }
  .btn-p, .btn-s{ min-height:44px;font-size:14px !important; }
  .uplbl{ min-height:36px; }
}

#auth-modal-bg{
  display:none;position:fixed;inset:0;z-index:99995;
  background:rgba(6,13,26,.88);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;padding:16px;
}
#auth-modal-bg.open{display:flex;}
.auth-modal{
  width:400px;max-width:100%;
  background:#0d1a2e;border:1px solid rgba(212,168,67,.28);
  border-radius:18px;padding:32px 28px 26px;
  box-shadow:0 40px 80px rgba(0,0,0,.7);
  font-family:'DM Sans',sans-serif;
}
.auth-modal-logo{
  width:36px;height:36px;border-radius:9px;
  background:linear-gradient(135deg,#d4a843,#a07828);
  display:flex;align-items:center;justify-content:center;
  font-family:'Libre Baskerville',serif;font-size:14px;
  font-weight:700;color:#060d1a;margin-bottom:18px;
}
.auth-modal-title{font-family:'Libre Baskerville',serif;font-size:1.15rem;font-weight:700;color:#f0ede6;margin-bottom:5px;}
.auth-modal-sub{font-size:.82rem;color:#92a0b8;line-height:1.5;margin-bottom:22px;}
.auth-modal-field label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#92a0b8;margin-bottom:6px;}
.auth-modal-input{
  width:100%;padding:11px 14px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:9px;color:#f0ede6;font-size:1rem; 
  font-family:'DM Sans',sans-serif;outline:none;
  transition:border-color .2s;box-sizing:border-box;
}
.auth-modal-input:focus{border-color:rgba(212,168,67,.5);}
.auth-modal-btn{
  width:100%;margin-top:14px;padding:12px;
  background:linear-gradient(135deg,#d4a843,#b8892a);
  color:#060d1a;border:none;border-radius:10px;
  font-size:.9rem;font-weight:700;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:filter .2s;
}
.auth-modal-btn:hover{filter:brightness(1.08);}
.auth-modal-btn:disabled{opacity:.5;cursor:not-allowed;}
.auth-modal-note{font-size:.72rem;color:#4b5563;margin-top:10px;text-align:center;line-height:1.45;}
.auth-modal-dismiss{display:block;text-align:center;margin-top:14px;font-size:.75rem;color:#4b5563;cursor:pointer;}
.auth-modal-dismiss:hover{color:#92a0b8;}

.auth-sent{text-align:center;padding:8px 0 4px;}
.auth-sent-icon{font-size:2.2rem;margin-bottom:12px;}
.auth-sent-title{font-family:'Libre Baskerville',serif;font-size:1rem;font-weight:700;color:#f0ede6;margin-bottom:6px;}
.auth-sent-sub{font-size:.82rem;color:#92a0b8;line-height:1.6;}

.auth-account-btn{
  display:flex;align-items:center;gap:6px;
  background:rgba(212,168,67,.1);border:1px solid rgba(212,168,67,.25);
  border-radius:7px;padding:5px 10px;
  font-size:.72rem;font-weight:700;color:#d4a843;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all .15s;white-space:nowrap;
}
.auth-account-btn:hover{background:rgba(212,168,67,.18);}
.auth-account-dot{width:6px;height:6px;border-radius:50%;background:#27d464;flex-shrink:0;}
@media(max-width:480px){
  .auth-modal{padding:24px 18px 20px;}
  .auth-modal-title{font-size:1rem;}
}

.sr { opacity: 1 !important; transform: none !important; }
.sr.revealed, .sr.visible { opacity: 1 !important; transform: none !important; }

details[open] summary span { content: '−'; transform: rotate(45deg); }
details summary::-webkit-details-marker { display: none; }
details[open] summary span { transform: rotate(45deg); transition: transform .2s; }

.tbtn { position: relative; }
.hdr.collapsed .tbtn[title]:hover::after {
  content: attr(title);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: rgba(15,26,46,.97);
  border: 1px solid rgba(255,255,255,.12);
  color: #e2e8f0;
  font-size: .75rem;
  font-weight: 500;
  padding: 5px 10px;
  border-radius: 7px;
  white-space: nowrap;
  z-index: 9999;
  pointer-events: none;
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}

#nav-plan-pill {
  background: rgba(212,168,67,.06) !important;
  border-color: rgba(212,168,67,.2) !important;
}

.tbtn-upgrade {
  background: rgba(212,168,67,.08) !important;
  border: 1px solid rgba(212,168,67,.2) !important;
}
.tbtn-upgrade:hover {
  background: rgba(212,168,67,.15) !important;
  border-color: rgba(212,168,67,.4) !important;
}

.tbtn-account-dot {
  animation: pulse-green 2s infinite;
}
@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 4px rgba(34,197,94,.4); }
  50% { box-shadow: 0 0 8px rgba(34,197,94,.8); }
}

#nav-trial-pill { transition: all .2s; }
.hdr.collapsed #nav-trial-pill {
  padding: 6px 8px !important;
  margin: 0 4px 4px !important;
}
.hdr.collapsed #nav-trial-pill > div:not(:first-child) { display: none !important; }
.hdr.collapsed #nav-trial-pill button { display: none !important; }
.hdr.collapsed #nav-trial-pill > div:first-child {
  font-size: .55rem !important;
  margin-bottom: 0 !important;
}

.pf-preview-lock, .ef-preview-lock, .liq-preview-lock, .diag-preview-lock,
.preview-lock-nudge, .paywall-overlay, [class*="preview-lock"],
#advisory-session-banner, .rb-session-badge,
.upgrade-hint { display: none !important; }
.has-fin-preview .pf-preview-lock::before,
.has-fin-preview .ef-preview-lock::before,
.has-liq-preview .liq-preview-lock::before,
.has-diag-preview .diag-preview-lock::before,
.has-fin-preview .pf-preview-lock::after,
.has-fin-preview .ef-preview-lock::after,
.has-liq-preview .liq-preview-lock::after,
.has-diag-preview .diag-preview-lock::after { display: none !important; }

.has-fin-preview .pf-preview-lock ~ *,
.has-liq-preview .liq-preview-lock ~ * { filter: none !important; opacity: 1 !important; pointer-events: auto !important; }

#nav { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.nav-links li a { letter-spacing: .01em; }
.nav-links li a:hover { color: #f0ede6; }

#hero { padding-top: clamp(80px, 12vw, 140px); padding-bottom: clamp(60px, 8vw, 100px); }

.step-card { transition: transform .2s, box-shadow .2s; }
.step-card:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,0,0,.2); }

.feat-card { transition: transform .2s, border-color .2s; }
.feat-card:hover { transform: translateY(-2px); border-color: rgba(212,168,67,.25); }

.testi-card { transition: transform .2s; }
.testi-card:hover { transform: translateY(-2px); }

.stat-n { font-variant-numeric: tabular-nums; }

.rb-dropzone { transition: border-color .2s, background .2s, transform .1s; }
.rb-dropzone:hover { transform: scale(1.005); }

.tbtn { transition: all .15s; border-radius: 10px; }
.tbtn:hover:not(.active) { background: rgba(255,255,255,.05); }

.faq-item .faq-a { 
  max-height: 0; 
  overflow: hidden; 
  transition: max-height .3s ease, padding .3s ease; 
  padding: 0 0 0; 
}
.faq-item.open .faq-a { 
  max-height: 400px; 
  padding: 0 0 16px; 
}

.btn { transition: transform .12s, box-shadow .12s, opacity .12s; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

#dashboard-wrap {
  background: #070e1c;
}

.hdr {
  background: #08111f;
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 2px 0 24px rgba(0,0,0,.3);
}
.brand {
  padding: 22px 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.brand-mark {
  width: 36px; height: 36px; border-radius: 10px;
  background: linear-gradient(135deg, #d4a843 0%, #9a6f1e 100%);
  box-shadow: 0 0 0 1px rgba(212,168,67,.35), 0 4px 14px rgba(212,168,67,.2);
}
.brand-text .t1 { font-size: 13px; color: #f0ede6; }
.brand-text .t2 { font-size: 7.5px; color: rgba(212,168,67,.65); letter-spacing: .18em; }

.nav-section-label {
  font-size: 7.5px; font-weight: 700; letter-spacing: .16em;
  color: rgba(255,255,255,.18); padding: 20px 18px 5px;
}
.nav-tabs { padding: 2px 10px; gap: 2px; }
.tbtn {
  padding: 8px 11px; border-radius: 8px; font-size: 12.5px;
  color: rgba(255,255,255,.38); transition: all .15s;
  letter-spacing: -.01em; gap: 10px;
}
.tbtn:hover {
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.06);
}
.tbtn.active {
  background: rgba(212,168,67,.12);
  color: #d4a843;
  border-color: rgba(212,168,67,.22);
  font-weight: 600;
}
.tbtn .tab-icon { font-size: 14px; opacity: .5; }
.tbtn:hover .tab-icon, .tbtn.active .tab-icon { opacity: 1; }
.nav-sep { background: rgba(255,255,255,.05); margin: 8px 14px; }

.cbar {
  background: rgba(8,17,31,.9);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 10px 28px;
  backdrop-filter: blur(20px);
}
.cbar-name {
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px; font-weight: 700; color: #d4a843;
}
.cbar-period {
  font-family: 'DM Mono', monospace;
  font-size: 10.5px; color: rgba(255,255,255,.3); letter-spacing: .03em;
}
.uplbl {
  border: 1px solid rgba(212,168,67,.2); border-radius: 7px;
  padding: 5px 13px; transition: all .18s;
}
.uplbl:hover { background: rgba(212,168,67,.08); border-color: rgba(212,168,67,.4); }
.uplbl span { font-size: 11.5px; color: #d4a843; font-weight: 600; }

.page {
  padding: 32px 32px 64px;
  max-width: 1280px; margin: 0 auto;
}
.page.active { animation: pageIn .3s cubic-bezier(.22,.68,0,1.2) both; }
@keyframes pageIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.pg-header { margin-bottom: 26px; }
.pg-title {
  font-family: 'Libre Baskerville', serif;
  font-size: 22px; font-weight: 700; color: #f0ede6;
  letter-spacing: -.02em; margin-bottom: 4px;
}
.pg-sub { font-size: 11px; color: rgba(255,255,255,.3); font-family: 'DM Mono', monospace; letter-spacing: .03em; }

.stitle { margin: 28px 0 14px; gap: 10px; }
.stitle-bar {
  width: 3px; height: 16px;
  background: linear-gradient(180deg, #d4a843, rgba(212,168,67,.3));
  border-radius: 2px;
}
.stitle h3 {
  font-family: 'Libre Baskerville', serif;
  font-size: 14px; font-weight: 700; color: #f0ede6;
  letter-spacing: -.01em;
}

.cc, .hcard, .vc, .debt-viz, .vc, .fsec {
  background: rgba(255,255,255,.028) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transition: border-color .2s, background .2s !important;
}
.cc:hover, .hcard:hover {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.13) !important;
}
.ctitle {
  font-family: 'DM Mono', monospace !important;
  font-size: 9px !important; font-weight: 600 !important;
  color: rgba(255,255,255,.3) !important;
  text-transform: uppercase !important; letter-spacing: .14em !important;
  margin-bottom: 16px !important;
}

.kcard {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-top: 2px solid rgba(212,168,67,.55) !important;
  border-radius: 13px !important;
  padding: 18px 20px !important;
  transition: transform .18s, border-color .2s, background .2s !important;
  box-shadow: none !important;
}
.kcard:hover {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.13) !important;
  border-top-color: #d4a843 !important;
  transform: translateY(-2px) !important;
}
.klabel {
  font-family: 'DM Mono', monospace !important;
  font-size: 8.5px !important; font-weight: 600 !important;
  color: rgba(255,255,255,.28) !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  margin-bottom: 10px !important;
}
.kval {
  font-family: 'Libre Baskerville', serif !important;
  font-size: 24px !important; font-weight: 700 !important;
  color: #f0ede6 !important; line-height: 1 !important;
}
.ksub { font-size: 11px !important; margin-top: 6px !important; font-weight: 600 !important; }

.twrap {
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.g2, .g3, .g4, .g1-2 { gap: 14px !important; margin-bottom: 14px !important; }

@media(max-width:960px) { .g2,.g3,.g4,.g1-2 { grid-template-columns: 1fr 1fr !important; } }
@media(max-width:640px) { .g2,.g3,.g4,.g1-2 { grid-template-columns: 1fr !important; } }

table { border-collapse: collapse; width: 100%; }
th {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.3);
  padding: 8px 14px; text-align: left;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.02);
}
td {
  padding: 9px 14px; font-size: 12px; color: rgba(255,255,255,.7);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
tr:last-child td { border-bottom: none; }
tr:hover td { background: rgba(255,255,255,.025); }

.insight-box {
  background: rgba(212,168,67,.05) !important;
  border: 1px solid rgba(212,168,67,.16) !important;
  border-left: 3px solid #d4a843 !important;
  border-radius: 10px !important;
  padding: 16px 20px !important;
  font-size: 12.5px !important; color: rgba(255,255,255,.62) !important;
  line-height: 1.65 !important;
}

.empty { min-height: 62vh; }
.dropz {
  border: 2px dashed rgba(212,168,67,.3) !important;
  border-radius: 16px !important;
  background: rgba(212,168,67,.03) !important;
  padding: 40px 60px !important;
  transition: all .2s !important;
}
.dropz:hover, .dropz.drag {
  background: rgba(212,168,67,.07) !important;
  border-color: rgba(212,168,67,.6) !important;
}
.dropz h3 { font-family: 'Libre Baskerville', serif !important; font-size: 15px !important; color: #d4a843 !important; }
.dropz p { color: rgba(255,255,255,.35) !important; font-size: 12px !important; }

.hcard {
  padding: 14px 18px !important;
  display: flex !important; align-items: center !important; gap: 12px !important;
}

.bar-track {
  background: rgba(255,255,255,.07) !important;
  border-radius: 4px !important; overflow: hidden !important;
}

.ktitem {
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 10px !important;
}

.vc { padding: 18px 20px !important; }
.debt-viz { padding: 18px 20px !important; margin-bottom: 14px !important; }
.fsec { padding: 18px 20px !important; margin-bottom: 12px !important; }

.dash-main::-webkit-scrollbar { width: 5px; }
.dash-main::-webkit-scrollbar-track { background: transparent; }
.dash-main::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 3px; }
.dash-main::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.2); }

.preview-lock-nudge {
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
}
.preview-lock-nudge-btn {
  background: rgba(212,168,67,.12) !important;
  border: 1px solid rgba(212,168,67,.3) !important;
  color: #d4a843 !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}

.nav-utils { border-top: 1px solid rgba(255,255,255,.05); padding: 10px 10px 16px; }
.dash-back-btn {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 7px !important;
}
.dash-back-btn:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.nav-lang-btn {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 7px !important;
  color: rgba(255,255,255,.35) !important;
}
.nav-lang-btn:hover {
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.72) !important;
}

.rpt-section {
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
}

.datos-tab-btn {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 8px !important;
}
.datos-tab-btn.active {
  background: rgba(212,168,67,.1) !important;
  border-color: rgba(212,168,67,.25) !important;
  color: #d4a843 !important;
}

/* ─── bloque #2 (era line 3730 del index.html) ─── */
:root{--navy-deep:#0a1628;--navy:#0f1e3c;--navy-2:#162540;--navy-3:#1e3558;--gold:#C4A03C;--gold-light:#e8c86a;--gold-pale:#f5e9b8;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-400:#60a5fa;--text-900:#1f2937;--text-600:#4b5563;--text-500:#6b7280;--text-400:#9ca3af;--white:#ffffff;--surface:#f9fafb;--surface-2:#f3f4f6;--border:#e5e7eb;--border-2:#d1d5db;--green:#16a34a;--red:#dc2626;--amber:#d97706;--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"DM Mono",monospace;--r-sm:6px;--r-md:12px;--r-lg:18px;--r-xl:24px;--r-2xl:32px;--sh-sm:0 1px 3px rgba(0,0,0,.06);--sh-md:0 4px 16px rgba(0,0,0,.08);--sh-lg:0 12px 40px rgba(0,0,0,.10);--sh-xl:0 24px 64px rgba(0,0,0,.14);--sh-navy:0 24px 64px rgba(10,22,40,.5);--ease: cubic-bezier(.22,.68,0,1.2);--ease-sp:cubic-bezier(.34,1.56,.64,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
#landing-wrap{font-family:var(--font-body);color:var(--text-900);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#landing-wrap a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.wrap-sm{max-width:760px;margin:0 auto;padding:0 28px}
.wrap-xs{max-width:600px;margin:0 auto;padding:0 28px}
.t-hero{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:700;line-height:1.06;letter-spacing:-.02em}
.t-h2{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.t-h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.25}
.t-lead{font-size:1.12rem;line-height:1.72}
.t-body{font-size:.95rem;line-height:1.68}
.tc{text-align:center}
.mt-12{margin-top:12px}.mt-20{margin-top:20px}.mt-28{margin-top:28px}.mt-48{margin-top:48px}

.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:var(--r-lg);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;border:none;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s;white-space:nowrap;user-select:none}
.btn:active{transform:scale(.97)!important}
.btn-primary{background:linear-gradient(135deg,var(--blue-700) 0%,#3b82f6 100%);color:var(--white);box-shadow:0 4px 16px rgba(37,99,235,.38)}
.btn-primary:hover{background:linear-gradient(135deg,#1e3a8a 0%,var(--blue-600) 100%);box-shadow:0 8px 24px rgba(37,99,235,.48);transform:translateY(-2px)}
#nav .btn-ghost-light{background:rgba(212,168,67,.12);color:#d4a843 !important;border:1px solid rgba(212,168,67,.5);font-weight:600}
#nav .btn-ghost-light:hover{background:rgba(212,168,67,.22);border-color:rgba(212,168,67,.8);color:#f0c84a !important}
.btn-lg{padding:17px 34px;font-size:1.02rem;border-radius:var(--r-xl)}
.btn-sm{padding:9px 18px;font-size:.84rem;border-radius:var(--r-md)}
.btn-icon{width:20px;height:20px;flex-shrink:0;transition:transform .2s var(--ease-sp)}
.btn:hover .btn-arrow{transform:translateX(4px)}
.btn:hover .btn-down{transform:translateY(3px)}

#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:66px;display:flex;align-items:center;padding:0 28px;transition:background .3s,backdrop-filter .3s,box-shadow .3s;background:rgba(6,13,26,.7);backdrop-filter:blur(16px) saturate(150%)}
#nav.stuck{background:rgba(6,13,26,.96);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 1px 0 rgba(255,255,255,.08),0 4px 24px rgba(0,0,0,.4)}
.nav-inner{width:100%;max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.nav-brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.nav-logomark{width:38px;height:38px;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;font-weight:900;color:var(--navy-deep);flex-shrink:0;box-shadow:0 2px 8px rgba(196,160,60,.4)}
.nav-name{font-weight:700;font-size:.97rem;color:var(--white);letter-spacing:-.01em}
.nav-tag{font-size:.65rem;color:rgba(255,255,255,.5);letter-spacing:.06em;font-family:var(--font-mono)}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none}
#nav .nav-links a{font-size:.88rem;font-weight:600;color:#d4a843 !important;transition:color .2s;letter-spacing:-.01em;text-decoration:none}
#nav .nav-links a:hover{color:#f0c84a !important}
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media(max-width:860px){.nav-links{display:none}}
@media(max-width:520px){.nav-actions .btn-ghost-light{display:none}}

#hero{position:relative;background:var(--navy-deep);padding:130px 28px 100px;overflow:hidden;min-height:100vh;display:flex;align-items:center}
#hero::before{content:'';position:absolute;inset: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:48px 48px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%,black 20%,transparent 75%)}
#hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 55% at 72% 18%,rgba(196,160,60,.13) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 15% 75%,rgba(37,99,235,.18) 0%,transparent 55%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:hglow 10s ease-in-out infinite}
.hg-1{width:480px;height:480px;background:radial-gradient(circle,rgba(196,160,60,.1) 0%,transparent 65%);top:-120px;right:-80px}
.hg-2{width:360px;height:360px;background:radial-gradient(circle,rgba(37,99,235,.14) 0%,transparent 65%);bottom:-80px;left:-60px;animation-delay:-4s}
@keyframes hglow{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,20px) scale(.95)}}
.hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.hero-copy{max-width:580px}
.hero-pill{display:inline-flex;align-items:center;gap:9px;padding:5px 14px 5px 7px;background:rgba(196,160,60,.1);border:1px solid rgba(196,160,60,.28);border-radius:100px;margin-bottom:30px;animation:fadeUp .6s var(--ease) both}
.pill-led{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:ledPulse 2.4s ease-in-out infinite;flex-shrink:0}
@keyframes ledPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(196,160,60,.5)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(196,160,60,0)}}
.pill-text{font-family:var(--font-mono);font-size:.7rem;color:var(--gold-pale);letter-spacing:.1em;text-transform:uppercase}
.hero-headline{color:var(--white);margin-bottom:24px;animation:fadeUp .7s var(--ease) .08s both}
.hero-headline em{font-style:italic;color:var(--gold)}
.hero-sub{color:rgba(255,255,255,.58);margin-bottom:44px;animation:fadeUp .7s var(--ease) .16s both;max-width:500px}
.hero-btns{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:52px;animation:fadeUp .7s var(--ease) .24s both}
.hero-social{display:flex;align-items:center;gap:14px;animation:fadeUp .7s var(--ease) .32s both}
.social-faces{display:flex}
.face{width:30px;height:30px;border-radius:50%;border:2px solid var(--navy-deep);margin-left:-7px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:white}
.face:first-child{margin-left:0}
.f1{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}.f2{background:linear-gradient(135deg,#065f46,#34d399)}.f3{background:linear-gradient(135deg,#7c3aed,#c4b5fd)}.f4{background:linear-gradient(135deg,#92400e,#fbbf24)}.f5{background:linear-gradient(135deg,#9d174d,#f9a8d4)}
.social-txt{font-size:.8rem;color:rgba(255,255,255,.5)}
.social-txt strong{color:rgba(255,255,255,.8);font-weight:600}

.hero-visual{position:relative;animation:fadeUp .8s var(--ease) .2s both}
.dash-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-2xl);backdrop-filter:blur(16px);overflow:hidden;box-shadow:var(--sh-navy);transition:transform .1s ease-out}
.dash-header{display:flex;align-items:center;gap:8px;padding:13px 16px;background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.06)}
.dh-dot{width:10px;height:10px;border-radius:50%}
.dd-r{background:#ff5f57}.dd-y{background:#febc2e}.dd-g{background:#28c840}
.dh-bar{flex:1;height:20px;background:rgba(255,255,255,.055);border-radius:4px;margin:0 10px;display:flex;align-items:center;padding:0 10px;gap:6px}
.dh-url{font-family:var(--font-mono);font-size:.63rem;color:rgba(255,255,255,.28)}
.dash-body{padding:18px}
.d-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.d-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.065);border-radius:8px;padding:10px 11px}
.d-kpi-lbl{font-family:var(--font-mono);font-size:.5rem;color:rgba(255,255,255,.35);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.d-kpi-val{font-size:.9rem;font-weight:700;color:white}
.d-kpi-d{font-size:.56rem;font-weight:600;margin-top:3px}
.dpos{color:#4ade80}.dneg{color:#f87171}.dwarn{color:#fbbf24}
.d-charts{display:grid;grid-template-columns:3fr 2fr;gap:8px;margin-bottom:10px}
.d-chart{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.065);border-radius:8px;padding:11px;overflow:hidden}
.d-chart-t{font-family:var(--font-mono);font-size:.52rem;color:rgba(255,255,255,.35);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.d-bars{display:flex;align-items:flex-end;gap:3px;height:52px}
.db{flex:1;border-radius:2px 2px 0 0;background:rgba(196,160,60,.45);animation:growBar .9s var(--ease) both;transform-origin:bottom}
.db:nth-child(1){height:32%;animation-delay:.06s}.db:nth-child(2){height:45%;animation-delay:.10s}.db:nth-child(3){height:38%;animation-delay:.14s}.db:nth-child(4){height:56%;animation-delay:.18s}.db:nth-child(5){height:50%;animation-delay:.22s}.db:nth-child(6){height:65%;animation-delay:.26s}.db:nth-child(7){height:72%;animation-delay:.30s}.db:nth-child(8){height:62%;animation-delay:.34s}.db:nth-child(9){height:84%;animation-delay:.38s;background:rgba(196,160,60,.85)}.db:nth-child(10){height:91%;animation-delay:.42s;background:rgba(196,160,60,.95)}
@keyframes growBar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.d-donut-wrap{display:flex;align-items:center;justify-content:center;padding:4px 0}
.d-donut-wrap svg{animation:rotIn .8s var(--ease) .3s both}
@keyframes rotIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.d-score{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.065);border-radius:8px;padding:11px 13px;display:flex;align-items:center;gap:12px}
.d-score-num{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#4ade80;line-height:1;flex-shrink:0}
.d-score-lbl{font-family:var(--font-mono);font-size:.5rem;color:rgba(255,255,255,.35);letter-spacing:.1em;margin-bottom:4px}
.d-gauge-bg{height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.d-gauge-fill{height:100%;border-radius:3px;width:72%;background:linear-gradient(90deg,var(--gold),#4ade80);animation:gFill 1.2s var(--ease) .5s both}
@keyframes gFill{from{width:0}to{width:72%}}
.hero-chip{position:absolute;display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:100px;font-size:.7rem;font-weight:600;box-shadow:var(--sh-lg);pointer-events:none;animation:chipFloat 5s ease-in-out infinite}
.chip-algo{bottom:-12px;right:-14px;background:white;color:var(--navy-deep);animation-delay:-2s}
.chip-report{top:26px;left:-18px;background:var(--navy-3);color:white;border:1px solid rgba(196,160,60,.3);animation-delay:-1s}
.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cd-green{background:#22c55e}.cd-gold{background:var(--gold)}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;gap:56px}.hero-copy{max-width:100%}}
@media(max-width:600px){#hero{padding:108px 20px 72px}.hero-btns{flex-direction:column}.hero-btns .btn{justify-content:center}.d-kpis{grid-template-columns:repeat(2,1fr)}}

#ticker{background:var(--navy-2);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);height:44px;overflow:hidden;display:flex;align-items:center}
.ticker-inner{display:flex;align-items:center;animation:tickScroll 28s linear infinite;white-space:nowrap}
.tick-item{display:flex;align-items:center;gap:10px;padding:0 32px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.07)}
.tick-label{font-family:var(--font-mono);font-size:.62rem;color:rgba(255,255,255,.35);letter-spacing:.1em;text-transform:uppercase}
.tick-val{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:white}
.tick-delta{font-family:var(--font-mono);font-size:.62rem;font-weight:600}
.td-up{color:#4ade80}.td-dn{color:#f87171}.td-wn{color:#fbbf24}
@keyframes tickScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.section{padding:100px 0}.section-sm{padding:72px 0}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.eyebrow-line{width:28px;height:2px;background:var(--blue-600);border-radius:1px;flex-shrink:0}
.eyebrow-text{font-family:var(--font-mono);font-size:.68rem;color:var(--blue-600);letter-spacing:.14em;text-transform:uppercase}
.eyebrow-c{justify-content:center}
.eyebrow-light .eyebrow-line{background:var(--gold)}
.eyebrow-light .eyebrow-text{color:var(--gold-pale)}

#how{background:var(--white)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px;position:relative}
.how-grid::after{content:'';position:absolute;top:50px;left:18%;right:18%;height:1px;background:repeating-linear-gradient(90deg,var(--blue-600) 0,var(--blue-600) 8px,transparent 8px,transparent 18px);opacity:.25;pointer-events:none}
.how-step{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:36px 30px 32px;text-align:center;position:relative;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s;cursor:default}
.how-step:hover{box-shadow:var(--sh-lg);border-color:rgba(37,99,235,.18);transform:translateY(-6px)}
.how-step:hover .step-icon-wrap{transform:scale(1.08) rotate(-3deg)}
.step-num{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--blue-700),var(--blue-400));color:white;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(37,99,235,.45)}
.step-icon-wrap{width:68px;height:68px;border-radius:var(--r-lg);background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 22px;transition:transform .3s var(--ease-sp)}
.step-title{font-size:1.1rem;font-weight:700;color:var(--text-900);margin-bottom:10px}
.step-desc{font-size:.9rem;color:var(--text-500);line-height:1.66;margin-bottom:20px}
.step-link{display:inline-flex;align-items:center;gap:5px;font-size:.83rem;font-weight:600;color:var(--blue-600);transition:gap .2s var(--ease-sp)}
.step-link:hover{gap:10px}
@media(max-width:780px){.how-grid{grid-template-columns:1fr;gap:40px}.how-grid::after{display:none}}

#features{background:var(--navy-deep);overflow:hidden;position:relative}
#features::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 60% at 0% 50%,rgba(37,99,235,.1) 0%,transparent 55%),radial-gradient(ellipse 45% 50% at 100% 35%,rgba(196,160,60,.08) 0%,transparent 55%)}
#features::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 30%,transparent 75%)}
.features-head{position:relative;z-index:1;text-align:center;margin-bottom:60px}
.features-head .t-h2{color:white;margin-bottom:16px}
.features-head .t-lead{color:rgba(255,255,255,.48);max-width:500px;margin:0 auto}
.feat-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-xl);padding:36px;transition:background .3s,border-color .3s,transform .3s var(--ease);position:relative;overflow:hidden}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.feat-card:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);transform:translateY(-4px)}
.feat-card:hover::before{transform:scaleX(1)}
.feat-icon{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:20px}
.fi-blue{background:rgba(59,130,246,.12)}.fi-gold{background:rgba(196,160,60,.12)}.fi-green{background:rgba(22,163,74,.1)}.fi-purple{background:rgba(139,92,246,.12)}
.feat-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.fb-blue{background:rgba(59,130,246,.12);color:#93c5fd}.fb-gold{background:rgba(196,160,60,.12);color:var(--gold-pale)}.fb-green{background:rgba(22,163,74,.10);color:#86efac}.fb-purple{background:rgba(139,92,246,.12);color:#c4b5fd}
.feat-title{font-family:var(--font-display);font-size:1.22rem;font-weight:700;color:white;margin-bottom:10px}
.feat-desc{font-size:.88rem;color:rgba(255,255,255,.48);line-height:1.7;margin-bottom:22px}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.feat-list li{font-size:.82rem;color:rgba(255,255,255,.4);display:flex;align-items:flex-start;gap:9px;line-height:1.55}
.feat-list li::before{content:'';flex-shrink:0;width:4px;height:4px;border-radius:50%;background:var(--gold);margin-top:7px}
@media(max-width:720px){.feat-grid{grid-template-columns:1fr}}

#stats{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat{padding:48px 20px;border-right:1px solid var(--border);transition:background .25s}
.stat:last-child{border-right:none}
.stat:hover{background:white}
.stat-n{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;color:var(--text-900);line-height:1;margin-bottom:8px}
.stat-n span{color:var(--blue-600)}
.stat-lbl{font-size:.85rem;color:var(--text-500);line-height:1.5}
@media(max-width:700px){.stats-row{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat{border-bottom:1px solid var(--border)}.stat:nth-child(3),.stat:nth-child(4){border-bottom:none}}

#preview{background:var(--surface)}
.preview-head{text-align:center;margin-bottom:56px}
.report-frame{background:white;border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-xl);overflow:hidden}
.rf-topbar{display:flex;align-items:center;gap:8px;padding:13px 18px;background:var(--navy-deep);border-bottom:2.5px solid var(--gold)}
.rft-dot{width:10px;height:10px;border-radius:50%}
.rtd-r{background:#ff5f57}.rtd-y{background:#febc2e}.rtd-g{background:#28c840}
.rft-title{flex:1;text-align:center;font-family:var(--font-mono);font-size:.68rem;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase}
.rft-chip{font-family:var(--font-mono);font-size:.6rem;font-weight:500;color:var(--gold);background:rgba(196,160,60,.1);border:1px solid rgba(196,160,60,.22);padding:3px 10px;border-radius:100px;letter-spacing:.06em}
.rf-body{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rf-kpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rf-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;position:relative;overflow:hidden}
.rf-kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.rk-blue::after{background:var(--blue-600)}.rk-green::after{background:var(--green)}.rk-amber::after{background:var(--amber)}.rk-red::after{background:var(--red)}
.rfk-lbl{font-family:var(--font-mono);font-size:.6rem;color:var(--text-400);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.rfk-val{font-family:var(--font-display);font-size:1.45rem;font-weight:700;color:var(--text-900);line-height:1;margin-bottom:5px}
.rfk-d{font-size:.7rem;font-weight:600}
.rkd-up{color:var(--green)}.rkd-dn{color:var(--red)}.rkd-wn{color:var(--amber)}
.rf-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px}
.rfc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rfc-title{font-family:var(--font-display);font-size:.92rem;font-weight:600;color:var(--text-900)}
.rfc-period{font-family:var(--font-mono);font-size:.64rem;color:var(--text-400);background:var(--border);padding:3px 9px;border-radius:100px}
.rfc-bars{display:flex;align-items:flex-end;gap:5px;height:90px}
.rfb{flex:1;border-radius:3px 3px 0 0;background:var(--blue-600);opacity:.55;transition:opacity .2s}
.rfb:hover{opacity:1}
.rfb.gold-bar{background:var(--gold);opacity:.7}
.rfb:nth-child(1){height:36%}.rfb:nth-child(2){height:50%}.rfb:nth-child(3){height:42%}.rfb:nth-child(4){height:65%}.rfb:nth-child(5){height:57%}.rfb:nth-child(6){height:75%}.rfb:nth-child(7){height:80%}.rfb:nth-child(8){height:72%}.rfb:nth-child(9){height:91%}.rfb:nth-child(10){height:100%}.rfb:nth-child(11){height:86%}.rfb:nth-child(12){height:95%}
.rf-health{background:var(--navy-deep);border-radius:var(--r-md);padding:22px;color:white}
.rfh-lbl{font-family:var(--font-mono);font-size:.6rem;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.rfh-score{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}
.rfh-num{font-family:var(--font-display);font-size:2.8rem;font-weight:700;color:#4ade80;line-height:1}
.rfh-of{font-size:.85rem;color:rgba(255,255,255,.35)}
.rfh-tag{font-family:var(--font-mono);font-size:.62rem;font-weight:600;color:#4ade80;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);padding:2px 9px;border-radius:100px;margin-left:6px}
.rfh-bar-bg{height:6px;background:rgba(255,255,255,.08);border-radius:3px;margin-bottom:16px;overflow:hidden}
.rfh-bar-fill{height:100%;width:73%;background:linear-gradient(90deg,var(--gold),#4ade80);border-radius:3px}
.rfh-dims{display:flex;flex-direction:column;gap:7px}
.rfhd{display:flex;align-items:center;gap:9px;font-size:.72rem}
.rfhd-lbl{color:rgba(255,255,255,.45);flex:1.2}
.rfhd-bar{flex:2;height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.rfhd-fill{height:100%;border-radius:2px}
.rfhd-pts{color:rgba(255,255,255,.6);font-weight:600;min-width:36px;text-align:right;font-family:var(--font-mono);font-size:.65rem}
.rf-actions{grid-column:1/-1}
.rfa-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rfa-title{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-900)}
.rfa-count{font-family:var(--font-mono);font-size:.65rem;color:var(--text-400);background:var(--surface-2);padding:3px 9px;border-radius:100px}
.action-rows{display:flex;flex-direction:column;gap:8px}
.action-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);border-left:3px solid transparent;transition:background .2s}
.action-row:hover{background:white}
.ar-1{border-left-color:var(--red)}.ar-2{border-left-color:var(--amber)}.ar-3{border-left-color:var(--blue-600)}
.ar-pri{font-family:var(--font-mono);font-size:.62rem;font-weight:600;padding:3px 9px;border-radius:100px;white-space:nowrap;flex-shrink:0}
.pri-r{background:#fee2e2;color:var(--red)}.pri-a{background:#fef3c7;color:#92400e}.pri-b{background:#dbeafe;color:var(--blue-700)}
.ar-owner{font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:white;background:var(--navy);padding:3px 9px;border-radius:4px;flex-shrink:0}
.ar-text{font-size:.84rem;color:var(--text-900);font-weight:500;flex:1;line-height:1.45}
@media(max-width:900px){.rf-kpis{grid-template-columns:repeat(2,1fr)}.rf-body{grid-template-columns:1fr}.rf-actions{grid-column:1}}
@media(max-width:560px){.rf-body{padding:16px;gap:12px}.rf-kpis{grid-template-columns:1fr 1fr}}

#testimonials{background:var(--white)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.testi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px;box-shadow:var(--sh-sm);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.testi-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px)}
.tc-stars{color:#f59e0b;font-size:.95rem;letter-spacing:3px;margin-bottom:16px}
.tc-quote{font-family:var(--font-display);font-size:.98rem;font-style:italic;color:var(--text-900);line-height:1.72;margin-bottom:22px}
.tc-author{display:flex;align-items:center;gap:12px}
.tc-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:white;flex-shrink:0}
.ta-1{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}.ta-2{background:linear-gradient(135deg,#065f46,#34d399)}.ta-3{background:linear-gradient(135deg,#7c3aed,#c4b5fd)}
.tc-name{font-size:.88rem;font-weight:700;color:var(--text-900)}
.tc-role{font-size:.76rem;color:var(--text-400);margin-top:1px}
@media(max-width:760px){.testi-grid{grid-template-columns:1fr}}

#cta{background:var(--navy-deep);padding:120px 28px;text-align:center;overflow:hidden;position:relative}
#cta::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 65% at 50% 0%,rgba(196,160,60,.13) 0%,transparent 58%),radial-gradient(ellipse 55% 60% at 50% 100%,rgba(37,99,235,.18) 0%,transparent 55%)}
#cta::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:48px 48px}
.cta-inner{position:relative;z-index:2}
.cta-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 8px;background:rgba(196,160,60,.09);border:1px solid rgba(196,160,60,.24);border-radius:100px;margin-bottom:26px;font-family:var(--font-mono);font-size:.68rem;color:var(--gold-pale);letter-spacing:.1em;text-transform:uppercase}
.cta-title{color:white;max-width:680px;margin:0 auto 20px}
.cta-title em{font-style:italic;color:var(--gold)}
.cta-sub{color:rgba(255,255,255,.48);max-width:460px;margin:0 auto 44px}
.cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.cta-reassure{font-family:var(--font-mono);font-size:.68rem;color:rgba(255,255,255,.28);letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}

#landing-wrap footer{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.06);padding:44px 28px}
.footer-row{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-links{display:flex;flex-wrap:wrap;gap:26px}
.footer-links a{font-size:.82rem;color:rgba(255,255,255,.38);transition:color .2s}
.footer-links a:hover{color:rgba(255,255,255,.75)}
.footer-copy{font-size:.75rem;color:rgba(255,255,255,.25);font-family:var(--font-mono)}

.sr{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.sr.in{opacity:1;transform:translateY(0)}
.sr-d1{transition-delay:.09s}.sr-d2{transition-delay:.18s}.sr-d3{transition-delay:.27s}.sr-d4{transition-delay:.36s}

@media(max-width:520px){
  .nav-inner{ padding:0 16px; gap:12px; }
  .nav-name{ font-size:.85rem; }
  .nav-tag{ display:none; }
  .nav-actions .btn{ font-size:.8rem; padding:8px 14px; }
}

@media(max-width:768px){
  #hero{ padding:96px 20px 64px; min-height:auto; }
  .hero-visual{ display:none; }
  .hero-headline{ font-size:clamp(1.6rem,6vw,2.4rem) !important; }
  .hero-sub{ font-size:.9rem !important; }
  .hero-btns{ flex-direction:column; align-items:stretch; }
  .hero-btns .btn{ justify-content:center; min-width:0; }
  .hero-social{ margin-top:12px; }
  .social-txt{ font-size:.78rem; }
}
@media(max-width:480px){
  #hero{ padding:80px 14px 52px; }
  .hero-trust{ gap:10px; }
  .hero-trust span{ font-size:.72rem; }
  .d-kpis{ grid-template-columns:1fr 1fr !important; gap:6px; }
}

@media(max-width:480px){
  #ticker .ticker-inner{ font-size:.75rem; }
}

@media(max-width:480px){
  .how-step{ padding:20px; }
  .step-num{ font-size:1.4rem; }
  .step-title{ font-size:1rem; }
  .step-desc{ font-size:.82rem; }
}

@media(max-width:480px){
  .feat-card{ padding:22px 18px; }
  .feat-title{ font-size:1rem; }
  .feat-desc{ font-size:.82rem; }
  .feat-list{ font-size:.8rem; }
  .feat-list li{ padding:3px 0; }
}

@media(max-width:400px){
  .stats-row{ grid-template-columns:1fr 1fr !important; }
  .stat-num{ font-size:2rem; }
}

@media(max-width:768px){
  .report-frame{ border-radius:12px; }
  .rf-topbar{ padding:8px 12px; }
  .rf-kpis{ grid-template-columns:1fr 1fr !important; }
  .rf-body{ padding:16px; }
}
@media(max-width:480px){
  .rf-kpis{ grid-template-columns:1fr 1fr !important; gap:6px; }
  .rf-kpi{ padding:10px; }
  .rfk-val{ font-size:1.1rem; }
}

@media(max-width:480px){
  .testi-card{ padding:20px; }
  .testi-text{ font-size:.85rem; }
}

@media(max-width:480px){
  #cta{ padding:72px 16px; }
  .cta-title{ font-size:clamp(1.4rem,5.5vw,2rem) !important; }
  .cta-sub{ font-size:.85rem !important; }
  .cta-btns{ gap:10px; }
  .cta-reassure{ flex-direction:column; align-items:center; gap:6px; font-size:.75rem; }
}

@media(max-width:600px){
  #pricing .feat-grid{ grid-template-columns:1fr !important; }
}

@media(max-width:480px){
  footer{ padding:32px 16px; }
  .footer-links{ flex-wrap:wrap; gap:12px; justify-content:center; }
  .footer-links a{ font-size:.8rem; }
}

@media(max-width:480px){
  .t-h2{ font-size:clamp(1.3rem,5.5vw,1.8rem) !important; }
  .t-lead{ font-size:.88rem !important; }
  .wrap{ padding:0 16px; }
  .wrap-sm,.wrap-xs{ padding:0 16px; }
  section{ padding-left:0 !important; padding-right:0 !important; }
  section > .wrap,section > .wrap-sm,section > .wrap-xs{ padding:0 16px; }
}
@media(max-width:768px){
  .wrap{ padding:0 20px; }
  .wrap-sm,.wrap-xs{ padding:0 20px; }
}

/* ─── bloque #3 (era line 4090 del index.html) ─── */
#landing-wrap {
  transition: opacity .45s ease, transform .45s ease;
}
#landing-wrap.hiding {
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
}

#builder-wrap {
  background: #060d1a;
  font-family: 'DM Sans', sans-serif;
  color: #f0ede6;
  min-height: 100vh;
  position: relative;
  opacity: 0; transform: translateY(18px);
  transition: opacity .5s ease, transform .5s ease;
}
#builder-wrap.shown { opacity: 1; transform: translateY(0); }
#dashboard-wrap { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
#dashboard-wrap.shown { opacity: 1; transform: translateY(0); }

.rb-nav {
  background: rgba(6,13,26,.92);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(212,168,67,.18);
  padding: 0 28px; height: 62px;
  display: flex; align-items: center; gap: 20px;
  position: sticky; top: 0; z-index: 100;
}
.rb-nav-brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.rb-nav-logo {
  width: 34px; height: 34px; border-radius: 9px;
  background: linear-gradient(135deg, #d4a843 0%, #a07828 100%);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Libre Baskerville', serif; font-size: 14px; font-weight: 700;
  color: #060d1a; box-shadow: 0 2px 8px rgba(212,168,67,.35);
}
.rb-nav-name { font-weight: 700; font-size: .93rem; color: #f0ede6; letter-spacing: -.01em; }
.rb-nav-tag  { font-size: .6rem; color: #92a0b8; letter-spacing: .1em; text-transform: uppercase; font-family: 'DM Mono', monospace; }
.rb-nav-status { display: flex; align-items: center; gap: 12px; flex: 1; justify-content: center; }
.rb-ns-step { display: flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 600; color: rgba(255,255,255,.3); transition: color .25s; }
.rb-ns-step.active { color: #d4a843; }
.rb-ns-step.done   { color: #27d464; }
.rb-ns-dot { width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; transition: all .25s; flex-shrink: 0; color: rgba(255,255,255,.3); }
.rb-ns-step.active .rb-ns-dot { background: rgba(212,168,67,.14); border-color: rgba(212,168,67,.4); color: #d4a843; }
.rb-ns-step.done   .rb-ns-dot { background: rgba(39,212,100,.14); border-color: rgba(39,212,100,.4); color: #27d464; }
.rb-ns-label { white-space: nowrap; font-size: .78rem; }
.rb-ns-line { flex: 1; max-width: 48px; height: 1px; background: rgba(255,255,255,.1); transition: background .35s; }
.rb-ns-line.active { background: linear-gradient(90deg, #d4a843, rgba(212,168,67,.3)); }
.rb-ns-pill { display: flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); font-size: .71rem; font-weight: 600; color: #92a0b8; transition: all .25s; white-space: nowrap; font-family: 'DM Mono', monospace; }
.rb-ns-pill.ready   { background: rgba(39,212,100,.14); border-color: rgba(39,212,100,.3); color: #27d464; }
.rb-ns-pill.loading { background: rgba(212,168,67,.14); border-color: rgba(212,168,67,.3); color: #d4a843; }
.rb-ns-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.25); flex-shrink: 0; transition: background .25s; }
.rb-ns-pill.ready   .rb-ns-pill-dot { background: #27d464; animation: rb-dot-pulse 2s infinite; }
.rb-ns-pill.loading .rb-ns-pill-dot { background: #d4a843; animation: rb-dot-pulse 1s infinite; }
@keyframes rb-dot-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.7)} }

.rb-back { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 7px; padding: 7px 14px; font-size: .8rem; font-weight: 500; color: #92a0b8; cursor: pointer; transition: all .15s; flex-shrink: 0; font-family: 'DM Sans', sans-serif; }
.rb-back:hover { background: rgba(255,255,255,.1); color: #f0ede6; }

.rb-demo-banner { max-width: 860px; margin: 18px auto 0; width: calc(100% - 48px); background: linear-gradient(135deg, #0d1a2e, #132238); border: 1px solid rgba(212,168,67,.28); border-radius: 12px; padding: 14px 20px; display: flex; align-items: center; gap: 14px; }
.rb-demo-banner-icon { font-size: 1.4rem; flex-shrink: 0; }
.rb-demo-banner-body { flex: 1; }
.rb-demo-banner-title { font-weight: 700; font-size: .88rem; color: #f0ede6; margin-bottom: 2px; display: flex; align-items: center; gap: 8px; }
.rb-demo-tag { background: rgba(212,168,67,.14); border: 1px solid rgba(212,168,67,.3); border-radius: 20px; padding: 2px 9px; font-size: .65rem; font-weight: 700; color: #d4a843; letter-spacing: .04em; }
.rb-demo-banner-sub { font-size: .8rem; color: #92a0b8; }
.rb-demo-banner-close { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 7px; padding: 6px 13px; color: #f0ede6; font-size: .77rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .15s; flex-shrink: 0; font-family: 'DM Sans', sans-serif; }
.rb-demo-banner-close:hover { background: rgba(255,255,255,.16); }

.rb-body { max-width: 900px; margin: 0 auto; padding: 0 28px 80px; }

.rb-workspace-header { padding: 36px 0 26px; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rb-wh-left { flex: 1; }
.rb-wh-eyebrow { display: inline-flex; align-items: center; gap: 7px; background: rgba(39,212,100,.14); border: 1px solid rgba(39,212,100,.25); border-radius: 20px; padding: 4px 12px; font-size: .68rem; font-weight: 700; color: #27d464; margin-bottom: 10px; letter-spacing: .04em; text-transform: uppercase; font-family: 'DM Mono', monospace; transition: all .3s; }
.rb-wh-eyebrow.neutral { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: #92a0b8; }
.rb-wh-eyebrow.loaded  { background: rgba(212,168,67,.14); border-color: rgba(212,168,67,.28); color: #d4a843; }
.rb-wh-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #27d464; flex-shrink: 0; animation: rb-dot-pulse 2s infinite; }
.rb-wh-eyebrow.neutral .rb-wh-eyebrow-dot { background: #92a0b8; animation: none; }
.rb-wh-eyebrow.loaded  .rb-wh-eyebrow-dot { background: #d4a843; }
.rb-wh-title { font-family: 'Libre Baskerville', serif; font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 700; color: #f0ede6; margin-bottom: 8px; letter-spacing: -.02em; line-height: 1.2; }
.rb-wh-sub { font-size: .88rem; color: #92a0b8; line-height: 1.6; max-width: 520px; }
.rb-wh-right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
.rb-wh-demo-btn { display: flex; align-items: center; gap: 7px; background: linear-gradient(135deg, #d4a843, #a07828); color: #060d1a; border: none; border-radius: 8px; padding: 9px 18px; font-size: .84rem; font-weight: 700; cursor: pointer; transition: all .2s; box-shadow: 0 3px 12px rgba(212,168,67,.3); font-family: 'DM Sans', sans-serif; }
.rb-wh-demo-btn:hover { transform: translateY(-1px); box-shadow: 0 5px 18px rgba(212,168,67,.45); filter: brightness(1.08); }
.rb-wh-demo-meta { font-size: .71rem; color: #92a0b8; font-family: 'DM Mono', monospace; }
@media(max-width:640px) { .rb-workspace-header { flex-direction: column; align-items: flex-start; } .rb-wh-right { align-items: flex-start; } }

.rb-section-wrap { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 26px; margin-bottom: 14px; transition: border-color .2s; }
.rb-section-wrap:hover { border-color: rgba(212,168,67,.2); }
.rb-section-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.rb-section-num { width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0; background: rgba(212,168,67,.14); border: 1px solid rgba(212,168,67,.3); display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; color: #d4a843; font-family: 'DM Mono', monospace; }
.rb-section-title { font-size: 1rem; font-weight: 700; color: #f0ede6; margin-bottom: 3px; }
.rb-section-desc  { font-size: .82rem; color: #92a0b8; }

.rb-input-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 22px; }
.rb-input-tab { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); cursor: pointer; transition: all .2s; font-family: 'DM Sans', sans-serif; font-size: .88rem; font-weight: 700; color: #92a0b8; text-align: left; }
.rb-input-tab:hover { border-color: rgba(212,168,67,.35); background: rgba(212,168,67,.08); color: #f0ede6; }
.rb-input-tab.active { border-color: rgba(212,168,67,.5); background: rgba(212,168,67,.14); color: #d4a843; }
.rb-input-tab svg { flex-shrink: 0; opacity: .7; }
.rb-input-tab.active svg { opacity: 1; }
.rb-tab-sub { display: block; font-size: .71rem; font-weight: 400; opacity: .6; margin-top: 2px; line-height: 1.3; }
.rb-input-tab.active .rb-tab-sub { opacity: .75; }
.rb-upload-area.hidden { display: none !important; }

.rb-upload-grid { display: grid; grid-template-columns: 1fr 250px; gap: 16px; align-items: start; }
@media(max-width:680px) { .rb-upload-grid { grid-template-columns: 1fr; } }
.rb-dropzone { position: relative; overflow: hidden; border: 2px dashed rgba(212,168,67,.28); border-radius: 14px; background: rgba(212,168,67,.04); cursor: pointer; transition: all .25s; min-height: 196px; display: flex; align-items: center; justify-content: center; }
.rb-dropzone:hover, .rb-dropzone.drag { border-color: rgba(212,168,67,.6); border-style: solid; background: rgba(212,168,67,.08); }
.rb-dropzone.has-file { border-style: solid; border-color: rgba(39,212,100,.45); background: rgba(39,212,100,.07); }
.rb-dz-bg-pattern { position: absolute; inset: 0; opacity: .04; background-image: radial-gradient(circle, #d4a843 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.rb-dz-content { position: relative; text-align: center; padding: 30px 22px; width: 100%; }
.rb-dz-icon-wrap { width: 50px; height: 50px; border-radius: 12px; background: rgba(212,168,67,.1); border: 1px solid rgba(212,168,67,.25); display: flex; align-items: center; justify-content: center; margin: 0 auto 13px; color: #d4a843; transition: all .2s; }
.rb-dropzone:hover .rb-dz-icon-wrap { background: rgba(212,168,67,.18); transform: scale(1.05); }
.rb-dropzone.has-file .rb-dz-icon-wrap { background: rgba(39,212,100,.14); border-color: rgba(39,212,100,.3); color: #27d464; }
.rb-dz-title { font-size: .92rem; font-weight: 700; color: #f0ede6; margin-bottom: 5px; }
.rb-dz-sub   { font-size: .8rem; color: #92a0b8; margin-bottom: 15px; }
.rb-dz-btn { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; padding: 7px 15px; font-size: .8rem; font-weight: 600; color: #c8d0de; cursor: pointer; transition: all .15s; font-family: 'DM Sans', sans-serif; }
.rb-dz-btn:hover { background: rgba(255,255,255,.13); color: #f0ede6; }
.rb-dz-file-name { display: none; align-items: center; justify-content: center; gap: 8px; font-size: .83rem; font-weight: 600; color: #27d464; margin-top: 10px; }
.rb-dropzone.has-file .rb-dz-title,
.rb-dropzone.has-file .rb-dz-sub,
.rb-dropzone.has-file .rb-dz-btn { display: none; }
.rb-dropzone.has-file .rb-dz-file-name { display: flex; }
.rb-dz-remove { background: none; border: none; color: #92a0b8; cursor: pointer; font-size: .9rem; padding: 0 4px; transition: color .15s; }
.rb-dz-remove:hover { color: #f0453a; }

.rb-dz-feedback { display: none; margin: 0 12px 12px; background: rgba(39,212,100,.1); border: 1px solid rgba(39,212,100,.22); border-radius: 10px; padding: 12px 14px; text-align: left; }
.rb-dropzone.has-file .rb-dz-feedback { display: block; }
.rb-dz-feedback.warn  { background: rgba(245,166,35,.1); border-color: rgba(245,166,35,.25); }
.rb-dz-feedback.error { background: rgba(240,69,58,.1); border-color: rgba(240,69,58,.25); }
.rb-dzf-header { display: flex; align-items: center; gap: 7px; font-size: .79rem; font-weight: 700; color: #27d464; margin-bottom: 9px; }
.rb-dz-feedback.warn  .rb-dzf-header { color: #f5a623; }
.rb-dz-feedback.error .rb-dzf-header { color: #f0453a; }
.rb-dzf-stat { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; padding: 6px 9px; text-align: center; }
.rb-dzf-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-bottom: 9px; }
.rb-dzf-stat-val { font-size: .85rem; font-weight: 700; color: #f0ede6; }
.rb-dzf-stat-lbl { font-size: .61rem; color: #92a0b8; text-transform: uppercase; letter-spacing: .06em; margin-top: 1px; font-family: 'DM Mono', monospace; }
.rb-dzf-modules { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 6px; }
.rb-dzf-mod { font-size: .68rem; font-weight: 600; padding: 3px 8px; border-radius: 10px; }
.rb-dzf-mod.on  { background: rgba(39,212,100,.14); color: #27d464; border: 1px solid rgba(39,212,100,.25); }
.rb-dzf-mod.off { background: rgba(255,255,255,.04); color: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.08); }
.rb-dzf-warning { font-size: .73rem; color: #f5a623; background: rgba(245,166,35,.1); border-radius: 7px; padding: 6px 9px; display: flex; gap: 6px; align-items: flex-start; }

.rb-upload-sidebar { display: flex; flex-direction: column; gap: 12px; }
.rb-upload-tip { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.09); border-radius: 12px; padding: 14px; display: flex; gap: 11px; align-items: flex-start; }
.rb-upload-tip-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: 1px; }
.rb-upload-tip-title { font-size: .83rem; font-weight: 700; color: #f0ede6; margin-bottom: 4px; }
.rb-upload-tip-desc  { font-size: .75rem; color: #92a0b8; line-height: 1.5; margin-bottom: 10px; }
.rb-template-btn { display: inline-flex; align-items: center; gap: 6px; background: rgba(212,168,67,.14); border: 1px solid rgba(212,168,67,.3); color: #d4a843; border-radius: 7px; padding: 7px 13px; font-size: .77rem; font-weight: 700; cursor: pointer; transition: all .15s; font-family: 'DM Sans', sans-serif; }
.rb-template-btn:hover { background: rgba(212,168,67,.22); border-color: rgba(212,168,67,.5); }
.rb-upload-reqs { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 13px 14px; display: flex; flex-direction: column; gap: 7px; }
.rb-upload-req { display: flex; align-items: center; gap: 9px; font-size: .76rem; color: #92a0b8; }
.rb-req-check { color: #d4a843; font-weight: 700; font-size: .77rem; flex-shrink: 0; }
.rb-req-opt { opacity: .6; }
.rb-req-check-opt { color: #92a0b8 !important; }

.rb-plans { display: grid; grid-template-columns: 1fr; gap: 12px; max-width: 480px; margin: 0 auto; }
@media(max-width:720px) { .rb-plans { grid-template-columns: 1fr; } }
.rb-billing-toggle { display: flex; align-items: center; gap: 4px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 4px; margin-bottom: 20px; width: fit-content; }
.rb-billing-btn { padding: 7px 16px; border-radius: 7px; border: none; background: transparent; font-family: 'DM Sans', sans-serif; font-size: .82rem; font-weight: 600; color: #92a0b8; cursor: pointer; transition: all .18s; }
.rb-billing-btn.active { background: rgba(212,168,67,.14); color: #d4a843; border: 1px solid rgba(212,168,67,.3); }
.rb-billing-save-badge { display: inline-flex; align-items: center; background: rgba(39,212,100,.14); color: #27d464; font-size: .64rem; font-weight: 700; padding: 2px 7px; border-radius: 8px; margin-left: 5px; border: 1px solid rgba(39,212,100,.25); }
.rb-plan { background: rgba(255,255,255,.03); border: 1.5px solid rgba(255,255,255,.08); border-radius: 14px; padding: 20px 18px; cursor: pointer; transition: all .2s; position: relative; overflow: hidden; }
.rb-plan::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: rgba(212,168,67,.3); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.rb-plan:hover { border-color: rgba(212,168,67,.3); background: rgba(212,168,67,.04); transform: translateY(-2px); }
.rb-plan:hover::before,
.rb-plan.selected::before { transform: scaleX(1); }
.rb-plan.selected { border-color: rgba(212,168,67,.5); background: rgba(212,168,67,.08); }
.rb-plan.professional::before { background: #a866cc; }
.rb-plan.professional:hover { border-color: rgba(168,102,204,.45); background: rgba(168,102,204,.06); }
.rb-plan.professional.selected { border-color: rgba(168,102,204,.55); background: rgba(168,102,204,.08); }
.rb-plan.advisory::before { background: #f5a623; }
.rb-plan.advisory:hover { border-color: rgba(245,166,35,.4); background: rgba(245,166,35,.05); }
.rb-plan.advisory.selected { border-color: rgba(245,166,35,.55); background: rgba(245,166,35,.07); }
.rb-plan-check { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.15); background: rgba(255,255,255,.05); display: flex; align-items: center; justify-content: center; font-size: .65rem; color: transparent; position: absolute; top: 16px; right: 16px; transition: all .2s; }
.rb-plan.selected .rb-plan-check { background: #d4a843; border-color: #d4a843; color: #060d1a; }
.rb-plan.professional.selected .rb-plan-check { background: #a866cc; border-color: #a866cc; color: #fff; }
.rb-plan.advisory.selected     .rb-plan-check { background: #f5a623; border-color: #f5a623; color: #060d1a; }
.rb-plan-popular { display: inline-block; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 20px; margin-bottom: 10px; background: rgba(168,102,204,.15); color: #a866cc; border: 1px solid rgba(168,102,204,.3); }
.rb-plan-popular--advisory { background: rgba(245,166,35,.15); color: #f5a623; border-color: rgba(245,166,35,.3); }
.rb-plan-badge { font-size: .61rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 2px 8px; border-radius: 6px; display: inline-block; margin-bottom: 7px; background: rgba(212,168,67,.14); color: #d4a843; border: 1px solid rgba(212,168,67,.25); }
.rb-plan.professional .rb-plan-badge { background: rgba(168,102,204,.12); color: #a866cc; border-color: rgba(168,102,204,.25); }
.rb-plan.advisory     .rb-plan-badge { background: rgba(245,166,35,.12); color: #f5a623; border-color: rgba(245,166,35,.25); }
.rb-plan-name { font-family: 'Libre Baskerville', serif; font-size: 1.05rem; font-weight: 700; color: #f0ede6; margin-bottom: 12px; }
.rb-plan-price { display: flex; align-items: baseline; gap: 2px; margin-bottom: 4px; }
.rb-plan-price-monthly { display: none; }
body.billing-monthly .rb-plan-price-onetime { display: none; }
body.billing-monthly .rb-plan-price-monthly { display: flex; align-items: baseline; gap: 2px; }
.rb-plan-price-num { font-family: 'DM Mono', monospace; font-size: 1.85rem; font-weight: 700; color: #f0ede6; line-height: 1; letter-spacing: -.03em; }
.rb-plan-price-cur { font-size: .95rem; font-weight: 700; color: #c8d0de; }
.rb-plan-price-note { font-size: .75rem; color: #92a0b8; margin-left: 3px; }
.rb-plan-price-mo-note { font-size: .7rem; color: #92a0b8; display: none; }
body.billing-monthly .rb-plan-price-mo-note { display: block; }
.rb-plan-saving { font-size: .7rem; color: #27d464; display: none; font-weight: 600; }
body.billing-monthly .rb-plan-saving { display: block; }
.rb-plan-divider { height: 1px; background: rgba(255,255,255,.08); margin: 12px 0; }
.rb-plan-kicker { font-size: .72rem; color: #92a0b8; font-style: italic; margin-bottom: 11px; line-height: 1.45; }
.rb-plan-features { list-style: none; padding: 0; margin: 0; }
.rb-plan-features li { font-size: .79rem; color: #c8d0de; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.06); display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; }
.rb-plan-features li:last-child { border-bottom: none; }
.rb-plan-features li::before { content: '✓'; font-weight: 800; font-size: .67rem; flex-shrink: 0; margin-top: 2px; color: #d4a843; }
.rb-plan.professional .rb-plan-features li::before { color: #a866cc; }
.rb-plan.advisory     .rb-plan-features li::before { color: #f5a623; }
.rb-plan-ideal { font-size: .71rem; color: #92a0b8; font-style: italic; margin-top: 11px; padding: 7px 10px; background: rgba(255,255,255,.04); border-radius: 7px; border-left: 2px solid rgba(212,168,67,.3); line-height: 1.45; }
.rb-plan.selected .rb-plan-ideal { border-left-color: #d4a843; }
.rb-plan.professional.selected .rb-plan-ideal { border-left-color: #a866cc; }
.rb-plan.advisory.selected     .rb-plan-ideal { border-left-color: #f5a623; }
.rb-session-badge { display: none; align-items: center; gap: 6px; margin-top: 11px; padding: 7px 10px; background: rgba(245,166,35,.1); border: 1px solid rgba(245,166,35,.25); border-radius: 8px; font-size: .74rem; color: #f5a623; font-weight: 600; }

.rb-plan-footnote { display: flex; align-items: center; gap: 7px; font-size: .73rem; color: #92a0b8; margin-top: 14px; padding: 9px 13px; font-family: 'DM Mono', monospace; background: rgba(255,255,255,.03); border-radius: 9px; border: 1px solid rgba(255,255,255,.07); }
.rb-plan-footnote svg { flex-shrink: 0; }
.plan-f-monthly { display: none; }
body.billing-monthly .plan-f-monthly { display: flex; }
body.billing-monthly .plan-f-onetime { display: none; }

.rb-generate-section { background: rgba(212,168,67,.04); border-color: rgba(212,168,67,.2); }
.rb-readiness { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 15px 17px; margin-bottom: 20px; transition: all .3s; }
.rb-readiness.ready   { background: rgba(39,212,100,.07); border-color: rgba(39,212,100,.25); }
.rb-readiness.loading { background: rgba(212,168,67,.07); border-color: rgba(212,168,67,.3); }
.rb-readiness-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rb-readiness-state { display: flex; align-items: center; gap: 12px; }
.rb-rs-ring { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; transition: all .25s; }
.rb-readiness.ready   .rb-rs-ring { background: rgba(39,212,100,.14); border-color: rgba(39,212,100,.35); }
.rb-readiness.loading .rb-rs-ring { background: rgba(212,168,67,.14); border-color: rgba(212,168,67,.4); animation: rb-dot-pulse 1.5s infinite; }
.rb-rs-label { font-size: .87rem; font-weight: 700; color: #f0ede6; }
.rb-rs-sub   { font-size: .76rem; color: #92a0b8; margin-top: 1px; }
.rb-readiness-modules { display: flex; flex-wrap: wrap; gap: 5px; }
.rb-rm-tag { font-size: .69rem; font-weight: 600; padding: 4px 10px; border-radius: 10px; transition: all .2s; font-family: 'DM Mono', monospace; }
.rb-rm-tag.on  { background: rgba(39,212,100,.14); color: #27d464; border: 1px solid rgba(39,212,100,.25); }
.rb-rm-tag.off { background: rgba(255,255,255,.04); color: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.07); }
.rb-readiness-detail { display: flex; align-items: center; gap: 10px; margin-top: 11px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.07); font-size: .76rem; color: #92a0b8; flex-wrap: wrap; }
.rb-readiness.ready .rb-readiness-detail { border-top-color: rgba(39,212,100,.2); }
.rb-rd-item { display: flex; align-items: center; gap: 5px; }
.rb-rd-sep  { color: rgba(255,255,255,.15); font-size: .7rem; }
.rb-generate-wrap { text-align: center; }
.rb-generate-btn { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(135deg, #d4a843 0%, #b8892a 100%); color: #060d1a; border: none; border-radius: 12px; padding: 16px 44px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all .25s; letter-spacing: -.01em; box-shadow: 0 6px 28px rgba(212,168,67,.35); min-width: 280px; justify-content: center; position: relative; overflow: hidden; font-family: 'DM Sans', sans-serif; }
.rb-generate-btn::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.12) 0%, transparent 60%); pointer-events: none; }
.rb-generate-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(212,168,67,.5); filter: brightness(1.07); }
.rb-generate-btn:active { transform: translateY(0); }
.rb-generate-btn:disabled { opacity: .35; cursor: not-allowed; transform: none !important; box-shadow: none !important; filter: none !important; }
.rb-generate-reassure { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 13px; font-size: .73rem; color: #92a0b8; flex-wrap: wrap; font-family: 'DM Mono', monospace; }
.rb-error { display: none; align-items: center; gap: 8px; background: rgba(240,69,58,.1); border: 1px solid rgba(240,69,58,.3); border-radius: 9px; padding: 10px 15px; margin-bottom: 16px; text-align: left; font-size: .82rem; color: #f0453a; font-weight: 500; }
.rb-error.show, .rb-error.visible { display: flex; }
.rb-generate-summary { display: none; }
.rb-gen-sum-item,.rb-gen-sum-sep,.rb-gen-sum-icon--ok,.rb-gen-sum-icon--pending { display: none; }
@keyframes rb-section-pulse { 0%{box-shadow:0 0 0 0 rgba(212,168,67,.35)} 70%{box-shadow:0 0 0 10px rgba(212,168,67,0)} 100%{box-shadow:0 0 0 0 rgba(212,168,67,0)} }
.rb-generate-section.pulse { animation: rb-section-pulse .7s ease-out; }

.rb-includes-wrap { display: none; }

#preview-lightbox {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.75); backdrop-filter: blur(8px);
  align-items: center; justify-content: center; padding: 20px;
}
#preview-lightbox.open { display: flex; }
.plb-wrap {
  background: #0d1a2e; border: 1px solid rgba(212,168,67,.22);
  border-radius: 16px; overflow: hidden; width: 100%;
  max-width: 940px; position: relative;
  box-shadow: 0 24px 64px rgba(0,0,0,.6);
  display: flex; flex-direction: column;
  max-height: 90vh;
}
.plb-close {
  position: absolute; top: 12px; right: 14px; z-index: 2;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px; color: #92a0b8; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: .85rem; transition: all .15s;
}
.plb-close:hover { background: rgba(255,255,255,.15); color: #f0ede6; }
.plb-header {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(6,13,26,.6); flex-shrink: 0;
}
.plb-title-area { display: flex; align-items: center; gap: 9px; flex: 1; }
.plb-logo {
  width: 26px; height: 26px; border-radius: 6px;
  background: linear-gradient(135deg, #d4a843, #a07828);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Libre Baskerville', serif; font-size: 11px; font-weight: 700; color: #060d1a;
}
.plb-brand { font-size: .78rem; font-weight: 700; color: #c8d0de; letter-spacing: -.01em; }
.plb-slide-label { font-size: .72rem; font-weight: 700; color: #d4a843; font-family: 'DM Mono', monospace; }
.plb-counter { font-size: .7rem; color: #92a0b8; font-family: 'DM Mono', monospace; margin-left: auto; }
.plb-tabs {
  display: flex; align-items: center; gap: 2px;
  padding: 8px 12px 0; background: #060d1a; flex-shrink: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.plb-tab {
  padding: 5px 11px; font-size: .7rem; font-weight: 600; color: #92a0b8;
  border-radius: 5px 5px 0 0; letter-spacing: .04em; text-transform: uppercase;
}
.plb-tab.on { color: #d4a843; border-bottom: 2px solid #d4a843; }
.plb-stage {
  position: relative; background: #060d1a;
  flex: 1; overflow: hidden; min-height: 300px;
}
.plb-slide { display: none; width: 100%; height: 100%; }
.plb-slide.active { display: block; }
.plb-slide svg { display: block; }
.plb-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  background: rgba(13,26,46,.85); border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%; width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #c8d0de; transition: all .15s;
}
.plb-arrow:hover { background: rgba(212,168,67,.2); border-color: rgba(212,168,67,.4); color: #d4a843; }
.plb-arrow--prev { left: 10px; }
.plb-arrow--next { right: 10px; }
.plb-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; }
.plb-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.25); cursor: pointer; transition: all .2s; }
.plb-dot.active { background: #d4a843; transform: scale(1.2); }
.plb-caption {
  padding: 10px 18px; font-size: .8rem; color: #92a0b8; line-height: 1.5;
  background: rgba(6,13,26,.6); border-top: 1px solid rgba(255,255,255,.07); flex-shrink: 0;
}
.plb-caption strong { color: #f0ede6; }
.plb-thumbs {
  display: flex; gap: 6px; padding: 10px 18px;
  background: rgba(6,13,26,.6); flex-shrink: 0; overflow-x: auto;
}
.plb-thumb {
  flex-shrink: 0; padding: 6px 12px; border-radius: 8px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
  font-size: .7rem; color: #92a0b8; cursor: pointer; transition: all .15s;
  text-align: center; line-height: 1.5;
}
.plb-thumb:hover, .plb-thumb.active { background: rgba(212,168,67,.14); border-color: rgba(212,168,67,.35); color: #d4a843; }

.paywall-overlay {
  position: absolute; inset: 0; z-index: 10;
  background: rgba(6,13,26,.92); backdrop-filter: blur(4px);
  display: none; align-items: center; justify-content: center;
  border-radius: inherit; padding: 20px;
}
.paywall-overlay.active { display: flex; }
.paywall-card {
  background: #0d1a2e; border: 1px solid rgba(212,168,67,.28);
  border-radius: 16px; padding: 32px 28px; max-width: 420px; width: 100%;
  box-shadow: 0 24px 64px rgba(0,0,0,.5);
}
.paywall-card-inner { text-align: center; }
.paywall-icon { font-size: 2rem; margin-bottom: 12px; }
.paywall-title { font-family: 'Libre Baskerville', serif; font-size: 1.2rem; font-weight: 700; color: #f0ede6; margin-bottom: 8px; }
.paywall-sub { font-size: .85rem; color: #92a0b8; line-height: 1.55; margin-bottom: 20px; }
.paywall-features { list-style: none; padding: 0; margin: 0 0 22px; text-align: left; }
.paywall-feature { display: flex; align-items: flex-start; gap: 9px; font-size: .82rem; color: #c8d0de; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.paywall-feature:last-child { border-bottom: none; }
.paywall-feature::before { content: '✓'; color: #d4a843; font-weight: 800; font-size: .72rem; flex-shrink: 0; margin-top: 2px; }
.paywall-price { font-family: 'DM Mono', monospace; font-size: 1.6rem; font-weight: 700; color: #f0ede6; margin-bottom: 4px; }
.paywall-price-sub { font-size: .75rem; color: #92a0b8; margin-bottom: 18px; }
.paywall-cta, .paywall-card-cta {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(135deg, #d4a843, #b8892a);
  color: #060d1a; border: none; border-radius: 10px;
  padding: 13px 24px; font-size: .92rem; font-weight: 700;
  cursor: pointer; transition: all .2s; width: 100%;
  font-family: 'DM Sans', sans-serif;
  box-shadow: 0 4px 16px rgba(212,168,67,.3);
}
.paywall-cta:hover, .paywall-card-cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.paywall-free-note { font-size: .75rem; color: #92a0b8; margin-top: 10px; }
.paywall-free-note a { color: #d4a843; cursor: pointer; text-decoration: underline; }
.paywall-context { font-size: .75rem; color: #92a0b8; margin-bottom: 16px; }
.paywall-card-info { margin-bottom: 16px; }

.tbtn .lock-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; margin-left: 5px;
  background: rgba(212,168,67,.18); border-radius: 3px;
  font-size: 8px; color: #d4a843; flex-shrink: 0;
}

#page-report.report-paywall-preview #emp-report { display: none !important; }
#page-report.report-paywall-preview #cnt-report {
  display: block !important; pointer-events: none; user-select: none;
  filter: blur(3px) saturate(0.3); opacity: .6; transition: filter .3s;
}
#page-report { position: relative; min-height: 500px; }

.preview-banner {
  background: #0d1a2e; border: 1px solid rgba(212,168,67,.22);
  border-radius: 12px; padding: 14px 18px;
  display: flex; align-items: center; gap: 14px; margin-bottom: 16px;
}
.preview-banner-icon { font-size: 1.3rem; flex-shrink: 0; }
.preview-banner-left { flex: 1; }
.preview-banner-msg { font-size: .83rem; color: #c8d0de; margin-bottom: 8px; }
.preview-banner-cta {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, #d4a843, #b8892a);
  color: #060d1a; border: none; border-radius: 8px;
  padding: 8px 16px; font-size: .82rem; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif;
}
.preview-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(212,168,67,.14); border: 1px solid rgba(212,168,67,.28);
  border-radius: 20px; padding: 4px 12px;
  font-size: .72rem; font-weight: 700; color: #d4a843;
}

.pf-preview-lock,
.ef-preview-lock,
.liq-preview-lock,
.diag-preview-lock {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.has-fin-preview .pf-preview-lock,
.has-fin-preview .ef-preview-lock,
.has-liq-preview .liq-preview-lock,
.has-diag-preview .diag-preview-lock {
  pointer-events: none;
  user-select: none;
  filter: blur(5px) saturate(0.25) brightness(0.7);
  opacity: 0.55;
  transition: filter .3s, opacity .3s;
}

.has-fin-preview .pf-preview-lock::before,
.has-fin-preview .ef-preview-lock::before,
.has-liq-preview .liq-preview-lock::before,
.has-diag-preview .diag-preview-lock::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60px;
  background: linear-gradient(to bottom, var(--navy, #060d1a), transparent);
  z-index: 2;
  pointer-events: none;
}

.has-fin-preview .pf-preview-lock::after,
.has-fin-preview .ef-preview-lock::after,
.has-liq-preview .liq-preview-lock::after,
.has-diag-preview .diag-preview-lock::after {
  display: none; 
}

.pf-preview-lock,
.ef-preview-lock,
.liq-preview-lock,
.diag-preview-lock {
  filter: none;
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

.preview-lock-nudge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: linear-gradient(135deg, rgba(13,26,46,.95) 0%, rgba(20,40,70,.95) 100%);
  border: 1px solid rgba(212,168,67,.3);
  border-radius: 12px;
  padding: 16px 20px;
  margin: 16px 0 8px;
  position: relative;
  z-index: 5;
}
.preview-lock-nudge-left { flex: 1; }
.preview-lock-nudge-label {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: #d4a843; margin-bottom: 4px;
}
.preview-lock-nudge-title {
  font-family: 'Libre Baskerville', serif;
  font-size: .95rem; font-weight: 700; color: #f0ede6; margin-bottom: 4px;
}
.preview-lock-nudge-sub { font-size: .78rem; color: #92a0b8; line-height: 1.45; }
.preview-lock-nudge-btn {
  background: linear-gradient(135deg, #d4a843, #b8892a);
  color: #060d1a; border: none; border-radius: 9px;
  padding: 10px 20px; font-size: .85rem; font-weight: 700;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
  font-family: 'DM Sans', sans-serif;
  box-shadow: 0 4px 14px rgba(212,168,67,.3);
  transition: filter .2s, transform .15s;
}
.preview-lock-nudge-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
@media(max-width:600px){
  .preview-lock-nudge { flex-direction: column; gap: 10px; }
  .preview-lock-nudge-btn { width: 100%; text-align: center; }
  .preview-banner { flex-wrap: wrap; gap: 10px; }
  .preview-banner-left { min-width: 0; }
}

/* ═══════════════════════════════════════════════════════════
   BUILDER v2 — New 2-column layout
   ═══════════════════════════════════════════════════════════ */
#rb-wizard { display: block; }
#rb-wizard.active { display: block; }

/* Shell */
.wz2-shell {
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
}

/* Header strip */
.wz2-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0 14px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 20px;
  gap: 16px;
  flex-wrap: wrap;
}
.wz2-title { font-family: 'Libre Baskerville', serif; font-size: 1.15rem; font-weight: 700; color: #f0ede6; }
.wz2-subtitle { font-size: .78rem; color: #475569; margin-top: 2px; }

/* Progress steps */
.wz2-steps {
  display: flex;
  align-items: center;
  gap: 0;
}
.wz2-step {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.3);
  cursor: default;
  transition: all .15s;
}
.wz2-step.active { background: rgba(212,168,67,.12); color: #d4a843; }
.wz2-step.done { color: #27d464; cursor: pointer; }
.wz2-step-num {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 700;
  flex-shrink: 0;
}
.wz2-step.active .wz2-step-num { background: rgba(212,168,67,.3); color: #d4a843; }
.wz2-step.done .wz2-step-num { background: rgba(39,212,100,.2); color: #27d464; }
.wz2-step-sep { color: rgba(255,255,255,.12); font-size: .8rem; padding: 0 2px; }

/* Month chips */
.wz2-months {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 18px;
  overflow-x: auto;
  padding-bottom: 3px;
  scrollbar-width: none;
}
.wz2-months::-webkit-scrollbar { display: none; }

.wz2-month-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  font-size: .75rem;
  font-weight: 500;
  color: rgba(255,255,255,.4);
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
  flex-shrink: 0;
}
.wz2-month-chip:hover { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.7); }
.wz2-month-chip.active {
  background: rgba(212,168,67,.14);
  border-color: rgba(212,168,67,.4);
  color: #d4a843;
  font-weight: 700;
}
.wz2-month-chip.has-data::after {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #27d464;
  display: inline-block;
}
.wz2-month-chip.active.has-data::after { background: #d4a843; }

.wz2-month-add {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.18);
  background: transparent;
  color: rgba(255,255,255,.3);
  font-size: 1rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all .15s;
}
.wz2-month-add:hover { border-color: rgba(212,168,67,.4); color: #d4a843; }

.wz2-month-del {
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(231,76,60,.2);
  background: rgba(231,76,60,.06);
  color: rgba(231,76,60,.5);
  font-size: .7rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all .15s;
  margin-left: 2px;
}
.wz2-month-del:hover { border-color: rgba(231,76,60,.5); color: #e74c3c; background: rgba(231,76,60,.12); }

/* Main layout — 2 columns */
.wz2-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 18px;
  align-items: start;
}
@media(max-width: 760px) {
  .wz2-layout { grid-template-columns: 1fr; }
  .wz2-preview-col { display: none; }
}

/* Left column: form */
.wz2-form-col {}

/* Section groups */
.wz2-section {
  background: rgba(255,255,255,.028);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color .15s;
}
.wz2-section:hover { border-color: rgba(255,255,255,.11); }
.wz2-section.required { border-left: 2px solid rgba(212,168,67,.5); }
.wz2-section.optional { border-left: 2px solid rgba(255,255,255,.1); }

.wz2-section-hd {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 18px;
  cursor: pointer;
  user-select: none;
}
.wz2-section-icon { font-size: 1rem; flex-shrink: 0; }
.wz2-section-info { flex: 1; min-width: 0; }
.wz2-section-name { font-size: .88rem; font-weight: 600; color: #e2e8f0; }
.wz2-section-meta { font-size: .72rem; color: #475569; margin-top: 1px; }
.wz2-section-badge {
  font-size: .65rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: .06em;
  flex-shrink: 0;
}
.wz2-section-badge.req { background: rgba(212,168,67,.1); color: #d4a843; }
.wz2-section-badge.opt { background: rgba(255,255,255,.05); color: #475569; }
.wz2-section-badge.filled { background: rgba(39,212,100,.1); color: #27d464; }
.wz2-section-chev {
  font-size: .7rem;
  color: rgba(255,255,255,.2);
  flex-shrink: 0;
  transition: transform .2s;
}
.wz2-section.open .wz2-section-chev { transform: rotate(90deg); }

.wz2-section-body {
  display: none;
  padding: 4px 18px 16px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.wz2-section.open .wz2-section-body { display: block; }

/* Field grid inside sections */
.wz2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.wz2-grid.g1 { grid-template-columns: 1fr; }
.wz2-grid.g3 { grid-template-columns: 1fr 1fr 1fr; }
@media(max-width:600px) { .wz2-grid, .wz2-grid.g3 { grid-template-columns: 1fr; } }
.wz2-span2 { grid-column: span 2; }

/* Fields */
.wz2-field { display: flex; flex-direction: column; gap: 4px; }
.wz2-label {
  font-size: .73rem;
  font-weight: 600;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.wz2-label-hint { font-weight: 400; color: rgba(255,255,255,.2); text-transform: none; letter-spacing: 0; }
.wz2-input-wrap { position: relative; }
.wz2-sym { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: .78rem; color: rgba(255,255,255,.25); pointer-events: none; }
.wz2-input {
  width: 100%;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 8px 10px 8px 26px;
  font-size: .85rem;
  color: #f0ede6;
  font-family: 'DM Mono', monospace;
  transition: border-color .15s, background .15s;
  -moz-appearance: textfield;
}
.wz2-input.no-sym { padding-left: 10px; font-family: 'DM Sans', sans-serif; }
.wz2-input:focus { outline: none; border-color: rgba(212,168,67,.5); background: rgba(212,168,67,.05); box-shadow: 0 0 0 3px rgba(212,168,67,.08); }
.wz2-input::placeholder { color: rgba(255,255,255,.15); font-family: 'DM Sans', sans-serif; }
.wz2-input::-webkit-outer-spin-button,
.wz2-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.wz2-caption { font-size: .7rem; color: #334155; }

/* Type selector (step 0) */
.wz2-types { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 12px; }
@media(max-width:600px) { .wz2-types { grid-template-columns: 1fr 1fr; } }
.wz2-type {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  padding: 12px 10px;
  text-align: center;
  cursor: pointer;
  transition: all .15s;
}
.wz2-type:hover { border-color: rgba(212,168,67,.3); background: rgba(212,168,67,.05); }
.wz2-type.selected { border-color: rgba(212,168,67,.5); background: rgba(212,168,67,.1); }
.wz2-type-icon { font-size: 1.4rem; margin-bottom: 6px; }
.wz2-type-name { font-size: .78rem; font-weight: 700; color: #e2e8f0; }
.wz2-type-desc { font-size: .65rem; color: #475569; margin-top: 2px; }

/* Right column: live preview */
.wz2-preview-col {
  position: sticky;
  top: 60px;
}
.wz2-preview {
  background: rgba(255,255,255,.022);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
}
.wz2-preview-title {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.25);
  margin-bottom: 14px;
}
.wz2-kpi {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.wz2-kpi:last-child { border-bottom: none; }
.wz2-kpi-name { font-size: .72rem; color: #475569; }
.wz2-kpi-val { font-size: .88rem; font-weight: 700; font-family: 'DM Mono', monospace; color: #e2e8f0; text-align: right; }
.wz2-kpi-val.pos { color: #27d464; }
.wz2-kpi-val.neg { color: #e74c3c; }
.wz2-kpi-val.warn { color: #fbbf24; }
.wz2-kpi-val.muted { color: rgba(255,255,255,.2); font-size: .75rem; font-weight: 400; font-family: 'DM Sans', sans-serif; }

.wz2-preview-empty {
  text-align: center;
  padding: 24px 0;
  color: rgba(255,255,255,.15);
  font-size: .78rem;
}

/* Coverage bar */
.wz2-coverage {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.wz2-cov-label { font-size: .65rem; color: #334155; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.wz2-cov-row { display: flex; align-items: center; gap: 7px; margin-bottom: 5px; }
.wz2-cov-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.wz2-cov-dot.ok { background: #27d464; }
.wz2-cov-dot.warn { background: #fbbf24; }
.wz2-cov-dot.miss { background: rgba(255,255,255,.1); }
.wz2-cov-text { font-size: .72rem; color: #475569; }

/* Navigation */
.wz2-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  gap: 10px;
  flex-wrap: wrap;
}
.wz2-btn-back {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 9px 16px;
  color: rgba(255,255,255,.5);
  font-size: .83rem;
  font-weight: 500;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: all .15s;
  display: flex; align-items: center; gap: 6px;
}
.wz2-btn-back:hover { color: rgba(255,255,255,.8); border-color: rgba(255,255,255,.2); }

.wz2-btn-next {
  background: linear-gradient(135deg, #d4a843, #b8892a);
  border: none;
  border-radius: 8px;
  padding: 9px 20px;
  color: #0f1117;
  font-size: .85rem;
  font-weight: 700;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  transition: transform .12s, box-shadow .12s;
  display: flex; align-items: center; gap: 7px;
}
.wz2-btn-next:hover { transform: translateY(-1px); box-shadow: 0 4px 16px rgba(212,168,67,.25); }
.wz2-btn-next:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.wz2-btn-generate {
  background: linear-gradient(135deg, #d4a843, #9a6f1e);
  font-size: .9rem;
  padding: 11px 24px;
}

/* Step panels */
.wz2-panel { display: none; }
.wz2-panel.active { display: block; animation: wzFadeIn .25s ease; }
@keyframes wzFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Month count badge */
.wz2-months-count {
  font-size: .72rem;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

/* Divider */
.wz2-divider {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.18);
  padding: 12px 0 6px;
}

/* Input row for inline fields */
.wz2-inline { display: flex; gap: 8px; align-items: flex-end; }
.wz2-inline .wz2-field { flex: 1; }

/* Section summary chip when closed */
.wz2-section-sum {
  font-size: .72rem;
  color: #27d464;
  background: rgba(39,212,100,.08);
  border-radius: 20px;
  padding: 2px 8px;
  flex-shrink: 0;
}

/* Wizard overall skip note */
.wz2-skip-note {
  font-size: .72rem;
  color: #334155;
  text-align: center;
  margin-top: 8px;
}

/* Compat: keep old wz- classes working for wzSelectType */
.wz-type-card { display: none !important; }
.wz-step-dot,.wz-dot-circle,.wz-dot-label,.wz-progress { display:none!important; }

#admin-login-overlay {
  position: fixed; inset: 0; z-index: 99999;
  background: rgba(10,15,30,.97);
  display: none; align-items: center; justify-content: center;
  font-family: 'DM Sans', sans-serif;
}
#admin-login-overlay.visible {
  display: flex !important;
}

.adm-card {
  width: 380px;
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 20px;
  padding: 40px 36px 32px;
  box-shadow: 0 40px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04);
}

.adm-logo {
  display: flex; align-items: center; gap: 10px; margin-bottom: 28px;
}
.adm-logo-icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.adm-logo-text { font-size: .85rem; font-weight: 700; color: #f9fafb; letter-spacing: .04em; }
.adm-logo-sub  { font-size: .7rem; color: #6b7280; margin-top: 1px; }

.adm-title { font-size: 1.35rem; font-weight: 700; color: #f9fafb; margin-bottom: 6px; }
.adm-sub   { font-size: .82rem; color: #6b7280; margin-bottom: 28px; }

.adm-field { margin-bottom: 16px; }
.adm-label { font-size: .75rem; font-weight: 600; color: #9ca3af; text-transform: uppercase;
             letter-spacing: .06em; margin-bottom: 6px; display: block; }
.adm-input {
  width: 100%; box-sizing: border-box;
  background: #1f2937; border: 1px solid #374151;
  border-radius: 10px; padding: 11px 14px;
  font-size: .92rem; color: #f9fafb; font-family: 'DM Sans', sans-serif;
  outline: none; transition: border-color .2s;
}
.adm-input:focus { border-color: #2563eb; }
.adm-input::placeholder { color: #4b5563; }

.adm-btn {
  width: 100%; padding: 13px; margin-top: 8px;
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  border: none; border-radius: 10px; cursor: pointer;
  font-size: .92rem; font-weight: 700; color: #fff;
  font-family: 'DM Sans', sans-serif;
  transition: opacity .2s, transform .15s;
  letter-spacing: .02em;
}
.adm-btn:hover { opacity: .9; }
.adm-btn:active { transform: scale(.98); }

.adm-error {
  margin-top: 10px; padding: 10px 14px;
  background: rgba(239,68,68,.1); border: 1px solid rgba(239,68,68,.3);
  border-radius: 8px; font-size: .8rem; color: #f87171;
  display: none;
}
.adm-error.show { display: block; }

.adm-demo-link {
  display: block; text-align: center; margin-top: 20px;
  font-size: .78rem; color: #4b5563; cursor: pointer;
  transition: color .2s; text-decoration: none;
}
.adm-demo-link:hover { color: #9ca3af; }

#admin-badge {
  position: fixed; bottom: 20px; left: 20px; z-index: 9999;
  background: linear-gradient(135deg,#1e40af,#4c1d95);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50px; padding: 8px 14px 8px 10px;
  display: none; align-items: center; gap: 8px;
  font-family: 'DM Sans', sans-serif; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
  transition: transform .2s, box-shadow .2s;
}
#admin-badge:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,0,0,.5); }
#admin-badge.visible { display: flex; }
.adm-badge-dot { width:8px; height:8px; border-radius:50%; background:#22c55e;
                  box-shadow: 0 0 8px #22c55e; animation: adm-pulse 2s infinite; }
.adm-badge-text { font-size: .75rem; font-weight: 600; color: #e0e7ff; }
@keyframes adm-pulse { 0%,100%{ opacity:1; } 50%{ opacity:.4; } }

#admin-panel {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9998;
  width: 100vw; height: 100vh;
  background: rgba(0,0,0,.55);
  display: flex; align-items: center; justify-content: center;
  font-family: 'DM Sans', sans-serif;
  transform: scale(.98); opacity: 0;
  visibility: hidden;
  transition: opacity .2s cubic-bezier(.16,1,.3,1), transform .2s cubic-bezier(.16,1,.3,1), visibility 0s linear .2s;
  pointer-events: none;
}
#admin-panel-inner {
  width: min(1100px, 96vw);
  height: min(820px, 92vh);
  background: #111827; border: 1px solid #1f2937;
  border-radius: 18px; padding: 0;
  box-shadow: 0 32px 80px rgba(0,0,0,.7);
  display: flex; flex-direction: column; overflow: hidden;
}
#admin-panel.open {
  transform: scale(1); opacity: 1;
  visibility: visible;
  transition: opacity .2s cubic-bezier(.16,1,.3,1), transform .2s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s;
  pointer-events: all;
}
.adm-panel-header {
  padding: 14px 18px 12px;
  border-bottom: 1px solid #1f2937;
  display: flex; align-items: center; justify-content: space-between;
  flex-shrink: 0;
}
.adm-panel-title { font-size: .85rem; font-weight: 700; color: #f9fafb; }
.adm-panel-close {
  width: 24px; height: 24px; border-radius: 6px;
  background: #1f2937; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #6b7280; font-size: 14px; transition: background .2s;
}
.adm-panel-close:hover { background: #374151; color: #f9fafb; }

.adm-panel-body { padding: 14px; }

.adm-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px; border-radius: 10px; margin-bottom: 6px;
  background: #1f2937;
}
.adm-row-label { font-size: .8rem; color: #d1d5db; font-weight: 500; }
.adm-row-sub   { font-size: .7rem; color: #6b7280; margin-top: 1px; }

.adm-toggle { position: relative; width: 40px; height: 22px; }
.adm-toggle input { opacity: 0; width: 0; height: 0; }
.adm-toggle-track {
  position: absolute; inset: 0; border-radius: 11px;
  background: #374151; cursor: pointer; transition: background .25s;
}
.adm-toggle input:checked + .adm-toggle-track { background: #2563eb; }
.adm-toggle-track::before {
  content: ''; position: absolute;
  width: 16px; height: 16px; border-radius: 50%;
  background: #fff; top: 3px; left: 3px;
  transition: transform .25s; box-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.adm-toggle input:checked + .adm-toggle-track::before { transform: translateX(18px); }

.adm-action-btn {
  width: 100%; padding: 10px 12px; margin-bottom: 6px;
  background: #1f2937; border: 1px solid #374151;
  border-radius: 10px; cursor: pointer; text-align: left;
  font-size: .8rem; color: #d1d5db; font-family: 'DM Sans', sans-serif;
  font-weight: 500; transition: background .2s, border-color .2s;
  display: flex; align-items: center; gap: 8px;
}
.adm-action-btn:hover { background: #374151; border-color: #4b5563; color: #f9fafb; }
.adm-action-btn .adm-icon { font-size: 14px; }

.adm-separator { height: 1px; background: #1f2937; margin: 10px 0; }

.adm-plan-row { display: flex; gap: 6px; margin-bottom: 6px; }
.adm-plan-btn {
  flex: 1; padding: 7px 4px; border-radius: 8px; border: 1px solid #374151;
  background: #1f2937; cursor: pointer; font-size: .72rem; font-weight: 600;
  color: #9ca3af; font-family: 'DM Sans', sans-serif; text-align: center;
  transition: all .2s;
}
.adm-plan-btn:hover { border-color: #4b5563; color: #d1d5db; }
.adm-plan-btn.active { background: #1e3a8a; border-color: #2563eb; color: #93c5fd; }

.adm-status {
  padding: 8px 12px; border-radius: 8px; font-size: .72rem;
  background: #0f2027; color: #6b7280; margin-top: 4px;
  border: 1px solid #1f2937; line-height: 1.6;
}
.adm-status span { color: #22c55e; font-weight: 600; }

#admin-panel { width: min(1100px, 96vw); height: min(820px, 92vh); overflow: hidden; display: flex; flex-direction: column; }

.adm-tabs {
  display: flex; flex-shrink: 0; border-bottom: 1px solid #1f2937; background: #0d1117;
  border-radius: 0; overflow: hidden;
}
.adm-tab {
  flex: 1; padding: 10px 4px; background: none; border: none; cursor: pointer;
  font-size: 16px; color: #4b5563; transition: all .2s;
  border-bottom: 2px solid transparent;
}
.adm-tab:hover { color: #9ca3af; background: #111827; }
.adm-tab.active { color: #93c5fd; border-bottom-color: #2563eb; background: #0d1117; }

.adm-tab-panel { display: none; padding: 16px 18px; overflow-y: auto; flex: 1; min-height: 0; }
.adm-tab-panel.active { display: flex; flex-direction: column; flex: 1; min-height: 0; }

.adm-section-label {
  font-size: .65rem; font-weight: 700; color: #4b5563;
  text-transform: uppercase; letter-spacing: .08em;
  margin: 10px 0 6px; padding: 0 2px;
}

.adm-price-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 7px 10px; background: #1f2937; border-radius: 8px; margin-bottom: 5px;
}
.adm-price-label { font-size: .8rem; color: #d1d5db; font-weight: 500; }
.adm-price-input-wrap { display: flex; align-items: center; gap: 4px; }
.adm-eur { font-size: .82rem; color: #6b7280; }
.adm-price-input {
  width: 64px; background: #111827; border: 1px solid #374151;
  border-radius: 6px; padding: 4px 8px; color: #f9fafb;
  font-size: .85rem; font-family: 'DM Sans', sans-serif;
  text-align: right; outline: none;
}
.adm-price-input:focus { border-color: #2563eb; }

.adm-stripe-row { margin-bottom: 6px; }
.adm-stripe-label { display: block; font-size: .68rem; color: #6b7280; margin-bottom: 3px; }
.adm-stripe-input {
  width: 100%; box-sizing: border-box;
  background: #1f2937; border: 1px solid #374151; border-radius: 6px;
  padding: 6px 10px; color: #9ca3af; font-size: .72rem;
  font-family: monospace; outline: none;
}
.adm-stripe-input:focus { border-color: #2563eb; color: #f9fafb; }

.adm-copy-field { margin-bottom: 10px; }
.adm-copy-label { display: block; font-size: .7rem; color: #6b7280; margin-bottom: 4px; }
.adm-copy-input {
  width: 100%; box-sizing: border-box;
  background: #1f2937; border: 1px solid #374151; border-radius: 8px;
  padding: 8px 10px; color: #f9fafb; font-size: .8rem;
  font-family: 'DM Sans', sans-serif; outline: none; resize: vertical;
}
.adm-copy-input:focus { border-color: #2563eb; }
.adm-copy-single { height: 36px; resize: none; padding: 0 10px; line-height: 36px; }
.adm-hint-note { font-size: .7rem; color: #4b5563; padding: 4px 2px; }

.adm-screen-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; background: #1f2937; border-radius: 8px;
  margin-bottom: 5px; cursor: pointer; transition: background .2s;
}
.adm-screen-row:hover { background: #374151; }
.adm-screen-dot { width: 8px; height: 8px; border-radius: 50%; background: #374151; flex-shrink: 0; transition: all .3s; }
.adm-screen-label { flex: 1; font-size: .8rem; color: #d1d5db; }
.adm-screen-goto { font-size: .72rem; color: #4b5563; }
.adm-dash-tabs { }

#adm-log-box {
  max-height: 300px; overflow-y: auto;
  background: #0d1117; border-radius: 8px; padding: 8px;
  border: 1px solid #1f2937;
}
.adm-log-entry {
  padding: 3px 0; border-bottom: 1px solid #1a1f2e; font-size: .68rem;
  font-family: monospace; line-height: 1.5; word-break: break-all;
}
.adm-log-entry:last-child { border-bottom: none; }
.adm-log-time { color: #374151; margin-right: 4px; }
.adm-log-level { font-weight: 700; margin-right: 4px; }
.adm-log-msg { color: #9ca3af; }
.adm-log-error .adm-log-msg { color: #fca5a5; }
.adm-log-warn .adm-log-msg  { color: #fcd34d; }

.adm-clear-logs {
  background: #1f2937; border: 1px solid #374151; border-radius: 6px;
  padding: 3px 10px; font-size: .7rem; color: #9ca3af;
  cursor: pointer; font-family: 'DM Sans', sans-serif;
}
.adm-clear-logs:hover { background: #374151; color: #f9fafb; }

#page-report.report-paywall-preview #emp-report { display: none !important; }
#page-report.report-paywall-preview #cnt-report {
  display: block !important;
  pointer-events: none; user-select: none;
  filter: blur(3px) saturate(0.3);
  opacity: .6;
  transition: filter .3s;
}

#page-report { position: relative; min-height: 500px; }

@media(max-width:768px){
  .rb-nav{ padding:0 14px; height:54px; gap:12px; }
  .rb-nav-name{ font-size:.82rem; }
  .rb-nav-tag{ display:none; }
  .rb-ns-label{ display:none; }
  .rb-ns-pill{ font-size:.65rem; padding:3px 8px; }
  .rb-back{ padding:6px 10px; font-size:.75rem; }
}
@media(max-width:480px){
  .rb-nav{ padding:0 10px; height:50px; gap:8px; }
  .rb-nav-brand .rb-nav-logo{ width:28px; height:28px; font-size:12px; }
  .rb-nav-name{ display:none; }
  .rb-ns-step .rb-ns-dot{ width:20px; height:20px; }
  .rb-ns-line{ max-width:24px; }
}

@media(max-width:768px){
  .rb-body{ padding:0 14px 60px; }
}
@media(max-width:480px){
  .rb-body{ padding:0 8px 48px; }
  .rb-section-wrap{ padding:16px 14px; border-radius:12px; }
  .rb-section-num{ font-size:.65rem; }
  .rb-section-title{ font-size:.9rem; }
  .rb-section-desc{ font-size:.75rem; }
}

@media(max-width:600px){
  .rb-demo-banner{ flex-wrap:wrap; gap:10px; padding:12px 14px; width:calc(100% - 16px); margin:12px auto 0; }
  .rb-demo-banner-icon{ display:none; }
  .rb-demo-banner-body{ min-width:0; }
  .rb-demo-banner-sub{ font-size:.74rem; }
}
@media(max-width:400px){
  .rb-demo-banner{ flex-direction:column; }
  .rb-demo-banner-close{ width:100%; text-align:center; }
}

@media(max-width:480px){
  .rb-workspace-header{ padding:20px 0 16px; margin-bottom:16px; }
  .rb-wh-title{ font-size:1.2rem !important; }
  .rb-wh-sub{ font-size:.8rem; }
}

@media(max-width:480px){
  .rb-upload-grid{ grid-template-columns:1fr !important; gap:8px; }
  .rb-dropzone{ padding:24px 16px; }
  .rb-dz-icon{ font-size:1.8rem; }
  .rb-dz-title{ font-size:.88rem; }
  .rb-dz-sub{ font-size:.75rem; }
}

@media(max-width:480px){
  .rb-plans{ grid-template-columns:1fr !important; gap:8px; }
  .rb-plan{ padding:16px 14px; border-radius:12px; }
  .rb-plan-name{ font-size:.95rem; }
  .rb-plan-price-num{ font-size:1.4rem !important; }
  .rb-plan-features{ font-size:.78rem; }
  .rb-plan-ideal{ font-size:.72rem; }
}
@media(min-width:481px) and (max-width:720px){
  .rb-plans{ grid-template-columns:1fr 1fr !important; }
}

@media(max-width:480px){
  .rb-billing-toggle{ flex-direction:column; gap:6px; width:100%; }
  .rb-billing-btn{ width:100%; text-align:center; padding:9px 12px; font-size:.8rem; }
}

@media(max-width:600px){
  .rb-readiness{ padding:12px 14px; }
  .rb-readiness-row{ flex-direction:column; align-items:flex-start; gap:10px; }
  .rb-readiness-modules{ flex-wrap:wrap; }
  .rb-readiness-detail{ flex-direction:column; gap:6px; }
}

@media(max-width:480px){
  .rb-generate-btn{ min-width:0 !important; width:100%; padding:14px 20px; font-size:.9rem; }
}

@media(max-width:480px){
  .rb-plan-footnote{ font-size:.72rem; padding:10px 12px; }
}

@media(max-width:600px){
  .wz-shell{ border-radius:12px; }
  .wz-topbar{ padding:10px 14px 0; gap:0; }
  .wz-topbar-step{ padding:0 8px 8px; }
  .wz-tb-label{ font-size:.65rem; }
  .wz-tb-circle{ width:22px; height:22px; font-size:.7rem; }
  .wz-body{ padding:18px 14px 16px; }
  .wz-step-title{ font-size:1rem; }
  .wz-step-desc{ font-size:.78rem; }
  .wz-field-grid{ grid-template-columns:1fr !important; gap:10px; }
  .wz-field.span2{ grid-column:auto; }
  .wz-input{ padding:10px 11px; font-size:.88rem; }
  .wz-label{ font-size:.72rem; }
  .wz-btn-next,.wz-btn-back{ padding:11px 16px; font-size:.85rem; min-width:0; }
}
@media(max-width:400px){
  .wz-topbar{ overflow-x:auto; }
  .wz-topbar-step{ min-width:52px; }
  .wz-tb-label{ font-size:.6rem; }
}

@media(max-width:600px){
  #balform .g2, #balform .g3{ grid-template-columns:1fr 1fr !important; gap:8px; }
  #balform label{ font-size:.7rem; }
  #balform input{ padding:7px 8px !important; font-size:.85rem !important; }
}
@media(max-width:400px){
  #balform .g2, #balform .g3{ grid-template-columns:1fr !important; }
}

@media(max-width:600px){
  
  #overlay > div > div:nth-child(2){ gap:4px !important; }
  
  #overlay p[style*="font-size:11px"]{ font-size:10px !important; }
  
  #overlay .g2{ grid-template-columns:1fr 1fr !important; }
  #overlay .g3{ grid-template-columns:1fr 1fr !important; }
  
  #overlay [style*="display:flex"][style*="justify-content:flex-end"]{ flex-wrap:wrap; gap:8px; }
  #overlay .btn-p, #overlay .btn-s{ flex:1; min-width:100px; text-align:center; justify-content:center; }
}

@media(max-width:600px){
  #kt-grid{ gap:6px !important; }
  .ktitem .kt-l{ font-size:.8rem; }
  .ktitem .kt-c{ font-size:.68rem; }
}

@media(max-width:768px){
  
  body{ overflow-x:hidden; }
  
  .page{ padding:12px 10px !important; }
  
  .wrap,.wrap-sm,.wrap-xs{
    padding:0 16px !important;
    max-width:100% !important;
  }
}
@media(max-width:480px){
  .page{ padding:8px 8px !important; }
  .wrap,.wrap-sm,.wrap-xs{ padding:0 12px !important; }
}

@media(max-width:768px){
  .cbar{
    padding:6px 10px !important;
    flex-wrap:wrap;
    gap:6px;
  }
  .cbar-period{ display:none; }
  .uplbl span:last-child{ display:none; } 
  .btn-ghost{ padding:4px 10px !important; font-size:.72rem !important; }
}
@media(max-width:480px){
  .cbar{ padding:5px 8px !important; }
  .cbar-name{ font-size:.7rem; }
}

@media(max-width:600px){
  #demo-sticky-cta{
    padding:8px 12px !important;
    flex-wrap:wrap;
    gap:8px;
  }
  #demo-sticky-cta span:last-of-type{ display:none; }
  #demo-sticky-cta button{ width:100%; }
}

@media(max-width:768px){
  
  .kgrid{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  .ov-kstrip{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  .ov-bottom{ grid-template-columns:1fr !important; gap:10px !important; }
  .ov-bottom-row{ grid-template-columns:1fr !important; gap:10px !important; }
  .ov-4grid{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  .diag-metrics{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  .scen-grid{ grid-template-columns:1fr !important; }
  .g2,.g3,.g4,.g1-2{ grid-template-columns:1fr !important; }
  
  .kcard{ padding:10px 12px !important; }
  .kcard .kv{ font-size:1.1rem !important; }
  .kcard .kl{ font-size:.68rem !important; }
}
@media(max-width:480px){
  .kgrid{ grid-template-columns:1fr 1fr !important; gap:6px !important; }
  .ov-kstrip{ grid-template-columns:1fr 1fr !important; }
  .ov-4grid{ grid-template-columns:1fr 1fr !important; }
  .diag-metrics{ grid-template-columns:1fr 1fr !important; }
  .kcard{ padding:8px 10px !important; min-height:0 !important; }
}

@media(max-width:768px){
  
  .gchart,.chart-wrap,[class*="chart-"]{
    max-width:100% !important;
    overflow:hidden;
  }
  canvas{
    max-width:100% !important;
    height:auto !important;
  }
  
  .d-charts{ grid-template-columns:1fr !important; }
  .d-kpis{ grid-template-columns:repeat(2,1fr) !important; }
}
@media(max-width:480px){
  .d-kpis{ grid-template-columns:repeat(2,1fr) !important; }
  
  .chart-title,.gtitle{ font-size:.78rem !important; }
}

@media(max-width:768px){
  
  .twrap,.twrap-s,.twrap-m,
  #page-datos table,
  #hist-tbody,
  [id$="-table"],
  .table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    display:block;
    width:100%;
  }
  
  .twrap table,.twrap-s table{ min-width:480px !important; }
  #page-datos table{ min-width:520px !important; }
  
  td,th{ padding:6px 8px !important; font-size:.75rem !important; white-space:nowrap; }
  
  #hist-tbody tr td:nth-child(n+5){ min-width:80px; }
}
@media(max-width:480px){
  td,th{ padding:5px 6px !important; font-size:.7rem !important; }
}

@media(max-width:768px){
  .card,.panel,.rcard{
    padding:12px 14px !important;
  }
  .rcard-title{ font-size:.82rem !important; }
  .tab-intro{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
  }
  .tab-intro-body{ font-size:.8rem !important; }
  
  .health-row{ grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  
  .diag-grid{ grid-template-columns:1fr !important; }
  
  .rpt-pattern-grid{ grid-template-columns:1fr !important; }
  
  .rgrid{ grid-template-columns:1fr !important; }
  .val-grid{ grid-template-columns:1fr !important; }
}

@media(max-width:768px){
  .plb-wrap{
    max-width:calc(100vw - 16px) !important;
    border-radius:12px !important;
  }
  .plb-slide{
    grid-template-columns:1fr !important;
  }
  .plb-slide-text{ padding:16px !important; }
  .plb-slide-visual{ display:none !important; }
  .plb-header{ padding:10px 14px !important; }
  .plb-title{ font-size:.9rem !important; }
  .plb-actions{ flex-direction:column !important; gap:8px !important; padding:12px 14px !important; }
  .plb-btn-primary,.plb-btn-secondary{
    width:100% !important;
    text-align:center;
    justify-content:center;
  }
}

@media(max-width:768px){
  #overlay{ padding:10px 8px !important; }
  #overlay > div{
    padding:16px 12px !important;
    border-radius:12px !important;
    max-height:90vh;
    overflow-y:auto;
  }
  #overlay .g2,#overlay .g3{
    grid-template-columns:1fr !important;
  }
  
  #overlay [id^="step-tab-"]{
    padding:6px 8px !important;
    font-size:.72rem !important;
  }
  
  #overlay input[type="number"],
  #overlay input[type="text"],
  #overlay select{
    font-size:16px !important; 
    height:40px;
  }
  
  .bal-guide{ max-width:100% !important; }
}
@media(max-width:480px){
  #overlay > div{ padding:12px 10px !important; }
  #overlay [id^="step-tab-"]{ font-size:.68rem !important; padding:5px 6px !important; }
}

@media(max-width:768px){
  .rb-body{ padding:0 12px 60px !important; max-width:100% !important; }
  .rb-section-wrap{ padding:16px 0 !important; }
  .rb-section-header{ flex-direction:column; gap:4px; }
  .rb-workspace-header{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    padding:12px 16px !important;
  }
  .rb-wh-right{ align-items:flex-start !important; }
  .rb-wh-sub{ font-size:.8rem !important; max-width:100% !important; }
  
  .rb-plans{ grid-template-columns:1fr !important; gap:10px !important; }
  .rb-plan{ padding:14px 14px !important; }
  
  .rb-upload-grid{ grid-template-columns:1fr !important; gap:12px !important; }
  .rb-dropzone{ padding:20px 16px !important; min-height:100px !important; }
  
  .rb-billing-toggle{ flex-direction:column !important; gap:6px !important; }
  .rb-billing-btn{ width:100% !important; text-align:center; }
  
  .rb-generate-btn{
    width:100% !important;
    min-width:0 !important;
    padding:14px 20px !important;
    font-size:.9rem !important;
  }
  
  .rb-demo-banner{
    flex-direction:column !important;
    gap:8px !important;
    padding:12px 14px !important;
  }
  .rb-demo-banner-close{ width:100% !important; text-align:center; }
  
  .rb-readiness-row{ flex-direction:column !important; gap:10px !important; }
  .rb-readiness-modules{ gap:4px !important; }
  
  .rb-nav-inner{
    flex-wrap:wrap !important;
    gap:6px !important;
    padding:8px 12px !important;
  }
  .rb-nav-status{ flex-wrap:wrap !important; gap:4px !important; }
  
  .rb-plan-footnote{ font-size:.72rem !important; }
}
@media(max-width:480px){
  .rb-body{ padding:0 8px 50px !important; }
  .rb-section-num{ font-size:1.4rem !important; }
  .rb-plan{ padding:12px !important; }
  .rb-plan-name{ font-size:.95rem !important; }
  .rb-plan-price-num{ font-size:1.6rem !important; }
}

@media(max-width:768px){
  .wz-header{
    padding:14px 12px !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  .wz-tabs{
    overflow-x:auto !important;
    scrollbar-width:none !important;
    gap:2px !important;
    width:100%;
  }
  .wz-tabs::-webkit-scrollbar{ display:none; }
  .wz-tab{ white-space:nowrap; flex-shrink:0; padding:6px 10px !important; font-size:.75rem !important; }
  .wz-body{ padding:14px 12px !important; }
  .wz-section-title{ font-size:.9rem !important; }
  .wz-field-grid,.wz-field-grid.cols-3{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .wz-field-grid.cols-2{ grid-template-columns:1fr !important; }
  .wz-input{ font-size:16px !important; height:40px !important; } 
  .wz-btn-row{ flex-direction:column !important; gap:8px !important; }
  .wz-btn-next,.wz-btn-prev,.wz-btn-save{
    width:100% !important;
    text-align:center;
    justify-content:center;
  }
  .wz-derived-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .wz-footer{ padding:12px !important; flex-direction:column !important; gap:8px !important; }
  .wz-step-dots{ gap:6px !important; }
}
@media(max-width:480px){
  .wz-body{ padding:10px 8px !important; }
  .wz-derived-grid{ grid-template-columns:1fr 1fr !important; gap:6px !important; }
  .wz-enrich-header{ padding:8px 10px !important; }
}

@media(max-width:768px){
  
  #page-report .rpt-pattern-grid{ grid-template-columns:1fr !important; }
  
  .ap-item{ flex-direction:column !important; gap:8px !important; padding:10px 12px !important; }
  .ap-badge{ align-self:flex-start !important; }
  
  .exec-summary-card{ padding:14px !important; }
  .es-header{ flex-direction:column !important; gap:8px !important; }
}

@media(max-width:768px){
  
  .nav-inner{
    padding:0 16px !important;
    gap:8px !important;
  }
  .nav-links{ display:none !important; }
  .nav-actions .btn-sm{ padding:8px 14px !important; font-size:.8rem !important; }
  
  #hero{ padding:90px 16px 60px !important; }
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
  .hero-copy{ max-width:100% !important; }
  .t-hero{ font-size:2rem !important; }
  .hero-sub{ font-size:.9rem !important; margin-bottom:28px !important; }
  .hero-btns{ flex-direction:column !important; gap:10px !important; }
  .hero-btns .btn{ width:100% !important; justify-content:center !important; }
  .hero-visual{ display:none !important; } 
  .d-kpis{ grid-template-columns:repeat(2,1fr) !important; }
  .d-charts{ grid-template-columns:1fr !important; }
  
  .how-grid{ grid-template-columns:1fr !important; gap:28px !important; }
  .how-grid::after{ display:none !important; }
  
  .feat-grid{ grid-template-columns:1fr !important; gap:14px !important; }
  .feat-card{ padding:18px !important; }
  
  .stats-row{ grid-template-columns:repeat(2,1fr) !important; }
  
  .rf-body{ grid-template-columns:1fr !important; padding:16px !important; }
  .rf-kpis{ grid-template-columns:repeat(2,1fr) !important; }
  
  .testi-grid{ grid-template-columns:1fr !important; }
  
  .cta-inner{ padding:0 !important; }
  .cta-title{ font-size:1.6rem !important; }
  .cta-btns{ flex-direction:column !important; align-items:stretch !important; }
  .cta-btns .btn{ width:100% !important; justify-content:center !important; }
  
  .footer-row{
    flex-direction:column !important;
    gap:14px !important;
    text-align:center !important;
    padding:20px 16px !important;
  }
  .footer-links{ flex-wrap:wrap !important; justify-content:center !important; gap:8px 14px !important; }
}
@media(max-width:480px){
  #hero{ padding:80px 12px 48px !important; }
  .t-hero{ font-size:1.7rem !important; }
  .hero-sub{ font-size:.84rem !important; }
  .hero-social{ flex-direction:column !important; gap:6px !important; }
  .section-head{ padding:0 12px !important; }
  .t-h2{ font-size:1.5rem !important; }
  .t-lead{ font-size:.85rem !important; }
  .feat-card{ padding:14px !important; }
  .step-desc{ font-size:.82rem !important; }
  .stats-row{ grid-template-columns:1fr 1fr !important; }
}

@media(max-width:520px){
  .nav-actions .btn-ghost-light{ display:none !important; }
  .nav-actions .btn-primary.btn-sm{
    padding:7px 12px !important;
    font-size:.78rem !important;
  }
}

@media(max-width:768px){
  .report-frame{ padding:0 !important; margin-top:24px !important; }
  .rf-topbar{ padding:8px 12px !important; }
  .rf-kpis{ grid-template-columns:repeat(2,1fr) !important; gap:6px !important; }
  .rf-actions{ grid-column:1 !important; }
  .rf-kpi-val{ font-size:1.2rem !important; }
}
@media(max-width:480px){
  .rf-kpis{ grid-template-columns:1fr 1fr !important; }
  .rf-kpi-label{ font-size:.65rem !important; }
}

@media(max-width:600px){
  #admin-panel{
    width:100vw !important;
    right:0 !important;
    border-radius:0 !important;
  }
  #admin-panel.open{ right:0 !important; }
}

@media(max-width:480px){
  #demo-edit-block-overlay > div{
    width:calc(100vw - 24px) !important;
    padding:24px 18px 20px !important;
    border-radius:14px !important;
  }
}

@media(max-width:480px){
  #admin-login-overlay > div{
    width:calc(100vw - 24px) !important;
    padding:24px 20px 20px !important;
    border-radius:14px !important;
  }
}

@media(max-width:768px){
  
  #page-financiero .twrap{
    overflow-x:auto !important;
    display:block !important;
    width:100% !important;
    -webkit-overflow-scrolling:touch;
  }
  
  #page-financiero .g2,
  #page-financiero .g3{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:768px){
  #page-liquidez .g2{
    grid-template-columns:1fr !important;
  }
  
  #page-liquidez .twrap{
    overflow-x:auto !important;
    display:block !important;
    width:100% !important;
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-width:768px){
  
  #cnt-datos [style*="display:flex"][style*="gap:8px"]{
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  
  #hist-tbody{
    display:block !important;
    overflow-x:auto !important;
    width:100% !important;
    -webkit-overflow-scrolling:touch;
  }
  
  #cnt-datos button[onclick*="openForm"]{
    width:100% !important;
    justify-content:center !important;
  }
}

@media(max-width:768px){
  .diag-score-card{
    flex-direction:column !important;
    gap:12px !important;
    padding:14px !important;
  }
  .diag-score-num{ font-size:2.2rem !important; }
  
  .scen-grid{ grid-template-columns:1fr !important; gap:10px !important; }
}

@media(max-width:768px){
  
  button:not(.adm-action-btn):not(.adm-tab):not(.adm-clear-logs),
  .btn,
  .tbtn,
  [role="button"],
  label.uplbl{
    min-height:36px;
  }
  
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="password"],
  select,
  textarea{
    font-size:16px !important;
  }
}

@media(max-width:768px){
  .nav-tabs::-webkit-scrollbar,
  .wz-tabs::-webkit-scrollbar,
  .twrap::-webkit-scrollbar,
  #hist-tbody::-webkit-scrollbar{
    display:none;
  }
  .nav-tabs,
  .wz-tabs,
  .twrap,
  #hist-tbody{
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
}

@media(max-width:768px){
  section{ padding-top:56px !important; padding-bottom:56px !important; }
  .section-head{ margin-bottom:32px !important; }
  .section-head h2{ font-size:1.6rem !important; }
}
@media(max-width:480px){
  section{ padding-top:44px !important; padding-bottom:44px !important; }
  .section-head h2{ font-size:1.4rem !important; }
}

@media(max-width:768px){
  
  .tab-intro{ grid-template-columns:1fr !important; }
  
  .scen-desc{ font-size:.8rem !important; }
  
  .ap-grid{ grid-template-columns:1fr !important; }
  
  #rb-toast{
    width:calc(100vw - 32px) !important;
    max-width:none !important;
    left:16px !important;
    right:16px !important;
    transform:none !important;
    bottom:16px !important;
  }
  
  .empty{ padding:24px 16px !important; }
  .empty h2{ font-size:1.2rem !important; }
  
  .dropz{ padding:18px !important; }
  
  .tip,.pill{ font-size:.7rem !important; padding:3px 8px !important; }
  
  .score-card{ flex-direction:column !important; }
}

#nav-upgrade-hint {
  transition: opacity .2s;
}
.hdr.collapsed #nav-upgrade-hint {
  display: none !important;
}

.tbtn-upgrade:hover {
  color: #d4a843 !important;
}
.tbtn-upgrade .tab-icon {
  color: #d4a843;
}

@keyframes pulse-green {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}
.tbtn-account-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
  animation: pulse-green 2s infinite;
}

@keyframes pulse-orange {
  0%, 100% { opacity: 1; box-shadow: 0 0 4px rgba(245,166,35,.4); }
  50% { opacity: .7; box-shadow: 0 0 8px rgba(245,166,35,.8); }
}

.nav-section-label {
  font-size: .6rem !important;
  letter-spacing: .1em !important;
}

.tbtn.active {
  background: rgba(212,168,67,.12) !important;
  color: #d4a843 !important;
  border-left: 2px solid #d4a843;
}
.tbtn.active .tab-icon {
  color: #d4a843;
}

.nav-bottom-row {
  padding-top: 6px !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
  margin-top: 4px !important;
}

.dash-shell.sidebar-collapsed #demo-sticky-cta,
#demo-sticky-cta.collapsed-adjust {
  left: 60px !important;
}

.rb-body {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 24px 80px !important;
}

#prereq-banner {
  max-width: 720px !important;
  margin: 16px auto 0 !important;
  width: calc(100% - 48px) !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-size: .78rem !important;
  opacity: .7;
  transition: opacity .2s;
}
#prereq-banner:hover { opacity: 1; }

.rb-workspace-header {
  padding: 32px 0 24px !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.rb-wh-right { display: none !important; } 
.rb-wh-title {
  font-size: clamp(1.4rem, 3vw, 1.9rem) !important;
  margin-bottom: 8px !important;
}
.rb-wh-sub { font-size: .9rem !important; max-width: 480px !important; }

.rb-wh-demo-btn-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 8px 16px;
  font-size: .83rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  transition: all .15s;
}
.rb-wh-demo-btn-inline:hover {
  background: rgba(255,255,255,.1);
  color: #f0ede6;
  border-color: rgba(255,255,255,.25);
}

.rb-upload-area {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.rb-upload-sidebar {
  display: none !important; 
}
.rb-upload-main {
  width: 100% !important;
  max-width: 100% !important;
}

#rb-dropzone {
  min-height: 160px !important;
  border-radius: 14px !important;
}

.rb-tips-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: .78rem;
  color: #64748b;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px 0;
  font-family: "DM Sans", sans-serif;
  transition: color .15s;
}
.rb-tips-toggle:hover { color: #94a3b8; }
.rb-tips-toggle-icon { transition: transform .2s; font-size: .65rem; }
.rb-tips-toggle.open .rb-tips-toggle-icon { transform: rotate(90deg); }

.rb-tips-content {
  display: none;
  margin-top: 8px;
  padding: 14px 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  font-size: .8rem;
  color: #64748b;
  line-height: 1.6;
}
.rb-tips-content.open { display: block; }

.rb-faq-section { display: none !important; }

#rb-plans-section {
  display: none !important; 
}
#rb-plans-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 8500;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
#rb-plans-modal-wrap.open { display: flex; }
#rb-plans-modal {
  background: #0d1a2e;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px;
}
#rb-plans-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255,255,255,.08);
  border: none;
  border-radius: 6px;
  width: 28px;
  height: 28px;
  color: #94a3b8;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

#rb-generate-section {
  margin-top: 0 !important;
}

.rb-step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.rb-step:first-child { border-top: none; padding-top: 0; }
.rb-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(212,168,67,.12);
  border: 1px solid rgba(212,168,67,.25);
  color: #d4a843;
  font-size: .72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "DM Mono", monospace;
  margin-top: 3px;
}
.rb-step-body { flex: 1; }
.rb-section-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #f0ede6 !important;
  margin-bottom: 4px !important;
}
.rb-section-desc {
  font-size: .83rem !important;
  color: #64748b !important;
  margin-bottom: 16px !important;
}

.wz-btn-generate, #rb-generate-btn {
  font-size: 1rem !important;
  padding: 15px 32px !important;
  border-radius: 12px !important;
}

.rb-readiness {
  margin-bottom: 20px !important;
}

.rb-input-tabs {
  margin-bottom: 16px !important;
}

@media(max-width:640px) {
  .rb-body { padding: 0 16px 60px !important; }
  #rb-plans-modal { padding: 20px; border-radius: 14px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   POLISH LAYER — añadido en sesión 2026-05-14 tanda 5
   Hover lifts, focus rings, transiciones suaves. Estilos puramente
   aditivos (sin reglas que pisen layout existente). Si rompe algo,
   borrar este bloque.
   ═══════════════════════════════════════════════════════════════════════ */

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Focus rings accesibles — dorado sutil para todo lo interactivo */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid rgba(212,168,67,.6);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Hover lift en KPI cards y tarjetas de overview */
.kpi-card,
.ov-kpi-card,
.rb-kpi-card,
.rfa-card {
  transition: transform .18s cubic-bezier(.2,.7,.3,1.1),
              box-shadow .18s ease,
              border-color .18s ease;
}
.kpi-card:hover,
.ov-kpi-card:hover,
.rb-kpi-card:hover,
.rfa-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,.18), 0 0 0 1px rgba(212,168,67,.22);
}

/* Botones — feedback al hacer click */
button {
  transition: transform .12s ease, filter .15s ease;
}
button:active:not(:disabled) {
  transform: scale(.97);
}

/* Tabs del sidebar — hover suave que se nota */
.tbtn {
  transition: background-color .18s ease, color .18s ease, transform .12s ease, border-color .18s ease;
}
.tbtn:hover:not(.active):not(:disabled) {
  background: rgba(212,168,67,.06);
  color: #e8d896;
}

/* Page transitions — los tabs entran con un fade pequeño */
.page {
  animation: getmycfo-page-in .28s cubic-bezier(.2,.6,.3,1) both;
}
@keyframes getmycfo-page-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Headline insight banner del overview — más presencia */
#ov-headline-insight {
  transition: box-shadow .25s ease, transform .18s ease;
}
#ov-headline-insight:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}

/* Privacy pill (cbar) — sutil hover */
#cbar-privacy {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
#cbar-privacy:hover {
  background: rgba(212,168,67,.08);
  border-color: rgba(212,168,67,.25);
  color: rgba(255,255,255,.85);
}

/* Toast — entra con elegancia */
#toast {
  transition: transform .25s cubic-bezier(.2,.7,.3,1.2), opacity .25s ease;
}

/* Scroll suave general */
html { scroll-behavior: smooth; }

/* Selecciones del texto — branding dorado */
::selection {
  background: rgba(212,168,67,.35);
  color: #fff;
}

/* Empty states más cuidados */
.empty {
  animation: getmycfo-empty-fade .35s ease both;
}
@keyframes getmycfo-empty-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Inputs — focus dorado suave (ya teníamos pero añadimos border) */
input[type="number"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border-color: rgba(212,168,67,.5) !important;
  box-shadow: 0 0 0 3px rgba(212,168,67,.12);
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — MAPEO FINAL DE TOKENS ANTIGUOS
   Este bloque va al final del archivo a propósito: gana en cascada CSS
   sobre todos los :root anteriores y sobreescribe las variables antiguas
   (--navy, --txt, --bg2, etc.) con la paleta light/warm v2.
   Esto convierte la app de dark navy a light warm sin tocar componente
   por componente.
   ════════════════════════════════════════════════════════════════════════ */
:root{
  --navy:        #ffffff;
  --navy2:       #f3f1ea;
  --navy3:       #ebe8da;
  --navy4:       #e6e2d6;
  --navy-deep:   #fbfaf5;
  --bg2:         #f3f1ea;
  --txt:         #0c1426;
  --txt2:        #4a5468;
  --muted:       #8892a4;
  --green:       #1f8f5b;
  --amber:       #c97a1c;
  --red:         #c43a3a;
  --card:        #ffffff;
  --gold:        #b88a2a;
  --gold-l:      #d4a843;
  --gold-dim:    #fbf3dc;
  --border:      #e6e2d6;
}

/* Body sobre la nueva paleta — fuerza el repintado inmediato. */
html, body{
  background: #fbfaf5 !important;
  color:      #0c1426 !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — OVERRIDES AGRESIVOS (light mode)
   Reglas con !important sobre selectores cuya CSS heredada usa colores
   literales (no variables) y no respeta el mapeo de tokens.
   ════════════════════════════════════════════════════════════════════════ */

/* 1. Sidebar (.hdr) — light */
.hdr{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border-right: 1px solid var(--border) !important;
  box-shadow: 1px 0 0 rgba(12,20,38,.03) !important;
}
.hdr .brand-text .t1{ color: var(--ink) !important; }
.hdr .brand-text .t2{ color: var(--ink-3) !important; }
.hdr .brand-mark{
  background: var(--gold) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(184,138,42,.25) !important;
}
.hdr .nav-section-label,
.hdr .nav-section-title{
  color: var(--ink-3) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
}
.hdr .nav-sep{ background: var(--border) !important; }
.hdr .tbtn{
  color: var(--ink-2) !important;
  background: transparent !important;
  border-radius: var(--r) !important;
}
.hdr .tbtn:hover:not(.active){
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
}
.hdr .tbtn.active{
  background: var(--gold-pale) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(184,138,42,.25) !important;
}
.hdr .tab-icon{ filter: none !important; opacity: 1 !important; }
.hdr .sidebar-toggle{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}
.hdr .sidebar-toggle:hover{
  background: var(--bg) !important; color: var(--ink) !important;
}

/* 2. Topbar contexto (.cbar) */
.cbar{
  background: var(--bg-elevated) !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: 0 !important;
}
.cbar-pill{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-pill) !important;
  color: var(--ink) !important;
}
.cbar-name{ color: var(--ink) !important; }
.cbar-period{ color: var(--ink-2) !important; }
.cbar .uplbl,
.cbar .btn-ghost{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border-strong) !important;
}
.cbar .uplbl:hover,
.cbar .btn-ghost:hover{
  background: var(--bg-subtle) !important;
  border-color: var(--ink-3) !important;
}

/* 3. Dash-main fondo */
.dash-main, .dash-main-inner{
  background: var(--bg) !important;
  background-image: none !important;
}

/* 4. Hero del overview */
.ov-hero, .ov-hero-v2{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
}
.ov-hero::before, .ov-hero::after{ display: none !important; }
.ov-title-main{ color: var(--ink) !important; }
.ov-title-main strong, .ov-title-main em{ color: var(--gold) !important; }
.ov-sub{ color: var(--ink-2) !important; }
.ov-company{
  background: var(--gold-pale) !important;
  border-color: var(--border) !important;
}
.ov-company-text{ color: var(--gold) !important; }
.ov-company-dot{ background: var(--gold) !important; animation: none !important; box-shadow: none !important; }

/* 5. Health Score pill */
.ov-score-pill{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ov-score-pill .ov-score-num{ color: var(--ink) !important; }
.ov-score-pill .ov-score-lbl{ color: var(--ink-2) !important; }

/* 6. KPI cards */
.ov-kcard, .kpi-card, .stat, .rb-kpi-card, .rfa-card{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-sm) !important;
}
.ov-klabel, .stat-label{ color: var(--ink-2) !important; }
.ov-kval, .stat-value{ color: var(--ink) !important; }
.ov-ksub{ color: var(--ink-2) !important; }
.ov-kyoy, .stat-hint{ color: var(--ink-3) !important; }
.ov-kbadge{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}

/* 7. Tab intros, insight boxes, cards genéricas */
.tab-intro, .insight-box, .cc, #cnt-overview, #cnt-financiero,
#cnt-liquidez, #cnt-diagnostic, #cnt-report, #cnt-datos{
  background: transparent !important;
  color: var(--ink) !important;
}
.tab-intro-title{ color: var(--ink) !important; }
.tab-intro-headline{ color: var(--ink) !important; }
.tab-intro-body{ color: var(--ink-2) !important; }

/* 8. Headline insight banner */
#ov-headline-insight{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  border-left: 4px solid var(--gold) !important;
  box-shadow: var(--shadow-sm) !important;
}
#ov-headline-text{ color: var(--ink) !important; }

/* 9. Toast */
#toast{
  background: var(--ink) !important;
  color: var(--ink-inverse) !important;
}

/* 10. Footer landing */
footer, footer .footer-row, .lp-footer{
  background: var(--bg-inverse) !important;
  color: var(--ink-inverse) !important;
}
footer a, .lp-footer a{ color: rgba(251,250,245,.7) !important; }
footer a:hover, .lp-footer a:hover{ color: var(--gold-soft) !important; }

/* 11. Inputs */
input[type="number"], input[type="text"], input[type="email"],
input[type="password"], input[type="date"], select, textarea{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
input::placeholder, textarea::placeholder{ color: var(--ink-3) !important; }

/* 12. Nav fijo landing */
#nav{
  background: rgba(251,250,245,.85) !important;
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}
#nav.stuck{
  background: rgba(251,250,245,.95) !important;
  box-shadow: 0 1px 0 var(--border), 0 4px 20px rgba(12,20,38,.04) !important;
}
#nav .nav-name{ color: var(--ink) !important; }
#nav .nav-tag{ color: var(--ink-3) !important; }
#nav .nav-links a{ color: var(--ink) !important; }
#nav .nav-links a:hover{ color: var(--gold) !important; }
#nav .nav-logomark{
  background: var(--gold) !important;
  color: #ffffff !important;
}

/* 13. Hero landing actual */
#hero, #hero .hero-inner{
  background: var(--bg) !important;
}
#hero .hero-glow{ display: none !important; }
#hero h1, .hero h1{ color: var(--ink) !important; }
#hero h1 em, #hero h1 strong{ color: var(--gold) !important; }
#hero p, .hero-sub, .hero p{ color: var(--ink-2) !important; }
#hero .hero-pill{
  background: var(--gold-pale) !important;
  color: var(--gold) !important;
  border: 1px solid var(--border) !important;
}

/* 14. Secciones */
section.section, section[id]{
  background: var(--bg) !important;
  color: var(--ink) !important;
}
section.section h1, section.section h2, section.section h3,
section[id] h1, section[id] h2, section[id] h3{
  color: var(--ink) !important;
}
section h2 em, section h3 em{ color: var(--gold) !important; }
section p, section .section-sub{ color: var(--ink-2) !important; }

/* 15. Eyebrow */
.eyebrow, .eyebrow-text{
  color: var(--gold) !important;
  background: transparent !important;
}
.eyebrow-line{ background: var(--border) !important; }

/* 16. For-whom */
#for-whom{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
}
#for-whom h2{ color: var(--ink) !important; }
#for-whom .yes-list li, #for-whom .no-list li{ color: var(--ink-2) !important; }

/* 17. Testimonios y privacy cards */
.testi-card, .testi-grid > div{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.tc-quote, .testi-quote{ color: var(--ink) !important; }
.tc-name{ color: var(--ink) !important; }
.tc-role{ color: var(--ink-2) !important; }

/* 18. Ticker — esconder */
#ticker, .ticker-rail{ display: none !important; }

/* 19. Empty states */
.empty, [id^="emp-"]{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px dashed var(--border) !important;
  border-radius: var(--r-lg) !important;
}

/* 20. CTA final */
#cta, section#cta{
  background:
    radial-gradient(800px 400px at 50% 0%, var(--gold-pale), transparent 70%),
    var(--bg) !important;
  color: var(--ink) !important;
}
#cta h2{ color: var(--ink) !important; }
#cta p, #cta .cta-kicker{ color: var(--ink-2) !important; }
#cta .pill-led{ background: var(--gold) !important; }

/* 21. Botones genéricos */
.btn-primary{
  background: var(--ink) !important;
  color: var(--bg) !important;
  border-color: var(--ink) !important;
}
.btn-primary:hover{
  background: #1a2540 !important;
}
.btn-ghost-light, #nav .btn-ghost-light{
  background: var(--gold-pale) !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
}
.btn-ghost-light:hover, #nav .btn-ghost-light:hover{
  background: var(--gold) !important;
  color: #ffffff !important;
}

/* 22. How-it-works & report-preview sections */
#how, #features, #preview, #testimonials, #privacy{
  background: var(--bg) !important;
}
#how.section-alt, #features.section-alt, #preview.section-alt{
  background: var(--bg-subtle) !important;
}

/* 23. Feature cards */
.feat-card, .funcionalidad-card{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.feat-card h3, .feat-card .feat-title{ color: var(--ink) !important; }
.feat-card p, .feat-card .feat-body{ color: var(--ink-2) !important; }

/* 24. How-it-works steps */
.step-card, .how-step{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.step-num{ background: var(--ink) !important; color: var(--bg) !important; }
.step-card h3{ color: var(--ink) !important; }
.step-card p{ color: var(--ink-2) !important; }

/* 25. Report-frame preview en landing */
.report-frame, .rf-actions, .rfa-head{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.rfa-title{ color: var(--ink) !important; }
.rfa-count{ color: var(--ink-2) !important; }
.action-row{
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
}
.action-row .ar-text{ color: var(--ink) !important; }
.action-row .ar-owner{ color: var(--ink-2) !important; }

/* 26. Stats banner */
#stats, .stats-row{
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
}
#stats .stat-num{ color: var(--gold) !important; }
#stats .stat-lbl{ color: var(--ink-2) !important; }

/* 27. Privacy section */
#privacy{
  background: var(--bg-elevated) !important;
}
#privacy h2, #privacy h4{ color: var(--ink) !important; }
#privacy p{ color: var(--ink-2) !important; }
#privacy [class*="border"]{ border-color: var(--border) !important; }

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — OVERRIDES Builder (rb-*) y otros restos dark
   El Report Builder usa colores hardcoded en 248+ reglas. Aquí los
   forzamos a la paleta light con !important.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Wrapper del builder ───────────────────────────────────────────── */
#builder-wrap, .builder-wrap{
  background: var(--bg) !important;
  color: var(--ink) !important;
}

/* ── Top nav del builder (.rb-nav) ─────────────────────────────────── */
.rb-nav{
  background: var(--bg-elevated) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.rb-nav-name{ color: var(--ink) !important; }
.rb-nav-tag{  color: var(--ink-3) !important; }
.rb-nav-logo{
  background: var(--gold) !important;
  color: #ffffff !important;
}
.rb-nav-status{ color: var(--ink-2) !important; }

/* Step indicator de la nav superior */
.rb-ns-step, [class*="rb-ns-"]{ color: var(--ink-2) !important; }
.rb-ns-step.active, .rb-ns-step.is-active{ color: var(--gold) !important; }
.rb-ns-line{ background: var(--border) !important; }
.rb-ns-pill{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink-2) !important;
}
.rb-ns-pill.done{
  background: var(--good-soft) !important;
  border-color: var(--good) !important;
  color: var(--good) !important;
}
.rb-ns-pill.active{
  background: var(--gold-pale) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* ── Body del builder ──────────────────────────────────────────────── */
.rb-body{
  background: var(--bg) !important;
  color: var(--ink) !important;
}

/* ── Workspace header (hero del builder) ───────────────────────────── */
.rb-workspace-header{
  border-bottom: 1px solid var(--border) !important;
  background: transparent !important;
}
.rb-wh-eyebrow{
  background: var(--good-soft) !important;
  border: 1px solid rgba(31,143,91,.25) !important;
  color: var(--good) !important;
}
.rb-wh-eyebrow.neutral{
  background: var(--bg-subtle) !important;
  border-color: var(--border) !important;
  color: var(--ink-2) !important;
}
.rb-wh-eyebrow.loaded{
  background: var(--gold-pale) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}
.rb-wh-eyebrow-dot{ background: var(--good) !important; animation: none !important; }
.rb-wh-eyebrow.neutral .rb-wh-eyebrow-dot{ background: var(--ink-3) !important; }
.rb-wh-eyebrow.loaded  .rb-wh-eyebrow-dot{ background: var(--gold) !important; }
.rb-wh-title{ color: var(--ink) !important; }
.rb-wh-sub{   color: var(--ink-2) !important; }
.rb-wh-demo-btn{
  background: var(--ink) !important;
  color: var(--bg) !important;
  box-shadow: 0 4px 12px rgba(12,20,38,.15) !important;
  border: 0 !important;
}
.rb-wh-demo-btn:hover{
  background: #1a2540 !important;
  box-shadow: 0 8px 22px rgba(12,20,38,.22) !important;
  filter: none !important;
}
.rb-wh-demo-meta{ color: var(--ink-3) !important; }

/* ── Drop zone (sube Excel aquí) ───────────────────────────────────── */
.rb-dz, [class*="rb-dz"]{
  background: var(--bg-elevated) !important;
  border: 2px dashed var(--border-strong) !important;
  color: var(--ink) !important;
  transition: border-color var(--t) var(--ease), background var(--t) var(--ease);
}
.rb-dz:hover, .rb-dz.drag, .rb-dz.is-drag{
  border-color: var(--gold) !important;
  background: var(--gold-pale) !important;
}
.rb-dz-bg-pattern{ display: none !important; }
.rb-dz-icon-wrap{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
}
.rb-dz-title, .rb-dz-h2{ color: var(--ink) !important; }
.rb-dz-sub,   .rb-dz-hint{ color: var(--ink-2) !important; }
.rb-dz-feedback, .rb-dz-feedback *{ color: var(--ink) !important; }

/* ── Cards de modelo de negocio (SaaS / E-commerce / Servicios / Industria) ── */
.rb-bm-card, [class*="bm-card"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  transition: all .15s var(--ease);
}
.rb-bm-card:hover{
  border-color: var(--gold) !important;
  box-shadow: var(--shadow) !important;
  transform: translateY(-2px);
}
.rb-bm-card.is-selected, .rb-bm-card.selected,
.rb-bm-card[aria-pressed="true"]{
  background: var(--gold-pale) !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 1px var(--gold) !important;
}
.rb-bm-card-title{ color: var(--ink) !important; }
.rb-bm-card-sub{   color: var(--ink-2) !important; }
.rb-bm-card-icon{ filter: none !important; }

/* ── Section header (TIPO DE NEGOCIO — CALIBRA...) ─────────────────── */
.rb-sec-label, .rb-section-label{
  color: var(--ink-3) !important;
}
.rb-step-label, .rb-step-title{ color: var(--ink) !important; }
.rb-step-sub,   .rb-step-hint{  color: var(--ink-2) !important; }

/* ── Botón principal "Continuar — Introducir datos" ───────────────── */
.rb-generate-btn, #rb-generate-btn, [class*="rb-generate"]{
  background: var(--gold) !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: 0 3px 12px rgba(184,138,42,.32) !important;
}
.rb-generate-btn:hover:not(:disabled){
  background: var(--gold-soft) !important;
  filter: brightness(1.04) !important;
}
.rb-generate-btn:disabled{
  background: var(--bg-subtle) !important;
  color: var(--ink-3) !important;
  box-shadow: none !important;
}

/* ── Section number badge "01" ─────────────────────────────────────── */
.rb-step-num, [class*="step-num"]{
  background: var(--ink) !important;
  color: var(--bg) !important;
}

/* ── Lock badges / plan pills ──────────────────────────────────────── */
.lock-badge, .plan-pill, .preview-pill{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}

/* ── Inputs dentro del builder ─────────────────────────────────────── */
.rb-body input, .rb-body select, .rb-body textarea{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* ── Empty states del builder ──────────────────────────────────────── */
.rb-empty, .rb-empty-state{
  background: var(--bg-elevated) !important;
  border: 1px dashed var(--border) !important;
  color: var(--ink) !important;
}

/* ── Toast del builder (rb-toast) ──────────────────────────────────── */
.rb-toast{
  background: var(--ink) !important;
  color: var(--ink-inverse) !important;
}

/* ── Demo sticky CTA ───────────────────────────────────────────────── */
#demo-sticky-cta, .demo-sticky-cta{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-lg) !important;
  color: var(--ink) !important;
}

/* ── Iconos de tab en dashboard sidebar — asegurar visibilidad ─────── */
.hdr .tab-icon, .tab-icon{
  opacity: 1 !important;
  filter: none !important;
}

/* ── Hero del landing (versión actual) — pulir contraste ───────────── */
.hero-pill, [class*="hero-pill"]{
  background: var(--gold-pale) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(184,138,42,.25) !important;
}

/* ── Fix para el #toast persistente desde landing ──────────────────── */
#toast{ background: var(--ink) !important; color: var(--bg) !important; }

/* ── Polishing del headline en dashboard — sombras más suaves ──────── */
#ov-headline-insight[style*="display: flex"]{
  background: var(--bg-elevated) !important;
}

/* ── Misc dark survivors ───────────────────────────────────────────── */
.glass, .glass-card{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  backdrop-filter: none !important;
}

/* ── Privacy modal (cuando se abre) ────────────────────────────────── */
#privacy-modal, .privacy-modal-content{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}
#privacy-modal h1, #privacy-modal h2, #privacy-modal h3{ color: var(--ink) !important; }
#privacy-modal p,  #privacy-modal li{ color: var(--ink-2) !important; }

/* ── Cookie banner — refrescamos por si quedó con dark vars ────────── */
#cookie-banner{
  background: rgba(251,250,245,.97) !important;
  border: 1px solid var(--gold) !important;
  color: var(--ink) !important;
  box-shadow: 0 14px 40px rgba(12,20,38,.15) !important;
}
#cookie-banner p{ color: var(--ink-2) !important; }
#cookie-banner a{ color: var(--gold) !important; }

/* ── Welcome / post-payment modals ─────────────────────────────────── */
#welcome-modal, #post-payment-modal{
  background: rgba(12,20,38,.55) !important;
}
#welcome-modal > div, #post-payment-modal > div{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* ── Auth modal ────────────────────────────────────────────────────── */
#auth-modal{
  background: rgba(12,20,38,.55) !important;
}
#auth-modal .auth-modal-inner, #auth-modal > div{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}
.auth-modal-input{
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* ── Charts containers — fondo light ───────────────────────────────── */
.cc, .ctitle{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}
.ctitle{ background: transparent !important; border: 0 !important; }

/* ── Tabbed paywalled tabs — ya no usan, asegurar light ────────────── */
.paywall-overlay, .paywall-card{ display: none !important; }

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — OVERRIDES Builder wz2 + restos invisibles
   .wz2-* es el wizard de la pantalla "Introducir datos financieros".
   ════════════════════════════════════════════════════════════════════════ */

/* Wizard shell + header */
.wz2-shell{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  color: var(--ink) !important;
}
.wz2-header{ border-bottom: 1px solid var(--border) !important; }
.wz2-title{
  color: var(--ink) !important;
  font-family: var(--font-display) !important;
}
.wz2-subtitle{ color: var(--ink-2) !important; }
.wz2-divider{
  color: var(--ink-3) !important;
  border-top: 1px solid var(--border) !important;
}

/* Step indicator inline (1 → 2 → 3) */
.wz2-steps{ color: var(--ink-2) !important; }
.wz2-step{
  color: var(--ink-2) !important;
  background: transparent !important;
}
.wz2-step.active{
  color: var(--gold) !important;
  font-weight: 700 !important;
}
.wz2-step-num{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}
.wz2-step.active .wz2-step-num{
  background: var(--gold) !important;
  color: #ffffff !important;
  border-color: var(--gold) !important;
}
.wz2-step-sep{ color: var(--ink-3) !important; }

/* Type cards: SaaS / E-commerce / Servicios / Industria */
.wz2-types{ background: transparent !important; }
.wz2-type{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  transition: all .15s var(--ease);
}
.wz2-type:hover{
  border-color: var(--gold-soft) !important;
  background: var(--gold-pale) !important;
  transform: translateY(-2px);
  box-shadow: var(--shadow) !important;
}
.wz2-type.selected, .wz2-type[aria-selected="true"]{
  background: var(--gold-pale) !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 1px var(--gold), var(--shadow-sm) !important;
}
.wz2-type-icon{ filter: none !important; }
.wz2-type-name{
  color: var(--ink) !important;
  font-weight: 700 !important;
}
.wz2-type-desc{
  color: var(--ink-2) !important;
  opacity: 1 !important;
}

/* Wizard inputs y labels */
.wz2-shell label, .wz2-shell .wz2-label{
  color: var(--ink) !important;
}
.wz2-shell input, .wz2-shell select, .wz2-shell textarea{
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.wz2-shell input:focus, .wz2-shell select:focus{
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-pale) !important;
}

/* Cualquier ".wz2-*" muted que haya quedado */
.wz2-hint, .wz2-meta, .wz2-help{ color: var(--ink-2) !important; }
.wz2-eyebrow{ color: var(--ink-3) !important; }

/* Botón Ver demo inline en builder */
.rb-wh-demo-btn-inline{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-strong) !important;
  color: var(--ink) !important;
  padding: 9px 18px !important;
  border-radius: var(--r) !important;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease) !important;
}
.rb-wh-demo-btn-inline:hover{
  background: var(--bg-subtle) !important;
  border-color: var(--ink-3) !important;
}

/* Sub-bar de wizard ("Paso 1 de 3 — Configura tu empresa") */
.wz2-stagebar, .wz2-stage-meta, .wz2-stage-title{ color: var(--ink-2) !important; }

/* Ready / loaded state cards (las que aparecen abajo del builder con
   "Salud Estable / Crecimiento descontrolado") */
.rb-quickfacts, .rb-qf, .rb-overview-card,
[class*="rb-quickfact"], [class*="rb-overview"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* Las cards de demostración "Patrón dominante / Verificar manualmente"
   en el rb-body — buscar por color background hardcoded */
.rb-body [style*="background:rgba(255,255,255"],
.rb-body [style*="background: rgba(255,255,255"],
.rb-body [style*="background:#0d1117"],
.rb-body [style*="background:#0a1628"],
.rb-body [style*="background:#162540"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* Generar análisis financiero - bottom CTA bar */
.rb-generate-section, .rb-bottom-bar, .rb-action-bar{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
  color: var(--ink) !important;
}

/* Trust pills bottom: "Solo en tu navegador", "PDF ejecutivo incluido" */
.rb-trust-pill, .rb-trust-item, [class*="rb-trust"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink-2) !important;
}

/* Generar SVG illustrations o icons — asegurar visibilidad */
.rb-body svg, .rb-body svg path, .rb-body svg circle, .rb-body svg rect{
  /* No tocamos los colores semánticos, pero aseguramos transparencias */
  opacity: 1 !important;
}

/* Cualquier texto del builder con color blanco hardcoded */
.rb-body [style*="color:#f0ede6"],
.rb-body [style*="color: #f0ede6"],
.rb-body [style*="color:#fff"],
.rb-body [style*="color: #fff"]{
  color: var(--ink) !important;
}
.rb-body [style*="color:#c8d0de"],
.rb-body [style*="color: #c8d0de"],
.rb-body [style*="color:#92a0b8"],
.rb-body [style*="color: #92a0b8"]{
  color: var(--ink-2) !important;
}

/* Cabecera de sección "Introduce tus datos financieros 01" */
.rb-section-header, .rb-sh-num, .rb-sh-title{ color: var(--ink) !important; }

/* "Tipo de negocio — calibra los benchmarks del análisis" */
.wz2-shell .wz2-divider{
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-weight: 700 !important;
  color: var(--ink-3) !important;
  padding: 14px 0 10px !important;
  margin-bottom: 14px !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — POLISH FINAL (capa 3)
   Reglas que fuerzan light en cualquier elemento con inline-style dark
   dentro del builder/landing. Selector genérico [style*="..."].
   ════════════════════════════════════════════════════════════════════════ */

/* Forzar light en cualquier elemento con background dark hardcoded
   dentro del builder/dashboard wrappers. Esto pilla los inline styles
   que el JS inyecta dinámicamente sin pasar por las clases CSS. */
#builder-wrap [style*="background:#0d1117"],
#builder-wrap [style*="background: #0d1117"],
#builder-wrap [style*="background:#0a1628"],
#builder-wrap [style*="background: #0a1628"],
#builder-wrap [style*="background:#060d1a"],
#builder-wrap [style*="background: #060d1a"],
#builder-wrap [style*="background:#0f1e3c"],
#builder-wrap [style*="background: #0f1e3c"],
#builder-wrap [style*="background:#162540"],
#builder-wrap [style*="background: #162540"],
#builder-wrap [style*="background:#070e1c"],
#dashboard-wrap [style*="background:#0d1117"],
#dashboard-wrap [style*="background: #0d1117"]{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}

/* Texto blanco hardcoded → ink */
#builder-wrap [style*="color:#f0ede6"],
#builder-wrap [style*="color: #f0ede6"],
#builder-wrap [style*="color:#fff"],
#builder-wrap [style*="color: #fff"],
#builder-wrap [style*="color:#ffffff"],
#builder-wrap [style*="color: #ffffff"]{
  color: var(--ink) !important;
}
#builder-wrap [style*="color:rgba(255,255,255"]:not(button):not(.rb-generate-btn){
  color: var(--ink-2) !important;
}

/* Texto gris claro (sobre dark) → ink-2 / ink-3 */
#builder-wrap [style*="color:#c8d0de"],
#builder-wrap [style*="color: #c8d0de"]{
  color: var(--ink-2) !important;
}
#builder-wrap [style*="color:#92a0b8"],
#builder-wrap [style*="color: #92a0b8"]{
  color: var(--ink-3) !important;
}

/* Border rgba blancos sobre dark → border warm */
#builder-wrap [style*="border:1px solid rgba(255,255,255"],
#builder-wrap [style*="border: 1px solid rgba(255,255,255"],
#builder-wrap [style*="border-top:1px solid rgba(255,255,255"]{
  border-color: var(--border) !important;
}

/* "FACTOR DOMINANTE" / "CONFIRMACIÓN DETECTADA" labels */
#builder-wrap [style*="background:rgba(212,168,67"]:not(button){
  background: var(--gold-pale) !important;
  color: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* Salud Sólida — verde card */
#builder-wrap [style*="background:rgba(39,174,96"],
#builder-wrap [style*="background: rgba(39,174,96"],
#builder-wrap [style*="background:rgba(39,212,100"]{
  background: var(--good-soft) !important;
  border: 1px solid rgba(31,143,91,.25) !important;
  color: var(--good) !important;
}

/* Cards dark dinámicas (background.5, .8 alphas) */
#builder-wrap > *:not(.rb-nav) [style*="background:rgba(13,17,23"],
#builder-wrap > *:not(.rb-nav) [style*="background: rgba(13,17,23"]{
  background: var(--bg-elevated) !important;
}

/* Hero card del mockup en landing — convertir todo el SVG a light theme
   Esto es delicado: el SVG mockup del hero está embedded; si lo dejamos
   con bg #0d1117 sigue siendo coherente como "preview del producto".
   Lo dejamos PURPOSEFULLY dark para que se vea el contraste del PDF. */

/* Empty state del builder cuando no hay datos */
.rb-empty-shell, .rb-no-data-card{
  background: var(--bg-elevated) !important;
  border: 1px dashed var(--border-strong) !important;
  color: var(--ink-2) !important;
}

/* Eyebrow "01" del builder section header — más legible */
.rb-section-num{
  background: var(--ink) !important;
  color: var(--bg) !important;
  border: 0 !important;
}

/* Better contrast on dark report mockup in landing — leave as-is,
   pero asegurar que botones interiores son legibles si los hay. */
#hero svg text{ font-weight: 600; }

/* Toast & otros notifs */
#toast{ background: var(--ink) !important; color: var(--bg) !important; }

/* "En desarrollo" pill abajo del builder */
.rb-dev-tag, .dev-pill, [class*="dev-tag"]{
  background: var(--warn-soft) !important;
  color: var(--warn) !important;
  border: 1px solid rgba(201,122,28,.25) !important;
}

/* Generar / sub-step labels */
.rb-stage-pill, .rb-stage-label{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}

/* Section título "Generar análisis financiero" - el banner gold del CTA bottom */
[id*="generate"], [class*="generate-section"]{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
  color: var(--ink) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — AUTH MODAL + ADMIN PANEL + REGISTRO (capa 4)
   ════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════
   1. AUTH MODAL — sign in / sign up
   ════════════════════════════════════════════════════════════════════════ */
#auth-modal-bg, .auth-modal-bg{
  background: rgba(12,20,38,.55) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.auth-modal{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-xl) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 36px 32px 28px !important;
  max-width: 420px !important;
  position: relative;
}
.auth-modal-logo{
  background: var(--gold) !important;
  color: #ffffff !important;
  width: 48px !important; height: 48px !important;
  border-radius: 12px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: var(--font-display) !important;
  font-size: 18px !important; font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(184,138,42,.25) !important;
  margin: 0 auto 18px !important;
}
.auth-modal-title{
  font-family: var(--font-display) !important;
  font-size: 26px !important; font-weight: 700 !important;
  color: var(--ink) !important;
  text-align: center !important;
  letter-spacing: -.02em !important;
  margin-bottom: 6px !important;
}
.auth-modal-sub{
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--ink-2) !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  line-height: 1.5 !important;
}
.auth-modal-field{
  margin-bottom: 14px !important;
}
.auth-modal-field label{
  display: block !important;
  font-size: 12px !important; font-weight: 600 !important;
  color: var(--ink) !important;
  margin-bottom: 6px !important;
  letter-spacing: 0 !important;
}
.auth-modal-input{
  width: 100% !important;
  background: var(--bg) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: var(--r) !important;
  padding: 11px 14px !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
  box-sizing: border-box !important;
}
.auth-modal-input:focus{
  outline: none !important;
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-pale) !important;
}
.auth-modal-input::placeholder{ color: var(--ink-3) !important; }

#auth-modal-error{
  color: var(--bad) !important;
  background: var(--bad-soft) !important;
  border: 1px solid rgba(196,58,58,.25) !important;
  padding: 9px 12px !important;
  border-radius: var(--r-sm) !important;
  font-size: 13px !important;
  text-align: left !important;
  margin-bottom: 14px !important;
}

#auth-privacy-row label{
  font-size: 13px !important;
  color: var(--ink-2) !important;
  line-height: 1.5 !important;
}
#auth-privacy-row a{ color: var(--gold) !important; }

#auth-forgot-link a{
  color: var(--ink-3) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
#auth-forgot-link a:hover{ color: var(--gold) !important; }

.auth-modal-btn{
  width: 100% !important;
  background: var(--ink) !important;
  color: var(--bg) !important;
  border: 0 !important;
  border-radius: var(--r) !important;
  padding: 13px 22px !important;
  font-size: 15px !important; font-weight: 600 !important;
  font-family: var(--font-body) !important;
  cursor: pointer !important;
  transition: transform .12s ease, box-shadow .15s ease !important;
  box-shadow: 0 4px 12px rgba(12,20,38,.15) !important;
}
.auth-modal-btn:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(12,20,38,.22) !important;
}
.auth-modal-btn:disabled{
  background: var(--bg-subtle) !important;
  color: var(--ink-3) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Toggle login/register link */
#auth-toggle-text{ color: var(--ink-2) !important; }
#auth-toggle-link{ color: var(--gold) !important; font-weight: 600 !important; }
#auth-toggle-link:hover{ text-decoration: underline !important; }

.auth-modal-dismiss{
  color: var(--ink-3) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  display: inline-block !important;
  margin-top: 12px !important;
}
.auth-modal-dismiss:hover{ color: var(--ink) !important; }

/* Cuenta logged-in state */
#auth-state-account{
  color: var(--ink) !important;
}
#auth-state-account .auth-modal-btn[onclick*="authLogout"]{
  background: var(--bad-soft) !important;
  color: var(--bad) !important;
  border: 1px solid rgba(196,58,58,.25) !important;
  box-shadow: none !important;
}

/* Password reveal toggle */
.auth-modal-field button[type="button"]{
  color: var(--ink-3) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   2. ADMIN PANEL — la zona del admin debe ser TOTALMENTE light
   ════════════════════════════════════════════════════════════════════════ */
#admin-panel{ background: rgba(12,20,38,.55) !important; }
#admin-panel-inner{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-lg) !important;
}
#admin-panel-inner h1, #admin-panel-inner h2, #admin-panel-inner h3,
#admin-panel-inner .adm-h1, #admin-panel-inner .adm-h2{
  color: var(--ink) !important;
}
#admin-panel-inner p, #admin-panel-inner .adm-text{ color: var(--ink-2) !important; }

.adm-tabs{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  padding: 4px !important;
  gap: 2px !important;
}
.adm-tab{
  background: transparent !important;
  color: var(--ink-2) !important;
  border: 0 !important;
  border-radius: var(--r-sm) !important;
  padding: 8px 14px !important;
  font-weight: 600 !important;
}
.adm-tab:hover:not(.active){
  background: var(--bg) !important;
  color: var(--ink) !important;
}
.adm-tab.active{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-sm) !important;
}

.adm-action-btn{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
}
.adm-action-btn:hover{
  background: var(--bg-subtle) !important;
  border-color: var(--ink-3) !important;
}

/* Botón "Entrar al panel admin" — quitar el azul/morado */
.adm-card button[onclick="admLogin()"]{
  background: var(--ink) !important;
  color: var(--bg) !important;
  border: 0 !important;
  border-radius: var(--r) !important;
  box-shadow: 0 4px 12px rgba(12,20,38,.18) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
}
.adm-card button[onclick="admLogin()"]:hover{
  background: #1a2540 !important;
  transform: translateY(-1px) !important;
}

/* Card del admin login modal */
#admin-login-overlay{
  background: rgba(12,20,38,.55) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.adm-card{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-lg) !important;
  border-radius: var(--r-xl) !important;
}
.adm-card .adm-card-title, .adm-card h2, .adm-card h3{ color: var(--ink) !important; }
.adm-card .adm-card-sub, .adm-card p{ color: var(--ink-2) !important; }
.adm-card label{ color: var(--ink) !important; }
.adm-card input{
  background: var(--bg) !important;
  border: 1px solid var(--border-strong) !important;
  color: var(--ink) !important;
}
.adm-card input:focus{
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px var(--gold-pale) !important;
}
.adm-card .adm-card-logo{
  background: var(--gold) !important;
  color: #ffffff !important;
}
.adm-card .adm-card-dismiss{ color: var(--ink-3) !important; }
.adm-card .adm-card-dismiss:hover{ color: var(--ink) !important; }
#adm-error{
  color: var(--bad) !important;
  background: var(--bad-soft) !important;
  border-radius: var(--r-sm) !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
}

/* Admin panel tables */
#admin-panel-inner table{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
}
#admin-panel-inner thead, #admin-panel-inner th{
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
}
#admin-panel-inner tbody tr td{
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Admin panel inputs */
#admin-panel-inner input,
#admin-panel-inner textarea,
#admin-panel-inner select{
  background: var(--bg) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border-strong) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   3. RESTOS AZULES — barrer cualquier elemento residual
   ════════════════════════════════════════════════════════════════════════ */

/* Dashboard-wrap fondo */
#dashboard-wrap{
  background: var(--bg) !important;
}

/* Cualquier elemento con background azul-navy literal */
[style*="background:#070e1c"],
[style*="background: #070e1c"],
[style*="background:rgb(7,14,28)"],
[style*="background-color:#070e1c"]{
  background: var(--bg) !important;
}

/* Cards azules de "Mi cuenta" cuando logged */
#auth-state-account [style*="background:rgba(212,168,67,.08)"],
#auth-state-account [style*="background:rgba(212,168,67,.1)"]{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
  color: var(--ink) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   4. NAV — afinar el contraste con los nuevos CTAs (Iniciar sesión / Crear cuenta)
   ════════════════════════════════════════════════════════════════════════ */
.nav-login-link{
  color: var(--ink-2) !important;
  font-weight: 600 !important;
}
.nav-login-link:hover{ color: var(--ink) !important; background: var(--bg-subtle) !important; }

#nav .btn-primary.btn-sm{
  padding: 9px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: var(--ink) !important;
  color: var(--bg) !important;
}
#nav .btn-primary.btn-sm:hover{
  background: #1a2540 !important;
}

#nav .btn-ghost-light.btn-sm{
  background: transparent !important;
  color: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
}
#nav .btn-ghost-light.btn-sm:hover{
  background: var(--gold) !important;
  color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════════════════════
   5. CONTRASTES DE TEXTO — barrido global
   En el dark theme heredado hay muchos textos con color:rgba(255,255,255,.X)
   o color:#92a0b8 que sobre fondo light se ven muy claros. Los reforzamos.
   ════════════════════════════════════════════════════════════════════════ */
[style*="color:rgba(255,255,255,.4"],
[style*="color: rgba(255,255,255,.4"],
[style*="color:rgba(255,255,255,.45"]{
  color: var(--ink-2) !important;
}
[style*="color:rgba(255,255,255,.5"],
[style*="color: rgba(255,255,255,.5"],
[style*="color:rgba(255,255,255,.6"]{
  color: var(--ink-2) !important;
}
[style*="color:rgba(255,255,255,.7"],
[style*="color: rgba(255,255,255,.7"],
[style*="color:rgba(255,255,255,.75"],
[style*="color:rgba(255,255,255,.8"]{
  color: var(--ink) !important;
}
/* Hero trust pills "🔒 Tus datos no salen..." se quedaron claros */
.hero-trust span{ color: var(--ink-2) !important; }

/* Sub texto inline "o descarga la plantilla Excel gratuita →" */
.hero-btns a[onclick*="downloadTemplate"]{
  color: var(--ink-2) !important;
  text-decoration-color: var(--gold) !important;
}
.hero-btns a[onclick*="downloadTemplate"]:hover{
  color: var(--ink) !important;
}

/* Cualquier color de texto azul navy queriendo verse sobre dark */
[style*="color:#5a6478"],
[style*="color: #5a6478"]{
  color: var(--ink-2) !important;
}
[style*="color:#64748b"],
[style*="color: #64748b"]{
  color: var(--ink-2) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   6. Demo sticky CTA — del azul-degradado al light premium
   ════════════════════════════════════════════════════════════════════════ */
#demo-sticky-cta button{
  background: var(--ink) !important;
  color: var(--bg) !important;
  border: 0 !important;
  border-radius: var(--r) !important;
  box-shadow: var(--shadow-sm) !important;
}
#demo-sticky-cta button:hover{
  background: #1a2540 !important;
  transform: translateY(-1px);
}

/* ════════════════════════════════════════════════════════════════════════
   7. Privacy modal — light también
   ════════════════════════════════════════════════════════════════════════ */
#privacy-modal-bg{
  background: rgba(12,20,38,.55) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.privacy-modal{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.privacy-modal-content{ color: var(--ink) !important; }
.privacy-modal-content h2, .privacy-modal-content h3{ color: var(--ink) !important; }
.privacy-modal-content p, .privacy-modal-content li{ color: var(--ink-2) !important; }
.privacy-modal-content a{ color: var(--gold) !important; }
.privacy-modal-close{
  background: var(--bg-subtle) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--border) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — CAPA FINAL: contraste de tabs + report + landing
   ════════════════════════════════════════════════════════════════════════ */

/* Report tab — .report-section es la card grande del informe */
.report-section{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-sm) !important;
}
.report-section-title{
  color: var(--gold) !important;
  border-bottom: 1px solid var(--border) !important;
}
.report-section h1, .report-section h2, .report-section h3, .report-section h4{
  color: var(--ink) !important;
}
.report-section p, .report-section li{ color: var(--ink-2) !important; }
.report-section strong{ color: var(--ink) !important; }
.report-section a{ color: var(--gold) !important; }

/* Page titles — "Diagnóstico Financiero", "Liquidez & Riesgo Financiero", etc. */
.pg-title{
  color: var(--ink) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
.pg-sub{
  color: var(--ink-2) !important;
  opacity: 1 !important;
}

/* "Informe Ejecutivo" hero */
#cnt-report .pg-title{ font-size: 26px !important; }

/* Score ring del report */
#rpt-score-ring{
  background: var(--bg-elevated) !important;
  border-color: var(--gold) !important;
}
#rpt-score-num, #rpt-score-label-compact{ color: var(--gold) !important; }

/* Health pills bar */
.rpt-health-bar > *{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* PATRÓN DOMINANTE banner */
#rpt-business-pattern, #rpt-business-pattern *{
  color: var(--ink) !important;
}
#rpt-business-pattern{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
}

/* Score bars dentro de #rpt-score-bars — labels legibles */
#rpt-score-bars > *{ color: var(--ink) !important; }

/* Eficiencia/Performance/Liquidez/Diagnostic — labels con color:#f0ede6 hardcoded */
[style*="color:#f0ede6"], [style*="color: #f0ede6"]{
  color: var(--ink) !important;
}
[style*="color:rgba(255,255,255,.85"],
[style*="color: rgba(255,255,255,.85"],
[style*="color:rgba(255,255,255,.9"],
[style*="color: rgba(255,255,255,.9"]{
  color: var(--ink) !important;
}

/* Liquidez stats cards — los 4 cards con valores grandes */
#cnt-liquidez .liq-overview-card,
#cnt-liquidez [class*="liq-card"],
#cnt-liquidez [class*="liq-stat"],
#cnt-liquidez .stitle,
#cnt-liquidez .g2 > div{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow-sm) !important;
}
#cnt-liquidez .stitle h3{ color: var(--ink) !important; }
#cnt-liquidez [style*="opacity:.35"],
#cnt-liquidez [style*="opacity:.4"],
#cnt-liquidez [style*="opacity: .35"],
#cnt-liquidez [style*="opacity: .4"]{
  opacity: 1 !important;
  color: var(--ink-2) !important;
}

/* Stitle (subsection title) — "Liquidez & Riesgo Financiero" subhead */
.stitle{ background: transparent !important; }
.stitle h3{
  color: var(--ink) !important;
  font-weight: 700 !important;
}
.stitle-bar{ background: var(--gold) !important; }

/* Tablas dentro del report */
.report-section table{
  background: var(--bg-elevated) !important;
  border-collapse: collapse;
}
.report-section thead, .report-section th{
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
}
.report-section td{
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Action plan rows en report */
.action-row{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.action-row .ar-text{ color: var(--ink) !important; }
.action-row .ar-owner{ color: var(--ink-2) !important; }
.action-row .ar-pri{ font-weight: 700 !important; }

/* Insight cards in diagnostic */
.insight-card, .ins-card{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.insight-card h4, .insight-card-title{ color: var(--ink) !important; }
.insight-card-body, .insight-card p{ color: var(--ink-2) !important; }

/* Headline insight banner — refuerzo contraste */
#ov-headline-text{
  color: var(--ink) !important;
  font-weight: 600 !important;
}
.ov-headline-eyebrow{
  color: var(--ink-2) !important;
  font-weight: 700 !important;
}

/* === Hero landing card "Cómo va mi empresa este mes" ==================
   El usuario menciona que la sección debajo de esto + los 3 cuadros tienen
   problema de contraste. Probable origen: copy en gris claro sobre fondo
   claro. Reforzamos colores dentro de hero / preview report. */
#hero .hero-card, #hero .lp-hero-card,
#hero .feat-card, #hero .step-card,
#hero [class*="feat-"], #hero [class*="step-"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

/* Trust pills del hero */
.hero-trust span, .hero-trust > *{
  color: var(--ink-2) !important;
}

/* Hero feature cards / step cards */
[class*="feat-card"] h3, [class*="step-card"] h3{
  color: var(--ink) !important;
}
[class*="feat-card"] p, [class*="step-card"] p{
  color: var(--ink-2) !important;
}

/* Toda la sección bajo el hero del landing */
#hero .hero-inner .hero-meta,
#hero .hero-inner .hero-trust,
#hero .hero-inner .hero-sub,
#hero .hero-inner [class*="hero-"] p,
#hero .hero-inner [class*="hero-"] span{
  color: var(--ink-2) !important;
}

/* Fixes adicionales para inline styles con opacity bajo */
[style*="color:rgba(255,255,255,.4"]:not(svg *),
[style*="color: rgba(255,255,255,.4"]:not(svg *){
  color: var(--ink-2) !important;
}
[style*="color:rgba(255,255,255,.5"]:not(svg *),
[style*="color: rgba(255,255,255,.5"]:not(svg *){
  color: var(--ink-2) !important;
}
[style*="color:rgba(255,255,255,.6"]:not(svg *),
[style*="color: rgba(255,255,255,.6"]:not(svg *){
  color: var(--ink-2) !important;
}

/* === Botón "Volver al inicio" desde dashboard / builder ================
   Estilo del back-to-home button que añadimos al cbar y al builder nav.
   ===================================================================== */
.back-home-btn{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-strong) !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  border-radius: var(--r) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease) !important;
}
.back-home-btn:hover{
  background: var(--bg-subtle) !important;
  border-color: var(--ink-3) !important;
}
.back-home-btn svg{ flex-shrink: 0 !important; }

/* "Mayor partida: Personal (XX%)" del bloque efficiency */
#cnt-financiero [style*="color:#c8d0de"],
#cnt-liquidez   [style*="color:#c8d0de"],
#cnt-diagnostic [style*="color:#c8d0de"],
#cnt-report     [style*="color:#c8d0de"]{
  color: var(--ink-2) !important;
}

/* Forzar visibilidad de cualquier "background:#1a2840" residual en cualquier tab */
#cnt-overview [style*="background:#1a2840"],
#cnt-financiero [style*="background:#1a2840"],
#cnt-liquidez [style*="background:#1a2840"],
#cnt-diagnostic [style*="background:#1a2840"],
#cnt-report [style*="background:#1a2840"],
[style*="background:#18253d"]{
  background: var(--bg-elevated) !important;
  color: var(--ink) !important;
}
[style*="background:#1a2840"] *,
[style*="background:#18253d"] *{
  color: inherit !important;
}

/* ════════════════════════════════════════════════════════════════════════
   FIX FINAL — opacity + dark blocks residuales
   ════════════════════════════════════════════════════════════════════════ */

/* Quitar opacity baja heredada del paywall ya desactivado */
.liq-preview-lock, .pf-preview-lock, .ef-preview-lock, .diag-preview-lock,
.has-preview-mode, .preview-lock-nudge,
[class*="preview-lock"]{
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}
[class*="preview-lock"] *,
.has-preview-mode *{
  opacity: 1 !important;
  filter: none !important;
}

/* Cards generic en dashboard que estén con opacity baja */
#cnt-liquidez .g2 > div, #cnt-liquidez [class*="liq-"] > div,
#cnt-financiero .g2 > div, #cnt-financiero [class*="pf-"] > div, #cnt-financiero [class*="ef-"] > div,
#cnt-diagnostic .g2 > div{
  opacity: 1 !important;
}

/* Valores grandes de los cards de liquidez */
#cnt-liquidez [style*="font-family:'Libre Baskerville'"],
#cnt-liquidez [style*="font-family: 'Libre Baskerville'"]{
  color: var(--ink) !important;
  opacity: 1 !important;
}

/* Bloques internos del report dark — patrón dominante card */
#cnt-report .report-section [style*="background:#0d1117"],
#cnt-report .report-section [style*="background:#0d1a2e"],
#cnt-report .report-section [style*="background:#0f1a2e"],
#cnt-report .report-section [style*="background:#1a2840"],
#cnt-report .report-section [style*="background:rgba(0,0,0"]{
  background: var(--bg-subtle) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}
#cnt-report .report-section [style*="background:#0d1117"] *,
#cnt-report .report-section [style*="background:#0d1a2e"] *,
#cnt-report .report-section [style*="background:#0f1a2e"] *{
  color: inherit !important;
}

/* Patrón dominante section header */
#rpt-business-pattern, .rpt-bp-banner, .pattern-banner{
  background: var(--gold-pale) !important;
  border: 1px solid var(--gold) !important;
  color: var(--ink) !important;
}
#rpt-business-pattern *, .rpt-bp-banner *{ color: var(--ink) !important; }
#rpt-business-pattern strong{ color: var(--gold) !important; }

/* Drivers / KPIs internos del report */
#cnt-report .driver-row, #cnt-report .driver-item,
#cnt-report [class*="driver"]{
  background: var(--bg-subtle) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
#cnt-report .driver-row strong{ color: var(--ink) !important; }

/* Score bars dentro del report */
#rpt-score-bars > div,
#rpt-score-bars [class*="bar"]{
  background: var(--bg-subtle) !important;
}
#rpt-score-bars [style*="background:linear-gradient"]{
  /* Mantener gradients de las barras de progress */
}

/* Final: hero landing — sección "Cómo va mi empresa este mes" (#hero) */
#hero .hero-card, #hero [class*="hero-card"],
#hero [style*="background:#0d1117"],
#hero [style*="background:#0a1628"]{
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
#hero .hero-card *, #hero [class*="hero-card"] *{
  color: inherit !important;
}

/* Texto bajo el hero — los 4 trust pills y "o descarga..." */
.hero-trust span{
  color: var(--ink-2) !important;
  font-weight: 500 !important;
}

/* "Tres pasos. Sin consultores..." — subtítulos del how-it-works */
#how p, #how .step-card p, #how .how-step p,
#features p, #features .feat-card p{
  color: var(--ink-2) !important;
}

/* FIX FINAL contraste — .kval del dashboard era color #f0ede6 (blanco hueso) sobre fondo claro */
.kval, .klabel, .kunit, .ksub, .kdelta,
[class*="kval"], [class*="kvalue"]{
  color: var(--ink) !important;
  opacity: 1 !important;
}
.klabel, .ksub, .kdelta, .kunit{ color: var(--ink-2) !important; }

/* Para asegurar todos los kpi-card dark inline tienen texto visible */
.kpi-card, .kc, .kpi-tile, .h-card, [class*="-stat"]:not(.tab-intro-stat){
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}
.kpi-card .kval, .kc .kval, .kpi-tile .kval, .h-card .kval{
  color: var(--ink) !important;
}

/* Bloque GENÉRICO: cualquier elemento con color rgb(240,237,230) (#f0ede6) → ink */
[style*="color:#f0ede6"],
[style*="color: #f0ede6"]{
  color: var(--ink) !important;
}
