/* ====================================================================
   CAMALEONUS - Premium Light Design
   Inspirado en Vercel, Linear, Stripe - minimalista, limpio, profesional
   ==================================================================== */
:root{
  --primary:#3B82F6;--primary-dark:#2563EB;--primary-light:#EFF6FF;
  --primary-glow:rgba(59,130,246,.25);
  --accent:#0EA5E9;--accent-light:#F0F9FF;
  --success:#10B981;--success-light:#ECFDF5;
  --warning:#F59E0B;--warning-light:#FFFBEB;
  --danger:#EF4444;--danger-light:#FEF2F2;
  --info:#3B82F6;--info-light:#EFF6FF;
  --purple:#8B5CF6;--purple-light:#F5F3FF;

  --bg:#FFFFFF;--bg-alt:#F8FAFC;--bg-elevated:#FFFFFF;
  --card:#FFFFFF;--card-hover:#FAFBFC;
  --text:#0F172A;--text-sec:#64748B;--text-mute:#94A3B8;
  --border:#E2E8F0;--border-light:#F1F5F9;
  --radius:12px;--radius-sm:8px;--radius-lg:16px;
  --shadow:0 1px 2px rgba(15,23,42,.04);
  --shadow-md:0 4px 12px rgba(15,23,42,.06);
  --shadow-lg:0 12px 32px rgba(15,23,42,.08), 0 2px 8px rgba(15,23,42,.04);
  --shadow-glow:0 0 0 4px rgba(59,130,246,.12);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{color:var(--primary);text-decoration:none;transition:color .15s}
a:hover{color:var(--primary-dark)}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}

/* ===== Botones ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius-sm);border:1px solid transparent;font-weight:600;cursor:pointer;font-size:.92rem;transition:all .18s;font-family:inherit;letter-spacing:-.01em;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(59,130,246,.3), 0 4px 12px rgba(59,130,246,.2)}
.btn-primary:hover{background:var(--primary-dark);color:#fff;box-shadow:0 4px 16px rgba(59,130,246,.35)}
.btn-success{background:var(--success);color:#fff;box-shadow:0 1px 2px rgba(16,185,129,.3)}
.btn-success:hover{background:#059669;color:#fff}
.btn-danger{background:var(--danger);color:#fff}
.btn-warning{background:var(--warning);color:#fff}
.btn-outline{background:var(--bg);border-color:var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.btn-ghost{background:var(--bg-alt);color:var(--text-sec);border-color:var(--border)}
.btn-ghost:hover{background:var(--bg);color:var(--text);border-color:var(--text-mute)}
.btn-lg{padding:14px 32px;font-size:1rem}
.btn-sm{padding:6px 12px;font-size:.8rem}
.btn-block{width:100%}

/* ===== Nav ===== */
.nav{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-light);z-index:100;padding:16px 0}
.nav-inner{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.35rem;font-weight:800;font-family:'Geist',sans-serif;letter-spacing:-.03em;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:2px}
.logo .accent{color:var(--primary)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--text-sec);font-weight:500;font-size:.92rem;transition:color .15s}
.nav-links a:not(.btn):hover{color:var(--text)}
.nav-links .btn-primary{color:#fff !important}

/* ===== Hero ===== */
.hero{padding:96px 0 64px;text-align:center;position:relative}
.hero h1{font-size:3.6rem;font-weight:800;margin-bottom:22px;letter-spacing:-.035em;line-height:1.05;font-family:'Geist',sans-serif;color:var(--text)}
.hero h1 .accent{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.18rem;color:var(--text-sec);max-width:680px;margin:0 auto 36px;line-height:1.55}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:768px){.hero h1{font-size:2.3rem}.hero p{font-size:1.05rem}}

/* ===== Scarcity banner ===== */
.scarcity-banner{background:linear-gradient(90deg,#FEF2F2,#FEF3C7,#FEF2F2);background-size:200% 100%;animation:shimmer 5s linear infinite;color:#7C2D12;padding:11px 0;text-align:center;font-weight:600;font-size:.9rem;border-bottom:1px solid #FECACA;position:relative;z-index:101}
@keyframes shimmer{0%{background-position:0% 0}100%{background-position:200% 0}}
.scarcity-banner .spots-left{display:inline-block;background:#DC2626;color:#fff;padding:2px 10px;border-radius:5px;margin:0 4px;font-weight:700;font-family:'Geist',sans-serif}

/* ===== Stats bar ===== */
.stats-bar{display:flex;justify-content:center;gap:56px;padding:40px 0;flex-wrap:wrap;background:var(--bg-alt);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.stat-item{text-align:center;transition:transform .25s}
.stat-item:hover{transform:scale(1.05)}
.stat-item .num{font-size:2.3rem;font-weight:800;font-family:'Geist',sans-serif;letter-spacing:-.03em;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-item .label{font-size:.8rem;color:var(--text-sec);margin-top:4px;font-weight:500}

/* ===== Sections ===== */
.section{padding:90px 0}
.section-alt{background:var(--bg-alt);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.section-title{text-align:center;margin-bottom:56px}
.section-title h2{font-size:2.3rem;font-weight:800;margin-bottom:12px;letter-spacing:-.03em;font-family:'Geist',sans-serif;color:var(--text)}
.section-title p{color:var(--text-sec);font-size:1.05rem;max-width:600px;margin:0 auto}
@media(max-width:768px){.section-title h2{font-size:1.7rem}}

/* ===== Cards ===== */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.feature-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:all .2s;position:relative}
.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--text-mute)}
.feature-card .icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px;background:var(--primary-light)}
.feature-card h3{font-size:1.05rem;font-weight:700;margin-bottom:6px;font-family:'Geist',sans-serif;letter-spacing:-.01em}
.feature-card p{color:var(--text-sec);font-size:.88rem;line-height:1.55}

/* ===== Comparison cards - minimalista ===== */
.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:840px;margin:0 auto}
.compare-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;position:relative;transition:all .25s}
.compare-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.compare-other{opacity:.85}
.compare-other:hover{opacity:1}
.compare-cam{border-color:var(--primary);box-shadow:var(--shadow-lg),var(--shadow-glow);background:linear-gradient(180deg,var(--primary-light),var(--card) 30%)}
.cc-featured{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:4px 16px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.06em;box-shadow:0 4px 12px rgba(59,130,246,.3)}
.cc-header{text-align:center;margin-bottom:18px}
.cc-badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.cc-badge-other{background:var(--danger-light);color:#991B1B}
.cc-badge-cam{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.cc-header h3{font-size:1.05rem;font-weight:700;margin-top:10px;color:var(--text);font-family:'Geist',sans-serif}
.cc-price{text-align:center;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border-light)}
.cc-amount{font-size:2.2rem;font-weight:800;font-family:'Geist',sans-serif;letter-spacing:-.02em;display:block}
.cc-amount-other{color:var(--danger)}
.cc-amount-cam{color:var(--primary)}
.cc-amount small{font-size:.85rem;font-weight:400;color:var(--text-sec)}
.cc-sub{font-size:.78rem;color:var(--text-sec);margin-top:4px;display:block}
.cc-list{list-style:none;padding:0;margin:0}
.cc-list li{padding:7px 0;font-size:.88rem;color:var(--text-sec);display:flex;gap:10px;align-items:center}
.cc-x{color:var(--danger);font-weight:700;flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--danger-light);border-radius:50%;font-size:.75rem}
.cc-check{color:#fff;background:var(--success);font-weight:700;flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem}
.cc-savings{margin-top:16px;padding:12px;background:var(--success-light);border-radius:var(--radius-sm);text-align:center;font-size:.9rem;color:var(--success);font-weight:600}
.cc-savings strong{font-size:1.1rem;font-family:'Geist',sans-serif}
@media(max-width:768px){.compare-cards{grid-template-columns:1fr}}

/* ===== Pricing ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;max-width:840px;margin:0 auto}
.price-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;text-align:center;position:relative;transition:all .2s;display:flex;flex-direction:column}
.price-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.price-card.featured{border-color:var(--primary);box-shadow:var(--shadow-lg),var(--shadow-glow);background:linear-gradient(180deg,var(--primary-light),var(--card) 40%)}
.price-card.featured::before{content:'MAS POPULAR';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:4px 16px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.06em;box-shadow:0 4px 12px rgba(59,130,246,.3)}
.price-card h3{font-size:1.3rem;font-weight:700;margin-bottom:6px;font-family:'Geist',sans-serif;letter-spacing:-.01em}
.price-card .tagline{color:var(--text-sec);font-size:.88rem;margin-bottom:18px;min-height:40px}
.price-card .price{font-size:2.8rem;font-weight:800;color:var(--text);margin:14px 0 4px;font-family:'Geist',sans-serif;letter-spacing:-.03em}
.price-card .price small{font-size:.88rem;color:var(--text-sec);font-weight:400}
.price-card .per-device{font-size:.82rem;color:var(--text-mute);margin-bottom:14px}
.price-card .savings{display:inline-block;background:var(--success-light);color:var(--success);padding:5px 12px;border-radius:6px;font-size:.78rem;font-weight:700;margin-bottom:14px}
.price-card ul{list-style:none;text-align:left;margin:18px 0;flex:1}
.price-card ul li{padding:6px 0;color:var(--text-sec);font-size:.88rem;display:flex;gap:8px;align-items:start}
.price-card ul li::before{content:'✓';color:var(--success);font-weight:700;flex-shrink:0;font-size:.95rem}

/* Custom license box */
.custom-license-box{max-width:840px;margin:32px auto 0;background:var(--bg-alt);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:24px;text-align:center;transition:all .2s}
.custom-license-box:hover{border-color:var(--primary);background:var(--primary-light)}
.custom-license-box h4{font-size:1rem;font-weight:700;margin-bottom:6px;font-family:'Geist',sans-serif}
.custom-license-box p{font-size:.85rem;color:var(--text-sec);margin-bottom:14px}

/* ===== Payment methods ===== */
.payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:16px}
.payment-method{display:flex;flex-direction:column;align-items:center;padding:20px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);transition:all .25s;text-align:center}
.payment-method:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--text-mute)}
.payment-method .pm-img-wrap{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:10px;transition:transform .25s;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.payment-method:hover .pm-img-wrap{transform:scale(1.1)}
.payment-method .pm-img-wrap img{width:32px;height:32px;object-fit:contain;display:block}
.payment-method .pm-icon-fallback{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border-radius:8px;background:var(--bg-alt)}
.payment-method .pm-name{font-weight:600;font-size:.86rem;color:var(--text)}
.payment-method .pm-network{font-size:.72rem;color:var(--text-sec);margin-top:2px}

/* ===== Footer ===== */
.footer{padding:48px 0 32px;text-align:center;color:var(--text-sec);border-top:1px solid var(--border-light);margin-top:60px;background:var(--bg-alt)}
.footer .footer-links{display:flex;justify-content:center;gap:28px;margin-bottom:16px;flex-wrap:wrap}
.footer .footer-links a{color:var(--text-sec);font-size:.88rem}
.footer .footer-links a:hover{color:var(--primary)}

/* ===== Forms ===== */
.form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg);max-width:440px;margin:40px auto}
.form-card h2{margin-bottom:8px;text-align:center;font-family:'Geist',sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-.02em}
.form-card .subtitle{text-align:center;color:var(--text-sec);font-size:.9rem;margin-bottom:24px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-weight:600;font-size:.85rem;margin-bottom:6px;color:var(--text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--bg);color:var(--text);transition:all .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-glow)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.error-msg{color:var(--danger);font-size:.85rem;margin-top:8px;display:none;padding:10px 14px;background:var(--danger-light);border-radius:var(--radius-sm)}
.error-msg.show{display:block}
.success-msg{color:var(--success);font-size:.85rem;margin-top:8px;display:none;padding:10px 14px;background:var(--success-light);border-radius:var(--radius-sm)}
.success-msg.show{display:block}

/* ===== Badges ===== */
.badge{display:inline-block;padding:3px 10px;border-radius:5px;font-size:.74rem;font-weight:700}
.badge-green{background:var(--success-light);color:#065F46}
.badge-yellow{background:var(--warning-light);color:#92400E}
.badge-red{background:var(--danger-light);color:#991B1B}
.badge-blue{background:var(--info-light);color:#1E40AF}
.badge-purple{background:var(--purple-light);color:#5B21B6}
.badge-gray{background:var(--bg-alt);color:var(--text-sec);border:1px solid var(--border)}

/* ===== Tables ===== */
table.data-table{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
table.data-table th{text-align:left;padding:12px 16px;background:var(--bg-alt);border-bottom:1px solid var(--border);font-weight:700;font-size:.73rem;text-transform:uppercase;color:var(--text-sec);letter-spacing:.08em}
table.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-light);color:var(--text)}
table.data-table tr:hover td{background:var(--bg-alt)}
table.data-table tr:last-child td{border-bottom:none}

/* ===== Dashboard ===== */
.dash-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px)}
.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);padding:24px 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto}
.sidebar .user-info{padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:14px}
.sidebar .user-info .name{font-weight:700;font-size:.95rem}
.sidebar .user-info .email{font-size:.78rem;color:var(--text-sec);word-break:break-all}
.sidebar-menu{list-style:none}
.sidebar-menu li a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text-sec);font-size:.9rem;font-weight:500;transition:all .15s;border-left:3px solid transparent}
.sidebar-menu li a:hover{background:var(--bg);color:var(--text)}
.sidebar-menu li a.active{background:var(--bg);color:var(--primary);border-left-color:var(--primary);font-weight:600}
.sidebar-menu li a .ico{font-size:1.05rem;width:20px;text-align:center}
.dash-content{padding:32px}
.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.dash-header h1{font-size:1.7rem;font-weight:700;font-family:'Geist',sans-serif;letter-spacing:-.02em}
.dash-header p{color:var(--text-sec);font-size:.9rem}

/* ===== Stat cards ===== */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.stat-card .label{font-size:.76rem;color:var(--text-sec);font-weight:600;text-transform:uppercase;margin-bottom:8px;letter-spacing:.08em}
.stat-card .value{font-size:1.8rem;font-weight:700;color:var(--text);font-family:'Geist',sans-serif;letter-spacing:-.02em}
.stat-card .sub{font-size:.76rem;color:var(--text-sec);margin-top:4px}
.stat-card.success .value{color:var(--success)}
.stat-card.warning .value{color:var(--warning)}
.stat-card.danger .value{color:var(--danger)}
.stat-card.info .value{color:var(--info)}

/* ===== Panels ===== */
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}
.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}
.panel-header h3{font-size:1.05rem;font-weight:700;font-family:'Geist',sans-serif;letter-spacing:-.01em}

/* ===== Admin tabs ===== */
.admin-tabs{display:flex;gap:2px;margin-bottom:24px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:0}
.admin-tab{padding:10px 18px;cursor:pointer;font-weight:600;font-size:.88rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-sec);font-family:inherit;border-radius:0;transition:all .15s}
.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.admin-tab:hover{color:var(--text)}
.admin-section{display:none}
.admin-section.active{display:block}

/* ===== Modal ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:center;z-index:1000;padding:20px}
.modal-overlay.show{display:flex}
.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;padding:32px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.modal-lg{max-width:900px}
.modal h2{margin-bottom:16px;font-family:'Geist',sans-serif;letter-spacing:-.02em}
.modal-close{float:right;cursor:pointer;font-size:1.4rem;color:var(--text-mute);background:none;border:none}
.modal-close:hover{color:var(--text)}

/* ===== Guides ===== */
.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.guide-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:all .2s}
.guide-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--text-mute)}
.guide-card .body{padding:22px}
.guide-card h3{font-size:1.1rem;margin-bottom:8px;font-family:'Geist',sans-serif;font-weight:700;letter-spacing:-.01em}
.guide-card p{color:var(--text-sec);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ===== Alerts ===== */
.alert{padding:14px 18px;border-radius:var(--radius);margin-bottom:16px;font-size:.9rem;border-left:3px solid}
.alert-success{background:var(--success-light);color:#065F46;border-left-color:var(--success)}
.alert-warning{background:var(--warning-light);color:#92400E;border-left-color:var(--warning)}
.alert-danger{background:var(--danger-light);color:#991B1B;border-left-color:var(--danger)}
.alert-info{background:var(--info-light);color:#1E40AF;border-left-color:var(--info)}

/* ===== Empty state ===== */
.empty-state{text-align:center;padding:48px 20px;color:var(--text-sec)}
.empty-state .ico{font-size:3rem;margin-bottom:12px}
.empty-state h3{font-size:1.1rem;color:var(--text);margin-bottom:8px}
.empty-state p{font-size:.88rem;margin-bottom:16px}

/* ===== Highlight box ===== */
.highlight-box{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin:24px 0}
.highlight-box h3{color:var(--primary);margin-bottom:8px;font-family:'Geist',sans-serif}

/* ===== Scarcity progress ===== */
.scarcity-progress{max-width:600px;margin:24px auto 0;background:var(--bg);border-radius:50px;height:12px;overflow:hidden;border:1px solid var(--border)}
.scarcity-progress .fill{height:100%;background:linear-gradient(90deg,#10B981,#F59E0B,#EF4444);border-radius:50px;transition:width 1s ease-out}
.scarcity-progress .label{position:relative;text-align:center;font-size:.72rem;font-weight:700;color:var(--text);padding:2px 0;margin-top:-12px}

/* ===== CTA final ===== */
.cta-final{background:linear-gradient(135deg,var(--primary),var(--primary-dark));position:relative;overflow:hidden;text-align:center;color:#fff}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.12) 0%,transparent 50%)}
.cta-final h2{font-size:2.3rem;font-weight:800;margin-bottom:16px;font-family:'Geist',sans-serif;position:relative;z-index:1;letter-spacing:-.02em}
.cta-final p{font-size:1.1rem;margin-bottom:32px;opacity:.95;position:relative;z-index:1}

/* ===== Pulse glow ===== */
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 var(--primary-glow)}50%{box-shadow:0 0 0 14px rgba(59,130,246,0)}}
.pulse-glow{animation:pulse-glow 2.5s infinite}

/* ===== Animaciones entrada ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .7s ease-out backwards}
.fade-up.d1{animation-delay:.1s}
.fade-up.d2{animation-delay:.2s}
.fade-up.d3{animation-delay:.3s}

/* ===== FAQ ===== */
.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;transition:all .2s}
.faq-item:hover{border-color:var(--text-mute)}
.faq-item .question{padding:16px 22px;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;color:var(--text);font-size:.95rem}
.faq-item .question .arrow{transition:transform .25s;color:var(--text-sec)}
.faq-item.open .question .arrow{transform:rotate(180deg)}
.faq-item .answer{padding:0 22px;max-height:0;overflow:hidden;transition:all .3s;color:var(--text-sec);font-size:.9rem;line-height:1.7}
.faq-item.open .answer{padding:0 22px 18px;max-height:400px}
.faq-item.open{border-color:var(--primary);box-shadow:var(--shadow-md)}

/* ===== File warning ===== */
.file-warning{position:fixed;top:0;left:0;right:0;background:#DC2626;color:#fff;padding:14px;text-align:center;font-weight:600;font-size:.92rem;z-index:9999;display:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.file-warning.show{display:block}
.file-warning a{color:#FEE2E2;text-decoration:underline}

/* ===== Loader ===== */
.loader{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Pre-guias cards ===== */
.pg-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:all .2s;position:relative;overflow:hidden}
.pg-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.pg-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--text-mute)}
.pg-card:hover::before{transform:scaleX(1)}
.pg-card .icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:12px}
.pg-card h3{font-size:1.05rem;font-weight:700;margin-bottom:6px;font-family:'Geist',sans-serif}
.pg-card p{color:var(--text-sec);font-size:.86rem;line-height:1.55;margin-bottom:12px}
.pg-card .meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border-light);font-size:.78rem}
.pg-card .use-case{color:var(--text-sec)}

/* ===== Download button ===== */
.download-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--success);color:#fff;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:all .15s;box-shadow:0 1px 2px rgba(16,185,129,.3)}
.download-btn:hover{background:#059669;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.4)}

/* ===== Responsive ===== */
@media (max-width:768px){
  .dash-layout{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}
  .sidebar-menu{display:flex;overflow-x:auto;padding:0 12px}
  .sidebar-menu li a{padding:10px 14px;white-space:nowrap;border-left:none!important;border-bottom:3px solid transparent}
  .sidebar-menu li a.active{border-bottom-color:var(--primary);border-left:none}
  .form-row{grid-template-columns:1fr}
  .hero h1{font-size:2.2rem}
  .nav-links{gap:14px}
  .stats-bar{gap:24px}
  .stat-item .num{font-size:1.7rem}
  .section-title h2{font-size:1.6rem}
  .cta-final h2{font-size:1.7rem}
}
