*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0B1426;--navy-mid:#152040;--navy-light:#1E3060;
  --gold:#C9A84C;--gold-light:#E8C97A;--gold-dim:rgba(201,168,76,0.12);
  --cream:#F5F0E8;--cream-dim:rgba(245,240,232,0.05);--cream-soft:rgba(245,240,232,0.08);
  --text-muted:rgba(245,240,232,0.52);--border:rgba(201,168,76,0.18);
  --success:#2ECC8A;--danger:#E85555;--warning:#F0A020;
  --radius:6px;--radius-lg:10px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-size:18px;background:var(--navy);color:var(--cream);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:64px;background:rgba(11,20,38,0.94);backdrop-filter:blur(16px);border-bottom:0.5px solid var(--border)}
.nav-logo{font-family:'DM Serif Display',serif;font-size:22px;color:var(--gold);letter-spacing:0.02em;cursor:pointer}
.nav-links{display:flex;gap:2rem;align-items:center;list-style:none}
.nav-links a{font-size:12px;font-weight:500;color:var(--text-muted);text-decoration:none;letter-spacing:0.07em;text-transform:uppercase;transition:color 0.2s;cursor:pointer}
.nav-links a:hover{color:var(--cream)}
.btn-nav{background:var(--gold);color:var(--navy);border:none;padding:8px 22px;border-radius:var(--radius);font-size:13px;font-weight:600;letter-spacing:0.03em;cursor:pointer;transition:background 0.2s}
.btn-nav:hover{background:var(--gold-light)}
.btn-nav-ghost{background:transparent;color:var(--gold);border:1px solid rgba(201,168,76,0.55);padding:7px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;letter-spacing:0.03em;cursor:pointer;transition:all 0.2s}
.btn-nav-ghost:hover{border-color:var(--gold);background:rgba(201,168,76,0.08)}
.nav-actions{display:flex;gap:8px;align-items:center}
.page{display:none;min-height:100vh}
#landing{display:none;flex-direction:column}
#landing.active{display:flex}
#app{display:none;min-height:100vh;padding-top:64px}
#app.active{display:flex}
#auth{display:none;min-height:100vh;align-items:center;justify-content:center;padding:80px 1rem 2rem}
#auth.active{display:flex}
.page.active{display:block}
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:8rem 2rem 5rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-300px;left:50%;transform:translateX(-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(201,168,76,0.07) 0%,transparent 65%);pointer-events:none}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--gold-dim);border:0.5px solid var(--border);border-radius:100px;padding:6px 18px;font-size:11px;font-weight:600;color:var(--gold);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:2rem}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.75)}}
h1{font-family:'DM Serif Display',serif;font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:1.07;color:var(--cream);max-width:820px;margin-bottom:1.5rem}
h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:17px;line-height:1.75;color:var(--text-muted);max-width:580px;margin-bottom:2.5rem}
.hero-ctas{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}
.btn-primary{background:var(--gold);color:var(--navy);border:none;padding:14px 34px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;letter-spacing:0.02em}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--cream);border:0.5px solid rgba(245,240,232,0.25);padding:14px 34px;border-radius:var(--radius);font-size:15px;cursor:pointer;transition:all 0.2s}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.hero-disclaimer{font-size:12px;color:var(--text-muted);max-width:480px;line-height:1.6;border-top:0.5px solid var(--border);padding-top:1.5rem;margin-top:0.5rem}
.stats-band{border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);background:var(--cream-dim);display:flex;justify-content:center;flex-wrap:wrap;padding:3rem 2rem}
.stat{flex:1;min-width:160px;max-width:220px;text-align:center;padding:0 2rem;position:relative}
.stat+.stat::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:50px;width:0.5px;background:var(--border)}
.stat-num{font-family:'DM Serif Display',serif;font-size:2.8rem;color:var(--gold);display:block;line-height:1;margin-bottom:0.4rem}
.stat-label{font-size:12px;color:var(--text-muted);letter-spacing:0.04em}
.section{padding:4rem 2rem;max-width:1080px;margin:0 auto}
.section-label{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem;display:block}
.section-title{font-family:'DM Serif Display',serif;font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.15;margin-bottom:1.2rem}
.section-sub{font-size:15px;color:var(--text-muted);max-width:520px;line-height:1.75;margin-bottom:3rem}
.section-divider{border:none;height:1px;max-width:1080px;margin:0 auto;background:linear-gradient(90deg,transparent,rgba(201,168,76,0.3),transparent)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.step-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:border-color 0.2s;position:relative;overflow:hidden}
.steps{counter-reset:step-counter}
.step-card::after{counter-increment:step-counter;content:'0' counter(step-counter);position:absolute;right:-0.5rem;bottom:-2rem;font-family:'DM Serif Display',serif;font-size:9rem;line-height:1;color:rgba(201,168,76,0.06);pointer-events:none;letter-spacing:-0.04em;user-select:none}
.step-card>*{position:relative;z-index:1}
.step-card:hover{border-color:rgba(201,168,76,0.4)}
.step-num{font-family:'DM Serif Display',serif;font-size:3rem;color:#C9A84C;line-height:1;margin-bottom:1rem;display:block;border-bottom:0.5px solid var(--border);padding-bottom:1rem}
.step-card h3{font-size:16px;font-weight:600;margin-bottom:0.6rem;color:var(--cream)}
.step-card p{font-size:13px;color:var(--text-muted);line-height:1.75}
.methodology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.method-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}
.method-icon{font-size:1.6rem;margin-bottom:1rem;display:block}
.method-card h3{font-size:15px;font-weight:600;margin-bottom:0.75rem;color:var(--cream)}
.method-card p{font-size:13px;color:var(--text-muted);line-height:1.75}
.method-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem}
.method-tag{font-size:10px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:100px;background:var(--gold-dim);color:var(--gold);border:0.5px solid var(--border)}
.example-report{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-top:3rem}
.report-header-ex{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:0.5px solid var(--border);flex-wrap:wrap;gap:1rem}
.report-header-ex h3{font-family:'DM Serif Display',serif;font-size:20px}
.risk-badge{padding:5px 14px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase}
.risk-alto{background:rgba(232,85,85,0.12);color:#E85555;border:0.5px solid rgba(232,85,85,0.3)}
.risk-medio{background:rgba(240,160,32,0.12);color:#F0A020;border:0.5px solid rgba(240,160,32,0.3)}
.risk-bajo{background:rgba(46,204,138,0.12);color:#2ECC8A;border:0.5px solid rgba(46,204,138,0.3)}
.risk-ok{background:rgba(46,204,138,0.12);color:#2ECC8A;border:0.5px solid rgba(46,204,138,0.3)}
.ex-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:1.5rem}
.ex-metric{background:var(--cream-soft);border-radius:var(--radius);padding:0.75rem 1rem;text-align:center}
.ex-metric-val{font-family:'DM Serif Display',serif;font-size:1.6rem;display:block;line-height:1;margin-bottom:0.25rem}
.ex-metric-label{font-size:10px;color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase}
.ex-section{border:0.5px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:0.5rem}
.ex-section-header{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1.25rem;background:var(--cream-soft)}
.ex-section-header span{font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}
.ex-section-body{padding:1rem 1.25rem;font-size:13px;color:var(--text-muted);line-height:1.75;border-top:0.5px solid var(--border)}
.faq-list{display:flex;flex-direction:column;gap:0.75rem;margin-top:3rem}
.faq-item{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;cursor:pointer;transition:background 0.15s;font-size:15px;font-weight:500}
.faq-q:hover{background:var(--cream-soft)}
.faq-chevron{font-size:11px;color:var(--text-muted);transition:transform 0.2s;flex-shrink:0}
.faq-a{max-height:0;overflow:hidden;padding:0 1.5rem;font-size:14px;color:var(--text-muted);line-height:1.8;border-top:0.5px solid transparent;box-sizing:border-box;transition:max-height 0.3s ease-out,padding 0.3s ease,border-top-color 0.25s}
.faq-a.open{max-height:200px;padding:1rem 1.5rem 1.25rem;border-top-color:var(--border);transition:max-height 0.4s ease,padding 0.3s ease,border-top-color 0.2s}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:3rem}
.pricing-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem;position:relative;transition:border-color 0.2s}
.pricing-card:hover{border-color:rgba(201,168,76,0.35)}
.pricing-card.featured{border-color:var(--gold);background:rgba(201,168,76,0.05)}
.plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 16px;border-radius:100px;white-space:nowrap}
.plan-name{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.plan-price{font-family:'DM Serif Display',serif;font-size:3rem;line-height:1;color:var(--cream);margin-bottom:0.25rem}
.plan-price sup{font-family:'DM Sans',sans-serif;font-size:1.1rem;vertical-align:super}
.plan-iva{font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:400;color:var(--text-muted);margin-left:8px;vertical-align:middle}
.perfil-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:0 1.5rem;max-width:560px;margin-bottom:1.5rem}
.perfil-field{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:0.5px solid var(--border)}
.perfil-field:last-child{border-bottom:none}
.perfil-label{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted)}
.perfil-value{font-size:14px;color:var(--cream);font-weight:500}
.perfil-plan-badge{display:inline-block;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em}
.plan-period{font-size:12px;color:var(--text-muted);margin-bottom:2rem;padding-bottom:2rem;border-bottom:0.5px solid var(--border)}
.plan-features{list-style:none;display:flex;flex-direction:column;gap:0.7rem;margin-bottom:2rem}
.plan-features li{font-size:13px;color:var(--text-muted);display:flex;align-items:flex-start;gap:9px;line-height:1.5}
.plan-features li::before{content:'✓';color:var(--gold);font-weight:700;font-size:12px;flex-shrink:0;margin-top:1px}
.btn-plan{width:100%;background:transparent;color:var(--cream);border:0.5px solid rgba(245,240,232,0.25);padding:12px;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s}
.btn-plan:hover{border-color:var(--gold);color:var(--gold)}
.btn-plan.featured{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:600}
.btn-plan.featured:hover{background:var(--gold-light)}
.btn-plan-wrap{display:flex;gap:0.5rem}
.btn-plan-wrap .btn-plan{flex:1}
.btn-plan-contact{flex:0 0 auto;background:transparent;color:var(--text-muted);border:0.5px solid var(--border);padding:12px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}
.btn-plan-contact:hover{border-color:rgba(245,240,232,0.4);color:var(--cream)}
.trust-band{background:var(--cream-dim);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);padding:2rem;text-align:center}
.trust-band p{font-size:12px;color:var(--text-muted);max-width:700px;margin:0 auto;line-height:1.7}
.trust-band strong{color:var(--cream)}
.app-sidebar{width:284px;flex-shrink:0;background:var(--navy);border-right:1px solid transparent;border-image:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,0.35) 15%,rgba(201,168,76,0.35) 85%,transparent 100%) 1;padding:0;min-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow-y:auto}
.sidebar-profile{padding:1.5rem 1.25rem 1.25rem;border-bottom:0.5px solid var(--border);margin-bottom:0.25rem}
.sidebar-profile-email{font-size:13.5px;color:rgba(255,255,255,0.92);font-weight:600;margin-bottom:0.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.01em}
.sidebar-plan-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px}
.spb-free{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.12)}
.spb-starter{background:rgba(201,168,76,0.18);color:#e8c97a;border:1px solid rgba(201,168,76,0.45)}
.spb-business{background:rgba(100,149,237,0.18);color:#90b4f8;border:1px solid rgba(100,149,237,0.4)}
.spb-enterprise{background:rgba(167,139,250,0.18);color:#c4b0ff;border:1px solid rgba(167,139,250,0.4)}
.spb-admin{background:rgba(46,204,138,0.18);color:#55e8a8;border:1px solid rgba(46,204,138,0.4)}
.sidebar-sep{height:0;margin:0.3rem 0;background:transparent}
.sidebar-section-label{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-light);padding:0.3rem 1.25rem 0.3rem 1rem;margin-bottom:0.3rem;margin-top:1.5rem;display:block;opacity:1;border-left:3px solid var(--gold)}
.sidebar-lbl-gold{color:var(--gold-light)}
.sidebar-lbl-blue{color:var(--gold-light)}
.sidebar-lbl-purple{color:var(--gold-light)}
.sidebar-item{display:flex;align-items:center;gap:11px;padding:10.5px 14px;margin:2px 10px;font-size:14px;color:rgba(255,255,255,0.72);cursor:pointer;transition:all 0.15s ease;border-radius:8px;letter-spacing:0.01em;position:relative;border:none}
.sidebar-item:hover{color:rgba(255,255,255,0.97);background:rgba(255,255,255,0.07)}
.sidebar-item.active{color:#ffffff;background:rgba(201,168,76,0.18);box-shadow:inset 3px 0 0 var(--gold);font-weight:600}
.sidebar-item.no-hover{cursor:default}
.sidebar-item.no-hover:hover{color:rgba(255,255,255,0.72);background:transparent}
.si-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.22);flex-shrink:0;transition:background 0.15s,box-shadow 0.15s}
.sidebar-item:hover .si-dot{background:rgba(255,255,255,0.6)}
.sidebar-item.active .si-dot{background:var(--gold);box-shadow:0 0 7px rgba(201,168,76,0.65)}
.sidebar-usage{padding:0.9rem 1.25rem 0.75rem}
.sidebar-usage-label{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:0.3rem}
.sidebar-usage-val{font-size:13.5px;color:rgba(255,255,255,0.72);font-weight:500}
.sidebar-footer-link{display:flex;align-items:center;gap:10px;padding:7px 1.25rem;font-size:12px;color:rgba(255,255,255,0.3);cursor:pointer;transition:color 0.15s;letter-spacing:0.01em}
.sidebar-footer-link:hover{color:rgba(255,255,255,0.6)}
.app-main{flex:1;padding:2.5rem 3rem;overflow-y:auto;max-height:calc(100vh - 64px)}
.app-header{margin-bottom:2rem}
.app-header h2{font-family:'DM Serif Display',serif;font-size:26px;margin-bottom:0.35rem}
.app-header p{font-size:13px;color:var(--text-muted)}
.upload-zone{position:relative;border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all 0.2s;background:var(--cream-dim);margin-bottom:1.25rem}
.upload-zone-clear{position:absolute;top:10px;right:12px;background:rgba(245,240,232,0.08);border:0.5px solid var(--border);color:var(--text-muted);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;line-height:1;transition:all 0.2s;padding:0;z-index:2}
.upload-zone-clear:hover{background:rgba(201,168,76,0.15);border-color:var(--gold);color:var(--gold)}
.upload-zone:hover{border-color:var(--gold);background:var(--gold-dim)}
.upload-zone.drag-over{border-color:var(--gold);background:var(--gold-dim);transform:scale(1.01)}
.upload-icon{font-size:2rem;margin-bottom:0.75rem;display:block}
.upload-zone h3{font-size:15px;margin-bottom:0.4rem}
.upload-zone p{font-size:12px;color:var(--text-muted)}
.analysis-form{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.25rem;max-width:720px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted)}
.form-group input,.form-group select,.form-group textarea{background:rgba(11,20,38,0.6);border:0.5px solid var(--border);border-radius:var(--radius);padding:9px 13px;font-size:13px;color:var(--cream);font-family:'DM Sans',sans-serif;outline:none;transition:border-color 0.2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group select option{background:var(--navy)}
.form-group textarea{resize:vertical;min-height:90px}
.app-disclaimer{background:rgba(201,168,76,0.06);border:0.5px solid var(--border);border-radius:var(--radius);padding:0.875rem 1.25rem;font-size:12px;color:var(--text-muted);line-height:1.7;margin-bottom:1rem}
.app-disclaimer strong{color:var(--gold)}
.soporte-form{max-width:560px}
.soporte-form-group{margin-bottom:1.25rem}
.soporte-label{display:block;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.5rem}
.soporte-input{width:100%;background:rgba(11,20,38,0.6);border:0.5px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--cream);font-family:'DM Sans',sans-serif;outline:none;box-sizing:border-box;transition:border-color 0.2s}
.soporte-input:focus{border-color:rgba(201,168,76,0.55)}
.soporte-textarea{min-height:160px;resize:vertical}
.soporte-msg{font-size:13px;margin-top:1rem;padding:10px 14px;border-radius:var(--radius);line-height:1.6}
.soporte-msg.ok{background:rgba(18,155,105,0.1);border:0.5px solid rgba(18,155,105,0.4);color:#12a06e}
.soporte-msg.err{background:rgba(210,50,60,0.1);border:0.5px solid rgba(210,50,60,0.4);color:#e05560}
.btn-analyze{background:var(--gold);color:var(--navy);border:none;padding:13px 28px;border-radius:var(--radius);font-size:14px;font-weight:700;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:8px;width:100%;justify-content:center;margin-top:0.75rem}
.btn-analyze:hover{background:var(--gold-light)}
.results-container{display:none}
.results-container.visible{display:block}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:0.5px solid var(--border);flex-wrap:wrap;gap:1rem}
.results-header h3{font-family:'DM Serif Display',serif;font-size:20px}
.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:1.25rem}
.metric-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius);padding:0.875rem 1rem}
.metric-label{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:0.35rem}
.metric-value{font-family:'DM Serif Display',serif;font-size:1.7rem;line-height:1;color:var(--cream)}
.analysis-sections{display:flex;flex-direction:column;gap:0.75rem}
.analysis-section{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.section-header{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1.25rem;cursor:pointer;transition:background 0.15s}
.section-header:hover{background:var(--cream-soft)}
.section-header-left{display:flex;align-items:center;gap:10px}
.section-header h4{font-size:14px;font-weight:600}
.section-body{padding:1rem 1.25rem;font-size:13px;line-height:1.8;color:var(--text-muted);border-top:0.5px solid var(--border);white-space:pre-wrap;display:none}
.chevron{font-size:11px;color:var(--text-muted);transition:transform 0.2s}
.chevron.open{transform:rotate(180deg)}
.result-disclaimer{background:rgba(201,168,76,0.06);border:0.5px solid var(--border);border-radius:var(--radius);padding:0.875rem 1.25rem;font-size:12px;color:var(--text-muted);line-height:1.7;margin-top:1rem;margin-bottom:1rem}
.historial-list{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.5rem}
.historial-item{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;cursor:pointer;transition:all 0.15s;display:flex;align-items:center;justify-content:space-between}
.historial-item:hover{border-color:var(--gold);background:var(--gold-dim)}
.historial-fecha{font-size:11px;color:var(--text-muted);margin-bottom:0.25rem;letter-spacing:0.03em}
.historial-organismo{font-size:14px;font-weight:600;color:var(--cream)}
.historial-tipo{font-size:12px;color:var(--text-muted);margin-top:0.2rem}
.historial-empty{text-align:center;padding:3rem;color:var(--text-muted);font-size:14px;line-height:1.7}
.hist-filtro{background:transparent;border:0.5px solid var(--border);border-radius:100px;padding:5px 14px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:all 0.15s;white-space:nowrap}.hist-filtro:hover{border-color:var(--gold);color:var(--cream)}.hist-filtro.active{background:rgba(201,168,76,0.12);border-color:var(--gold);color:var(--gold)}
.hist-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px}.hist-badge-pliego{background:rgba(201,168,76,0.15);color:var(--gold)}.hist-badge-resolucion{background:rgba(100,149,237,0.15);color:#6495ed}.hist-badge-legalidad{background:rgba(34,197,94,0.15);color:var(--success)}.hist-badge-rgpd{background:rgba(251,191,36,0.15);color:var(--warning)}.hist-badge-oferta{background:rgba(167,139,250,0.15);color:#a78bfa}
.comparar-item.seleccionado{border-color:var(--gold);background:var(--gold-dim)}
.comparar-check{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border);flex-shrink:0;transition:all 0.15s}
.comparar-check.checked{background:var(--gold);border-color:var(--gold)}
.comparar-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:0.5px solid var(--border)}
.comparar-col{padding:0.875rem 1rem;font-size:12px;color:var(--text-muted);line-height:1.7}
.comparar-col+.comparar-col{border-left:0.5px solid var(--border)}
.comparar-diff{border-color:var(--gold) !important}
.loading-overlay{display:none;position:fixed;inset:0;background:rgba(11,20,38,0.88);z-index:999;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;backdrop-filter:blur(6px)}
.loading-overlay.visible{display:flex}
.spinner{width:44px;height:44px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 0.75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-size:14px;color:var(--text-muted);font-style:italic}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--navy-mid);border:0.5px solid var(--gold);border-radius:var(--radius-lg);padding:0.875rem 1.25rem;font-size:13px;color:var(--cream);z-index:1000;transform:translateY(80px);opacity:0;transition:all 0.3s;max-width:320px}
.toast.visible{transform:translateY(0);opacity:1}
footer{border-top:0.5px solid var(--border);padding:3rem 2rem;background:var(--navy)}
.footer-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}
.footer-brand h3{font-family:'DM Serif Display',serif;font-size:20px;color:var(--gold);margin-bottom:0.75rem}
.footer-brand p{font-size:13px;color:var(--text-muted);line-height:1.7;max-width:280px}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}
.footer-col a{display:block;font-size:13px;color:var(--text-muted);text-decoration:none;margin-bottom:0.5rem;transition:color 0.2s;cursor:pointer}
.footer-col a:hover{color:var(--cream)}
.footer-bottom{max-width:1080px;margin:2rem auto 0;padding-top:1.5rem;border-top:0.5px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:12px;color:var(--text-muted)}
.footer-legal{font-size:11px;color:var(--text-muted);max-width:1080px;margin:1rem auto 0;line-height:1.6;opacity:0.7}
.auth-wrap{width:100%;max-width:420px}
.auth-card{background:var(--navy-mid);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem}
.auth-logo{font-family:'DM Serif Display',serif;font-size:28px;color:var(--gold);text-align:center;margin-bottom:1.75rem;letter-spacing:0.02em}
.auth-tabs{display:flex;border:0.5px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.75rem}
.auth-tab{flex:1;background:transparent;border:none;padding:10px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif}
.auth-tab.active{background:var(--gold);color:var(--navy);font-weight:600}
.auth-error{font-size:12px;color:var(--danger);margin-top:0.5rem;min-height:16px;line-height:1.5}
.auth-success{font-size:12px;color:var(--success);margin-top:0.5rem;line-height:1.5}
.auth-back{text-align:center;margin-top:1.25rem;font-size:13px;color:var(--text-muted)}
.auth-back a{color:var(--text-muted);cursor:pointer;text-decoration:none;transition:color 0.2s}
.auth-back a:hover{color:var(--gold)}
@media(max-width:768px){
  nav{padding:0 1.25rem}.nav-links{display:none}
  .form-row,.metrics-row,.ex-metrics{grid-template-columns:1fr 1fr}
  .app-sidebar{display:none}.app-main{padding:1.5rem}
  .footer-inner{grid-template-columns:1fr}.stat+.stat::before{display:none}
}

/* Hero dot grid */
.hero::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(201,168,76,0.04) 1px,transparent 1px);background-size:36px 36px;pointer-events:none;z-index:0}
.hero>*{position:relative;z-index:1}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
/* Para quien section */
.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.audience-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.audience-card:hover{border-color:rgba(201,168,76,0.5);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.2)}
.audience-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;background:rgba(201,168,76,0.08);border:0.5px solid rgba(201,168,76,0.2);border-radius:12px;flex-shrink:0}
.audience-card h3{font-size:15px;font-weight:600;color:var(--cream);margin-bottom:0.65rem}
.audience-card p{font-size:13px;color:var(--text-muted);line-height:1.75}
.audience-card:nth-child(2).reveal{transition-delay:0.08s}
.audience-card:nth-child(3).reveal{transition-delay:0.16s}
/* Casos de uso */
.casos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem}
.caso-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:0.75rem;transition:border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.caso-card:hover{border-color:rgba(201,168,76,0.5);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.2)}
.caso-num{font-family:'DM Serif Display',serif;font-size:2rem;color:rgba(201,168,76,0.22);line-height:1}
.caso-card h3{font-size:14px;font-weight:600;color:var(--cream);line-height:1.5}
.caso-card p{font-size:13px;color:var(--text-muted);line-height:1.75;flex:1}
.caso-meta{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:auto}
.caso-art{font-size:11px;font-weight:700;color:var(--gold);background:rgba(201,168,76,0.08);border:0.5px solid rgba(201,168,76,0.3);border-radius:4px;padding:3px 10px;letter-spacing:0.04em}
.caso-riesgo{font-size:11px;font-weight:700;color:#12a06e;background:rgba(18,155,105,0.08);border:0.5px solid rgba(18,155,105,0.3);border-radius:4px;padding:3px 10px}
.caso-card:nth-child(2).reveal{transition-delay:0.08s}
.caso-card:nth-child(3).reveal{transition-delay:0.16s}
.caso-riesgo--alto{color:#d1323b;background:rgba(209,50,59,0.08);border-color:rgba(209,50,59,0.3)}
.caso-riesgo--medio{color:#c77a0f;background:rgba(199,122,15,0.08);border-color:rgba(199,122,15,0.3)}
.casos-grupos{display:flex;flex-direction:column;gap:3rem}
.casos-grupo-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.casos-grupo-label{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);padding:5px 14px;background:rgba(201,168,76,0.08);border:0.5px solid rgba(201,168,76,0.3);border-radius:4px;white-space:nowrap}
.casos-grupo-line{flex:1;height:0.5px;background:var(--border)}
/* Normativa badges */
.normativa-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;align-items:center}
.normativa-badge{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius);padding:0.75rem 1.5rem;font-size:13px;font-weight:700;color:var(--cream);letter-spacing:0.04em;transition:border-color 0.2s ease,color 0.2s ease;text-decoration:none;cursor:pointer}
.normativa-badge:hover{border-color:rgba(201,168,76,0.5);color:var(--gold)}
.normativa-badge span{font-size:11px;color:var(--text-muted);display:block;font-weight:400;letter-spacing:0.02em;margin-top:2px}
/* ─── Animations ─────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes sectionIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Hero entrance */
.hero-tag{animation:fadeUp 0.5s ease both;animation-delay:0.05s}
.hero h1{animation:fadeUp 0.55s ease both;animation-delay:0.15s}
.hero-sub{animation:fadeUp 0.5s ease both;animation-delay:0.28s}
.hero-ctas{animation:fadeUp 0.5s ease both;animation-delay:0.4s}
.hero-disclaimer{animation:fadeUp 0.45s ease both;animation-delay:0.5s}
.stats-band{animation:fadeUp 0.5s ease both;animation-delay:0.55s}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.4s ease,transform 0.4s ease}
.reveal.in-view{opacity:1;transform:none}

/* Report section stagger */
.analysis-section{animation:sectionIn 0.32s ease both}

/* Improved hovers */
.step-card{transition:border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.step-card:hover{border-color:rgba(201,168,76,0.45);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.2)}
.method-card{transition:border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.method-card:hover{border-color:rgba(201,168,76,0.35);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,0.2)}
.pricing-card{transition:border-color 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease}
.pricing-card:hover{border-color:rgba(201,168,76,0.4);transform:translateY(-3px);box-shadow:0 10px 36px rgba(0,0,0,0.22)}
.historial-item{transition:border-color 0.2s ease,background 0.2s ease,transform 0.2s ease}
.historial-item:hover{transform:translateX(3px)}
.btn-primary{transition:background 0.2s ease,transform 0.15s ease,box-shadow 0.2s ease}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(201,168,76,0.28)}
.btn-plan{transition:border-color 0.2s ease,color 0.2s ease,transform 0.15s ease}
.btn-plan:hover{transform:translateY(-1px)}
.sidebar-item{transition:color 0.15s ease,background 0.15s ease,box-shadow 0.15s ease,transform 0.15s ease}
.sidebar-item:hover:not(.no-hover){transform:translateX(2px)}
.faq-item{transition:border-color 0.2s ease,box-shadow 0.2s ease}
.faq-item:hover{border-color:rgba(201,168,76,0.3);box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.legal-page{max-width:800px;margin:0 auto;padding:3rem 2rem}
.legal-page h1{font-family:'DM Serif Display',serif;font-size:26px;color:var(--gold);margin-bottom:0.5rem}
.legal-date{font-size:12px;color:var(--text-muted);display:block;margin-bottom:2.5rem}
.legal-page h2{font-size:12px;font-weight:700;color:var(--cream);margin:1.75rem 0 0.5rem;letter-spacing:0.1em;text-transform:uppercase}
.legal-page p,.legal-page li{font-size:13.5px;color:var(--text-muted);line-height:1.85;margin-bottom:0.6rem}
.legal-page ul{padding-left:1.5rem;margin-bottom:0.75rem}
.legal-section{border-top:0.5px solid var(--border);padding-top:1.75rem;margin-top:1.75rem}
.legal-back{display:inline-flex;align-items:center;gap:0.5rem;font-size:13px;color:var(--text-muted);cursor:pointer;margin-bottom:2rem;transition:color 0.2s;background:none;border:none;padding:0;font-family:inherit}
.legal-back:hover{color:var(--cream)}
.notfound-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:2rem;text-align:center}
.notfound-code{font-family:'DM Serif Display',serif;font-size:96px;line-height:1;color:var(--gold);opacity:0.4;margin-bottom:1rem}
.notfound-wrap h2{font-size:24px;font-weight:600;color:var(--cream);margin-bottom:0.75rem}
.notfound-wrap p{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:2rem;max-width:380px}
.verify-panel{text-align:center;padding:0.5rem 0 1rem}
.verify-icon{font-size:44px;display:block;margin-bottom:1rem}
.verify-panel h3{font-size:17px;font-weight:600;color:var(--cream);margin-bottom:0.75rem}
.verify-panel p{font-size:13.5px;color:var(--text-muted);line-height:1.75;margin-bottom:0.75rem}
.verify-email-badge{display:inline-block;background:var(--cream-soft);border:0.5px solid var(--border);border-radius:var(--radius);padding:5px 14px;font-size:13px;color:var(--gold);font-weight:600;margin-bottom:1.25rem}
.verify-hint{font-size:12px!important;opacity:0.7}

/* ══════════════════════════════════════════════════════════════
   MEJORAS ESTÉTICAS — landing + login
   Solo overrides visuales. No modifica lógica ni IDs funcionales.
══════════════════════════════════════════════════════════════ */

/* 0. Contraste de textos secundarios */
:root { --text-muted: rgba(245,240,232,0.66); }

/* 1a. Hero — título más grande (otros h1) */
h1 { font-size: clamp(3.2rem, 7vw, 6.2rem); }
/* Hero h1: 3 líneas exactas via <br>, max-width amplio para que cada línea respire */
.hero h1 { font-size: clamp(2.8rem, 5.5vw, 5.5rem); max-width: 1100px; }

/* 1b. Hero — gradiente radial focal detrás del contenido */
.hero::before {
  background: radial-gradient(ellipse 72% 58% at 50% 54%, rgba(201,168,76,0.13) 0%, transparent 62%);
  width: 110%; height: 110%;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

/* 1c. Hero — btn-primary glow dorado en hover */
.btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 0 28px rgba(201,168,76,0.45), 0 6px 20px rgba(201,168,76,0.22);
}

/* 2. NAV — transición suave (glassmorphism ya activo en base) */
nav { transition: background 0.3s ease, box-shadow 0.3s ease; }

/* 3. Separadores entre secciones — más visibles */
.section-divider {
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.4), transparent);
  height: 1px;
}

/* 4. Secciones — más respiración */
.section { padding: 5.5rem 2rem; }

/* 5. Stats band — cada stat enmarcado en card con borde dorado */
.stats-band { gap: 1rem; }
.stat {
  background: linear-gradient(150deg, rgba(201,168,76,0.04) 0%, rgba(11,20,38,0.45) 100%);
  border: 0.5px solid rgba(201,168,76,0.22);
  border-radius: var(--radius-lg);
  padding: 1.75rem 2rem;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.stat:hover { border-color: rgba(201,168,76,0.42); background: rgba(201,168,76,0.07); }
.stat+.stat::before { display: none; }

/* 6. Cards "Para quién es Lexara" — gradiente + borde superior dorado */
.audience-card {
  background: linear-gradient(145deg, rgba(21,32,64,0.6) 0%, rgba(11,20,38,0.35) 100%);
  border-top: 2px solid rgba(201,168,76,0.72);
  border-left: 0.5px solid var(--border);
  border-right: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
}
.audience-card:hover {
  border-top-color: var(--gold-light);
  transform: translateY(-5px);
  box-shadow: 0 14px 44px rgba(201,168,76,0.13), 0 4px 16px rgba(0,0,0,0.35);
}

/* 7. Steps 01/02/03 — números con gradiente dorado y más grandes */
.step-card {
  background: linear-gradient(150deg, rgba(21,32,64,0.58) 0%, rgba(11,20,38,0.4) 100%);
}
.step-num {
  font-size: 4.2rem;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  border-bottom: 0.5px solid rgba(201,168,76,0.22);
}
.step-card:hover {
  box-shadow: 0 14px 44px rgba(201,168,76,0.12), 0 4px 16px rgba(0,0,0,0.3);
}

/* Grid 3+2 centrado para la sección de herramientas (5 tarjetas) */
#como-funciona .steps {
  grid-template-columns: repeat(6, 1fr);
}
#como-funciona .steps .step-card:nth-child(-n+3) { grid-column: span 2; }
#como-funciona .steps .step-card:nth-child(4)    { grid-column: 2 / 4; }
#como-funciona .steps .step-card:nth-child(5)    { grid-column: 4 / 6; }
/* Reset del estilo de texto para que los SVG se vean correctamente */
#como-funciona .step-num {
  background: none;
  -webkit-text-fill-color: initial;
  font-size: 0;
  line-height: 0;
  display: block;
  margin-bottom: 1.25rem;
  border-bottom: 0.5px solid rgba(201,168,76,0.22);
  padding-bottom: 1.25rem;
}
@media (max-width: 840px) {
  #como-funciona .steps { grid-template-columns: repeat(2, 1fr); }
  #como-funciona .steps .step-card:nth-child(-n+3),
  #como-funciona .steps .step-card:nth-child(4),
  #como-funciona .steps .step-card:nth-child(5) { grid-column: auto; }
}
@media (max-width: 480px) {
  #como-funciona .steps { grid-template-columns: 1fr; }
}

/* 8. Methodology cards */
.method-card {
  background: linear-gradient(150deg, rgba(21,32,64,0.55) 0%, rgba(11,20,38,0.38) 100%);
}
.method-card:hover {
  box-shadow: 0 12px 40px rgba(201,168,76,0.1), 0 4px 14px rgba(0,0,0,0.28);
}

/* 9. Normativa badges — pills elegantes con borde dorado y hover glow */
.normativa-badge {
  border-radius: 100px;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.32);
  padding: 0.65rem 1.5rem;
  transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}
.normativa-badge:hover {
  background: rgba(201,168,76,0.12);
  border-color: rgba(201,168,76,0.62);
  box-shadow: 0 0 16px rgba(201,168,76,0.22);
  color: var(--gold);
}

/* 10. Pricing — cards con más profundidad */
.pricing-card {
  background: linear-gradient(150deg, rgba(21,32,64,0.5) 0%, rgba(11,20,38,0.42) 100%);
}
.pricing-card:hover {
  box-shadow: 0 12px 38px rgba(0,0,0,0.28);
  transform: translateY(-3px);
}
.pricing-card.featured {
  border-color: rgba(201,168,76,0.68);
  background: linear-gradient(150deg, rgba(201,168,76,0.09) 0%, rgba(11,20,38,0.58) 100%);
  box-shadow: 0 0 50px rgba(201,168,76,0.11), 0 20px 50px rgba(0,0,0,0.3);
}
.pricing-card.featured:hover {
  box-shadow: 0 0 70px rgba(201,168,76,0.2), 0 28px 60px rgba(0,0,0,0.4);
  transform: translateY(-6px);
}
.plan-badge {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  padding: 5px 22px;
  font-size: 11px;
  box-shadow: 0 2px 14px rgba(201,168,76,0.38);
}

/* 11. Footer — logo más grande + línea dorada superior */
footer {
  border-top: 1.5px solid rgba(201,168,76,0.28);
  padding: 4.5rem 2rem 3rem;
}
.footer-brand h3 { font-size: 30px; letter-spacing: 0.04em; }

/* 12. Auth / Login — fondo navy+radial, card con borde dorado, inputs coherentes */
#auth {
  background:
    radial-gradient(ellipse 85% 65% at 50% 42%, rgba(21,32,64,0.92) 0%, var(--navy) 68%),
    var(--navy);
}
.auth-card {
  background: linear-gradient(160deg, rgba(21,32,64,0.98) 0%, rgba(11,20,38,0.99) 100%);
  border: 1px solid rgba(201,168,76,0.38);
  box-shadow: 0 0 60px rgba(201,168,76,0.07), 0 24px 60px rgba(0,0,0,0.5);
  padding: 3rem 2.25rem;
}
.auth-logo {
  font-size: 38px;
  letter-spacing: 0.04em;
  text-shadow: 0 0 40px rgba(201,168,76,0.3);
}
#auth .form-group input,
#auth .form-group select {
  border-color: rgba(201,168,76,0.22);
  background: rgba(11,20,38,0.85);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#auth .form-group input:focus,
#auth .form-group select:focus {
  border-color: rgba(201,168,76,0.68);
  box-shadow: 0 0 0 3px rgba(201,168,76,0.1);
}
/* ── Licitaciones ──────────────────────────────────────── */
.lic-filters{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1.5rem}
.lic-filters-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;margin-bottom:0.75rem}
.lic-filters-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1rem}
.lic-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-width:0;align-items:start}
.lic-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:0.5rem;transition:border-color 0.2s,box-shadow 0.2s;cursor:pointer;user-select:none;min-width:0;overflow:hidden}
.lic-card:hover{border-color:rgba(201,168,76,0.35)}
.lic-card.open{border-color:rgba(201,168,76,0.45);box-shadow:0 0 0 1px rgba(201,168,76,0.08)}
.lic-chevron{font-size:9px;color:var(--text-muted);transition:transform 0.2s;flex-shrink:0;margin-left:0.5rem;margin-top:3px;opacity:0.55}
.lic-card.open .lic-chevron{transform:rotate(180deg);opacity:1;color:var(--gold)}
.lic-card-detail{max-height:0;opacity:0;overflow:hidden;padding-top:0;margin-top:0;border-top:0.5px solid transparent;transition:max-height 0.35s ease,opacity 0.25s ease,padding-top 0.3s ease,margin-top 0.3s ease,border-color 0.25s ease}
.lic-card.open .lic-card-detail{max-height:1200px;opacity:1;padding-top:0.75rem;margin-top:0.6rem;border-top-color:var(--border)}
.lic-detail-desc{font-size:12px;color:var(--text-muted);line-height:1.65;margin-bottom:0.65rem;max-height:110px;overflow-y:auto;overflow-wrap:break-word;word-break:break-word}
.lic-detail-row{font-size:11px;color:var(--text-muted);margin-bottom:0.3rem;overflow-wrap:break-word;word-break:break-word}
.lic-detail-row strong{color:var(--cream);font-weight:600;margin-right:0.3rem}
.lic-card-actions{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:0.85rem}
.btn-ted{font-size:12px;padding:8px 14px;border-radius:var(--radius);border:0.5px solid rgba(201,168,76,0.4);color:var(--gold);background:rgba(201,168,76,0.08);text-decoration:none;cursor:pointer;display:inline-block;font-family:inherit;font-weight:600;transition:background 0.2s;line-height:1.2}
.btn-ted:hover{background:rgba(201,168,76,0.18)}
.lic-card-title{font-size:14px;font-weight:600;color:var(--cream);line-height:1.45;overflow-wrap:break-word;word-break:break-word}
.lic-card-org{font-size:12px;color:var(--text-muted);overflow-wrap:break-word;word-break:break-word}
.lic-card-meta{display:flex;flex-wrap:wrap;gap:0.4rem}
.lic-badge{font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:rgba(201,168,76,0.1);border:0.5px solid rgba(201,168,76,0.25);color:var(--gold)}
.lic-badge-neutral{background:rgba(245,240,232,0.05)!important;border-color:var(--border)!important;color:var(--text-muted)!important}
.lic-importe{font-size:13px;font-weight:700;color:var(--gold)}
.lic-fecha{font-size:11px;color:var(--text-muted)}
.lic-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:0.25rem}
.lic-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:13px;line-height:1.7}
.lic-upgrade{background:var(--cream-dim);border:0.5px solid rgba(201,168,76,0.3);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center}
.lic-upgrade h3{font-family:'DM Serif Display',serif;font-size:22px;color:var(--cream);margin-bottom:0.5rem}
.lic-upgrade p{font-size:13px;color:var(--text-muted);line-height:1.75;margin-bottom:1.5rem;max-width:440px;margin-left:auto;margin-right:auto}
.lic-count{font-size:12px;color:var(--text-muted);margin-bottom:1rem}
.lic-tipo-toggle{display:flex;border:0.5px solid var(--border);border-radius:var(--radius);overflow:hidden;width:fit-content;margin-bottom:1.25rem}
.lic-tipo-btn{background:transparent;border:none;border-right:0.5px solid var(--border);padding:7px 18px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all 0.15s;font-family:inherit;letter-spacing:0.02em}
.lic-tipo-btn:last-child{border-right:none}
.lic-tipo-btn:hover{background:var(--cream-dim);color:var(--cream)}
.lic-tipo-btn.active{background:rgba(201,168,76,0.12);color:var(--gold)}
.lic-badge-plazo{background:rgba(74,222,128,0.1)!important;border-color:rgba(74,222,128,0.3)!important;color:#4ade80!important}
.lic-badge-adjudicada{background:rgba(180,180,180,0.07)!important;border-color:rgba(180,180,180,0.18)!important;color:var(--text-muted)!important}
.rgpd-semaforo{display:inline-flex;align-items:center;gap:0.6rem;padding:0.55rem 1.1rem;border-radius:var(--radius);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1rem}
.rgpd-semaforo.conforme{background:rgba(46,204,138,0.12);border:0.5px solid rgba(46,204,138,0.35);color:#2ECC8A}
.rgpd-semaforo.observaciones{background:rgba(240,160,32,0.12);border:0.5px solid rgba(240,160,32,0.35);color:#F0A020}
.rgpd-semaforo.no-conforme{background:rgba(232,85,85,0.12);border:0.5px solid rgba(232,85,85,0.35);color:#E85555}
.rgpd-punto{padding:0.7rem 0.9rem;border-radius:calc(var(--radius) - 2px);margin-bottom:0.55rem;border:0.5px solid var(--border);background:var(--cream-dim)}
.rgpd-punto-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.3rem}
.rgpd-punto-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.rgpd-punto-titulo{font-size:13px;font-weight:600;color:var(--cream)}
.rgpd-punto-desc{font-size:12px;color:var(--text-muted);line-height:1.55;margin-left:1.35rem}
.rgpd-punto-ref{font-size:11px;color:var(--gold);opacity:0.75;margin-left:1.35rem;margin-top:0.2rem}
.oferta-decision{display:inline-flex;align-items:center;gap:0.6rem;padding:0.55rem 1.1rem;border-radius:var(--radius);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1rem}.oferta-decision.licitar{background:rgba(46,204,138,0.12);border:0.5px solid rgba(46,204,138,0.35);color:#2ECC8A}.oferta-decision.valorar{background:rgba(240,160,32,0.12);border:0.5px solid rgba(240,160,32,0.35);color:#F0A020}.oferta-decision.no-licitar{background:rgba(232,85,85,0.12);border:0.5px solid rgba(232,85,85,0.35);color:#E85555}.oferta-puntuacion{font-size:12px;color:var(--text-muted);margin-bottom:1rem}.oferta-seccion{padding:0.9rem 1rem;border-radius:calc(var(--radius) - 2px);margin-bottom:0.6rem;border:0.5px solid var(--border);background:var(--cream-dim)}.oferta-seccion-header{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.45rem}.oferta-seccion-icono{font-size:15px;flex-shrink:0}.oferta-seccion-titulo{font-size:13px;font-weight:600;color:var(--cream)}.oferta-seccion-estado{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:2px 7px;border-radius:100px;margin-left:auto;flex-shrink:0}.oferta-seccion-estado.ok{background:rgba(46,204,138,0.15);color:var(--success)}.oferta-seccion-estado.alerta{background:rgba(240,160,32,0.15);color:var(--warning)}.oferta-seccion-estado.critico{background:rgba(232,85,85,0.15);color:var(--danger)}.oferta-seccion-contenido{font-size:13px;color:var(--text-muted);line-height:1.6;margin-left:1.5rem}
.oferta-steps{display:flex;align-items:center;margin-bottom:1.75rem;max-width:720px}.oferta-step{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}.oferta-step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--cream-dim);border:1.5px solid var(--border);color:var(--text-muted);transition:all 0.2s}.oferta-step.active .oferta-step-num{background:var(--gold);border-color:var(--gold);color:#1a1a2e}.oferta-step.done .oferta-step-num{background:rgba(201,168,76,0.18);border-color:var(--gold);color:var(--gold)}.oferta-step-label{font-size:12px;color:var(--text-muted);font-weight:500}.oferta-step.active .oferta-step-label{color:var(--cream);font-weight:600}.oferta-steps-line{flex:1;height:1px;background:var(--border);margin:0 0.75rem}.oferta-trabajo-entry{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:0.5rem;margin-bottom:0.5rem;align-items:end}@media(max-width:600px){.oferta-trabajo-entry{grid-template-columns:1fr 1fr}}.oferta-btn-remove{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:rgba(232,85,85,0.08);border:0.5px solid rgba(232,85,85,0.25);color:#f87171;border-radius:var(--radius);cursor:pointer;font-size:14px;transition:all 0.15s;flex-shrink:0}.oferta-btn-remove:hover{background:rgba(232,85,85,0.18)}.oferta-btn-add{display:inline-flex;align-items:center;gap:0.4rem;padding:7px 14px;background:rgba(201,168,76,0.08);border:0.5px solid rgba(201,168,76,0.3);color:var(--gold);border-radius:var(--radius);cursor:pointer;font-size:12px;font-weight:600;transition:all 0.15s}.oferta-btn-add:hover{background:rgba(201,168,76,0.15)}.oferta-seccion-label{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.6rem}
.lic-detail-adj{background:rgba(245,240,232,0.03);border:0.5px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:0.65rem 0.85rem;margin-bottom:0.75rem;display:flex;flex-direction:column;gap:0.4rem;overflow:hidden}
.lic-detail-adj-row{font-size:12px;color:var(--text-muted);line-height:1.45;display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:0 0.4rem;align-items:baseline;overflow:hidden}
.lic-detail-adj-row strong{color:var(--cream);font-weight:600;white-space:nowrap}
.lic-detail-adj-row span{overflow-wrap:break-word;word-break:break-word;min-width:0}
.lic-adj-upgrade{text-align:center;padding:2.5rem 1.5rem;border:0.5px solid rgba(201,168,76,0.25);border-radius:var(--radius-lg);background:var(--cream-dim)}
.lic-adj-upgrade p{font-size:13px;color:var(--text-muted);line-height:1.7;margin-bottom:1.25rem}
.calc-card{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;margin-top:2.5rem;display:grid;grid-template-columns:1fr 280px;gap:2.5rem;align-items:start}
@media(max-width:720px){.calc-card{grid-template-columns:1fr}}
.calc-sliders{display:flex;flex-direction:column;gap:1.5rem}
.calc-group-label{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem;display:block}
.calc-row{display:flex;flex-direction:column;gap:6px}
.calc-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.calc-row-name{font-size:13px;color:var(--cream);font-weight:500}
.calc-slider-wrap{display:flex;align-items:center;gap:10px}
.calc-slider{-webkit-appearance:none;appearance:none;flex:1;height:3px;background:linear-gradient(90deg,var(--gold) var(--pct,0%),rgba(201,168,76,0.18) var(--pct,0%));border-radius:2px;outline:none;cursor:pointer}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;transition:transform 0.15s,box-shadow 0.15s}
.calc-slider::-webkit-slider-thumb:hover{transform:scale(1.3);box-shadow:0 0 10px rgba(201,168,76,0.5)}
.calc-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;border:none}
.calc-num{width:54px;text-align:center;background:var(--cream-soft);border:0.5px solid var(--border);border-radius:var(--radius);color:var(--cream);font-size:13px;font-weight:600;padding:5px 6px;-moz-appearance:textfield;font-family:'DM Sans',sans-serif}
.calc-num::-webkit-inner-spin-button,.calc-num::-webkit-outer-spin-button{-webkit-appearance:none}
.calc-num:focus{outline:none;border-color:var(--gold);background:rgba(201,168,76,0.06)}
.calc-divider{height:0.5px;background:var(--border);margin:0.25rem 0}
.calc-result{background:rgba(201,168,76,0.04);border:0.5px solid rgba(201,168,76,0.22);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:0.85rem;position:sticky;top:80px}
.calc-result-label{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold)}
.calc-price-big{font-family:'DM Serif Display',serif;font-size:3rem;color:var(--cream);line-height:1}
.calc-price-big sup{font-family:'DM Sans',sans-serif;font-size:1.1rem;vertical-align:super}
.calc-price-sub{font-size:12px;color:var(--text-muted);margin-top:-4px}
.calc-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:0.5px solid rgba(201,168,76,0.35);color:rgba(201,168,76,0.7);font-size:9px;font-weight:700;font-style:normal;cursor:default;position:relative;vertical-align:middle;margin-left:5px;flex-shrink:0;line-height:1;transition:border-color 0.15s,color 0.15s}
.calc-info:hover{border-color:var(--gold);color:var(--gold)}
.calc-info::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:0;background:var(--navy-mid);border:0.5px solid var(--border);border-radius:var(--radius);padding:10px 13px;font-size:11px;color:var(--text-muted);line-height:1.65;width:270px;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:20;white-space:normal;font-family:'DM Sans',sans-serif;font-weight:400;text-transform:none;letter-spacing:0}
.calc-info:hover::after{opacity:1}
.calc-info::before{content:'';position:absolute;bottom:calc(100% + 3px);left:5px;border:5px solid transparent;border-top-color:var(--border);pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:21}
.calc-info:hover::before{opacity:1}
.calc-btn-propuesta{background:var(--gold);color:var(--navy);border:none;padding:12px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s;width:100%;letter-spacing:0.02em;margin-top:0.25rem}
.calc-btn-propuesta:hover{background:var(--gold-light);transform:translateY(-1px)}
.calc-min-note{font-size:11px;color:var(--text-muted);text-align:center;opacity:0.7}
.hidden{display:none!important}
#navLoggedIn{display:flex;gap:8px;align-items:center}
.section-body.is-open{display:block}

/* ── Fase 4 — eliminar style= inline ─────────────────────────────────── */
/* btn-analyze variants */
.btn-sm{width:auto;padding:8px 18px;font-size:13px;margin-top:0}
.btn-wide{width:auto;padding:10px 28px;margin-top:0}
.btn-gen{width:auto;padding:10px 32px;margin-top:0}
.btn-export{width:auto;padding:6px 14px;font-size:12px;margin-top:0}
.btn-auth-submit{width:100%;margin-top:1.25rem;padding:12px}
.btn-compare-back{background:none;border:0.5px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit}
.btn-cerrar-sesion{background:transparent;border:0.5px solid var(--border);color:var(--text-muted);font-size:13px;padding:10px 22px;border-radius:var(--radius);cursor:pointer;transition:all 0.2s;margin-top:0.75rem}
.btn-cerrar-sesion:hover{border-color:rgba(245,240,232,0.4);color:var(--cream)}
.btn-oferta-back{background:var(--cream-dim);color:var(--cream);width:auto;padding:10px 24px;margin-top:0}
.btn-oferta-back:hover{background:var(--cream-soft)}
/* upgrade sections */
.upgrade-section{text-align:center;padding:3rem 1rem}
.upgrade-icon{font-size:2.5rem;display:block;margin-bottom:1rem}
.upgrade-h3{color:var(--cream);margin-bottom:0.75rem}
.upgrade-p{color:var(--text-muted);max-width:420px;margin:0 auto 1.5rem}
/* resultado containers */
.resultado-wrap{margin-top:2rem;max-width:720px}
.resultado-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:0.5rem}
.resultado-actions{display:flex;gap:0.5rem;flex-wrap:wrap}
.resultado-h3{margin:0;color:var(--cream)}
/* error messages */
.msg-error{padding:0.75rem 1rem;background:rgba(239,68,68,0.1);border:0.5px solid rgba(239,68,68,0.3);border-radius:var(--radius);color:#f87171;font-size:13px}
.msg-error-mt{margin-top:1rem}
.msg-error-mb{margin-bottom:0.75rem}
/* resultado text block */
.resultado-texto{background:var(--cream-dim);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem 2rem;font-family:Georgia,serif;font-size:14px;line-height:1.85;color:var(--cream);white-space:pre-wrap;word-break:break-word;max-height:680px;overflow-y:auto}
/* resumen paragraphs */
.resumen-p{font-size:13px;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.6}
/* optional label spans */
.label-opt{font-weight:400;color:var(--text-muted);font-size:12px}
/* form spacing */
.form-mb{margin-bottom:0.875rem}
.form-label-code{color:var(--text-muted);font-size:13px}
.label-dim{font-weight:400;opacity:0.7}
/* calc row spacing */
.calc-mb{margin-bottom:1.1rem}
/* plan price alt (enterprise card) */
.plan-price-alt{font-size:2.2rem;margin-bottom:0.5rem}
/* section-divider flush */
.section-divider--flush{margin:0}
/* results / compare layout */
.results-action-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.compare-tabs-row{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.25rem}
.compare-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.compare-h3{font-family:'DM Serif Display',serif;font-size:18px}
.oferta-step2-actions{display:flex;gap:0.75rem;flex-wrap:wrap}
/* footer */
.footer-bottom-note{font-size:11px}
.footer-legal-link{color:inherit;text-decoration:none}
/* disclaimer gold link */
.disclaimer-gold{color:var(--gold)}
/* legal page app title */
.legal-title{font-size:22px;margin-top:0.5rem}
/* one-offs by ID */
#regCodigo{text-transform:uppercase;letter-spacing:0.05em}
#regCodigoError{margin-top:0.4rem}
#compararInfo{font-size:13px;color:var(--text-muted)}
#btnComparar{padding:9px 20px;font-size:13px}
#compararResultado{margin-top:1.5rem}

/* ── Fase 5 — eliminar style= inline en app.js ───────────────────────── */
/* carga/error estados inline */
.js-cargando{color:var(--text-muted);font-size:13px;padding:1rem 0}
.js-error{color:var(--danger);font-size:13px;padding:1rem 0}
/* comparar lista item */
.comparar-item-left{display:flex;align-items:center;gap:12px}
.comparar-item-score{font-size:10px;font-weight:700;color:var(--text-muted)}
/* perfil código de invitación */
.perfil-codigo-wrap{display:flex;align-items:center;gap:8px}
.perfil-codigo-valor{font-family:monospace;letter-spacing:0.08em}
.perfil-ojo-btn{background:none;border:none;cursor:pointer;padding:2px 4px;color:var(--text-muted);line-height:0}
/* comparar scores grid */
.comparar-scores-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1.5rem}
.comparar-metric-value{font-size:1.3rem}
.comparar-metric-sub{font-size:0.9rem}
/* comparar sección card */
.comparar-section-card{margin-bottom:0.5rem}
.comparar-section-header{cursor:default}
/* emoji icono */
.emoji-icono{font-size:18px;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
/* diferencia badge */
.comparar-diff-label{font-size:10px;color:var(--gold);font-weight:700}
/* riesgo inline badge (texto, color via CSSOM) */
.riesgo-inline{font-size:10px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase}
/* comparar col párrafo */
.comparar-col-p{margin-top:0.4rem}
/* licitaciones */
.lic-upgrade-cream{color:var(--cream)}
.lic-empty-hint{font-size:12px;margin-top:0.5rem}
.lic-fuente-tag{font-size:10px;opacity:0.6}
.lic-card-title-row{display:flex;justify-content:space-between;align-items:flex-start}
/* historial item derecho */
.historial-item-right{display:flex;align-items:center;gap:12px}
.historial-arrow{color:var(--text-muted);font-size:18px}
/* historial badge estado (color via CSSOM) */
.hist-estado-badge{font-size:10px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;background:rgba(255,255,255,0.05);padding:3px 8px;border-radius:4px}
/* oferta trabajos inputs */
.oferta-trab-input{min-width:0}
/* resultados */
.metric-value-success{color:var(--success)}
.resumen-ejecutivo-label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.4rem}
.section-header-right{display:flex;align-items:center;gap:10px}
/* upload zone estados */
.upload-estado-gold{color:var(--gold)}
.upload-estado-ok{color:var(--success)}
.upload-estado-muted{color:var(--text-muted)}
#ofertaTrabajos{margin-bottom:0.4rem}