*{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#1e2d5a;--navy2:#2a3f7e;--orange:#f07820;--orange2:#f5952e;--green:#27ae60;--gray:#f4f6fb;--border:#dde3f0;--muted:#6b7a99;--w-form:560px;--gutter:clamp(20px,4vw,80px);--gutter-app:clamp(16px,2vw,40px);--content-max:1200px}
body{font-family:'DM Sans',sans-serif;background:#0d1b2a;color:var(--navy);min-height:100vh}
#app{width:100%;max-width:100%;margin:0 auto;background:#ffffff;min-height:100vh;padding-top:90px;display:flex;flex-direction:column}
input,select{font-family:inherit;font-size:15px;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);outline:none;width:100%;transition:border .15s}
input:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,120,32,.12)}
button{font-family:inherit;cursor:pointer}

/* NAV */
.nav{background:var(--navy);padding:19px 1.25rem;display:flex;align-items:center;justify-content:space-between;position:relative;top:auto;z-index:200;box-shadow:0 2px 16px rgba(30,45,90,.2);gap:10px}
.nav-logo-wrap{background:transparent;padding:4px 0;display:flex;align-items:center;flex-shrink:0}
.nav-logo{height:44px;object-fit:contain}
.nav-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;justify-content:flex-end;flex:1;min-width:0}
.nav-hamburger{display:none;background:none;border:1.5px solid rgba(255,255,255,.35);border-radius:8px;padding:7px 10px;cursor:pointer;flex-direction:column;gap:4px;flex-shrink:0}
.nav-hamburger span{display:block;width:18px;height:2px;background:#fff;border-radius:1px}
.nav-dropdown{display:none;position:absolute;top:100%;right:0;background:var(--navy2);border-radius:0 0 14px 14px;box-shadow:0 8px 24px rgba(0,0,0,.25);min-width:200px;padding:.5rem;z-index:200}
.nav-dropdown.open{display:flex;flex-direction:column;gap:6px}
.nav-dropdown-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:8px;padding:11px 16px;font-size:14px;font-weight:700;cursor:pointer;text-align:left;width:100%}
.nav-dropdown-item:hover{background:rgba(255,255,255,.15)}
.nav-dropdown-item--orange{background:var(--orange);border-color:var(--orange)}
.nav-dropdown-item--orange:hover{background:var(--orange2)}
.nav-dropdown-item--blue{background:var(--navy);border-color:rgba(255,255,255,.2)}
.nav-dropdown-item--blue:hover{background:var(--navy2)}
.nav-relative{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:100%;z-index:200}
.btn-nav-login{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700}
.btn-nav-emp{background:var(--orange);border:none;color:#fff;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700;white-space:nowrap}
.btn-nav-vend{background:#fff;border:none;color:var(--navy);border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700;white-space:nowrap}
.btn-nav-logout{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}
.nav-user-name{color:rgba(255,255,255,.85);font-size:13px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* HERO */
.hero{background:linear-gradient(160deg,#0d1b2a 0%,#162844 40%,#1e3a5f 75%,#0f2a4a 100%);padding:5.5rem 1.5rem 3.4rem;text-align:center;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(240,120,32,.12) 0%,transparent 70%);pointer-events:none}
.hero::before{content:'';position:absolute;top:-60px;right:-60px;width:260px;height:260px;background:rgba(240,120,32,.08);border-radius:50%}
.hero h1{color:#fff;font-size:30px;font-weight:900;line-height:1.18;margin-bottom:14px;font-family:'Outfit',sans-serif;letter-spacing:-0.5px}
.hero p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.7;margin-bottom:26px;max-width:480px;margin-left:auto;margin-right:auto;text-wrap:balance}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.btn-orange-lg{background:linear-gradient(135deg,#f07820 0%,#e85d04 100%);border:none;color:#fff;border-radius:50px;padding:14px 0;font-size:15px;font-weight:700;width:280px;max-width:90vw;box-shadow:0 6px 28px rgba(240,120,32,.45),0 2px 8px rgba(240,120,32,.2);cursor:pointer;display:inline-block;font-family:'Outfit',sans-serif;letter-spacing:.2px}
.btn-white-lg{background:#fff;border:none;color:var(--navy);border-radius:50px;padding:14px 0;font-size:15px;font-weight:700;width:280px;max-width:90vw;cursor:pointer;display:inline-block}
.btn-white-outline{background:none;border:2px solid rgba(255,255,255,.4);color:rgba(255,255,255,.8);border-radius:50px;padding:12px 28px;font-size:14px;font-weight:600;cursor:pointer;display:inline-block}
.hero-flow{width:100%;max-width:340px;display:block;margin:0 auto;border-radius:16px 16px 0 0}

/* DEMO STRIP */
.demo-strip{background:var(--gray);border-bottom:1.5px solid var(--border);padding:1.5rem}
.demo-label{font-size:11px;font-weight:700;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:500px;margin:0 auto}
.demo-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1rem;cursor:pointer;text-align:left}
.demo-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;margin-bottom:10px}
.demo-card h3{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:3px}
.demo-card p{font-size:12px;color:var(--muted);line-height:1.4}

/* SECTIONS */
.section{padding:2rem 1.5rem}
.section-alt{background:#f8f9fd;border-top:1.5px solid #e4e9f4;border-bottom:1.5px solid #e4e9f4}
.section-label{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--orange);text-transform:uppercase;margin-bottom:6px}
.section-sub{font-size:15px;color:var(--muted);max-width:580px;margin:0 auto 1.5rem;line-height:1.7;text-align:center}
.section-title{font-size:23px;font-weight:800;color:var(--navy);margin-bottom:20px;font-family:'Outfit',sans-serif;letter-spacing:-0.3px}
.section-center{text-align:center}
.benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:var(--content-max);margin-left:auto;margin-right:auto}
.benefit-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden}
.benefit-head{background:linear-gradient(135deg,#0d1b2a 0%,#1e3a5f 100%);padding:1rem 1.125rem}
.benefit-head h3{color:#fff;font-size:15px;font-weight:800}
.benefit-head p{color:rgba(255,255,255,.6);font-size:12px;margin-top:2px}
.benefit-list{padding:1rem 1.125rem}
.benefit-item{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;font-size:13px;line-height:1.5}
.check{color:var(--green);font-weight:900;flex-shrink:0}
.illus-hero-img-wrap{width:100%;text-align:center;margin-bottom:2rem}
.illus-hero-img{max-height:520px;width:auto;max-width:100%;border-radius:16px;box-shadow:0 12px 40px rgba(13,27,42,.12);display:block;margin:0 auto}
.illus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch;max-width:var(--content-max);margin-left:auto;margin-right:auto}
.illus-col{display:flex;flex-direction:column;gap:14px}
.illus-hero-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;box-shadow:0 2px 8px rgba(30,45,90,.06);position:relative;overflow:hidden;min-height:280px}
.illus-hero-card-imgwrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.illus-hero-card-img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.illus-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden}
.illus-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.illus-body{padding:1.125rem 1.25rem}
.illus-body h4{font-size:17px;font-weight:800;color:var(--navy);margin-bottom:6px}
.illus-body p{font-size:14px;color:var(--muted);line-height:1.55}
.illus-wide{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;display:flex;max-width:var(--content-max);margin:14px auto 0}
.illus-wide-img{width:40%;object-fit:cover;flex-shrink:0;display:block}
.illus-wide-body{flex:1;padding:1.125rem 1.25rem}
.illus-wide-body h4{font-size:17px;font-weight:800;color:var(--navy);margin-bottom:6px}
.illus-wide-body p{font-size:14px;color:var(--muted);line-height:1.6}
.tag-blue{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;background:#e6f1fb;color:#185fa5;border:1px solid #b5d4f4;margin:3px 3px 0 0;font-weight:600}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid var(--border);border-radius:14px;overflow:hidden}
.step-block{padding:1.125rem 1rem;border-right:1.5px solid var(--border);background:#fff;transition:background .15s}
.step-block:last-child{border-right:none}
.step-n{width:30px;height:30px;border-radius:9px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;margin-bottom:9px}
.step-block h4{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:4px}
.step-block p{font-size:11px;color:var(--muted);line-height:1.5}
.cta-section{background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 60%,#0a1628 100%);padding:2.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.cta-logo-wrap{background:transparent;padding:8px 0;display:inline-block;margin-bottom:22px}
.cta-logo{height:64px;object-fit:contain;display:block}
.cta-section h2{color:#fff;font-size:24px;font-weight:800;margin-bottom:10px}
.cta-section p{color:rgba(255,255,255,.73);font-size:14px;margin-bottom:26px;line-height:1.65}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* FORMS */
.form-wrap{max-width:var(--w-form);margin:0 auto;padding:1.5rem}
.form-wrap--login{max-width:680px}
.form-wrap--login .form-card{padding:2rem 2.25rem}
/* Captcha anti-bot */
.captcha-field{margin:6px 0 18px}
.captcha-label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.captcha-row{display:flex;align-items:stretch;gap:10px;margin-bottom:10px}
.captcha-box{flex:1;min-height:70px;display:flex;align-items:center;justify-content:center;background:#f4f6fb;border:1.5px solid var(--border);border-radius:12px;padding:6px 10px;overflow:hidden;color:var(--muted);font-size:13px;user-select:none}
.captcha-box svg{height:60px;width:auto;max-width:100%;display:block}
.captcha-refresh{flex:0 0 auto;width:48px;border:1.5px solid var(--border);border-radius:12px;background:#fff;color:var(--navy);font-size:20px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.captcha-refresh:hover{background:var(--gray);border-color:var(--navy)}
.captcha-input{width:100%;letter-spacing:3px;font-weight:600}
.back-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:0 0 16px;display:flex;align-items:center;gap:5px;font-weight:600}
.form-step-back{background:none;border:none;cursor:pointer;color:var(--muted);font-size:12px;padding:0 0 14px;display:flex;align-items:center;gap:4px;font-weight:600}
.form-card{background:#fff;border:1px solid #e0e8f4;border-radius:18px;padding:1.5rem;box-shadow:0 2px 4px rgba(30,45,90,.04),0 12px 40px rgba(30,45,90,.1)}
.form-card h2{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:.25rem}
.form-hint{font-size:13px;color:var(--muted);margin-bottom:1.25rem;margin-top:.25rem}
.fld{margin-bottom:15px}
.fld label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.fld-err{margin:3px 0 0;font-size:11px;color:#e74c3c;font-weight:600}
.fld-divider{height:1px;background:var(--border);margin:20px 0 16px}
.fld-section-title{font-size:12px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1.5px solid var(--border)}
.btn-prev{background:none;border:1.5px solid var(--border);border-radius:10px;padding:10px 20px;font-size:13px;color:var(--navy);font-weight:700}
.btn-submit{background:var(--orange);color:#fff;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:700;margin-left:auto;box-shadow:0 4px 14px rgba(240,120,32,.28)}

/* STEPS IND */
.steps-ind{display:flex;align-items:center;gap:6px;margin-bottom:22px}
.st-dot{width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border)}
.st-dot.done{background:var(--navy);color:#fff;border-color:var(--navy)}
.st-dot.active{background:var(--orange);color:#fff;border-color:var(--orange)}
.st-dot.todo{background:#fff;color:var(--muted)}
.st-lbl{font-size:11px;font-weight:700}
.st-lbl.active{color:var(--navy)}.st-lbl.done{color:var(--orange)}.st-lbl.todo{color:var(--muted)}
.st-line{flex:1;height:2px;background:var(--border);border-radius:1px;min-width:10px}

/* COMUNAS */
.comunas-sel-wrap{background:#fff;border:1.5px solid var(--border);border-radius:12px;overflow:hidden;margin-top:4px}
.comunas-sel-header{padding:8px 12px;background:var(--gray);border-bottom:1.5px solid var(--border)}
.comunas-sel-header select{width:100%;border:1.5px solid var(--border);border-radius:8px;font-size:14px;padding:8px 10px;background:#fff;margin:0}
.comunas-box{max-height:160px;overflow-y:auto;padding:4px 0}
.comunas-box label{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--border);transition:background .1s}
.comunas-box label:last-child{border-bottom:none}
.comunas-box label:hover{background:#f8f9fd}
.comunas-box input[type=checkbox]{width:16px;height:16px;accent-color:var(--navy);flex-shrink:0;cursor:pointer}
.comunas-empty{padding:18px 14px;font-size:13px;color:var(--muted);text-align:center}
.comunas-counter{font-size:11px;color:var(--muted);padding:6px 14px;background:var(--gray);border-top:1px solid var(--border);font-weight:600}
.comunas-box label{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:14px}
.tags-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.tag-pill{font-size:12px;padding:3px 10px;border-radius:20px;background:#e6f1fb;color:#185fa5;border:1px solid #b5d4f4;display:inline-flex;align-items:center;gap:4px;font-weight:600}
.tag-pill button{background:none;border:none;cursor:pointer;color:inherit;font-size:15px;line-height:1;padding:0}

/* LOGIN */
.login-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1rem}
.login-type-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.25rem;cursor:pointer;text-align:left;transition:border-color .15s}
.login-type-card:hover{border-color:var(--orange)}
.login-type-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;margin-bottom:10px}
.login-type-card h3{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px}
.login-type-card p{font-size:12px;color:var(--muted);line-height:1.4}
.login-err{background:#fdecea;border:1px solid #f0a0a0;border-radius:8px;padding:10px 14px;font-size:13px;color:#9e2a1e;margin-top:10px;font-weight:600}
.login-demo-hint{font-size:12px;color:var(--muted);margin-top:14px;padding:10px 14px;background:var(--gray);border-radius:8px;border:1px solid var(--border);line-height:1.5}

/* MATCH */
.match-high{background:#eaf7f0;color:#1a6b42;border:1px solid #89d4b0;border-radius:6px;padding:3px 11px;font-size:12px;font-weight:700}
.match-med{background:#fff5e6;color:#9a5500;border:1px solid #f5c070;border-radius:6px;padding:3px 11px;font-size:12px;font-weight:700}
.match-low{background:#fdecea;color:#9e2a1e;border:1px solid #f0a0a0;border-radius:6px;padding:3px 11px;font-size:12px;font-weight:700}

/* DASHBOARD */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.stat-box{background:var(--gray);border-radius:12px;padding:.875rem 1rem;border:1.5px solid var(--border)}
.stat-box small{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.stat-box strong{display:block;font-size:24px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif}
.cand-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1rem;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .12s}.cand-card:hover{box-shadow:0 6px 24px rgba(30,45,90,.1);border-color:#b8c6e0;transform:translateY(-1px)}
.cand-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.avatar{border-radius:50%;background:#dff0f8;color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;width:40px;height:40px;font-size:14px}
.cand-info{margin-left:10px}
.cand-name{font-weight:800;font-size:14px;color:var(--navy)}
.cand-sub{font-size:12px;color:var(--muted);margin-top:1px}
.bar-wrap{display:flex;align-items:center;gap:8px}
.bar-track{flex:1;height:6px;background:#eaedf5;border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px}
.bar-pct{font-size:13px;font-weight:800;min-width:40px;text-align:right}
.tags-row{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.tag-green{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;background:#eaf7f0;color:#1a6b42;border:1px solid #89d4b0;font-weight:700}
.tag-sm{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:700}
.tag-blue{background:#e6f1fb;color:#185fa5;border:1px solid #b5d4f4}
.rel-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.rel-date{font-size:11px;color:var(--muted)}
.rel-dur{font-size:12px;font-weight:700;color:var(--navy)}

/* DETAIL */
.detail-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.5rem;box-shadow:0 8px 32px rgba(30,45,90,.08)}
.detail-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.detail-name{font-weight:800;font-size:16px;color:var(--navy)}
.detail-sub{font-size:12px;color:var(--muted);margin-top:2px}
.detail-divider{border-top:1.5px solid var(--border);padding:14px 0}
.detail-table{width:100%;font-size:13px;border-collapse:collapse}
.detail-table td{padding:6px 0;border-bottom:1px solid var(--border)}
.detail-table td:last-child{text-align:right;font-weight:700}
.detail-table tr:last-child td{border-bottom:none}
.comunas-detail{margin-top:14px}
.comunas-detail p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);margin-bottom:8px}
.comunas-pills{display:flex;flex-wrap:wrap;gap:6px}
.com-ok{font-size:11px;padding:3px 10px;border-radius:20px;background:#eaf7f0;color:#1a6b42;border:1px solid #89d4b0;font-weight:700}
.com-no{font-size:11px;padding:3px 10px;border-radius:20px;background:var(--gray);color:var(--muted);border:1px solid var(--border);font-weight:600}
.unlock-box{margin-top:18px;padding:1.25rem;background:var(--gray);border-radius:14px;border:1.5px solid var(--border)}
.unlock-box h4{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:6px}
.unlock-box p{font-size:13px;color:var(--muted);margin-bottom:14px;line-height:1.55}
.success-box{margin-top:16px;padding:1.125rem;background:#eaf7f0;border-radius:14px;border:1.5px solid #89d4b0}
.success-box h4{font-size:14px;font-weight:800;color:#1a6b42;margin-bottom:4px}
.success-box p{font-size:13px;color:#1a6b42}
.accept-row{display:flex;gap:10px;margin-top:16px}
.btn-accept{flex:1;background:var(--orange);color:#fff;border:none;border-radius:50px;padding:11px;font-size:14px;font-weight:700;cursor:pointer}

/* SESSION LAYOUT */
.session-wrap{display:flex;min-height:calc(100vh - 56px)}
.session-sidebar{width:220px;background:var(--navy);flex-shrink:0;padding:1.25rem 0}
.session-who{display:flex;align-items:center;gap:10px;padding:0 1.125rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:.75rem}
.session-avatar{width:36px;height:36px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}
.session-name{color:#fff;font-size:13px;font-weight:700;line-height:1.3}
.session-sub{color:rgba(255,255,255,.55);font-size:11px;margin-top:2px}
.session-tab{display:block;width:100%;background:none;border:none;color:rgba(255,255,255,.7);font-size:13px;font-weight:600;padding:.75rem 1.125rem;text-align:left;cursor:pointer;transition:background .12s,color .12s}
.session-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.session-tab.active{background:rgba(240,120,32,.25);color:#fff;border-left:3px solid var(--orange)}
.session-content{flex:1;padding:1.5rem var(--gutter-app);overflow-y:auto;min-width:0}
.session-title{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px;font-family:'Outfit',sans-serif;letter-spacing:-0.3px}
.session-sub{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.5}

/* EMPTY STATE */
.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--muted)}
.empty-icon{font-size:40px;margin-bottom:14px}
.empty-state p{font-size:14px;line-height:1.7}

/* EDIT PROFILE */
.locked-fields{background:var(--gray);border-radius:10px;border:1.5px solid var(--border);overflow:hidden;margin-bottom:0}
.locked-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}
.locked-item:last-child{border-bottom:none}
.locked-lbl{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.locked-val{font-size:13px;font-weight:700;color:var(--navy)}

/* MARKETING */
.upload-area{border:2px dashed var(--border);border-radius:14px;padding:2rem 1.5rem;text-align:center;background:var(--gray);margin-bottom:1.5rem;cursor:pointer;transition:border-color .15s}
.upload-area:hover{border-color:var(--orange)}
.upload-label{cursor:pointer;display:block}
.upload-icon{font-size:36px;margin-bottom:10px}
.upload-text{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:4px}
.upload-text span{color:var(--orange)}
.upload-sub{font-size:12px;color:var(--muted)}
.mkt-list-title{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:12px}
.mkt-list{display:flex;flex-direction:column;gap:8px}
.mkt-item{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:.875rem 1rem}
.mkt-ext{font-size:10px;font-weight:800;color:#fff;padding:4px 7px;border-radius:6px;flex-shrink:0;letter-spacing:.5px}
.mkt-info{flex:1;min-width:0}
.mkt-name{font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-meta{font-size:11px;color:var(--muted);margin-top:2px}
.mkt-del{background:none;border:none;color:#ccc;font-size:16px;cursor:pointer;flex-shrink:0;padding:0 4px}
.mkt-del:hover{color:#e74c3c}
.mkt-empty{background:var(--gray);border:1.5px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}

/* PROVEEDOR TABS */
.prov-tab-row{display:flex;gap:8px;margin-bottom:1.25rem}
.prov-tab{background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.prov-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}

/* SUCCESS PAGE */
.success-page{max-width:460px;margin:4rem auto;padding:1.5rem;text-align:center}
.success-icon{width:68px;height:68px;border-radius:50%;background:#eaf7f0;border:2px solid #89d4b0;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:30px;color:#1a6b42}

/* DEMO LIST */
.demo-list-btn{display:block;width:100%;background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.125rem 1.25rem;margin-bottom:10px;cursor:pointer;text-align:left}
.demo-list-btn h4{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px}
.tipo-sel-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}
.tipo-chip{background:var(--gray);border:1.5px solid var(--border);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .12s;text-align:left}
.tipo-chip:hover{border-color:var(--orange);color:var(--navy)}
.tipo-chip--active{background:var(--navy);border-color:var(--navy);color:#fff}
.tipo-chip--disabled{opacity:.4;cursor:not-allowed}
.tipo-sel-count{font-size:11px;color:var(--orange);font-weight:700;margin-top:4px}
.demo-hint-title{font-size:11px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin-top:20px;margin-bottom:10px;padding-top:16px;border-top:1.5px solid var(--border)}
.demo-accounts-grid{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding-right:4px}.demo-accounts-grid::-webkit-scrollbar{width:3px}.demo-accounts-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}
.qa-col{display:flex;flex-direction:column;gap:6px}
.qa-col-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.demo-account-btn{background:var(--gray);border:1.5px solid var(--border);border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;color:var(--navy);text-align:left;cursor:pointer;transition:border-color .12s}
.demo-account-btn:hover{border-color:var(--orange);background:#fff}
.demo-account-sub{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}
.demo-list-btn p{font-size:12px;color:var(--muted)}

@media(max-width:620px){
  .session-wrap{flex-direction:column}
  .session-sidebar{width:100%;display:flex;flex-wrap:wrap;padding:.75rem;gap:4px}
  .session-who{width:100%;margin-bottom:.5rem;padding-bottom:.5rem}
  .session-tab{width:auto;flex:1;text-align:center;padding:.6rem .5rem;font-size:12px;border-left:none !important;border-bottom:3px solid transparent}
  .session-tab.active{border-bottom:3px solid var(--orange)}
  .session-content{padding:1rem}
  .hero h1{font-size:22px}
  .benefits-grid,.illus-grid{grid-template-columns:1fr}
  .illus-hero-card{min-height:auto}
  .illus-hero-card-imgwrap{position:static;padding:16px}
  .illus-hero-card-img{max-height:none;width:100%}
  .illus-wide{flex-direction:column}
  .illus-wide-img{width:100% !important;height:200px}
  .steps-grid{grid-template-columns:1fr 1fr}
  .steps-grid .step-block{border-right:1.5px solid var(--border);border-bottom:1.5px solid var(--border)}
  .steps-grid .step-block:nth-child(even){border-right:none}
  .steps-grid .step-block:nth-last-child(-n+2){border-bottom:none}
  .stat-grid{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
  .st-lbl{display:none}
  .login-type-grid{grid-template-columns:1fr}
  .nav-actions{gap:4px}
  .btn-nav-login,.btn-nav-emp,.btn-nav-vend{display:none}
  .nav-hamburger{display:flex}
  .nav-user-name{max-width:80px;font-size:11px}
  .btn-nav-logout{padding:5px 9px;font-size:11px;white-space:nowrap}
}

/* ── MATCH VISUALIZATION ────────────────────────────────── */
.match-viz-section{background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 50%,#0a1628 100%);padding:2.5rem 1.5rem 2rem;border-bottom:3px solid var(--orange);position:relative;overflow:hidden}
.match-viz-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.match-viz-label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:6px;position:relative}
.match-viz-title{font-size:22px;font-weight:800;color:#fff;text-align:center;margin-bottom:8px;font-family:'Outfit',sans-serif;letter-spacing:-.3px;position:relative}
.match-viz-sub{font-size:13px;color:rgba(255,255,255,.55);text-align:center;margin-bottom:2rem;line-height:1.6;position:relative}

/* Criteria cards row */
.match-crit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:2rem;position:relative}
.match-crit-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem .875rem;text-align:center}
.match-crit-card-icon{font-size:22px;margin-bottom:7px}
.match-crit-card-title{font-size:13px;font-weight:800;color:#fff;margin-bottom:4px;font-family:'Outfit',sans-serif}
.match-crit-card-desc{font-size:11px;color:rgba(255,255,255,.45);line-height:1.5}

/* Match table */
.match-table{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;position:relative}
.match-table-head{display:grid;grid-template-columns:1fr 28px 1fr 90px;gap:0;background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08)}
.match-th{padding:9px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.5)}
.match-th--emp{color:rgba(240,120,32,.9)}
.match-th--vend{color:rgba(39,174,96,.9)}
.match-th--pct{text-align:center;color:rgba(255,255,255,.5)}
.match-th--mid{padding:0}

.match-table-row{display:grid;grid-template-columns:1fr 28px 1fr 90px;gap:0;border-bottom:1px solid rgba(255,255,255,.06);transition:background .15s}
.match-table-row:last-child{border-bottom:none}
.match-table-row:hover{background:rgba(255,255,255,.04)}

.match-cell{padding:11px 12px}
.match-cell--emp{border-right:1px solid rgba(255,255,255,.06)}
.match-cell--vend{border-right:1px solid rgba(255,255,255,.06)}
.match-cell--pct{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:11px 10px}
.match-cell-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:5px}
.match-cell-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.match-cell-tag{font-size:10px;padding:2px 7px;border-radius:20px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1);font-weight:600}
.match-cell-loc{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.match-cell-cartera{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}

.match-arrow{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);padding:0 2px}

.match-circle{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-family:'Outfit',sans-serif}
.match-circle--high{background:rgba(39,174,96,.2);color:#4ecb71;border:2px solid rgba(39,174,96,.4)}
.match-circle--med{background:rgba(240,120,32,.2);color:#f5a03a;border:2px solid rgba(240,120,32,.35)}
.match-circle--low{background:rgba(231,76,60,.15);color:#f08070;border:2px solid rgba(231,76,60,.3)}

.match-row-bar{width:100%;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.match-row-fill{height:100%;border-radius:2px;transition:width .4s}

/* Legend */
.match-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);position:relative}
.match-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.55);font-weight:600}
.match-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

@media(max-width:560px){
  .match-crit-row{grid-template-columns:1fr}
  .match-table-head,.match-table-row{grid-template-columns:1fr 20px 1fr 60px}
  .match-circle{width:38px;height:38px;font-size:11px}
  .match-cell{padding:9px 8px}
  .match-crit-card-desc{display:none}
}

@media(max-width:560px){
  .match-viz-wrap{grid-template-columns:1fr;gap:12px}
  .match-center{flex-direction:row;padding-top:0;justify-content:center}
  .match-engine-lines{display:none}
  .match-legend{gap:12px}
  .match-legend-item{font-size:11px}
}

/* ── NOSOTROS ─────────────────────────────────────────────── */
.nosotros-wrap{max-width:100%;margin:0 auto}
.nosotros-hero{background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 60%,#0a1628 100%);padding:3rem 2rem 2.5rem;text-align:center;position:relative;overflow:hidden}
.nosotros-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(240,120,32,.12) 0%,transparent 70%);pointer-events:none}
.nosotros-label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--orange);text-transform:uppercase;margin-bottom:10px;position:relative}
.nosotros-title{font-size:28px;font-weight:900;color:#fff;font-family:'Outfit',sans-serif;letter-spacing:-.5px;position:relative}
.nosotros-content{padding:1.75rem 1.5rem;background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 100%);display:flex;flex-direction:column;gap:1rem}
.nosotros-block{display:flex;gap:1.25rem;align-items:flex-start;background:linear-gradient(135deg,#0d1b2a 0%,#162844 100%);border:1.5px solid var(--orange);border-radius:18px;padding:1.75rem 1.5rem}
.nosotros-block-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:rgba(240,120,32,.15);border:1.5px solid rgba(240,120,32,.3);display:flex;align-items:center;justify-content:center;color:var(--orange)}
.nosotros-block-body{flex:1;min-width:0}
.nosotros-block-title{font-size:15px;font-weight:800;color:var(--orange);margin-bottom:10px;font-family:'Outfit',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.nosotros-block-text{font-size:14px;color:rgba(255,255,255,.75);line-height:1.85}
.contacto-section{background:linear-gradient(135deg,#0d1b2a,#162844);padding:2rem 1.5rem;border-top:1px solid rgba(255,255,255,.08)}
.contacto-sub{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:1.5rem;line-height:1.6}
.contacto-form{display:flex;flex-direction:column;gap:14px}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contacto-fld{display:flex;flex-direction:column;gap:5px}
.contacto-label{font-size:11px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.4px}
.contacto-input{font-family:inherit;font-size:14px;padding:10px 13px;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;outline:none;transition:border .15s}
.contacto-input:focus{border-color:var(--orange);background:rgba(255,255,255,.1)}
.contacto-input::placeholder{color:rgba(255,255,255,.3)}
.contacto-textarea{font-family:inherit;font-size:14px;padding:10px 13px;border:1.5px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;outline:none;resize:vertical;min-height:110px;transition:border .15s}
.contacto-textarea:focus{border-color:var(--orange);background:rgba(255,255,255,.1)}
.contacto-textarea::placeholder{color:rgba(255,255,255,.3)}
.contacto-btn{background:linear-gradient(135deg,#f07820,#e85d04);color:#fff;border:none;border-radius:50px;padding:13px 32px;font-size:15px;font-weight:700;cursor:pointer;align-self:flex-start;box-shadow:0 6px 20px rgba(240,120,32,.35);font-family:'Outfit',sans-serif;margin-top:4px}
.contacto-btn:hover{background:linear-gradient(135deg,#f5952e,#f07820)}
.contacto-ok{text-align:center;padding:2rem 1rem}
.contacto-ok-icon{width:60px;height:60px;border-radius:50%;background:rgba(39,174,96,.2);border:2px solid rgba(39,174,96,.5);color:#4ecb71;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.contacto-ok h3{font-size:18px;font-weight:800;color:#fff;margin-bottom:8px;font-family:'Outfit',sans-serif}
.contacto-ok p{font-size:14px;color:rgba(255,255,255,.65)}
@media(max-width:560px){.contacto-grid{grid-template-columns:1fr}}
.nosotros-img-wrap{padding:0;overflow:hidden}
.nosotros-img{width:100%;display:block;object-fit:cover;max-height:340px;object-position:center}
.nosotros-cta{background:linear-gradient(160deg,#0a1628,#0d1f3c);padding:2.5rem 1.5rem;text-align:center;border-top:3px solid var(--orange)}
.nosotros-cta p{font-size:16px;font-weight:700;color:#fff;margin-bottom:1.25rem;font-family:'Outfit',sans-serif}
.nosotros-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:560px){
  .nosotros-block{flex-direction:column;gap:.875rem}
  .nosotros-title{font-size:22px}
  .nosotros-block-icon{width:42px;height:42px}
}

/* ── CANDIDATOS / DESBLOQUEO ─────────────────────────── */
.cands-subsec{background:linear-gradient(135deg,rgba(39,174,96,.08),rgba(39,174,96,.04));border:1.5px solid rgba(39,174,96,.3);border-radius:16px;padding:1.125rem 1.25rem;margin-bottom:1.5rem}
.cands-subsec-title{font-size:12px;font-weight:800;color:#27ae60;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.cands-list-title{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:12px;padding-top:4px}
.desb-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:1.25rem;margin-bottom:12px;box-shadow:0 2px 10px rgba(30,45,90,.06)}
.desb-card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.desb-card-hinfo{flex:1;min-width:0}
.desb-row-name{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:2px}
.desb-row-meta{font-size:12px;color:var(--muted)}
.desb-contact-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;background:var(--gray);border-radius:10px;padding:.75rem 1rem}
.desb-contact-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--navy)}
.desb-contact-icon{font-size:14px;flex-shrink:0;width:20px}
.desb-contact-val{word-break:break-all}
.desb-divider{height:1px;background:var(--border);margin-bottom:12px}
.desb-section-label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;margin-top:10px}
.desb-section-label:first-of-type{margin-top:0}
.desb-tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.desb-tag{font-size:11px;padding:4px 11px;border-radius:20px;background:#f0f4fb;color:var(--navy);border:1px solid var(--border);font-weight:600;white-space:nowrap;display:inline-block}
.desb-tag--cat{background:#e6f1fb;color:#185fa5;border-color:#b5d4f4;white-space:nowrap}
.desb-tag--match{background:#eaf7f0;color:#1a6b42;border-color:#89d4b0}
.desb-cat-section{margin-bottom:20px;overflow:visible}
.desb-cat-section .desb-tags-row{margin-bottom:0}
.desb-portfolio{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px}
.desb-match-note{font-size:11px;color:#27ae60;font-weight:700;margin-top:4px;margin-bottom:0}
.btn-desb-add{display:block;width:100%;background:linear-gradient(135deg,#27ae60,#1a8a4a);color:#fff;border:none;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;text-align:center;box-shadow:0 3px 10px rgba(39,174,96,.25);margin-top:14px}
.btn-desb-add:hover{background:linear-gradient(135deg,#2ecc71,#27ae60)}
/* ── SERVICIOS ADICIONALES ──────────────────────────────── */
.servicio-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.5rem;margin-bottom:1rem;position:relative;box-shadow:0 2px 12px rgba(30,45,90,.06)}
.servicio-card--highlight{border-color:var(--orange);box-shadow:0 6px 28px rgba(240,120,32,.15)}
.servicio-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:3px 10px;border-radius:20px;margin-bottom:12px}
.badge-premium{background:linear-gradient(135deg,#f07820,#e85d04);color:#fff}
.badge-gold{background:linear-gradient(135deg,#c8960a,#a87200);color:#fff}
.badge-entrevista{background:#e6f1fb;color:#185fa5;border:1px solid #b5d4f4}
.servicio-header{margin-bottom:10px}
.servicio-nombre{font-size:17px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;margin-bottom:6px}
.servicio-price-row{display:flex;align-items:baseline;gap:8px}
.servicio-precio{font-size:26px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif;letter-spacing:-.5px}
.servicio-periodo{font-size:12px;color:rgba(255,255,255,.8);font-weight:600}
.servicio-desc{font-size:13px;color:#4a5568;line-height:1.7;margin-bottom:14px}
.servicio-items{list-style:none;padding:0;margin-bottom:18px;display:flex;flex-direction:column;gap:7px}
.servicio-item{font-size:13px;color:var(--navy);padding-left:20px;position:relative;line-height:1.5}
.servicio-item::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900;font-size:13px}
.servicio-btn{width:100%;background:linear-gradient(135deg,#0d1b2a,#162844);color:#fff;border:none;border-radius:10px;padding:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;transition:opacity .15s}
.servicio-btn:hover{opacity:.88}
.servicio-btn--highlight{background:linear-gradient(135deg,#f07820,#e85d04);box-shadow:0 4px 16px rgba(240,120,32,.35)}

.inact-section-header{background:var(--gray);border-radius:14px;padding:1.25rem 1.5rem;margin:1.5rem 0 .75rem;border:1px dashed var(--border)}
.inact-section-title{font-size:14px;font-weight:800;color:var(--muted);font-family:'Outfit',sans-serif;margin-bottom:4px}
.inact-section-sub{font-size:12px;color:var(--muted)}
.cand-card--inact{opacity:.75;border-style:dashed}
.cand-card--inact:hover{opacity:1}
.avatar--inact{background:var(--muted)!important}
.inact-badge{font-size:10px;font-weight:700;background:#f0f0f0;color:var(--muted);border:1px solid #ddd;border-radius:20px;padding:2px 10px;margin-bottom:4px}
.inact-box{margin-top:18px;padding:1.125rem;background:#fff8f5;border:1.5px solid rgba(231,76,60,.2);border-radius:14px}
.inact-desc{font-size:13px;color:#7a5a50;margin-bottom:12px;line-height:1.6}
.btn-inactivar{background:none;border:1.5px solid #e74c3c;color:#e74c3c;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.btn-inactivar:hover{background:#e74c3c;color:#fff}

/* Desbloqueo de contacto */
.desbloqueo-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.5rem;box-shadow:0 8px 32px rgba(30,45,90,.08);margin-bottom:1rem}
.pay-box{margin-top:18px;background:linear-gradient(135deg,#0d1b2a,#162844);border-radius:16px;padding:1.5rem;border:1.5px solid rgba(240,120,32,.3)}
.pay-box-title{font-size:16px;font-weight:800;color:#fff;margin-bottom:8px;font-family:'Outfit',sans-serif}
.pay-box-desc{font-size:13px;color:#fff;margin-bottom:16px;line-height:1.6}
.pay-price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}
.pay-price{font-size:30px;font-weight:900;color:var(--orange);font-family:'Outfit',sans-serif}
.pay-price-label{font-size:12px;color:rgba(255,255,255,.85);font-weight:600}
.pay-btn{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f07820,#e85d04);color:#fff;border:none;border-radius:50px;padding:13px 28px;font-size:15px;font-weight:700;cursor:pointer;width:100%;box-shadow:0 6px 24px rgba(240,120,32,.4);font-family:'Outfit',sans-serif;margin-bottom:12px}
.pay-btn:hover{background:linear-gradient(135deg,#f5952e,#f07820)}
.pay-btn:active{transform:scale(0.98)}
.pay-iva{font-size:11px;font-weight:700;color:rgba(255,255,255,.85);margin-left:2px;align-self:flex-end;padding-bottom:5px}
.servicio-precio+.pay-iva{color:var(--muted);font-size:11px;font-weight:700;padding-bottom:6px;margin-right:4px}
.pay-secure{font-size:12px;color:rgba(255,255,255,.75);text-align:center;font-weight:600}

/* ── TÉRMINOS Y CONDICIONES ─────────────────────────────── */
.reg-disclaimer{background:rgba(240,120,32,.07);border:1.5px solid rgba(240,120,32,.25);border-radius:10px;padding:.875rem 1rem;font-size:12px;color:var(--navy);line-height:1.7;margin-top:12px;font-style:italic}
.reg-disclaimer strong{color:var(--orange);font-style:normal}
.tc-wrap{background:rgba(240,120,32,0.06);border:1px solid rgba(240,120,32,0.2);border-radius:10px;padding:.875rem 1rem;margin-top:14px}
.tc-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--muted);line-height:1.5}
.tc-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--orange);flex-shrink:0;margin-top:1px;cursor:pointer}
.tc-link{color:var(--orange);font-weight:700;text-decoration:none}
.tc-link:hover{text-decoration:underline}

/* ── TERMINAR SERVICIO ──────────────────────────────────── */
.terminar-box,.terminar-confirm-box{background:linear-gradient(135deg,#fff8f5,#fff3f0);border:1.5px solid rgba(231,76,60,.2);border-radius:16px;padding:1.5rem;text-align:center}
.terminar-warn-icon{font-size:32px;margin-bottom:12px}
.terminar-box-title,.terminar-confirm-title{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:10px;font-family:'Outfit',sans-serif}
.terminar-box-desc,.terminar-confirm-desc{font-size:13px;color:#5a4040;line-height:1.7;margin-bottom:18px}
.btn-terminar{background:none;border:1.5px solid #e74c3c;color:#e74c3c;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.btn-terminar:hover{background:#e74c3c;color:#fff}
.terminar-btn-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn-terminar-cancel{background:none;border:1.5px solid var(--border);border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer}
.btn-terminar-confirm{background:#e74c3c;border:none;color:#fff;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(231,76,60,.3)}
.btn-terminar-confirm:hover{background:#c0392b}
.term-section-title{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:20px 0 10px;padding-top:16px;border-top:1.5px solid var(--border)}
.term-card{opacity:.65;border-style:dashed !important}
.tag-terminated{background:#fdecea;color:#9e2a1e;border:1px solid #f0a0a0;font-size:10px;padding:2px 8px;border-radius:20px;font-weight:700}
.prov-tab.prov-tab-danger{color:#e74c3c !important}
.prov-tab.prov-tab-danger.active{background:#e74c3c;color:#fff;border-color:#e74c3c}

/* ── FOOTER ──────────────────────────────────────────────── */
.main-content{flex:1;display:flex;flex-direction:column}
.app-footer{background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 100%);border-top:3px solid var(--orange);padding:1.5rem}
.footer-inner{max-width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.footer-logo-wrap{display:flex;align-items:center}
.footer-links{display:flex;gap:6px;flex-wrap:wrap}
.footer-link{background:none;border:none;color:rgba(255,255,255,.55);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s}
.footer-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.footer-copy{font-size:11px;color:rgba(255,255,255,.3);font-weight:500}
@media(max-width:560px){
  .footer-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .footer-links{gap:4px}
}

/* ── FORMULARIO DE CONTACTO ─────────────────────────────── */
.contact-section{background:linear-gradient(160deg,#0a1628 0%,#0d1f3c 100%);padding:2.5rem 1.5rem;position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.02) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.contact-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:8px;font-family:'Outfit',sans-serif;letter-spacing:-.3px;position:relative}
.contact-sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:1.75rem;position:relative}
.contact-form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;position:relative}
.contact-form .fld label{color:rgba(255,255,255,.6)}
.contact-form input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px}
.contact-form input::placeholder{color:rgba(255,255,255,.3)}
.contact-form input:focus{border-color:var(--orange);background:rgba(255,255,255,.1)}
.contact-textarea{width:100%;min-height:110px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;padding:10px 13px;font-family:inherit;font-size:15px;resize:vertical;outline:none;transition:border .15s}
.contact-textarea::placeholder{color:rgba(255,255,255,.3)}
.contact-textarea:focus{border-color:var(--orange);background:rgba(255,255,255,.1)}
.contact-send-btn{width:100%;margin-top:6px;background:linear-gradient(135deg,#f07820,#e85d04);color:#fff;border:none;border-radius:50px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;box-shadow:0 6px 20px rgba(240,120,32,.38)}
.contact-send-btn:hover{background:linear-gradient(135deg,#f5952e,#f07820)}
.contact-send-btn:active{transform:scale(.98)}
.contact-success{text-align:center;padding:2.5rem 1.5rem;background:rgba(39,174,96,.1);border:1.5px solid rgba(39,174,96,.3);border-radius:16px}
.contact-success-icon{width:56px;height:56px;border-radius:50%;background:rgba(39,174,96,.2);border:2px solid rgba(39,174,96,.5);display:flex;align-items:center;justify-content:center;font-size:24px;color:#4ecb71;margin:0 auto 16px}
.contact-success-msg{font-size:16px;font-weight:700;color:#fff;margin-bottom:20px;line-height:1.5}
.contact-reset-btn{background:none;border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.7);border-radius:50px;padding:9px 22px;font-size:13px;font-weight:600;cursor:pointer}
.contact-reset-btn:hover{border-color:rgba(255,255,255,.5);color:#fff}
.contact-form .fld-err{color:#f5a03a}

/* ── OFERTAS / PROPUESTAS ──────────────────────────────────── */
.oferta-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.5rem;box-shadow:0 8px 32px rgba(30,45,90,.08);display:flex;flex-direction:column;gap:16px}
.oferta-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.oferta-sublabel{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}
.oferta-divider{height:1px;background:var(--border);margin:4px 0}
.oferta-tipo-row{display:flex;gap:10px}
.oferta-tipo-btn{flex:1;background:var(--gray);border:1.5px solid var(--border);border-radius:10px;padding:10px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}
.oferta-tipo-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.oferta-monto-wrap{display:flex;align-items:center;gap:8px;background:var(--gray);border:1.5px solid var(--border);border-radius:10px;padding:8px 14px}
.oferta-prefix,.oferta-suffix{font-size:16px;font-weight:800;color:var(--navy);flex-shrink:0}
.oferta-input{border:none;background:transparent;font-size:18px;font-weight:700;color:var(--navy);outline:none;flex:1;min-width:0;width:100%}
.oferta-ok{text-align:center;padding:2rem 1rem}
.oferta-ok-icon{width:64px;height:64px;border-radius:50%;background:#eaf7f0;border:2px solid #89d4b0;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;color:#1a6b42}
.oferta-ok h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:8px;font-family:'Outfit',sans-serif}
.oferta-ok p{font-size:13px;color:var(--muted);line-height:1.6}
.offer-status{border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;margin-top:14px;text-align:center}
.offer-status--sent{background:#fff5e6;color:#9a5500;border:1px solid #f5c070}
.offer-status--accepted{background:#eaf7f0;color:#1a6b42;border:1px solid #89d4b0}
.offer-status--rejected{background:#fdecea;color:#9e2a1e;border:1px solid #f0a0a0}
.btn-confirmar-match{background:linear-gradient(135deg,#27ae60,#1a8a4a);color:#fff;border:none;border-radius:50px;padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer;margin-top:12px;width:100%;box-shadow:0 4px 14px rgba(39,174,96,.3);font-family:'Outfit',sans-serif}
.prop-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1rem 1.125rem;margin-bottom:10px}
.prop-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.prop-detail{background:var(--gray);border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:5px}
.prop-det-row{font-size:12px;color:var(--navy);line-height:1.5}
.prop-status{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:700;flex-shrink:0}
.prop-status--enviada{background:#fff5e6;color:#9a5500;border:1px solid #f5c070}
.prop-status--aceptada{background:#eaf7f0;color:#1a6b42;border:1px solid #89d4b0}
.prop-status--firmada{background:#fff3e0;color:#e67e22;border:1px solid rgba(230,126,34,.3)}
.prop-status--rechazada{background:#fdecea;color:#9e2a1e;border:1px solid #f0a0a0}
.prop-status--confirmada{background:#e6f1fb;color:#185fa5;border:1px solid #b5d4f4}
.oferta-resp-row{display:flex;gap:10px;margin-top:12px}
.btn-rechazar{flex:1;background:none;border:1.5px solid #e74c3c;color:#e74c3c;border-radius:50px;padding:10px;font-size:13px;font-weight:700;cursor:pointer}
.btn-aceptar{flex:1;background:linear-gradient(135deg,#27ae60,#1a8a4a);color:#fff;border:none;border-radius:50px;padding:10px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(39,174,96,.25)}
.notif-dot{background:#e74c3c;color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;vertical-align:middle}
.svc-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn-svc{flex:1;background:linear-gradient(135deg,#0d1b2a,#162844);color:#fff;border:none;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer;min-width:140px}
.btn-svc:hover{opacity:.85}

.contrato-header{font-size:14px;font-weight:800;color:var(--navy);text-align:center;padding:12px;background:var(--gray);border-radius:10px;margin-bottom:12px;font-family:'Outfit',sans-serif}
.contrato-text{font-size:12px;line-height:1.8;color:var(--navy);background:#f9fafc;border:1px solid var(--border);border-radius:10px;padding:1.25rem;white-space:pre-wrap;word-break:break-word;max-height:340px;overflow-y:auto;font-family:'DM Sans',sans-serif}
.prop-inline-notif{display:flex;align-items:flex-start;gap:10px;padding:.75rem 1rem;border-radius:10px;font-size:13px;line-height:1.5;margin-top:10px}
.prop-inline-notif--green{background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.3);color:#1a6b42}
.prop-inline-notif--red{background:rgba(231,76,60,.07);border:1px solid rgba(231,76,60,.25);color:#7a1e1e}
.prop-inline-notif--orange{background:rgba(240,120,32,.08);border:1px solid rgba(240,120,32,.3);color:#7a3800}
.prop-inline-notif b{font-weight:800}
.prov-new-notif{background:linear-gradient(135deg,rgba(39,174,96,.1),rgba(39,174,96,.05));border:1.5px solid rgba(39,174,96,.4);border-radius:12px;padding:.875rem 1rem;margin-bottom:14px;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.prov-new-notif p{font-size:13px;color:var(--navy);line-height:1.6;margin:0;flex:1}
.prov-new-notif strong{color:#1a6b42;font-weight:800}
.match-confirmado-notif{background:linear-gradient(135deg,rgba(39,174,96,.1),rgba(39,174,96,.05));border:1.5px solid rgba(39,174,96,.4);border-radius:12px;padding:.875rem 1rem;margin-top:12px;display:flex;align-items:flex-start;gap:10px}
.match-confirmado-notif p{font-size:13px;color:var(--navy);line-height:1.6;margin:0}
.match-confirmado-notif strong{color:#1a6b42;font-weight:800}
.acorded-box{background:linear-gradient(135deg,#f0f4ff,#f8f9fd);border:1.5px solid var(--border);border-radius:12px;padding:1rem 1.125rem;margin-bottom:12px}
.acorded-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.acorded-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.acorded-row:last-child{margin-bottom:0}
.acorded-lbl{font-size:11px;font-weight:700;color:var(--muted);min-width:70px;flex-shrink:0;padding-top:3px}
.acorded-val{font-size:13px;font-weight:700;color:var(--navy)}
.acorded-tags{display:flex;flex-wrap:wrap;gap:5px}
.entrevista-notif{background:linear-gradient(135deg,rgba(240,120,32,.12),rgba(240,120,32,.06));border:1.5px solid rgba(240,120,32,.4);border-radius:12px;padding:.875rem 1rem;margin-top:12px;display:flex;align-items:flex-start;gap:10px}
.entrevista-notif-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.entrevista-notif p{font-size:13px;color:var(--navy);line-height:1.6;margin:0}
.entrevista-notif strong{color:var(--orange);font-weight:800}
.oferta-aceptada-notif{background:linear-gradient(135deg,#0d2a1e,#162844);border:2px solid rgba(39,174,96,.4);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:10px}
.oferta-aceptada-icon{width:44px;height:44px;border-radius:50%;background:rgba(39,174,96,.2);color:#4ecb71;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}
.oferta-aceptada-text{font-size:13px;color:rgba(255,255,255,.85);line-height:1.7}
.oferta-aceptada-close{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;align-self:flex-start}

/* ── MI PLAN ──────────────────────────────────────────────── */
.plan-banner{border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.plan-banner--basic{background:#f4f6fb;border:1.5px solid var(--border)}
.plan-banner--pro{background:linear-gradient(135deg,rgba(240,120,32,.1),rgba(240,120,32,.05));border:1.5px solid rgba(240,120,32,.35)}
.plan-banner-desc{font-size:13px;color:var(--navy);flex:1;line-height:1.5}
.plan-badge{font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;white-space:nowrap}
.plan-badge--basic{background:#e8edf8;color:var(--navy)}
.plan-badge--pro{background:linear-gradient(135deg,#f07820,#e85d04);color:#fff}
.plan-deactivate-btn{background:none;border:1.5px solid #e74c3c;color:#e74c3c;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}
.plan-deactivate-btn:hover{background:#e74c3c;color:#fff}
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:1.5rem}
.plan-card{background:#fff;border:1.5px solid var(--border);border-radius:18px;padding:1.5rem;position:relative;display:flex;flex-direction:column;gap:10px}
.plan-card--pro{border-color:rgba(240,120,32,.4);box-shadow:0 6px 24px rgba(240,120,32,.1)}
.plan-card--current{border-width:2px}
.plan-card--basic.plan-card--current{border-color:var(--navy)}
.plan-card--pro.plan-card--current{border-color:var(--orange)}
.plan-card-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:20px;background:#e8edf8;color:var(--navy)}
.plan-card-badge--pro{background:linear-gradient(135deg,#f07820,#e85d04);color:#fff}
.plan-card-name{font-size:18px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif}
.plan-price-row{display:flex;align-items:baseline;gap:6px}
.plan-price{font-size:26px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif;letter-spacing:-.5px}
.plan-price-period{font-size:12px;color:var(--muted);font-weight:600}
.plan-price-ref{font-size:11px;color:var(--muted);margin-top:-6px}
.plan-card-desc{font-size:13px;color:var(--muted);line-height:1.6}
.plan-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.plan-item{font-size:13px;color:var(--navy);padding-left:18px;position:relative;line-height:1.5}
.plan-item::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}
.plan-pay-box{background:var(--gray);border-radius:12px;padding:1rem;margin-top:8px;border:1px solid var(--border)}
.plan-pay-card{background:#fff;border:1.5px solid rgba(240,120,32,.3);border-radius:18px;padding:1.5rem;box-shadow:0 8px 32px rgba(240,120,32,.1)}
@media(max-width:560px){.plan-grid{grid-template-columns:1fr}}

/* ── PEDIDOS & PRODUCTOS ──────────────────────────────────── */
.pedido-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.125rem 1.25rem;margin-bottom:12px}
.pedido-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.pedido-cliente{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px}
.pedido-meta{font-size:12px;color:var(--muted)}
.pedido-total{font-size:18px;font-weight:900;color:var(--orange);font-family:'Outfit',sans-serif;flex-shrink:0}
.pedido-info{background:var(--gray);border-radius:10px;padding:.75rem 1rem;margin-bottom:10px;display:flex;flex-direction:column;gap:5px}
.pedido-info-row{font-size:12px;color:var(--navy)}
.pedido-items{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:0}
.pedido-items-head{display:grid;grid-template-columns:1fr 60px 80px 80px;background:linear-gradient(135deg,#0d1b2a,#162844);padding:8px 12px;font-size:11px;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.3px}
.pedido-items-row{display:grid;grid-template-columns:1fr 60px 80px 80px;padding:8px 12px;font-size:13px;color:var(--navy);border-top:1px solid var(--border)}
.pedido-items-row:hover{background:#f8f9fd}
.pedido-total-line{font-size:15px;font-weight:700;color:var(--navy);text-align:right;padding:12px 0 0;border-top:2px solid var(--border);margin-top:8px}
.pedido-item-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.pedido-item-row{display:flex;align-items:center;justify-content:space-between;background:var(--gray);border-radius:10px;padding:.75rem 1rem;gap:10px}
.pedido-item-info{flex:1;min-width:0}
.pedido-q-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}
.pedido-q-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);background:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy)}
.pedido-q-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.pedido-q-val{font-size:16px;font-weight:800;color:var(--navy);min-width:24px;text-align:center}
.btn-confirmar-pedido{background:linear-gradient(135deg,#27ae60,#1a8a4a);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;margin-top:12px;width:100%;box-shadow:0 3px 10px rgba(39,174,96,.2)}
.btn-confirmar-pedido:hover{opacity:.88}
.pedido-confirmado-badge{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#1a6b42;background:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3);border-radius:8px;padding:8px 14px;margin-top:12px}
.pedido-item-subtotal{font-size:13px;font-weight:700;color:var(--orange);flex-shrink:0}
.prod-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;border:1.5px solid var(--border)}
.prod-table{width:100%;border-collapse:collapse;font-size:13px}
.prod-table thead{background:linear-gradient(135deg,var(--navy),var(--navy2))}
.prod-table thead th{padding:10px 14px;font-size:11px;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;text-align:left}
.prod-table thead th:first-child{text-align:center;width:44px}
.prod-table thead th.th-price{text-align:right;width:130px}
.prod-table thead th.th-acts{text-align:right;width:140px}
.prod-table tbody tr{border-bottom:1px solid var(--border)}
.prod-table tbody tr:last-child{border-bottom:none}
.prod-table tbody tr:hover{background:#f8f9fd}
.prod-table td{padding:10px 14px;color:var(--navy);vertical-align:middle}
.prod-table td.td-num{text-align:center;color:var(--muted);font-size:12px;font-weight:600}
.prod-table td.td-price{text-align:right;font-weight:700}
.prod-table td.td-acts{text-align:right;white-space:nowrap}
.prod-table td.td-acts .admin-edit-btn{margin-right:4px}
.prod-edit-inp{border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;outline:none;width:100%}
.prod-edit-inp:focus{border-color:var(--orange)}
.prod-edit-price-wrap{display:flex;align-items:center;gap:4px;border:1.5px solid var(--border);border-radius:8px;padding:4px 8px;background:#fff}
.prod-edit-price-wrap:focus-within{border-color:var(--orange)}
.prod-edit-price-inp{border:none;outline:none;font-size:13px;font-family:inherit;width:80px}
.prod-edit-btns{display:flex;gap:6px;white-space:nowrap}

/* ── CÓMO FUNCIONA ─────────────────────────────────────────── */
.hero-img-final{width:100%;background:var(--gray);padding:3rem 1.5rem;text-align:center}
.hero-flow-final{width:100%;max-width:780px;border-radius:16px;box-shadow:0 12px 40px rgba(13,27,42,.12);display:block;margin:0 auto}
.hero-img-wrap{width:100%;max-width:800px;margin:0 auto;padding:2rem 1.5rem 0;text-align:center}
.hero-flow--standalone{width:100%;max-width:720px;border-radius:16px;box-shadow:0 12px 40px rgba(13,27,42,.15)}
.cf-section{background:linear-gradient(180deg,#f8f9fd 0%,#fff 100%);padding:5rem 1.5rem}
.cf-inner{max-width:var(--content-max);margin:0 auto}
.cf-title{font-size:clamp(24px,3.5vw,36px);font-weight:900;font-family:'Outfit',sans-serif;color:var(--navy);line-height:1.15;margin-bottom:10px}
.cf-sub{font-size:15px;color:var(--muted);max-width:540px;line-height:1.7;margin-bottom:2rem}
.cf-aud-tabs{display:none;gap:10px;margin-bottom:1.5rem;flex-wrap:wrap}
.cf-aud-tab{background:var(--gray);border:1.5px solid var(--border);border-radius:50px;padding:9px 20px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;color:var(--muted);transition:all .15s}
.cf-aud-tab--emp{background:var(--navy);color:#fff;border-color:var(--navy)}
.cf-aud-tab--vend{background:linear-gradient(135deg,var(--green),#1a8a4a);color:#fff;border-color:transparent}
.cf-wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px;position:relative}
.cf-wrap::before{content:'';position:absolute;left:50%;top:40px;bottom:40px;width:1px;background:linear-gradient(to bottom,var(--border),transparent);transform:translateX(-50%)}
.cf-col{display:flex;flex-direction:column;gap:0}
.cf-col-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;margin-bottom:20px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cf-col-title--emp{color:var(--navy)}
.cf-col-title--vend{color:var(--green)}
.cf-col-badge{font-size:10px;padding:3px 10px;border-radius:20px;font-weight:800}
.cf-col-badge--emp{background:rgba(13,27,42,.08);color:var(--navy)}
.cf-col-badge--vend{background:rgba(39,174,96,.12);color:var(--green)}
.cf-step{display:flex;gap:16px}
.cf-step-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.cf-num{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;font-family:'Outfit',sans-serif;flex-shrink:0}
.cf-num--emp{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 4px 14px rgba(13,27,42,.2)}
.cf-num--vend{background:linear-gradient(135deg,var(--green),#1a8a4a);color:#fff;box-shadow:0 4px 14px rgba(39,174,96,.2)}
.cf-line{width:2px;flex:1;min-height:16px;margin:6px 0}
.cf-line--emp{background:linear-gradient(to bottom,rgba(13,27,42,.3),rgba(13,27,42,.05))}
.cf-line--vend{background:linear-gradient(to bottom,rgba(39,174,96,.4),rgba(39,174,96,.05))}
.cf-step-content{flex:1;padding-bottom:24px}
.cf-step-icon{font-size:22px;margin-bottom:7px}
.cf-step-title{font-size:14px;font-weight:800;font-family:'Outfit',sans-serif;color:var(--navy);margin-bottom:5px}
.cf-step-desc{font-size:13px;color:var(--muted);line-height:1.65}
.cf-tag{display:inline-block;margin-top:8px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px}
.cf-tag--emp{background:rgba(13,27,42,.07);color:var(--navy)}
.cf-tag--vend{background:rgba(39,174,96,.1);color:var(--green)}
.cf-tag--orange{background:rgba(240,120,32,.1);color:#9a4500}
.cf-cta{background:linear-gradient(135deg,#0d2a1e,#0d1b2a);border-radius:20px;padding:2.5rem;margin-top:2rem;text-align:center}
.cf-cta-title{font-size:22px;font-weight:900;color:#fff;font-family:'Outfit',sans-serif;margin-bottom:8px}
.cf-cta-desc{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:20px;line-height:1.6}
.cf-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:720px){
  .cf-aud-tabs{display:flex}
  .cf-wrap{grid-template-columns:1fr}
  .cf-wrap::before{display:none}
  .cf-col{display:none}
  .cf-col--active{display:flex}
  .cf-section{padding:3rem 1.25rem}
}

/* ── ADMIN PANEL ─────────────────────────────────────────── */
.admin-login-wrap{max-width:400px;margin:3rem auto;text-align:center;padding:2rem 1.5rem;background:#fff;border:1.5px solid var(--border);border-radius:18px;box-shadow:0 8px 32px rgba(30,45,90,.08)}
.admin-login-icon{font-size:40px;margin-bottom:16px}
.admin-login-title{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:6px;font-family:'Outfit',sans-serif}
.admin-login-sub{font-size:13px;color:var(--muted);margin-bottom:20px}
.admin-login-inp{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;margin-bottom:12px;outline:none;font-family:inherit}
.admin-login-inp:focus{border-color:var(--orange)}
.admin-login-btn{background:linear-gradient(135deg,#0d1b2a,#162844);color:#fff;border:none;border-radius:10px;padding:11px 28px;font-size:14px;font-weight:700;cursor:pointer;width:100%;margin-bottom:16px}
.admin-wrap{background:#f4f6fb;min-height:100vh}
.admin-header{background:linear-gradient(135deg,#0d1b2a,#162844);padding:1.25rem var(--gutter-app);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.admin-title{font-size:20px;font-weight:800;color:#fff;font-family:'Outfit',sans-serif}
.admin-warn{font-size:11px;color:rgba(240,120,32,.9);font-weight:700;background:rgba(240,120,32,.12);border:1px solid rgba(240,120,32,.3);border-radius:6px;padding:4px 10px}
.admin-logout-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:1.25rem 1.5rem;background:#fff;border-bottom:1.5px solid var(--border)}
.admin-stat{background:var(--gray);border-radius:12px;padding:.875rem 1rem;text-align:center;border:1px solid var(--border)}
.admin-stat-icon{font-size:20px;margin-bottom:4px}
.admin-stat-n{font-size:26px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif;line-height:1}
.admin-stat-label{font-size:11px;color:var(--muted);font-weight:600;margin-top:3px}
.admin-tab-row{display:flex;gap:0;padding:0 1.5rem;background:#fff;border-bottom:2px solid var(--border)}
.admin-tab{background:none;border:none;padding:12px 18px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}
.admin-tab.active{color:var(--navy);border-bottom-color:var(--orange)}
.admin-content{padding:1.5rem var(--gutter-app)}
.admin-section-title{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:14px;font-family:'Outfit',sans-serif}
.admin-table{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;overflow-x:auto}
.admin-table-head{display:flex;background:linear-gradient(135deg,#0d1b2a,#162844);padding:0}
.admin-th{padding:10px 12px;font-size:11px;font-weight:700;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.4px;flex:1;min-width:80px}
.admin-table-row{display:flex;align-items:center;border-bottom:1px solid var(--border);transition:background .1s}
.admin-table-row:last-child{border-bottom:none}
.admin-table-row:hover{background:#f8f9fd}
.admin-row-inactive{opacity:.55}
.admin-td{flex:1;min-width:80px;padding:10px 12px;font-size:13px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-td--num{flex:0 0 40px;color:var(--muted);font-size:12px}
.admin-td--name{font-weight:700}
.admin-td--email{color:var(--muted);font-size:12px}
.admin-edit-btn{background:var(--navy);color:#fff;border:none;border-radius:6px;padding:5px 11px;font-size:11px;font-weight:700;cursor:pointer;margin-right:5px}
.admin-edit-btn:hover{background:var(--navy2)}
.admin-del-btn{background:#fdecea;color:#9e2a1e;border:1px solid #f0a0a0;border-radius:6px;padding:5px 11px;font-size:11px;font-weight:700;cursor:pointer}
.admin-del-btn:hover{background:#e74c3c;color:#fff}
.admin-status-sel{font-size:12px;padding:4px 8px;border:1.5px solid var(--border);border-radius:6px;background:#fff;font-family:inherit;cursor:pointer;width:100%}
.admin-field{margin-bottom:12px}
.admin-field-label{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px}
.admin-field-inp{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;outline:none}
.admin-field-inp:focus{border-color:var(--orange)}
.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.admin-title-row .admin-section-title{margin-bottom:0}
.admin-export-btn{background:linear-gradient(135deg,#1a6b42,#27ae60);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;gap:5px}
.admin-export-btn:hover{opacity:.85}
@media(max-width:600px){
  .admin-stats{grid-template-columns:repeat(2,1fr)}
  .admin-tab{padding:10px 12px;font-size:12px}
  .admin-th,.admin-td{padding:8px 8px;font-size:11px}
}


.planes-section{background:linear-gradient(180deg,#f0f3fa,#e8edf8);padding:5rem 1.5rem}
.planes-inner{max-width:var(--content-max);margin:0 auto}
.planes-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:2.5rem}
.planes-card{background:#fff;border-radius:20px;padding:2rem 1.75rem;border:1.5px solid var(--border);display:flex;flex-direction:column;gap:12px}
.planes-card--pro{border-color:rgba(240,120,32,.4);box-shadow:0 8px 32px rgba(240,120,32,.1);position:relative}
.planes-badge{display:inline-block;background:linear-gradient(135deg,var(--orange),#e85d04);color:#fff;font-size:10px;font-weight:800;padding:3px 12px;border-radius:20px;margin-bottom:4px;width:fit-content}
.planes-card-name{font-size:20px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif}
.planes-price-row{display:flex;align-items:baseline;gap:6px}
.planes-price{font-size:28px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif}
.planes-period{font-size:13px;color:var(--muted);font-weight:600}
.planes-card-desc{font-size:14px;color:var(--muted);line-height:1.65}
.planes-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.planes-item{font-size:13px;color:var(--navy);padding-left:20px;position:relative;line-height:1.5}
.planes-item::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}
@media(max-width:620px){.planes-grid{grid-template-columns:1fr}}


/* ── ONBOARDING WIZARD ───────────────────────────────────────── */
.onb-overlay{position:fixed;inset:0;background:rgba(13,27,42,.7);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}
.onb-card{background:#fff;border-radius:24px;padding:2.5rem 2rem;max-width:520px;width:100%;box-shadow:0 24px 60px rgba(13,27,42,.3)}
.onb-header{text-align:center;margin-bottom:2rem}
.onb-emoji{font-size:48px;margin-bottom:12px}
.onb-title{font-size:22px;font-weight:900;font-family:'Outfit',sans-serif;color:var(--navy);margin-bottom:8px;line-height:1.2}
.onb-sub{font-size:14px;color:var(--muted);line-height:1.6}
.onb-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:2rem}
.onb-step{display:flex;align-items:flex-start;gap:14px;padding:14px;background:var(--gray);border-radius:14px;border:1.5px solid var(--border)}
.onb-step-num{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Outfit',sans-serif}
.onb-step-icon{font-size:22px;flex-shrink:0}
.onb-step-body{flex:1}
.onb-step-title{font-size:14px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;margin-bottom:3px}
.onb-step-desc{font-size:12px;color:var(--muted);line-height:1.55}
.onb-cta-row{display:flex;gap:10px;flex-wrap:wrap}
.onb-start{flex:1;padding:13px 20px;font-size:14px}
.onb-skip{background:none;border:1.5px solid var(--border);border-radius:50px;padding:13px 18px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}
.onb-skip:hover{border-color:var(--navy);color:var(--navy)}

/* ── REJECTION WARNING BADGE ─────────────────────────────────── */
.rejection-warning{display:inline-block;font-size:10px;font-weight:700;color:#9e2a1e;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.25);border-radius:20px;padding:2px 8px;margin-bottom:4px}

/* ── PLAN PRO — PERIOD TABS + PACKS ─────────────────────────── */
.plan-period-tabs{display:flex;gap:6px;margin-bottom:12px}
.plan-period-tab{flex:1;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;color:rgba(255,255,255,.6);cursor:pointer;font-family:'Outfit',sans-serif;transition:all .15s}
.plan-period-tab.active{background:#fff;color:var(--navy);border-color:#fff}
.plan-pack-title{font-size:11px;font-weight:800;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 8px}
.plan-pack-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.07);border-radius:10px;margin-bottom:6px}
.plan-pack-info{flex:1;display:flex;align-items:center;gap:8px}
.plan-pack-n{font-size:13px;font-weight:700;color:#fff}
.plan-pack-dto{font-size:10px;font-weight:800;background:rgba(39,174,96,.25);color:#4ecb71;border-radius:20px;padding:2px 8px}
.plan-pack-precio{font-size:13px;font-weight:800;color:rgba(255,255,255,.8)}
.plan-pack-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;color:#fff;cursor:pointer}
.plan-pack-btn:hover{background:rgba(255,255,255,.25)}

/* ── MATCH SCORE BREAKDOWN tooltip ───────────────────────────── */
.match-circle[title]{cursor:help}

@media(max-width:520px){
  .onb-card{padding:1.75rem 1.25rem}
  .onb-title{font-size:18px}
  .onb-cta-row{flex-direction:column}
  .onb-start,.onb-skip{width:100%;text-align:center}
}


/* ── PACKS DE DESBLOQUEO (Mi Plan Pro) ──────────────────────── */
.packs-section{background:#fff;border-radius:16px;border:1.5px solid var(--border);padding:1.5rem;margin-bottom:16px}
.packs-title{font-size:15px;font-weight:800;font-family:'Outfit',sans-serif;color:var(--navy);margin-bottom:6px}
.packs-sub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:10px}
.packs-normal{font-size:12px;color:var(--muted);margin-bottom:14px;font-weight:600}
.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.pack-card{background:var(--gray);border:1.5px solid var(--border);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:all .15s}
.pack-card:hover{border-color:rgba(240,120,32,.4);box-shadow:0 4px 16px rgba(240,120,32,.1);transform:translateY(-2px)}
.pack-badge{display:inline-block;background:linear-gradient(135deg,var(--green),#1a8a4a);color:#fff;font-size:10px;font-weight:800;padding:2px 10px;border-radius:20px;width:fit-content}
.pack-n{font-size:15px;font-weight:900;font-family:'Outfit',sans-serif;color:var(--navy)}
.pack-precio-und{font-size:13px;font-weight:700;color:var(--orange)}
.pack-precio-total{font-size:11px;color:var(--muted)}
.pack-buy-btn{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border:none;border-radius:8px;padding:8px 0;font-size:12px;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;margin-top:4px}
.pack-buy-btn:hover{opacity:.88}
.cred-box{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1.5px dashed var(--border);background:var(--gray)}
.cred-box--active{border-color:rgba(39,174,96,.4);background:rgba(39,174,96,.05)}
.cred-icon{font-size:28px;flex-shrink:0}
.cred-count{font-size:14px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif}
.cred-box--active .cred-count{color:var(--green)}
.cred-sub{font-size:12px;color:var(--muted);margin-top:2px}

/* ── DESBLOQUEO CON CRÉDITO ──────────────────────────────────── */
.desb-cred-opt{display:flex;align-items:center;gap:12px;background:rgba(39,174,96,.06);border:1.5px solid rgba(39,174,96,.3);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.desb-cred-title{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px}
.desb-cred-sub{font-size:12px;color:var(--green);font-weight:600}
.desb-cred-btn{background:linear-gradient(135deg,var(--green),#1a8a4a);border:none;border-radius:10px;color:#fff;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:'Outfit',sans-serif;flex-shrink:0}
.desb-or{text-align:center;font-size:11px;color:var(--muted);font-weight:600;margin:8px 0;letter-spacing:.5px}

@media(max-width:620px){
  .packs-grid{grid-template-columns:1fr}
  .desb-cred-opt{flex-direction:column;align-items:flex-start}
  .desb-cred-btn{width:100%;text-align:center}
}


/* ── MIS PEDIDOS VENDEDOR ────────────────────────────────────── */
.mispeds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:4px}
.misped-card{background:#fff;border-radius:16px;border:1.5px solid var(--border);padding:1.25rem 1.375rem;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 10px rgba(13,27,42,.05);transition:box-shadow .15s}
.misped-card:hover{box-shadow:0 6px 20px rgba(13,27,42,.1)}
.misped-top{display:flex;justify-content:space-between;align-items:flex-start}
.misped-emp{font-size:14px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;flex:1}
.misped-fecha{font-size:11px;color:var(--muted);font-weight:600;flex-shrink:0;margin-left:8px}
.misped-cliente{font-size:13px;color:var(--muted);font-weight:600}
.misped-items{border-top:1px solid var(--border);padding-top:8px;display:flex;flex-direction:column;gap:3px}
.misped-item{font-size:12px;color:var(--navy);line-height:1.4}
.misped-item-more{font-size:11px;color:var(--muted);font-weight:600}
.misped-footer{border-top:1px solid var(--border);padding-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.misped-total{font-size:16px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif;flex:1}
.misped-estado{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}
.misped-estado--conf{background:#eaf7f0;color:var(--green);border:1px solid rgba(39,174,96,.3)}
.misped-estado--pend{background:rgba(240,120,32,.08);color:var(--orange);border:1px solid rgba(240,120,32,.3)}
.misped-com{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}
.misped-com-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.misped-com-val{font-size:13px;font-weight:800;color:var(--green)}
@media(max-width:620px){.mispeds-grid{grid-template-columns:1fr}}

/* Beta visual enhancements */
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 120% 80% at 20% 10%,rgba(30,58,95,.6) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 80% 80%,rgba(240,120,32,.08) 0%,transparent 50%);pointer-events:none;z-index:-1}
.hero-btns .btn-white-lg{box-shadow:0 4px 16px rgba(0,0,0,.15)}
.match-engine{box-shadow:0 12px 48px rgba(240,120,32,.55),0 4px 16px rgba(240,120,32,.3) !important}
.dash-top h1,.form-card h2{font-family:'Outfit',sans-serif;letter-spacing:-0.3px}
.step-n{font-family:'Outfit',sans-serif}
.nav .btn-nav-emp,.nav .btn-nav-vend,.nav .btn-nav-login{font-family:'Outfit',sans-serif}
.benefit-head h3{font-family:'Outfit',sans-serif}
.illus-body h4,.illus-wide-body h4{font-family:'Outfit',sans-serif}
.match-viz-title{font-family:'Outfit',sans-serif}
.cta-section h2{font-family:'Outfit',sans-serif;letter-spacing:-0.5px}
/* Subtle grid texture on dark sections */
.match-viz-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.cta-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(240,120,32,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
/* Button submit refinement */
.btn-submit{font-family:'Outfit',sans-serif;font-weight:700;background:linear-gradient(135deg,#f07820,#e85d04);box-shadow:0 4px 16px rgba(240,120,32,.32)}
/* Benefit check mark */
.check{color:#27ae60;font-weight:900;font-size:15px}
/* Illus card refinement */
.illus-card{box-shadow:0 2px 8px rgba(30,45,90,.06)}
.illus-wide{box-shadow:0 2px 8px rgba(30,45,90,.06)}
/* Steps hover */
.step-block:hover{background:#f8f9fd}
/* Session sidebar gradient */
.session-sidebar{background:linear-gradient(180deg,#0d1b2a 0%,#162844 100%)}

/* ══ DASHBOARD ══════════════════════════════════════════════ */
.db-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.db-stat-row--5{grid-template-columns:repeat(5,1fr)}
.db-stat-row--6{grid-template-columns:repeat(6,1fr)}
.db-stat-card--gold{border-color:rgba(212,170,0,.4);background:linear-gradient(135deg,#fffbe6,#fff8d0)}
.db-stat-card--alert{border-color:rgba(231,76,60,.3);background:linear-gradient(135deg,#fff5f5,#fff0f0)}
.db-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.db-icon--orange{background:rgba(240,120,32,.12)}
.db-icon--navy{background:rgba(13,27,42,.08)}
.db-icon--green{background:rgba(39,174,96,.12)}
.db-icon--blue{background:rgba(24,95,165,.1)}
.db-icon--gold{background:rgba(212,170,0,.15)}
.db-icon--red{background:rgba(231,76,60,.1)}
.db-stat-body{flex:1;min-width:0}
.db-stat-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.db-stat-value{font-size:20px;font-weight:900;color:var(--navy);font-family:'Outfit',sans-serif;line-height:1}
.db-stat-value--gold{color:#7a5200}
.db-stat-value--alert{color:#9e2a1e}
.db-stat-sub{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.5}
.db-stat-sub--gold{color:#7a6020}
.db-stat-sub--alert{color:#7a3030}
.db-stat-trend{font-size:10px;font-weight:700;color:var(--green);margin-top:2px}
.db-stat-trend.down{color:#e74c3c}

.db-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.db-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--orange);margin-bottom:4px}
.db-section-title{font-size:14px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;margin-bottom:10px}

.db-card{background:#fff;border-radius:12px;border:1.5px solid var(--border);overflow:hidden;margin-bottom:14px;box-shadow:0 2px 8px rgba(30,45,90,.05)}

.db-emp-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}
.db-emp-row:last-child{border-bottom:none}
.db-emp-avatar{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.db-emp-info{flex:1;min-width:0}
.db-emp-name{font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-emp-sub{font-size:11px;color:var(--muted);margin-top:1px}
.db-emp-badge{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:700;background:#eaf7f0;color:var(--green);border:1px solid rgba(39,174,96,.3);white-space:nowrap;flex-shrink:0}

.db-feed-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px}
.db-feed-item:last-child{border-bottom:none}
.db-feed-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}
.db-feed-dot--green{background:var(--green)}
.db-feed-dot--orange{background:var(--orange)}
.db-feed-dot--blue{background:#185fa5}
.db-feed-text{flex:1;color:var(--navy);line-height:1.5}
.db-feed-time{font-size:10px;color:var(--muted);flex-shrink:0}

.db-pedido-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px}
.db-pedido-row:last-child{border-bottom:none}
.db-pedido-info{flex:1;min-width:0}
.db-pedido-cliente{font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-pedido-meta{font-size:10px;color:var(--muted)}
.db-pedido-total{font-weight:800;color:var(--orange);font-family:'Outfit',sans-serif;flex-shrink:0}
.db-status-conf{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:700;background:#eaf7f0;color:var(--green);border:1px solid rgba(39,174,96,.3);flex-shrink:0}
.db-status-pend{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:700;background:#fff5e6;color:#9a5500;border:1px solid rgba(240,120,32,.3);flex-shrink:0}

.db-rank-head{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:12px 14px;display:flex;justify-content:space-between;align-items:center}
.db-rank-head-title{font-size:13px;font-weight:800;color:#fff;font-family:'Outfit',sans-serif}
.db-rank-head-sub{font-size:10px;color:rgba(255,255,255,.5)}
.db-rank-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border)}
.db-rank-row:last-child{border-bottom:none}
.db-rank-row:hover{background:#f8f9fd}
.db-rank-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.db-rank-1{background:linear-gradient(135deg,#f5c842,#e6a800);color:#7a5200}
.db-rank-2{background:linear-gradient(135deg,#c8d0dc,#a0aab8);color:#3a4450}
.db-rank-3{background:linear-gradient(135deg,#e8a87c,#c8784c);color:#5a2a10}
.db-rank-n{background:var(--gray);color:var(--muted)}
.db-rank-avatar{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.db-rank-info{flex:1;min-width:0}
.db-rank-name{font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-rank-sub{font-size:10px;color:var(--muted)}
.db-rank-bar-wrap{width:60px;height:4px;background:var(--gray);border-radius:2px;overflow:hidden;flex-shrink:0}
.db-rank-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--orange),#f5952e)}
.db-rank-cols{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.db-rank-amount{font-size:13px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif}
.db-rank-cost{font-size:10px;font-weight:700;padding:2px 6px;border-radius:20px}
.db-rank-cost--fixed{background:rgba(24,95,165,.1);color:#185fa5}
.db-rank-cost--variable{background:rgba(240,120,32,.1);color:#9a4500}
.db-rank-total-row{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--gray);border-top:2px solid var(--border)}

.db-chart-bars{display:flex;align-items:flex-end;gap:6px;height:100px;margin-top:8px}
.db-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.db-chart-bar{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(to top,var(--navy),var(--navy2));min-height:3px}
.db-chart-bar--orange{background:linear-gradient(to top,var(--orange),#f5952e)}
.db-chart-month{font-size:9px;color:var(--muted);font-weight:600}
.db-chart-val{font-size:9px;font-weight:700;color:var(--navy)}

.db-prod-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12px}
.db-prod-row:last-child{border-bottom:none}
.db-prod-name{flex:1;font-weight:600;color:var(--navy)}
.db-prod-qty{color:var(--muted);font-weight:600;flex-shrink:0}
.db-prod-bar-wrap{width:60px;height:4px;background:var(--gray);border-radius:2px;overflow:hidden;flex-shrink:0}
.db-prod-bar{height:100%;border-radius:2px;background:var(--orange)}

.db-alert{border-radius:10px;padding:10px 14px;display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:12px;line-height:1.5}
.db-alert--orange{background:rgba(240,120,32,.08);border:1px solid rgba(240,120,32,.3);color:var(--navy)}
.db-alert--green{background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.3);color:var(--navy)}
.db-alert b{font-weight:800}

/* RESPONSIVE DASHBOARD */
@media(max-width:900px){
  .db-stat-row,.db-stat-row--5,.db-stat-row--6{grid-template-columns:repeat(2,1fr)}
  .db-two-col{grid-template-columns:1fr}
  .db-rank-bar-wrap{display:none}
}
@media(max-width:520px){
  .db-stat-row,.db-stat-row--5,.db-stat-row--6{grid-template-columns:1fr 1fr}
  .db-stat-value{font-size:17px}
  .db-rank-cols{display:none}
  .db-two-col{gap:10px}
}

/* ================================================================
   RESPONSIVE — Tablet (≤900px) y Mobile (≤620px y ≤400px)
   ================================================================ */

/* ── NAV ──────────────────────────────────────────────────────── */
@media(max-width:900px){
  .nav-links,.nav-ctas{display:none}
  .hamburger{display:flex}
}

/* ── LANDING ──────────────────────────────────────────────────── */
@media(max-width:900px){
  .hero-inner{flex-direction:column;text-align:center;gap:2rem}
  .hero-text{max-width:100%}
  .hero-btns{justify-content:center}
  .hero-graphic{width:100%;max-width:420px;margin:0 auto}
  .benefits-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .how-inner{flex-direction:column;gap:1.5rem}
  .match-visual{width:100%;max-width:440px;margin:0 auto}
  .nosotros-grid{flex-direction:column}
  .nosotros-img-wrap{display:none}
}
@media(max-width:620px){
  .hero-title{font-size:clamp(26px,7vw,38px)}
  .hero-sub{font-size:15px}
  .steps-grid{grid-template-columns:1fr}
  .section-title-lg{font-size:22px}
}

/* ── SESIÓN — SIDEBAR ─────────────────────────────────────────── */
@media(max-width:900px){
  .session-wrap{flex-direction:column}
  .session-sidebar{
    width:100%;
    padding:.5rem 0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    display:flex;
    flex-direction:row;
    align-items:stretch;
    border-bottom:2px solid rgba(255,255,255,.1)
  }
  .session-who{display:none}
  .session-tab{
    display:inline-flex;
    align-items:center;
    width:auto;
    padding:.6rem 1rem;
    font-size:12px;
    border-bottom:none;
    border-right:1px solid rgba(255,255,255,.08);
    flex-shrink:0
  }
  .session-tab.active{
    background:rgba(240,120,32,.2);
    color:#fff;
    border-radius:0
  }
  .session-content{padding:1rem}
  .session-title{font-size:18px}
}
@media(max-width:620px){
  .session-tab{font-size:11px;padding:.55rem .75rem}
  .session-content{padding:.75rem}
}

/* ── DASHBOARD ────────────────────────────────────────────────── */
@media(max-width:900px){
  .dash-stat-row{grid-template-columns:repeat(2,1fr)}
  .dash-two-col{grid-template-columns:1fr}
  .dash-ranking-card .rank-bar-wrap{display:none}
  .rank-cols{gap:2px}
}
@media(max-width:620px){
  .dash-stat-row{grid-template-columns:1fr 1fr}
  .dash-stat-value{font-size:18px}
  .rank-cols{display:none}
}

/* ── CANDIDATOS / DETALLE ─────────────────────────────────────── */
@media(max-width:620px){
  .cand-grid{grid-template-columns:1fr}
  .detail-top{flex-direction:column;align-items:flex-start;gap:8px}
  .desb-tags{flex-wrap:wrap}
  .match-circle{width:44px;height:44px;font-size:14px}
}

/* ── FORMULARIOS ──────────────────────────────────────────────── */
@media(max-width:620px){
  .form-card{padding:1.25rem 1rem}
  .reg-steps{gap:6px}
  .reg-step{width:32px;height:32px;font-size:12px}
  .form-row-2{grid-template-columns:1fr}
}

/* ── ENVIAR OFERTA ────────────────────────────────────────────── */
@media(max-width:620px){
  .oferta-card{padding:1rem}
  .oferta-tipo-row{flex-direction:column}
  .oferta-tipo-btn{flex:none;width:100%}
  .oferta-grid{grid-template-columns:1fr}
}

/* ── PROPUESTAS / PROPUESTAS VENDEDOR ─────────────────────────── */
@media(max-width:620px){
  .prop-card-top{flex-direction:column;align-items:flex-start;gap:6px}
  .prop-detail{font-size:11px}
  .oferta-resp-row{flex-direction:column}
  .btn-rechazar,.btn-aceptar{width:100%}
}

/* ── PLAN / PAGO ──────────────────────────────────────────────── */
@media(max-width:700px){
  .plan-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .pay-price-row{flex-wrap:wrap;gap:4px}
  .servicio-precio{font-size:22px}
}

/* ── MIS PRODUCTOS / PEDIDOS ──────────────────────────────────── */
@media(max-width:620px){
  .pedido-items-head,.pedido-items-row{grid-template-columns:1fr 50px 70px 70px}
  .pedido-card-top{flex-direction:column;gap:6px}
  .pedido-total{font-size:15px}
  .admin-table{font-size:11px}
  .admin-th,.admin-td{padding:8px 6px;font-size:11px}
}

/* ── ADMIN ────────────────────────────────────────────────────── */
@media(max-width:768px){
  .admin-stats{grid-template-columns:repeat(2,1fr)}
  .admin-tab{padding:10px 12px;font-size:12px}
}
@media(max-width:480px){
  .admin-stats{grid-template-columns:1fr 1fr}
  .admin-stat-value{font-size:22px}
  .admin-header{flex-direction:column;align-items:flex-start;gap:8px}
  .qa-grid{grid-template-columns:1fr}
}

/* ── CONTRATO ─────────────────────────────────────────────────── */
@media(max-width:620px){
  .contrato-text{font-size:11px;padding:.875rem;max-height:260px}
}

/* ── ACCESO RÁPIDO LOGIN ──────────────────────────────────────── */
@media(max-width:620px){
  .login-type-grid{grid-template-columns:1fr}
}

/* ── NOSOTROS / CONTACTO ──────────────────────────────────────── */
@media(max-width:560px){
  .contacto-grid{grid-template-columns:1fr}
}

/* ── FOOTER ───────────────────────────────────────────────────── */
@media(max-width:620px){
  .footer-inner{flex-direction:column;gap:1.5rem;align-items:flex-start}
  .footer-links{flex-direction:column;gap:8px;align-items:flex-start}
}


/* ── DASHBOARD PREVIEW STYLES (db- prefix) ──────────── */

/* ── RESET & BASE ─────────────────────────────────── */




/* ── HEADER ───────────────────────────────────────── */
.db-page-header{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:16px 24px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(0,0,0,.3)}
.db-page-logo{height:36px;object-fit:contain}
.db-page-title{color:rgba(255,255,255,.6);font-size:13px;font-weight:600;margin-left:auto}

/* ── TAB SWITCHER ─────────────────────────────────── */
.db-tabs{display:flex;gap:6px;padding:20px 20px 0;flex-wrap:wrap}
.db-tab{background:#fff;border:1.5px solid var(--border);border-radius:10px 10px 0 0;padding:10px 20px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;font-family:var(--font-head);transition:all .15s;border-bottom:none}
.db-tab.db-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.db-tab-badge{display:inline-block;background:var(--orange);color:#fff;border-radius:20px;font-size:10px;padding:1px 7px;margin-left:6px;font-weight:800}

/* ── DASHBOARD CONTAINER ──────────────────────────── */
.db-dash{display:none;padding:20px;max-width:100%;margin:0 auto;animation:fadeIn .2s ease}
.db-dash.db-active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── STAT CARDS ───────────────────────────────────── */
.db-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.db-stat-card{background:#fff;border-radius:14px;padding:16px 18px;border:1.5px solid var(--border);display:flex;align-items:flex-start;gap:12px;box-shadow:0 2px 10px rgba(30,45,90,.05)}
.db-stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.db-stat-icon--orange{background:rgba(240,120,32,.12)}
.db-stat-icon--navy{background:rgba(13,27,42,.08)}
.db-stat-icon--green{background:rgba(39,174,96,.12)}
.db-stat-icon--blue{background:rgba(24,95,165,.1)}
.db-stat-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.db-stat-value{font-size:22px;font-weight:900;color:var(--navy);font-family:var(--font-head);line-height:1}
.db-stat-sub{font-size:11px;color:var(--muted);margin-top:3px}
.db-stat-trend{font-size:11px;font-weight:700;color:var(--green)}
.db-stat-trend.db-down{color:#e74c3c}

/* ── SECTION TITLE ────────────────────────────────── */
.db-section-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--orange);margin-bottom:6px}
.db-section-title{font-size:17px;font-weight:800;color:var(--navy);font-family:var(--font-head);margin-bottom:14px}

/* ── CARD GRID ────────────────────────────────────── */
.db-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:20px}
.db-dash-card{background:#fff;border-radius:14px;padding:16px;border:1.5px solid var(--border);box-shadow:0 2px 10px rgba(30,45,90,.05)}

/* ── EMPRESA MINI CARDS ───────────────────────────── */
.db-emp-card{background:#fff;border-radius:14px;padding:14px 16px;border:1.5px solid var(--border);border-left:4px solid var(--orange);display:flex;align-items:center;gap:12px}
.db-emp-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;font-family:var(--font-head);flex-shrink:0}
.db-emp-info{flex:1;min-width:0}
.db-emp-name{font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-emp-sub{font-size:11px;color:var(--muted);margin-top:2px}
.db-emp-badge{font-size:10px;padding:3px 8px;border-radius:20px;font-weight:700;background:#eaf7f0;color:var(--green);border:1px solid rgba(39,174,96,.3)}

/* ── CHART ────────────────────────────────────────── */
.db-chart-card{background:#fff;border-radius:14px;padding:18px;border:1.5px solid var(--border);margin-bottom:20px;box-shadow:0 2px 10px rgba(30,45,90,.05)}
.db-chart-bars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-top:12px}
.db-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.db-chart-bar{width:100%;border-radius:6px 6px 0 0;background:linear-gradient(to top,var(--navy),var(--navy2));min-height:4px;transition:height .3s}
.db-chart-bar--orange{background:linear-gradient(to top,var(--orange),#f5952e)}
.db-chart-month{font-size:10px;color:var(--muted);font-weight:600}
.db-chart-val{font-size:10px;font-weight:700;color:var(--navy)}

/* ── RANKING ──────────────────────────────────────── */
.db-ranking-card{background:#fff;border-radius:14px;padding:0;border:1.5px solid var(--border);overflow:hidden;margin-bottom:20px;box-shadow:0 2px 10px rgba(30,45,90,.05)}
.db-ranking-head{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:14px 18px;display:flex;align-items:center;justify-content:space-between}
.db-ranking-head-title{font-size:14px;font-weight:800;color:#fff;font-family:var(--font-head)}
.db-ranking-head-sub{font-size:11px;color:rgba(255,255,255,.55)}
.db-ranking-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .1s}
.db-ranking-row:last-child{border-bottom:none}
.db-ranking-row:hover{background:#f8f9fd}
.db-rank-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.db-rank-1{background:linear-gradient(135deg,#f5c842,#e6a800);color:#7a5200}
.db-rank-2{background:linear-gradient(135deg,#c8d0dc,#a0aab8);color:#3a4450}
.db-rank-3{background:linear-gradient(135deg,#e8a87c,#c8784c);color:#5a2a10}
.db-rank-n{background:var(--gray);color:var(--muted)}
.db-rank-avatar{width:34px;height:34px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.db-rank-info{flex:1;min-width:0}
.db-rank-name{font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-rank-sub{font-size:11px;color:var(--muted)}
.db-rank-amount{font-size:14px;font-weight:800;color:var(--navy);font-family:var(--font-head);flex-shrink:0;text-align:right}
.db-rank-bar-wrap{width:80px;height:5px;background:var(--gray);border-radius:3px;overflow:hidden;flex-shrink:0}
.db-rank-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--orange),#f5952e)}

/* ── ACTIVITY FEED ────────────────────────────────── */
.db-feed-card{background:#fff;border-radius:14px;border:1.5px solid var(--border);overflow:hidden;margin-bottom:20px;box-shadow:0 2px 10px rgba(30,45,90,.05)}
.db-feed-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.db-feed-item:last-child{border-bottom:none}
.db-feed-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}
.db-feed-dot--green{background:var(--green)}
.db-feed-dot--orange{background:var(--orange)}
.db-feed-dot--blue{background:#185fa5}
.db-feed-text{flex:1;font-size:13px;color:var(--navy);line-height:1.5}
.db-feed-time{font-size:11px;color:var(--muted);flex-shrink:0}

/* ── PEDIDOS RECIENTES ────────────────────────────── */
.db-pedido-mini{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}
.db-pedido-mini:last-child{border-bottom:none}
.db-pedido-mini-icon{font-size:18px;flex-shrink:0}
.db-pedido-mini-info{flex:1;min-width:0}
.db-pedido-mini-cliente{font-size:13px;font-weight:700;color:var(--navy)}
.db-pedido-mini-meta{font-size:11px;color:var(--muted)}
.db-pedido-mini-total{font-size:14px;font-weight:800;color:var(--orange);font-family:var(--font-head);flex-shrink:0}
.db-pedido-status{font-size:10px;padding:3px 8px;border-radius:20px;font-weight:700;flex-shrink:0}
.db-status-conf{background:#eaf7f0;color:var(--green);border:1px solid rgba(39,174,96,.3)}
.db-status-pend{background:#fff5e6;color:#9a5500;border:1px solid rgba(240,120,32,.3)}

/* ── ALERT ────────────────────────────────────────── */
.db-alert-card{border-radius:12px;padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;line-height:1.5}
.db-alert-orange{background:rgba(240,120,32,.08);border:1.5px solid rgba(240,120,32,.3);color:var(--navy)}
.db-alert-green{background:rgba(39,174,96,.08);border:1.5px solid rgba(39,174,96,.3);color:var(--navy)}
.db-alert-icon{font-size:18px;flex-shrink:0}

/* ── PRODUCT TOP ──────────────────────────────────── */
.db-product-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}
.db-product-row:last-child{border-bottom:none}
.db-product-name{flex:1;font-size:13px;font-weight:600;color:var(--navy)}
.db-product-qty{font-size:12px;color:var(--muted);font-weight:600}
.db-product-bar-wrap{width:80px;height:5px;background:var(--gray);border-radius:3px;overflow:hidden}
.db-product-bar{height:100%;border-radius:3px;background:var(--orange)}

/* ── TWO COL LAYOUT ───────────────────────────────── */
.db-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.db-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px}

/* ── RESPONSIVE ───────────────────────────────────── */
@media(max-width:768px){
  .db-stat-row,.db-stat-row--5,.db-stat-row--6{grid-template-columns:repeat(2,1fr)}
  .db-two-col,.db-three-col{grid-template-columns:1fr}
  .db-rank-bar-wrap{display:none}
  .db-tabs{padding:12px 12px 0}
  .db-tab{padding:8px 14px;font-size:12px}
  .db-dash{padding:12px}
}
@media(max-width:480px){
  .db-stat-row{grid-template-columns:1fr 1fr}
  .db-stat-value{font-size:18px}
  .db-page-header{padding:12px 16px}
  .db-page-logo{height:28px}
}

/* ── DASHBOARD RESPONSIVE ─────────────────────────── */
@media(max-width:900px){
  .db-stat-row,.db-stat-row--5,.db-stat-row--6{grid-template-columns:repeat(2,1fr)}
  .db-two-col,.db-three-col{grid-template-columns:1fr}
  .db-rank-bar-wrap{display:none}
}
@media(max-width:620px){
  .db-stat-row,.db-stat-row--5,.db-stat-row--6{grid-template-columns:1fr 1fr}
  .db-stat-value{font-size:17px}
  .db-rank-cols{display:none}
  .db-chart-bars{height:80px}
}

/* ── GUTTER FLUIDO ─────────────────────────────────────────────
   Full-width en todas las vistas: el fondo de cada sección llega a
   los bordes y el contenido respira con márgenes que crecen con la
   pantalla (var --gutter). Solo toca el eje horizontal; los paddings
   verticales de cada sección quedan intactos. */
.nav,.hero,.cta-section,.match-viz-section,.nosotros-hero,.nosotros-content,.contacto-section,.nosotros-cta,.contact-section,.hero-img-final,.cf-section,.planes-section,.app-footer{padding-left:var(--gutter);padding-right:var(--gutter)}

/* ── TOASTS ── notificaciones no bloqueantes (reemplazan alert()) */
.toast-cont{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:min(360px,92vw)}
.toast{background:var(--navy);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.28);font-size:14px;font-weight:600;line-height:1.4;opacity:0;transform:translateX(24px);transition:opacity .25s ease,transform .25s ease;border-left:4px solid var(--orange)}
.toast--show{opacity:1;transform:none}
.toast--ok{border-left-color:var(--green)}
.toast--error{border-left-color:#e74c3c}
.toast--info{border-left-color:var(--orange)}
@media(max-width:560px){.toast-cont{left:16px;right:16px;top:12px;max-width:none}}
