:root{--red:#b31217;--red2:#e52d27;--dark:#1f1f29;--soft:#fff5f5;}
body{background:#f7f7fb;color:#252535;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.em-navbar{background:linear-gradient(135deg,var(--red),var(--red2));box-shadow:0 8px 25px rgba(179,18,23,.18)}
.hero{background:linear-gradient(135deg,rgba(179,18,23,.96),rgba(229,45,39,.9)),url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=1600&auto=format&fit=crop');background-size:cover;background-position:center;color:white;padding:80px 0;border-radius:0 0 38px 38px;}
.search-card,.card-soft{background:white;border:0;border-radius:22px;box-shadow:0 14px 45px rgba(31,31,41,.09)}
.btn-red{background:linear-gradient(135deg,var(--red),var(--red2));color:white;border:0;border-radius:14px;font-weight:700;padding:.75rem 1.15rem;box-shadow:0 10px 20px rgba(179,18,23,.18)}
.btn-red:hover{color:white;filter:brightness(.96)}
.text-red{color:var(--red)}
.badge-red{background:var(--soft);color:var(--red);border:1px solid #ffd0d0}
.job-card{border:0;border-radius:22px;box-shadow:0 10px 28px rgba(31,31,41,.07);transition:.2s;background:white}
.job-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(31,31,41,.12)}
.sidebar{background:white;border-radius:22px;box-shadow:0 10px 25px rgba(31,31,41,.06);padding:18px;position:sticky;top:88px}
.sidebar a{display:block;text-decoration:none;color:#333;padding:11px 12px;border-radius:13px;margin-bottom:4px}
.sidebar a:hover,.sidebar a.active{background:var(--soft);color:var(--red);font-weight:700}
.form-control,.form-select{border-radius:14px;padding:.75rem .9rem;border:1px solid #e3e3eb}.form-control:focus,.form-select:focus{border-color:#e52d27;box-shadow:0 0 0 .2rem rgba(229,45,39,.13)}
.stat{border-radius:20px;background:white;padding:20px;box-shadow:0 10px 25px rgba(31,31,41,.06)}
.avatar{width:46px;height:46px;border-radius:50%;background:var(--soft);display:inline-grid;place-items:center;color:var(--red)}
@media(max-width:768px){.hero{padding:50px 0;border-radius:0 0 24px 24px}.display-4{font-size:2.1rem}.sidebar{position:static;margin-bottom:16px}}


/* Admin avanzado Emplexi */
.admin-wrap{background:radial-gradient(circle at top right,rgba(229,45,39,.08),transparent 32%),#f7f7fb;min-height:72vh}
.admin-hero{background:linear-gradient(135deg,#9f0f14,#e52d27);border-radius:28px;color:#fff;padding:26px;box-shadow:0 18px 45px rgba(179,18,23,.24);display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-stat-card{background:#fff;border:0;border-radius:24px;padding:22px;box-shadow:0 14px 35px rgba(31,31,41,.08);position:relative;overflow:hidden;min-height:128px}
.admin-stat-card:after{content:"";position:absolute;right:-28px;top:-28px;width:105px;height:105px;border-radius:50%;background:var(--soft)}
.admin-stat-card span{font-size:.88rem;color:#6c6c78;font-weight:700}
.admin-stat-card h3{font-size:2.25rem;font-weight:900;margin:.35rem 0 0;color:var(--dark)}
.admin-stat-card i{position:absolute;right:22px;bottom:20px;font-size:2rem;color:var(--red);opacity:.18}
.mini-metric{background:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 10px 25px rgba(31,31,41,.06);display:flex;align-items:center;gap:13px}
.mini-metric strong{background:var(--soft);color:var(--red);width:52px;height:52px;display:grid;place-items:center;border-radius:17px;font-size:1.35rem}
.mini-metric span{font-weight:700;color:#555}
.admin-table thead th{font-size:.78rem;text-transform:uppercase;color:#7a7a88;letter-spacing:.04em;border-bottom:1px solid #f0f0f5}
.admin-table td{border-color:#f2f2f7}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .65rem;font-weight:800;font-size:.75rem;background:#f5f5f8;color:#555}
.status-active{background:#eaf8ef;color:#18753b}
.status-blocked{background:#fff0f0;color:#b31217}
.status-paused{background:#fff8e8;color:#9b6a00}
.status-closed{background:#eceef3;color:#555}
.status-app{background:var(--soft);color:var(--red)}
.activity-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f1f5}
.activity-item:last-child{border-bottom:0}
.top-company{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid #f1f1f5}
.top-company:last-child{border-bottom:0}
.top-company>span{width:34px;height:34px;border-radius:12px;background:var(--soft);color:var(--red);display:grid;place-items:center;font-weight:900}
.admin-actions{white-space:nowrap}
.company-logo-admin{width:44px;min-width:44px;height:44px;border-radius:14px;background:#fff;color:var(--red);display:grid;place-items:center;overflow:hidden;font-size:1.05rem;border:1px solid #ffe0e0;box-shadow:0 6px 16px rgba(179,18,23,.08);padding:6px}
.company-logo-admin img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}
.mini-box{background:#fafafa;border-radius:16px;padding:12px}
.mini-box strong{display:block;font-size:1.4rem;color:var(--red)}
.mini-box span{font-size:.78rem;color:#777;font-weight:700}
.report-line{padding:12px 0;border-bottom:1px solid #f1f1f5}
.report-line:last-child{border-bottom:0}
@media(max-width:991px){.admin-hero{display:block}.admin-sidebar{position:static}.admin-stat-card{min-height:auto}.admin-actions{white-space:normal}}


/* Página pública de empresas */
.fw-black{font-weight:900}
.companies-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 26%),linear-gradient(135deg,#8f0e13 0%,#b31217 44%,#e52d27 100%);color:#fff;padding:72px 0 92px;border-radius:0 0 42px 42px}
.companies-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent),url('https://images.unsplash.com/photo-1556761175-b413da4baf72?q=80&w=1600&auto=format&fit=crop');background-size:cover;background-position:center;opacity:.16}
.companies-hero .container{z-index:1}.hero-pill{display:inline-flex;align-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:.5rem .9rem;font-weight:800;backdrop-filter:blur(8px)}
.company-hero-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:28px;padding:24px;box-shadow:0 22px 55px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.hero-icon{width:58px;height:58px;border-radius:20px;background:#fff;color:var(--red);display:grid;place-items:center;font-size:1.45rem;box-shadow:0 14px 28px rgba(0,0,0,.14)}
.hero-mini-stat{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:15px;text-align:center}.hero-mini-stat strong{display:block;font-size:1.7rem;font-weight:900}.hero-mini-stat span{font-size:.78rem;font-weight:800;opacity:.9;text-transform:uppercase;letter-spacing:.04em}
.companies-page{margin-top:-54px;position:relative;z-index:2}.companies-search{border:1px solid #ffe1e1}.input-icon{position:relative}.input-icon i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--red);z-index:2}.input-icon .form-control{padding-left:44px}.section-kicker{display:inline-block;color:var(--red);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}
.featured-company-card{position:relative;overflow:hidden;border-radius:28px;min-height:315px;background:linear-gradient(135deg,#9f0f14,#e52d27);box-shadow:0 18px 42px rgba(179,18,23,.22);color:#fff}.featured-company-bg{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.28),transparent 28%),linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.16))}.featured-company-content{position:relative;padding:26px;z-index:1}.company-logo-xl{width:72px;height:72px;border-radius:24px;background:#fff;color:var(--red);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.65);box-shadow:0 14px 28px rgba(0,0,0,.16);padding:10px;font-size:1.6rem}.company-logo-xl img{width:100%;height:100%;object-fit:contain;display:block;border-radius:14px}.opacity-90{opacity:.9}
.company-card-pro{display:flex;flex-direction:column;background:#fff;border:1px solid #f0edf2;border-radius:26px;padding:22px;box-shadow:0 12px 30px rgba(31,31,41,.07);transition:.22s;position:relative;overflow:hidden}.company-card-pro:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--red),var(--red2))}.company-card-pro:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(31,31,41,.13)}.company-card-top{display:flex;align-items:center;gap:14px}.company-logo-pro{width:58px;min-width:58px;height:58px;border-radius:19px;background:var(--soft);color:var(--red);display:grid;place-items:center;overflow:hidden;border:1px solid #ffd7d7;padding:8px;font-size:1.25rem}.company-logo-pro img{width:100%;height:100%;object-fit:contain;display:block;border-radius:11px}.min-w-0{min-width:0}
.company-meta{display:flex;flex-wrap:wrap;gap:8px}.company-meta span{display:inline-flex;align-items:center;gap:7px;background:#fafafa;border:1px solid #f0f0f5;color:#555;border-radius:999px;padding:.42rem .68rem;font-size:.82rem;font-weight:800}.company-meta i{color:var(--red)}.company-desc{color:#686878;font-size:.95rem;line-height:1.55;min-height:66px}.company-highlight{background:linear-gradient(135deg,#fff5f5,#fff);border:1px solid #ffe1e1;border-radius:18px;padding:12px 14px}.company-highlight small{display:block;color:#9a9aa5;font-weight:900;text-transform:uppercase;font-size:.68rem;letter-spacing:.06em}.company-highlight strong{display:block;color:#2d2d39;font-size:.92rem}.company-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.company-stat-strip div{background:#fafafa;border-radius:16px;text-align:center;padding:10px 6px}.company-stat-strip strong{display:block;color:var(--red);font-size:1.2rem;font-weight:900}.company-stat-strip span{display:block;color:#777;font-size:.72rem;font-weight:800}.btn-outline-red{border:1px solid #ffd1d1;background:#fff;color:var(--red);border-radius:14px;font-weight:800;padding:.75rem 1rem}.btn-outline-red:hover{background:var(--soft);color:var(--red);border-color:#ffbbbb}.empty-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:24px;background:var(--soft);color:var(--red);display:grid;place-items:center;font-size:1.8rem}
@media(max-width:768px){.companies-hero{padding:50px 0 76px;border-radius:0 0 26px 26px}.companies-page{margin-top:-40px}.company-stat-strip{grid-template-columns:repeat(3,1fr)}.featured-company-card{min-height:auto}.company-desc{min-height:auto}}

/* ===============================
   Emplexi V2.3 - Home moderna + navbar blanca + favicon
   =============================== */
:root{--primary-red:#e30613;--primary-red-dark:#a90d13;--primary-red-soft:#fff1f2;--ink:#080b22;--muted:#6f7485;--line:#ececf3;--card:#ffffff;--green:#20b15a}
.fw-black{font-weight:900!important}
.em-navbar{background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(227,6,19,.12);box-shadow:0 12px 35px rgba(8,11,34,.08);backdrop-filter:blur(14px)}
.em-navbar .navbar-brand{color:var(--primary-red)!important;font-size:1.72rem;letter-spacing:-.04em;display:flex;align-items:center;gap:.48rem}.brand-icon{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--primary-red-dark),var(--primary-red));color:#fff;display:inline-grid;place-items:center;font-size:.9rem;box-shadow:0 10px 18px rgba(227,6,19,.25)}
.em-navbar .nav-link{color:#181b2f!important;font-weight:800;border-radius:999px;padding:.55rem .78rem!important;position:relative}.em-navbar .nav-link:hover,.em-navbar .nav-link.active{color:var(--primary-red)!important;background:var(--primary-red-soft)}
.em-navbar .navbar-toggler{border:0;background:var(--primary-red-soft);border-radius:13px;padding:.55rem}.em-navbar .navbar-toggler:focus{box-shadow:0 0 0 .18rem rgba(227,6,19,.14)}.em-navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28227, 6, 19, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.btn-red{background:linear-gradient(135deg,var(--primary-red-dark),var(--primary-red));box-shadow:0 12px 25px rgba(227,6,19,.22)}
.home-hero{position:relative;overflow:hidden;background:#fff;padding:72px 0 38px}.home-hero:before{content:"";position:absolute;right:-10%;top:0;width:56%;height:100%;background:linear-gradient(135deg,#ff1523,#b31217);clip-path:polygon(26% 0,100% 0,100% 100%,0 100%);opacity:.96}.home-hero:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(180deg,transparent,#f7f7fb)}.home-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(227,6,19,.08),transparent 28%),linear-gradient(90deg,#fff,rgba(255,255,255,.92) 42%,rgba(255,255,255,.7));}.hero-badge{display:inline-flex;align-items:center;gap:.55rem;background:#fff1f2;color:var(--primary-red);border:1px solid #ffd6da;border-radius:999px;padding:.55rem .9rem;font-weight:900;font-size:.88rem;box-shadow:0 10px 22px rgba(227,6,19,.08)}.hero-title{font-weight:950;letter-spacing:-.055em;line-height:.98;color:var(--ink);font-size:clamp(2.55rem,5.5vw,5.25rem);margin:1rem 0}.hero-title span{color:var(--primary-red);position:relative;display:inline-block}.hero-title span:after{content:"";position:absolute;left:3%;right:0;bottom:-7px;height:10px;background:var(--primary-red);border-radius:999px;transform:rotate(-2deg);opacity:.95}.hero-subtitle{max-width:630px;color:#52576b;font-size:1.1rem;line-height:1.65;margin-bottom:1.25rem}.hero-search-card{display:grid;grid-template-columns:1.2fr .9fr auto;gap:0;max-width:780px;background:#fff;border:1px solid #eeeeF5;border-radius:22px;padding:9px;box-shadow:0 18px 42px rgba(8,11,34,.12);overflow:hidden}.hero-search-field{display:flex;align-items:center;gap:10px;padding:0 14px;border-right:1px solid #eeeef5}.hero-search-field i{color:#5a6075}.hero-search-field input{border:0;outline:0;width:100%;height:48px;color:var(--ink);font-weight:700;background:transparent}.hero-search-field input::placeholder{color:#989dad;font-weight:600}.hero-search-btn{border:0;background:linear-gradient(135deg,var(--primary-red-dark),var(--primary-red));color:#fff;font-weight:900;border-radius:16px;padding:0 1.75rem;box-shadow:0 10px 22px rgba(227,6,19,.22)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}.btn-hero{border-radius:16px;padding:.9rem 1.3rem}.btn-white-hero{background:#fff;color:#181b2f;border:1px solid #e9e9f1;border-radius:16px;font-weight:900;padding:.9rem 1.3rem;text-decoration:none;box-shadow:0 12px 25px rgba(8,11,34,.08)}.btn-white-hero:hover{color:var(--primary-red);border-color:#ffd2d6;background:#fff8f8}.hero-visual-card{position:relative;min-height:440px;border-radius:36px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);box-shadow:0 26px 60px rgba(0,0,0,.18);backdrop-filter:blur(12px);overflow:hidden}.hero-visual-shape{position:absolute;right:-90px;bottom:-120px;width:360px;height:360px;background:rgba(255,255,255,.18);border-radius:50%}.hero-main-illustration{position:absolute;inset:70px 48px auto;min-height:250px;border-radius:30px;background:rgba(255,255,255,.92);box-shadow:0 20px 45px rgba(0,0,0,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.illustration-circle{width:120px;height:120px;border-radius:38px;background:linear-gradient(135deg,var(--primary-red-dark),var(--primary-red));color:#fff;display:grid;place-items:center;font-size:3rem;box-shadow:0 24px 45px rgba(227,6,19,.28);margin-bottom:18px}.hero-main-illustration h3{font-weight:950;color:var(--ink);letter-spacing:-.03em;margin:0}.hero-main-illustration p{color:var(--muted);margin:.45rem 0 0}.hero-person-card{position:absolute;top:24px;left:24px;right:24px;z-index:2;background:#fff;border-radius:22px;padding:14px;display:flex;align-items:center;gap:12px;box-shadow:0 16px 35px rgba(0,0,0,.14)}.hero-person-avatar{width:50px;height:50px;border-radius:17px;background:var(--primary-red-soft);color:var(--primary-red);display:grid;place-items:center}.hero-person-card strong,.hero-person-card span{display:block}.hero-person-card strong{color:var(--ink);font-weight:900}.hero-person-card span{color:var(--muted);font-size:.86rem}.hero-floating-card{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);border-radius:18px;padding:12px 14px;box-shadow:0 16px 35px rgba(0,0,0,.16);font-weight:900}.hero-floating-card i{width:35px;height:35px;border-radius:12px;background:var(--primary-red-soft);color:var(--primary-red);display:grid;place-items:center}.card-one{left:18px;bottom:28px}.card-two{right:18px;bottom:82px}.home-stats-card{position:relative;z-index:3;margin:48px auto 0;max-width:1120px;background:#fff;border:1px solid #eeeeF5;border-radius:26px;box-shadow:0 18px 45px rgba(8,11,34,.12);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.home-stat-item{display:flex;align-items:center;gap:14px;padding:22px;border-right:1px solid #eeeeF5}.home-stat-item:last-child{border-right:0}.home-stat-icon{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,var(--primary-red-dark),var(--primary-red));color:#fff;display:grid;place-items:center;font-size:1.25rem;box-shadow:0 14px 25px rgba(227,6,19,.22)}.home-stat-item strong{display:block;font-size:1.75rem;font-weight:950;line-height:1;color:var(--ink)}.home-stat-item span{display:block;color:var(--muted);font-weight:800;font-size:.88rem;margin-top:.3rem}.home-section{padding:56px 0}.section-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:18px}.link-red{color:var(--primary-red);font-weight:900;text-decoration:none}.link-red:hover{color:var(--primary-red-dark)}.home-job-card{background:#fff;border:1px solid #eeeeF5;border-radius:26px;padding:20px;box-shadow:0 12px 30px rgba(8,11,34,.07);transition:.2s}.home-job-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(8,11,34,.13)}.company-mark{width:52px;height:52px;border-radius:17px;background:#fff4f5;color:var(--primary-red);display:grid;place-items:center;border:1px solid #ffdadd;overflow:hidden;padding:7px}.company-mark img{width:100%;height:100%;object-fit:contain}.featured-pill{display:inline-flex;gap:6px;align-items:center;background:#fff7e6;color:#9a6300;border:1px solid #ffe2a6;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;font-weight:900}.home-job-card h3{font-size:1.1rem;font-weight:950;color:var(--ink);letter-spacing:-.02em}.job-company{color:#555b70;font-weight:800;margin-bottom:.7rem}.job-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.job-meta-row span{display:inline-flex;align-items:center;gap:7px;background:#fafafa;border:1px solid #efeff5;border-radius:999px;padding:.42rem .65rem;color:#636879;font-weight:800;font-size:.78rem}.job-meta-row i{color:var(--primary-red)}.job-card-footer{border-top:1px solid #f0f0f5;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.job-card-footer strong{color:var(--ink);font-size:.92rem}.job-card-footer a{color:var(--primary-red);font-weight:950;text-decoration:none;white-space:nowrap}.why-card,.categories-panel{background:#fff;border:1px solid #eeeeF5;border-radius:28px;padding:26px;box-shadow:0 14px 35px rgba(8,11,34,.08)}.why-item{display:flex;gap:13px;margin-bottom:20px}.why-item>span{width:46px;min-width:46px;height:46px;border-radius:16px;background:var(--primary-red-soft);color:var(--primary-red);display:grid;place-items:center}.why-item strong{display:block;color:var(--ink);font-weight:950}.why-item p{color:var(--muted);margin:.25rem 0 0;font-size:.93rem}.company-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.home-company-tile{background:#fff;border:1px solid #eeeeF5;border-radius:24px;padding:20px;display:flex;min-height:160px;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:var(--ink);box-shadow:0 12px 28px rgba(8,11,34,.06);transition:.2s}.home-company-tile:hover{transform:translateY(-4px);color:var(--primary-red);box-shadow:0 22px 42px rgba(8,11,34,.12)}.home-company-logo{width:62px;height:62px;border-radius:20px;background:#fff4f5;color:var(--primary-red);display:grid;place-items:center;border:1px solid #ffdadd;overflow:hidden;padding:9px;margin-bottom:12px;font-size:1.4rem}.home-company-logo img{width:100%;height:100%;object-fit:contain}.home-company-tile strong{font-weight:950}.home-company-tile span{color:var(--muted);font-size:.84rem;font-weight:800;margin-top:4px}.candidate-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#a90d13,#e30613);color:#fff;border-radius:32px;padding:34px;box-shadow:0 22px 48px rgba(227,6,19,.24)}.candidate-cta:after{content:"";position:absolute;right:-70px;bottom:-80px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.13)}.candidate-icon{width:70px;height:70px;border-radius:24px;background:#fff;color:var(--primary-red);display:grid;place-items:center;font-size:1.8rem;margin-bottom:18px}.candidate-cta h2{font-weight:950;letter-spacing:-.035em}.candidate-cta p{opacity:.92;line-height:1.65}.btn-light-red{background:#fff;color:var(--primary-red);font-weight:950;border-radius:16px;padding:.8rem 1.1rem}.btn-light-red:hover{color:var(--primary-red-dark);background:#fff}.btn-outline-light-red{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);font-weight:950;border-radius:16px;padding:.8rem 1.1rem}.btn-outline-light-red:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}.category-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.category-chips a{display:flex;align-items:center;gap:10px;background:#fafafa;border:1px solid #efeff5;border-radius:18px;padding:14px;text-decoration:none;color:var(--ink);font-weight:950;transition:.18s}.category-chips a:hover{background:var(--primary-red-soft);border-color:#ffd2d6;color:var(--primary-red);transform:translateY(-2px)}.category-chips i{width:38px;height:38px;border-radius:13px;background:var(--primary-red-soft);color:var(--primary-red);display:grid;place-items:center}.category-chips span{flex:1}.category-chips small{color:var(--muted);font-weight:800}.empty-home-card{background:#fff;border:1px dashed #ffd0d5;border-radius:28px;text-align:center;padding:42px;color:var(--ink);box-shadow:0 12px 28px rgba(8,11,34,.05)}.empty-home-card>i{width:76px;height:76px;border-radius:26px;background:var(--primary-red-soft);color:var(--primary-red);display:grid;place-items:center;font-size:2rem;margin:0 auto 16px}.empty-home-card h4{font-weight:950}.empty-home-card p{color:var(--muted)}
@media(max-width:991px){.home-hero{padding:48px 0 30px}.home-hero:before{width:100%;height:43%;top:auto;clip-path:polygon(0 26%,100% 0,100% 100%,0 100%);opacity:.08}.hero-visual-card{min-height:360px}.home-stats-card{grid-template-columns:repeat(2,1fr)}.home-stat-item:nth-child(2){border-right:0}.home-stat-item:nth-child(1),.home-stat-item:nth-child(2){border-bottom:1px solid #eeeeF5}.company-logo-grid{grid-template-columns:repeat(2,1fr)}.section-header{align-items:flex-start}.hero-search-card{grid-template-columns:1fr;gap:8px}.hero-search-field{border-right:0;border-bottom:1px solid #eeeeF5}.hero-search-field:nth-child(2){border-bottom:0}.hero-search-btn{height:50px}}@media(max-width:575px){.em-navbar .navbar-brand{font-size:1.45rem}.home-hero{padding-top:34px}.hero-title{font-size:2.4rem}.hero-search-card{border-radius:20px}.home-stats-card{grid-template-columns:1fr;border-radius:22px}.home-stat-item{border-right:0!important;border-bottom:1px solid #eeeeF5!important}.home-stat-item:last-child{border-bottom:0!important}.company-logo-grid,.category-chips{grid-template-columns:1fr}.hero-visual-card{min-height:320px}.hero-main-illustration{inset:74px 20px auto}.card-two{display:none}.section-header{display:block}.section-header .link-red{display:inline-block;margin-top:.6rem}.candidate-cta{padding:26px}.home-section{padding:38px 0}}

/* Login seguro Emplexi V2.4 */
.auth-page{position:relative;overflow:hidden;min-height:calc(100vh - 155px);padding:72px 0;background:radial-gradient(circle at top left,rgba(227,6,19,.12),transparent 32%),linear-gradient(135deg,#fff 0%,#fff6f7 44%,#f7f7fb 100%)}
.auth-page:before{content:"";position:absolute;right:-13%;top:0;width:56%;height:100%;background:linear-gradient(135deg,#a90d13,#e30613);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);opacity:.08}
.auth-bg-orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55;pointer-events:none}.auth-bg-orb-1{width:230px;height:230px;left:-70px;bottom:40px;background:rgba(227,6,19,.13)}.auth-bg-orb-2{width:165px;height:165px;right:7%;top:90px;background:rgba(179,18,23,.14)}
.auth-trust-panel{position:relative;z-index:2}.auth-kicker{display:inline-flex;align-items:center;background:#fff;border:1px solid #ffd7dc;color:var(--primary-red,var(--red));border-radius:999px;padding:.55rem .9rem;font-weight:950;box-shadow:0 10px 24px rgba(227,6,19,.08);margin-bottom:18px}.auth-trust-panel h1{font-size:clamp(2.25rem,4vw,4.35rem);line-height:1.02;font-weight:950;letter-spacing:-.055em;color:var(--ink,#111529);max-width:680px}.auth-trust-panel p{color:#5f6475;font-size:1.08rem;line-height:1.75;max-width:620px;margin:18px 0 26px}.auth-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:680px}.auth-security-item{background:rgba(255,255,255,.88);border:1px solid #f0edf2;border-radius:22px;padding:16px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 14px 35px rgba(8,11,34,.07);backdrop-filter:blur(10px)}.auth-security-item>span{width:45px;min-width:45px;height:45px;border-radius:16px;background:linear-gradient(135deg,#a90d13,#e30613);color:#fff;display:grid;place-items:center;box-shadow:0 12px 22px rgba(227,6,19,.22)}.auth-security-item strong{display:block;color:var(--ink,#111529);font-weight:950;margin-bottom:4px}.auth-security-item small{display:block;color:#656b7c;line-height:1.45}.auth-note{margin-top:18px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ffd7dc;border-radius:18px;padding:13px 15px;color:#3b3f4f;font-weight:800;max-width:680px;box-shadow:0 12px 28px rgba(8,11,34,.06)}.auth-note i{color:var(--primary-red,var(--red))}
.auth-card{position:relative;z-index:2;background:#fff;border:1px solid #f0edf2;border-radius:34px;padding:34px;box-shadow:0 28px 70px rgba(8,11,34,.16)}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,#a90d13,#e30613);border-radius:34px 34px 0 0}.auth-card-icon{width:76px;height:76px;border-radius:28px;background:linear-gradient(135deg,#a90d13,#e30613);color:#fff;display:grid;place-items:center;font-size:1.8rem;margin:-5px auto 20px;box-shadow:0 20px 36px rgba(227,6,19,.27)}.secure-alert{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#fff5f6,#fff);border:1px solid #ffd7dc;border-radius:20px;padding:14px}.secure-alert>i{width:42px;min-width:42px;height:42px;border-radius:15px;background:#fff;color:var(--primary-red,var(--red));display:grid;place-items:center;border:1px solid #ffd7dc}.secure-alert strong{display:block;color:var(--ink,#111529);font-weight:950}.secure-alert span{display:block;color:#646a7a;font-size:.88rem;line-height:1.45}.auth-input-wrap{position:relative}.auth-input-wrap>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--primary-red,var(--red));z-index:2}.auth-input-wrap .form-control{padding-left:46px;padding-right:48px;min-height:54px;border-radius:17px;background:#fafafa}.auth-input-wrap .form-control:focus{background:#fff}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:13px;background:#fff;color:#6a6f7e;display:grid;place-items:center}.password-toggle:hover{background:#fff0f1;color:var(--primary-red,var(--red))}.auth-submit{min-height:54px;border-radius:18px}.auth-divider{position:relative;text-align:center;margin:24px 0}.auth-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#efeff5}.auth-divider span{position:relative;background:#fff;color:#888d9b;font-size:.84rem;font-weight:900;padding:0 14px}.btn-auth-outline{border:1px solid #ffd2d6;background:#fff;color:var(--primary-red,var(--red));font-weight:950;border-radius:17px;min-height:50px;display:inline-flex;align-items:center;justify-content:center}.btn-auth-outline:hover{background:#fff4f5;border-color:#ffbdc4;color:#a90d13}.demo-box{background:#fafafa;border:1px dashed #dfe0e8;border-radius:18px;padding:13px 15px;text-align:center}.demo-box strong{display:block;color:#252535;font-size:.88rem;margin-bottom:3px}.demo-box span{display:block;color:#6f7483;font-size:.82rem}.demo-box b{color:var(--primary-red,var(--red))}
@media(max-width:991px){.auth-page{padding:48px 0}.auth-page:before{width:100%;height:42%;top:auto;bottom:0;clip-path:polygon(0 20%,100% 0,100% 100%,0 100%)}.auth-security-grid{grid-template-columns:1fr}.auth-card{padding:26px;border-radius:28px}.auth-card:before{border-radius:28px 28px 0 0}}@media(max-width:575px){.auth-page{padding:34px 0}.auth-trust-panel h1{font-size:2.25rem}.auth-security-item{border-radius:18px;padding:14px}.auth-card{padding:22px}.secure-alert{display:block}.secure-alert>i{margin-bottom:10px}.auth-note{align-items:flex-start}.auth-card-icon{width:66px;height:66px;border-radius:22px}}

/* Login sencillo + badges de seguridad Emplexi V2.5 */
.simple-login-page{background:linear-gradient(135deg,#fff 0%,#fff5f6 45%,#f7f7fb 100%);min-height:calc(100vh - 155px);padding:70px 0;display:flex;align-items:center}
.simple-login-card{background:#fff;border:1px solid #f0edf2;border-radius:28px;padding:34px;box-shadow:0 20px 55px rgba(8,11,34,.10);position:relative;overflow:hidden}
.simple-login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#a90d13,#e30613)}
.simple-login-icon{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,#a90d13,#e30613);color:#fff;display:grid;place-items:center;font-size:1.75rem;box-shadow:0 14px 30px rgba(227,6,19,.25)}
.login-safe-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.login-safe-badges span{display:inline-flex;align-items:center;gap:7px;background:#fff4f5;color:#b31217;border:1px solid #ffd2d6;border-radius:999px;padding:.48rem .75rem;font-size:.84rem;font-weight:900}
.login-security-note{display:flex;align-items:flex-start;gap:10px;background:#fafafa;border:1px solid #eeeeF5;border-radius:18px;padding:13px 14px;color:#606575}
.login-security-note i{color:#1f9d55;margin-top:2px}.login-security-note small{line-height:1.45}.simple-demo-box{background:#fafafa;border:1px dashed #dfe0e8;border-radius:16px;padding:12px;text-align:center}.simple-demo-box strong{display:block;color:#252535;font-size:.88rem}.simple-demo-box span{display:block;color:#6f7483;font-size:.84rem}.btn-outline-red{border:1px solid #ffd2d6;color:#b31217;background:#fff;font-weight:800;border-radius:14px;padding:.78rem 1rem}.btn-outline-red:hover{background:#fff4f5;color:#a90d13;border-color:#ffbdc4}
@media(max-width:575px){.simple-login-page{padding:38px 0}.simple-login-card{padding:24px;border-radius:24px}.login-safe-badges{justify-content:flex-start}.login-safe-badges span{font-size:.8rem}}

/* Recuperación de contraseña Emplexi V2.6 */
.recovery-page .simple-login-card{max-width:100%}
.recovery-page .alert{font-weight:700;line-height:1.45}
.recovery-page .form-control{min-height:52px}
.recovery-page a.text-red:hover{color:#8f0e13}


/* Admin crear empresa */
.btn-outline-red{border:1px solid var(--red);color:var(--red);background:#fff;border-radius:14px;font-weight:800;padding:.72rem 1rem}
.btn-outline-red:hover{background:var(--red);color:#fff}
.admin-form-icon{width:42px;height:42px;min-width:42px;border-radius:14px;background:linear-gradient(135deg,var(--red),#e91d2a);color:#fff;display:grid;place-items:center;box-shadow:0 10px 22px rgba(179,18,23,.18)}
.owner-mode-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.owner-mode-option{border:1px solid #ffe0e0;border-radius:18px;padding:14px 16px;display:flex;gap:10px;align-items:flex-start;background:#fff;cursor:pointer;transition:.2s ease;min-height:86px}
.owner-mode-option:hover{border-color:var(--red);box-shadow:0 10px 25px rgba(179,18,23,.08);transform:translateY(-1px)}
.owner-mode-option input{margin-top:4px;accent-color:var(--red)}
.owner-mode-option span{display:flex;flex-direction:column;line-height:1.25}.owner-mode-option small{color:#777;margin-top:4px}
.sticky-admin-card{position:sticky;top:92px}.company-create-preview{text-align:center;border:1px dashed #ffc7c7;border-radius:22px;padding:22px 16px;background:linear-gradient(180deg,#fff8f8,#fff)}
.preview-logo{width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,var(--red),#e91d2a);color:#fff;display:grid;place-items:center;font-size:1.8rem;margin:0 auto 14px;box-shadow:0 14px 26px rgba(179,18,23,.22)}
.mini-check-list{display:grid;gap:10px;color:#555;font-size:.95rem}.mini-check-list i{width:24px;height:24px;border-radius:50%;background:#fff1f1;color:var(--red);display:inline-grid;place-items:center;margin-right:8px;font-size:.8rem}
@media(max-width:767px){.owner-mode-box{grid-template-columns:1fr}.sticky-admin-card{position:static}}

/* Emplexi V2.8 - edición admin y acceso de soporte */
.impersonation-bar{
  background: linear-gradient(135deg,#1f2937,#111827);
  color:#fff;
  padding:.65rem 0;
  font-size:.92rem;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.impersonation-bar .btn{
  border-radius:999px;
  font-weight:800;
}
.admin-logo-preview{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(227,6,19,.12);
  padding:6px;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.admin-table .btn-sm{
  border-radius:10px;
  font-weight:700;
}

/* Emplexi V2.9 - Hero móvil profesional sin elementos encimados */
.hero-mobile-preview{
  position:relative;
  width:100%;
  max-width:430px;
  margin-left:auto;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.75);
  border-radius:38px;
  padding:24px;
  box-shadow:0 28px 70px rgba(8,11,34,.18);
  overflow:hidden;
  isolation:isolate;
}
.hero-mobile-preview:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid #f0f1f6;
  border-radius:30px;
  pointer-events:none;
  z-index:-1;
}
.hero-mobile-preview:after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  left:50%;
  top:146px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(227,6,19,.16),rgba(227,6,19,.06) 46%,transparent 70%);
  z-index:-1;
}
.mobile-profile-row{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid #eeeeF5;
  border-radius:24px;
  padding:14px;
  box-shadow:0 16px 36px rgba(8,11,34,.08);
}
.mobile-profile-icon{
  width:54px;
  min-width:54px;
  height:54px;
  border-radius:18px;
  background:#fff0f2;
  color:var(--primary-red,#e30613);
  display:grid;
  place-items:center;
  font-size:1.2rem;
}
.mobile-profile-row strong,
.mobile-profile-row span{display:block;}
.mobile-profile-row strong{
  color:var(--ink,#111529);
  font-weight:950;
  font-size:1.05rem;
  letter-spacing:-.02em;
}
.mobile-profile-row span{
  color:#73798b;
  font-weight:750;
  font-size:.88rem;
  margin-top:2px;
}
.mobile-check{
  margin-left:auto;
  width:28px;
  min-width:28px;
  height:28px;
  border-radius:50%;
  background:#189b5a;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.84rem;
  box-shadow:0 8px 18px rgba(24,155,90,.22);
}
.mobile-secure-badge{
  width:max-content;
  max-width:100%;
  margin:22px auto 10px;
  display:flex;
  align-items:center;
  gap:9px;
  background:#fff5f6;
  color:#676d7f;
  border:1px solid #ffd9de;
  border-radius:999px;
  padding:.58rem 1rem;
  font-weight:900;
  box-shadow:0 12px 24px rgba(227,6,19,.06);
}
.mobile-secure-badge i{color:var(--primary-red,#e30613);}
.mobile-briefcase-area{
  position:relative;
  min-height:180px;
  display:grid;
  place-items:center;
}
.mobile-briefcase-icon{
  width:124px;
  height:124px;
  border-radius:38px;
  background:linear-gradient(135deg,#b31217,#e30613);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:3rem;
  box-shadow:0 26px 48px rgba(227,6,19,.25);
}
.spark,
.spark-dot{position:absolute;display:block;}
.spark:before,
.spark:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:#ff4d59;
  border-radius:999px;
}
.spark:before{width:22px;height:7px;}
.spark:after{width:7px;height:22px;}
.spark-one{left:20%;top:42%;}
.spark-two{right:20%;bottom:28%;transform:scale(.72);}
.spark-dot{width:9px;height:9px;border-radius:50%;background:#ffb8bf;}
.dot-one{left:25%;bottom:28%;}.dot-two{right:23%;top:38%;}
.mobile-preview-copy{text-align:center;margin-top:2px;}
.mobile-preview-copy h3{
  color:var(--ink,#111529);
  font-size:2rem;
  font-weight:950;
  letter-spacing:-.045em;
  margin-bottom:.55rem;
}
.mobile-preview-copy p{
  color:#687083;
  font-size:1rem;
  font-weight:750;
  line-height:1.55;
  max-width:310px;
  margin:0 auto;
}
.mobile-preview-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:24px 0 18px;
}
.mobile-stat-pill{
  background:#fff;
  border:1px solid #eeeeF5;
  border-radius:20px;
  padding:13px;
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:9px;
  min-height:72px;
  box-shadow:0 12px 26px rgba(8,11,34,.06);
}
.mobile-stat-pill div{
  width:42px;
  height:42px;
  border-radius:15px;
  background:#fff0f2;
  color:var(--primary-red,#e30613);
  display:grid;
  place-items:center;
}
.mobile-stat-pill strong{
  color:var(--primary-red,#e30613);
  font-size:1.45rem;
  font-weight:950;
  line-height:1;
}
.mobile-stat-pill span{
  color:#6c7284;
  font-weight:850;
  font-size:.86rem;
  line-height:1.15;
}
.mobile-preview-btn{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:linear-gradient(135deg,#b31217,#e30613);
  color:#fff;
  border-radius:22px;
  text-decoration:none;
  font-weight:950;
  box-shadow:0 18px 34px rgba(227,6,19,.24);
}
.mobile-preview-btn:hover{color:#fff;filter:brightness(.98);transform:translateY(-1px);}

@media(max-width:991px){
  .hero-mobile-preview{margin:0 auto;max-width:430px;}
}
@media(max-width:575px){
  .hero-mobile-preview{
    max-width:100%;
    padding:18px;
    border-radius:30px;
    box-shadow:0 20px 46px rgba(8,11,34,.13);
  }
  .hero-mobile-preview:before{inset:12px;border-radius:24px;}
  .mobile-profile-row{border-radius:20px;padding:12px;}
  .mobile-profile-icon{width:46px;min-width:46px;height:46px;border-radius:16px;}
  .mobile-profile-row strong{font-size:1rem;}
  .mobile-profile-row span{font-size:.82rem;}
  .mobile-secure-badge{margin-top:18px;font-size:.86rem;padding:.5rem .85rem;}
  .mobile-briefcase-area{min-height:150px;}
  .mobile-briefcase-icon{width:104px;height:104px;border-radius:32px;font-size:2.45rem;}
  .mobile-preview-copy h3{font-size:1.72rem;}
  .mobile-preview-copy p{font-size:.94rem;max-width:280px;}
  .mobile-preview-stats{gap:10px;margin:20px 0 16px;}
  .mobile-stat-pill{grid-template-columns:auto 1fr;gap:8px;padding:11px;min-height:68px;}
  .mobile-stat-pill div{grid-row:1 / span 2;width:38px;height:38px;border-radius:14px;}
  .mobile-stat-pill strong{font-size:1.28rem;align-self:end;}
  .mobile-stat-pill span{grid-column:2;align-self:start;font-size:.79rem;}
  .mobile-preview-btn{min-height:54px;border-radius:19px;font-size:.95rem;}
}
@media(max-width:375px){
  .mobile-preview-stats{grid-template-columns:1fr;}
}


/* ================================
   Botón profesional: Mi panel
   ================================ */
.nav-panel-item{
  display:flex;
  align-items:center;
}
.btn-mi-panel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:8px 15px 8px 10px;
  border-radius:14px;
  background:linear-gradient(135deg,#e30613 0%,#b90010 100%);
  color:#fff !important;
  text-decoration:none !important;
  font-size:.92rem;
  font-weight:850;
  letter-spacing:-.01em;
  line-height:1;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 22px rgba(227,6,19,.20);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.btn-mi-panel:hover{
  color:#fff !important;
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:0 14px 28px rgba(227,6,19,.26);
}
.btn-mi-panel:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(227,6,19,.20);
}
.btn-mi-panel:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(227,6,19,.15), 0 12px 24px rgba(227,6,19,.22);
}
.btn-mi-panel-icon{
  width:27px;
  height:27px;
  border-radius:10px;
  background:rgba(255,255,255,.17);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.btn-mi-panel-icon i{
  font-size:.82rem;
  color:#fff;
}
.btn-mi-panel-text{
  display:inline-block;
}
@media(max-width:991px){
  .navbar-nav .nav-panel-item{
    margin-top:8px;
  }
  .btn-mi-panel{
    width:100%;
    justify-content:flex-start;
    min-height:44px;
    border-radius:13px;
    padding:9px 14px 9px 10px;
    box-shadow:0 10px 22px rgba(227,6,19,.18);
  }
}
@media(max-width:575px){
  .btn-mi-panel{
    font-size:.9rem;
    min-height:42px;
  }
  .btn-mi-panel-icon{
    width:26px;
    height:26px;
    border-radius:9px;
  }
}

/* ================================
   Perfil empleado: CV profesional
   ================================ */
.profile-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(227,6,19,.08);
  color:#d80613;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:10px;
}
.profile-secure-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:.88rem;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 24px rgba(15,23,42,.07);
  white-space:nowrap;
}
.profile-secure-pill i{color:#159957;}
.cv-upload-zone{
  display:grid;
  grid-template-columns:1fr minmax(240px,340px);
  gap:18px;
  align-items:center;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(227,6,19,.06),rgba(255,255,255,.98));
  border:1px dashed rgba(227,6,19,.25);
}
.cv-upload-info{
  display:flex;
  align-items:center;
  gap:14px;
}
.cv-upload-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:#fff;
  color:#d80613;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  box-shadow:0 12px 28px rgba(227,6,19,.12);
  flex:0 0 auto;
}
.cv-file-input{
  background:#fff;
  border-radius:14px;
}
.cv-current-card{
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
  overflow:hidden;
}
.cv-current-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border-bottom:1px solid rgba(15,23,42,.06);
  background:linear-gradient(135deg,#fff,rgba(227,6,19,.035));
}
.cv-current-title{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.cv-pdf-badge{
  width:58px;
  height:58px;
  border-radius:20px;
  background:linear-gradient(135deg,#e30613,#b90010);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.45rem;
  box-shadow:0 14px 28px rgba(227,6,19,.23);
  flex:0 0 auto;
}
.cv-current-title span{
  display:block;
  color:#d80613;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cv-current-title h5{
  margin:2px 0 2px;
  font-size:1.03rem;
  font-weight:900;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:360px;
}
.cv-current-title p{
  margin:0;
  color:#64748b;
  font-size:.88rem;
}
.cv-current-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.btn-outline-red{
  color:#d80613 !important;
  border:1px solid rgba(227,6,19,.28) !important;
  background:#fff !important;
  font-weight:800;
  border-radius:12px;
}
.btn-outline-red:hover{
  color:#fff !important;
  background:#d80613 !important;
}
.cv-preview-box{
  position:relative;
  height:430px;
  background:linear-gradient(135deg,#f8fafc,#fff);
}
.cv-preview-box iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  z-index:2;
}
.cv-preview-fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#64748b;
  text-align:center;
  padding:30px;
  z-index:1;
}
.cv-preview-fallback i{
  font-size:3rem;
  color:#d80613;
}
.cv-preview-fallback strong{
  color:#0f172a;
  font-size:1.05rem;
}
.cv-empty-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px;
  border-radius:22px;
  background:#fff7f8;
  border:1px solid rgba(227,6,19,.12);
}
.cv-empty-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:#fff;
  color:#d80613;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  flex:0 0 auto;
}
@media(max-width:991px){
  .profile-page-head{flex-direction:column;}
  .cv-upload-zone{grid-template-columns:1fr;}
  .cv-current-top{align-items:flex-start;flex-direction:column;}
  .cv-current-actions{width:100%;}
  .cv-current-actions .btn{flex:1;}
  .cv-current-title h5{max-width:240px;}
}
@media(max-width:575px){
  .cv-preview-box{height:300px;}
  .cv-current-card{border-radius:22px;}
  .cv-current-title{align-items:flex-start;}
  .cv-pdf-badge{width:50px;height:50px;border-radius:17px;font-size:1.25rem;}
  .cv-current-title h5{max-width:190px;font-size:.96rem;}
  .cv-upload-zone,.cv-current-top,.cv-empty-card{padding:15px;}
}

/* Employer applicants professional view V2.13 */
.applicants-page .fw-black{font-weight:900;letter-spacing:-.03em;}
.applicants-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:26px;
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#fff5f6 58%,#ffe6e9);
  border:1px solid rgba(227,6,19,.10);
  box-shadow:0 18px 50px rgba(15,23,42,.07);
  overflow:hidden;
  position:relative;
}
.applicants-hero:after{
  content:"";
  position:absolute;
  right:-70px;
  top:-90px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(227,6,19,.10);
}
.mini-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-bottom:8px;
  color:#d80613;
  background:#fff;
  border:1px solid rgba(227,6,19,.10);
  padding:7px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:.82rem;
  box-shadow:0 8px 20px rgba(227,6,19,.06);
}
.applicants-hero-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  background:linear-gradient(135deg,#e30613,#b80012);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  box-shadow:0 18px 38px rgba(227,6,19,.24);
  flex:0 0 auto;
  position:relative;
  z-index:1;
}
.applicant-stat-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}
.applicant-stat-card i{
  width:48px;
  height:48px;
  border-radius:17px;
  background:#fff1f2;
  color:#d80613;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
}
.applicant-stat-card strong{display:block;font-size:1.5rem;line-height:1;color:#0f172a;font-weight:900;}
.applicant-stat-card span{display:block;color:#64748b;font-weight:700;font-size:.9rem;margin-top:3px;}
.applicant-card{
  padding:24px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 55px rgba(15,23,42,.08);
}
.applicant-card-head{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.candidate-avatar{
  width:66px;
  height:66px;
  border-radius:22px;
  background:linear-gradient(135deg,#e30613,#b80012);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.6rem;
  box-shadow:0 14px 28px rgba(227,6,19,.22);
  flex:0 0 auto;
}
.candidate-main-info{min-width:0;}
.candidate-headline{color:#64748b;font-weight:700;}
.application-status{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:.76rem;
  border:1px solid transparent;
}
.status-applied{background:#eff6ff;color:#2563eb;border-color:#bfdbfe;}
.status-review{background:#fff7ed;color:#ea580c;border-color:#fed7aa;}
.status-interview{background:#f5f3ff;color:#7c3aed;border-color:#ddd6fe;}
.status-hired{background:#ecfdf5;color:#059669;border-color:#a7f3d0;}
.status-rejected{background:#f8fafc;color:#64748b;border-color:#e2e8f0;}
.candidate-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#64748b;
  font-weight:700;
  font-size:.88rem;
}
.candidate-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}
.candidate-meta i{color:#d80613;}
.candidate-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.candidate-info-box{
  padding:15px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}
.candidate-info-box span{display:block;color:#94a3b8;font-weight:900;text-transform:uppercase;font-size:.70rem;letter-spacing:.04em;margin-bottom:6px;}
.candidate-info-box strong{display:block;color:#0f172a;font-weight:900;word-break:break-word;}
.candidate-info-box small{display:block;color:#64748b;font-weight:700;margin-top:3px;}
.candidate-section{
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.06);
  background:#fff;
}
.candidate-section h6{font-weight:900;color:#0f172a;margin-bottom:10px;}
.candidate-section h6 i{color:#d80613;}
.candidate-section p{margin:0;color:#475569;line-height:1.6;}
.skills-cloud{display:flex;flex-wrap:wrap;gap:8px;}
.skills-cloud span{
  padding:7px 11px;
  border-radius:999px;
  background:#fff1f2;
  color:#c40010;
  border:1px solid rgba(227,6,19,.10);
  font-weight:800;
  font-size:.84rem;
}
.candidate-actions{display:flex;gap:10px;flex-wrap:wrap;}
.btn-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:14px;
  background:#25d366 !important;
  border:1px solid #25d366 !important;
  color:#fff !important;
  font-weight:900;
  padding:10px 16px;
  box-shadow:0 12px 26px rgba(37,211,102,.22);
}
.btn-whatsapp:hover{background:#1ebe5d !important;border-color:#1ebe5d !important;color:#fff !important;transform:translateY(-1px);}
.candidate-side-panel{
  position:sticky;
  top:92px;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}
.cv-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.cv-panel-head span{display:block;color:#94a3b8;font-weight:900;text-transform:uppercase;font-size:.70rem;letter-spacing:.04em;}
.cv-panel-head strong{display:block;color:#0f172a;font-weight:900;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cv-panel-head i{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff1f2;
  color:#d80613;
  font-size:1.2rem;
}
.candidate-pdf-preview{
  position:relative;
  height:385px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
}
.candidate-pdf-preview iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  z-index:2;
  background:#fff;
}
.candidate-pdf-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  color:#64748b;
  text-align:center;
  padding:22px;
}
.candidate-pdf-fallback i{font-size:3rem;color:#d80613;}
.candidate-pdf-fallback strong{color:#0f172a;font-weight:900;}
.cv-actions-row{display:flex;gap:8px;margin-top:12px;}
.cv-actions-row .btn{flex:1;border-radius:12px;font-weight:900;}
.candidate-no-cv{
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  text-align:center;
  padding:22px;
  border-radius:20px;
  background:#fff7f8;
  border:1px dashed rgba(227,6,19,.22);
  color:#64748b;
}
.candidate-no-cv i{font-size:3rem;color:#d80613;}
.candidate-no-cv strong{color:#0f172a;}
.status-form{padding-top:14px;border-top:1px solid rgba(15,23,42,.08);}
.empty-applicants-card{
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 55px rgba(15,23,42,.08);
}
.empty-applicants-icon{
  width:76px;
  height:76px;
  border-radius:26px;
  background:#fff1f2;
  color:#d80613;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
}
@media(max-width:1199px){
  .candidate-side-panel{position:relative;top:auto;}
}
@media(max-width:767px){
  .applicants-hero{padding:20px;border-radius:24px;align-items:flex-start;}
  .applicants-hero-icon{width:58px;height:58px;border-radius:20px;font-size:1.45rem;}
  .applicant-card{padding:17px;border-radius:24px;}
  .applicant-card-head{flex-direction:column;}
  .candidate-info-grid{grid-template-columns:1fr;}
  .candidate-pdf-preview{height:300px;}
  .candidate-actions .btn{width:100%;}
  .cv-actions-row{flex-direction:column;}
  .status-form .d-flex{flex-direction:column;}
  .status-form .btn{width:100%;}
}

/* Employer company profile V2.14 */
.employer-company-page .form-control,
.employer-company-page .input-group-text{
  border-radius:16px;
  border-color:#eeeef5;
}
.employer-company-page .form-control:focus{
  border-color:#ffc2c7;
  box-shadow:0 0 0 .25rem rgba(227,6,19,.08);
}
.company-profile-hero{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  min-height:190px;
  background:linear-gradient(135deg,#9f0f14,#e30613);
  color:#fff;
  box-shadow:0 22px 52px rgba(227,6,19,.22);
}
.company-profile-hero-bg{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.30),transparent 28%),radial-gradient(circle at 12% 100%,rgba(255,255,255,.16),transparent 28%);
}
.company-profile-hero-content{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:22px;
  padding:30px;
}
.company-profile-logo-wrap{
  width:108px;
  height:108px;
  min-width:108px;
  border-radius:32px;
  background:#fff;
  color:#e30613;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:14px;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  font-size:2.4rem;
  font-weight:950;
}
.company-profile-logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:20px;
}
.company-profile-kicker{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  padding:.45rem .75rem;
  font-weight:900;
  font-size:.82rem;
  margin-bottom:.75rem;
}
.company-profile-hero h1{
  font-weight:950;
  letter-spacing:-.04em;
  margin:0;
  font-size:clamp(1.75rem,3vw,2.7rem);
}
.company-profile-hero p{
  margin:.45rem 0 0;
  opacity:.92;
  font-weight:700;
}
.company-profile-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.company-profile-pills span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:.45rem .7rem;
  font-size:.8rem;
  font-weight:900;
}
.section-mini-label{
  display:inline-block;
  color:#e30613;
  font-size:.72rem;
  letter-spacing:.08em;
  font-weight:950;
  text-transform:uppercase;
  margin-bottom:.35rem;
}
.company-edit-card{
  border:1px solid #f0edf2;
  box-shadow:0 16px 42px rgba(8,11,34,.08);
}
.profile-progress-box{
  width:96px;
  min-width:96px;
  height:76px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff5f5,#fff);
  border:1px solid #ffd9dc;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.profile-progress-box strong{
  color:#e30613;
  font-size:1.55rem;
  font-weight:950;
  line-height:1;
}
.profile-progress-box span{
  color:#777b8d;
  font-size:.75rem;
  font-weight:900;
}
.company-logo-upload-box{
  display:flex;
  align-items:center;
  gap:16px;
  border:1px dashed #ffc2c7;
  background:#fff8f8;
  border-radius:22px;
  padding:16px;
}
.company-logo-upload-preview{
  width:74px;
  height:74px;
  min-width:74px;
  border-radius:24px;
  background:#fff;
  color:#e30613;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #ffe0e3;
  padding:10px;
  font-size:1.45rem;
  font-weight:950;
  box-shadow:0 10px 24px rgba(227,6,19,.08);
}
.company-logo-upload-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:14px;
}
.company-side-card{
  border-radius:28px;
  border:1px solid #f0edf2;
  background:linear-gradient(180deg,#fff,#fff8f8);
  box-shadow:0 16px 38px rgba(8,11,34,.08);
}
.side-card-icon,
.password-card-icon{
  width:50px;
  height:50px;
  border-radius:18px;
  background:#fff0f1;
  color:#e30613;
  display:grid;
  place-items:center;
  font-size:1.15rem;
  flex-shrink:0;
}
.company-side-card h3,
.password-card h3{
  font-weight:950;
  color:#181b2f;
  letter-spacing:-.03em;
}
.company-side-card p{
  color:#666b7d;
  line-height:1.6;
}
.company-preview-mini{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #f0edf2;
  border-radius:22px;
  padding:13px;
}
.company-preview-logo{
  width:56px;
  height:56px;
  min-width:56px;
  border-radius:18px;
  background:#fff4f5;
  color:#e30613;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #ffdadd;
  padding:8px;
  font-weight:950;
}
.company-preview-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:10px;
}
.company-preview-mini strong,
.company-preview-mini span{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.company-preview-mini strong{font-weight:950;color:#181b2f;}
.company-preview-mini span{font-size:.84rem;color:#777b8d;font-weight:800;}
.password-card{
  border:1px solid #f0edf2;
  box-shadow:0 16px 38px rgba(8,11,34,.08);
}
@media(max-width:768px){
  .company-profile-hero-content{flex-direction:column;text-align:center;padding:24px;}
  .company-profile-logo-wrap{width:92px;height:92px;min-width:92px;border-radius:28px;}
  .company-profile-pills{justify-content:center;}
  .company-logo-upload-box{flex-direction:column;align-items:stretch;text-align:center;}
  .company-logo-upload-preview{margin:0 auto;}
  .profile-progress-box{width:100%;height:auto;min-width:0;padding:14px;}
}

/* EMPLOYER ACCOUNT SETTINGS V2.15 */
.employer-sidebar a{transition:.2s ease;}
.employer-sidebar a.active{
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff!important;
  box-shadow:0 12px 24px rgba(179,18,23,.18);
}
.account-settings-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:linear-gradient(135deg,#20151a 0%,#b31217 54%,#e52d27 100%);
  color:#fff;
  box-shadow:0 22px 55px rgba(179,18,23,.22);
}
.account-settings-glow{
  position:absolute;
  right:-120px;
  top:-120px;
  width:300px;
  height:300px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  filter:blur(5px);
}
.account-settings-hero-inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:22px;
  padding:30px;
}
.account-settings-avatar,
.account-summary-logo{
  width:90px;
  height:90px;
  min-width:90px;
  border-radius:26px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:0 18px 35px rgba(0,0,0,.18);
}
.account-settings-avatar img,
.account-summary-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
}
.account-settings-avatar span,
.account-summary-logo span{
  color:var(--red);
  font-weight:900;
  font-size:2rem;
}
.account-settings-kicker{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  padding:7px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:.82rem;
  margin-bottom:10px;
}
.account-settings-hero h1{
  font-size:clamp(1.8rem,3vw,2.6rem);
  font-weight:950;
  margin:0 0 5px;
  letter-spacing:-.03em;
}
.account-settings-hero p{color:rgba(255,255,255,.88);}
.account-security-badge{
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  padding:13px 16px;
  border-radius:18px;
  min-width:210px;
}
.account-security-badge i{
  width:42px;
  height:42px;
  border-radius:14px;
  background:#fff;
  color:var(--red);
  display:flex;
  align-items:center;
  justify-content:center;
}
.account-security-badge strong,
.account-security-badge span{display:block;line-height:1.2;}
.account-security-badge span{font-size:.83rem;color:rgba(255,255,255,.82);}
.account-summary-card,
.account-settings-card{
  border:1px solid rgba(179,18,23,.08);
}
.account-summary-logo{
  width:108px;
  height:108px;
  min-width:108px;
  border:1px solid #ffe0e0;
  box-shadow:0 15px 35px rgba(31,31,41,.08);
}
.account-info-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.account-info-list div{
  background:#fff8f8;
  border:1px solid #ffe1e1;
  border-radius:18px;
  padding:14px 15px;
}
.account-info-list span{
  display:block;
  color:#777;
  font-size:.86rem;
  margin-bottom:4px;
}
.account-info-list span i{color:var(--red);margin-right:7px;}
.account-info-list strong{
  color:#242433;
  overflow-wrap:anywhere;
}
.account-security-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:15px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff5f5,#fff);
  border:1px solid #ffe0e0;
  color:#555;
}
.account-security-note i{
  color:var(--red);
  font-size:1.15rem;
  margin-top:2px;
}
.account-form-icon{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:17px;
  background:linear-gradient(135deg,var(--red),var(--red2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 25px rgba(179,18,23,.18);
}
.account-settings-form .form-control{
  border-radius:16px;
  border:1px solid #e8e8ef;
}
.account-settings-form .form-control:focus{
  border-color:rgba(179,18,23,.45);
  box-shadow:0 0 0 .25rem rgba(179,18,23,.10);
}
@media (max-width:768px){
  .account-settings-hero-inner{flex-direction:column;text-align:center;padding:24px;}
  .account-settings-avatar{width:82px;height:82px;min-width:82px;border-radius:24px;}
  .account-settings-card{padding:24px!important;}
  .account-summary-logo{width:92px;height:92px;min-width:92px;}
}

/* EMPLOYER JOBS MANAGER V2.16 */
.employer-jobs-page,
.job-edit-page{
  background:radial-gradient(circle at top right,rgba(227,6,19,.08),transparent 28%),#f7f7fb;
  min-height:70vh;
}
.jobs-manager-hero,
.job-edit-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:linear-gradient(135deg,#20151a 0%,#a90d13 48%,#e30613 100%);
  color:#fff;
  box-shadow:0 22px 55px rgba(179,18,23,.22);
}
.jobs-manager-glow{
  position:absolute;
  right:-95px;
  top:-95px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}
.jobs-manager-hero-inner,
.job-edit-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:30px;
}
.jobs-manager-kicker{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  padding:.45rem .8rem;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
}
.job-metric-card{
  height:100%;
  background:#fff;
  border:1px solid #f0edf2;
  border-radius:24px;
  padding:18px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 14px 32px rgba(8,11,34,.07);
}
.job-metric-card>span{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:17px;
  display:grid;
  place-items:center;
  color:#e30613;
  background:#fff4f5;
  border:1px solid #ffd7dc;
}
.job-metric-card strong{
  display:block;
  font-size:1.55rem;
  font-weight:950;
  color:#181b2f;
  line-height:1;
}
.job-metric-card small{
  color:#717688;
  font-weight:850;
}
.jobs-grid-manager{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.job-manager-card{
  background:#fff;
  border:1px solid #f0edf2;
  border-radius:28px;
  padding:22px;
  box-shadow:0 16px 42px rgba(8,11,34,.08);
  transition:.22s ease;
  position:relative;
  overflow:hidden;
}
.job-manager-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,#a90d13,#e30613);
}
.job-manager-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(8,11,34,.12);
}
.job-manager-top{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.job-manager-icon{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:20px;
  background:linear-gradient(135deg,#a90d13,#e30613);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:1.25rem;
  box-shadow:0 14px 28px rgba(227,6,19,.22);
}
.job-manager-title{
  font-size:1.35rem;
  font-weight:950;
  color:#171b2f;
}
.job-manager-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.job-manager-meta span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#fafafa;
  border:1px solid #efeff5;
  color:#5d6374;
  border-radius:999px;
  padding:.42rem .65rem;
  font-size:.82rem;
  font-weight:850;
}
.job-manager-meta i{color:#e30613;}
.job-manager-body p{
  color:#636879;
  margin:18px 0;
  line-height:1.6;
}
.job-manager-details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.job-manager-details div{
  background:#fafafa;
  border:1px solid #f1f1f5;
  border-radius:18px;
  padding:12px;
}
.job-manager-details strong{
  display:block;
  color:#181b2f;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.job-manager-details span{
  display:block;
  color:#828796;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.job-manager-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  padding-top:18px;
  margin-top:18px;
  border-top:1px solid #f0f0f5;
}
.empty-jobs-box{
  background:#fff;
  border:1px dashed #ffd1d6;
  border-radius:30px;
  box-shadow:0 16px 42px rgba(8,11,34,.06);
}
.empty-jobs-icon{
  width:78px;
  height:78px;
  border-radius:28px;
  background:#fff4f5;
  color:#e30613;
  display:grid;
  place-items:center;
  font-size:1.9rem;
  margin:0 auto;
  border:1px solid #ffd7dc;
}
.job-edit-counter{
  min-width:120px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.23);
  border-radius:24px;
  padding:16px 18px;
  text-align:center;
}
.job-edit-counter strong{
  display:block;
  font-size:2rem;
  line-height:1;
  font-weight:950;
}
.job-edit-counter span{
  display:block;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
  opacity:.9;
}
.job-featured-toggle{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid #ffe0e4;
  background:#fff7f8;
  border-radius:18px;
  padding:14px;
  cursor:pointer;
}
.job-featured-toggle input{accent-color:#e30613;margin-top:6px;}
.job-featured-toggle>span{
  width:38px;
  min-width:38px;
  height:38px;
  border-radius:14px;
  background:#fff;
  color:#e30613;
  display:grid;
  place-items:center;
  border:1px solid #ffd7dc;
}
.job-featured-toggle strong{display:block;color:#181b2f;font-weight:950;}
.job-featured-toggle small{display:block;color:#707586;line-height:1.35;}
.job-edit-preview-box{
  border:1px solid #f0edf2;
  background:#fafafa;
  border-radius:20px;
  padding:15px;
}
.job-edit-preview-box small{
  display:block;
  color:#8a8f9f;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:5px;
}
.job-edit-preview-box strong,
.job-edit-preview-box span{
  display:block;
}
.job-edit-preview-box strong{
  color:#181b2f;
  font-weight:950;
  margin-bottom:6px;
}
.job-edit-preview-box span{
  color:#666b7d;
  font-size:.88rem;
  font-weight:800;
  margin-top:4px;
}
@media(max-width:991px){
  .jobs-manager-hero-inner,
  .job-edit-hero{display:block;padding:24px;}
  .jobs-manager-hero-inner .d-flex{margin-top:18px;justify-content:flex-start!important;}
  .job-edit-counter{margin-top:18px;max-width:160px;}
}
@media(max-width:575px){
  .job-manager-card{padding:18px;border-radius:24px;}
  .job-manager-top{gap:12px;}
  .job-manager-icon{width:48px;height:48px;min-width:48px;border-radius:17px;}
  .job-manager-title{font-size:1.12rem;}
  .job-manager-details{grid-template-columns:1fr;}
  .job-manager-actions .btn{width:100%;}
  .job-manager-actions .dropdown{width:100%;margin-left:0!important;}
  .job-manager-actions .dropdown>.btn{width:100%;}
}

/* V2.17 - Nota de motivación y fechas en postulaciones */
.apply-note-form .form-label{
  color:#181b2f;
  font-size:.95rem;
}
.apply-note-form textarea{
  border-radius:16px;
  border:1px solid #f0d7dc;
  background:#fffafa;
  resize:vertical;
}
.apply-note-form textarea:focus{
  border-color:#e30613;
  box-shadow:0 0 0 .22rem rgba(227,6,19,.10);
  background:#fff;
}
.candidate-motivation-note{
  border-color:#ffd9df !important;
  background:linear-gradient(135deg,#fff8f9,#ffffff) !important;
}
.candidate-motivation-note h6{
  color:#b31217 !important;
}
.candidate-motivation-note p{
  font-size:.96rem;
  line-height:1.6;
}

/* V2.18 - Configuración empleado + Mis aplicaciones mejoradas */
.employee-settings-hero,
.employee-apps-hero{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:linear-gradient(135deg,#e30613 0%,#b80012 55%,#181b2f 100%);
  color:#fff;
  box-shadow:0 22px 55px rgba(227,6,19,.20);
}
.employee-settings-glow{
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  top:-110px;
  background:rgba(255,255,255,.18);
  border-radius:50%;
  filter:blur(1px);
}
.employee-settings-hero-inner,
.employee-apps-hero-inner{
  position:relative;
  z-index:1;
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.employee-settings-hero h1,
.employee-apps-hero h1{
  margin:4px 0 8px;
  font-weight:950;
  letter-spacing:-.04em;
  font-size:clamp(2rem,4vw,3.1rem);
}
.employee-settings-hero p,
.employee-apps-hero p{
  color:rgba(255,255,255,.84);
  max-width:620px;
  line-height:1.6;
}
.employee-settings-avatar,
.employee-summary-avatar{
  width:84px;
  height:84px;
  min-width:84px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}
.employee-settings-avatar span,
.employee-summary-avatar span{
  color:#fff;
  font-size:1.9rem;
  font-weight:950;
}
.employee-summary-avatar{
  background:linear-gradient(135deg,#e30613,#b80012);
  border:0;
  box-shadow:0 14px 35px rgba(227,6,19,.20);
}
.employee-app-stat{
  background:#fff;
  border:1px solid #f1edf0;
  border-radius:24px;
  padding:20px;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 16px 42px rgba(8,11,34,.06);
}
.employee-app-stat i{
  width:42px;
  height:42px;
  border-radius:16px;
  background:#fff3f4;
  color:#e30613;
  display:grid;
  place-items:center;
  margin-bottom:12px;
}
.employee-app-stat strong{
  font-size:2.1rem;
  line-height:1;
  font-weight:950;
  color:#181b2f;
}
.employee-app-stat span{
  color:#747989;
  font-size:.82rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.employee-apps-list{
  display:grid;
  gap:18px;
}
.employee-application-card{
  background:#fff;
  border:1px solid #f1edf0;
  border-radius:30px;
  padding:24px;
  box-shadow:0 18px 50px rgba(8,11,34,.07);
  position:relative;
  overflow:hidden;
}
.employee-application-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#e30613,#ff6b77);
}
.employee-application-top{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.employee-application-company-logo{
  width:64px;
  height:64px;
  min-width:64px;
  border-radius:22px;
  background:#fff4f5;
  border:1px solid #ffe0e4;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.employee-application-company-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.employee-application-company-logo span{
  color:#e30613;
  font-weight:950;
  font-size:1.55rem;
}
.employee-app-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:7px 12px;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.employee-app-status:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}
.status-default{background:#fff3f4;color:#e30613;}
.status-info{background:#eef7ff;color:#1464b8;}
.status-warning{background:#fff8e8;color:#b96d00;}
.status-success{background:#edf9f1;color:#16823a;}
.status-danger{background:#fff0f0;color:#bd1f2d;}
.employee-app-date{
  display:inline-flex;
  align-items:center;
  color:#7a7f8f;
  font-size:.84rem;
  font-weight:800;
}
.employee-application-title{
  color:#181b2f;
  font-weight:950;
  font-size:1.5rem;
  letter-spacing:-.03em;
  margin:0;
}
.employee-application-company{
  color:#6b7080;
  font-weight:800;
}
.employee-app-progress-label{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
  color:#6f7484;
  font-size:.82rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.employee-app-progress-label strong{color:#e30613;}
.employee-app-progress-bar{
  height:10px;
  background:#f3f3f6;
  border-radius:999px;
  overflow:hidden;
}
.employee-app-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#e30613,#ff5b68);
}
.employee-application-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.employee-app-info-box{
  border:1px solid #f1edf0;
  background:#fafafa;
  border-radius:18px;
  padding:14px;
}
.employee-app-info-box small{
  display:block;
  color:#8a8f9f;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:7px;
}
.employee-app-info-box strong{
  display:flex;
  gap:7px;
  align-items:center;
  color:#181b2f;
  font-weight:950;
  font-size:.92rem;
  line-height:1.25;
}
.employee-app-info-box i{color:#e30613;}
.employee-application-note{
  display:flex;
  gap:14px;
  border:1px solid #ffd8df;
  border-radius:22px;
  padding:18px;
  background:linear-gradient(135deg,#fff8f9,#fff);
}
.employee-note-icon{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#e30613;
  border:1px solid #ffe0e4;
}
.employee-application-note h6{
  color:#b31217;
  font-weight:950;
  margin-bottom:6px;
}
.employee-application-note p{
  margin:0;
  color:#555b6d;
  line-height:1.6;
}
.employee-application-footer{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #f0edf2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.employee-employer-contact{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  color:#727789;
  font-weight:800;
  font-size:.88rem;
}
.employee-employer-contact span{display:inline-flex;align-items:center;gap:7px;}
.employee-employer-contact i{color:#e30613;}
.empty-applications-box{
  border:1px dashed #ffd1d6;
  border-radius:30px;
}
@media(max-width:991px){
  .employee-settings-hero-inner,
  .employee-apps-hero-inner{display:block;padding:24px;}
  .employee-settings-avatar{margin-bottom:16px;}
  .employee-apps-hero-inner .btn{margin-top:16px;}
  .employee-application-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:575px){
  .employee-application-card{padding:20px;border-radius:26px;}
  .employee-application-top{gap:12px;}
  .employee-application-company-logo{width:54px;height:54px;min-width:54px;border-radius:19px;}
  .employee-application-title{font-size:1.22rem;}
  .employee-application-grid{grid-template-columns:1fr;}
  .employee-application-note{display:block;}
  .employee-note-icon{margin-bottom:12px;}
  .employee-application-footer{display:block;}
  .employee-application-footer .btn{width:100%;margin-top:14px;}
  .employee-app-stat{min-height:118px;padding:16px;}
}

/* =========================================================
   Emplexi V2.19 - Dashboards empleado / empleador mejorados
   ========================================================= */
.dashboard-pro-page{
  background:
    radial-gradient(circle at top left, rgba(227,6,19,.08), transparent 32%),
    linear-gradient(180deg,#fff 0%,#fff8f9 48%,#ffffff 100%);
  min-height:calc(100vh - 80px);
}
.dash-hero{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  color:#fff;
  background:linear-gradient(135deg,#e30613 0%,#b20812 58%,#6d0710 100%);
  box-shadow:0 24px 60px rgba(227,6,19,.22);
}
.employee-dash-hero{background:linear-gradient(135deg,#e30613 0%,#c00613 58%,#7a0812 100%);}
.employer-dash-hero{background:linear-gradient(135deg,#1d1f2f 0%,#b40713 52%,#e30613 100%);}
.dash-hero-pattern{
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:
    radial-gradient(circle at 18% 20%,#fff 0 2px,transparent 3px),
    radial-gradient(circle at 82% 35%,#fff 0 2px,transparent 3px),
    linear-gradient(135deg,rgba(255,255,255,.18) 0 12%,transparent 12% 100%);
  background-size:42px 42px,56px 56px,100% 100%;
}
.dash-hero-content{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px;
}
.dash-kicker{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.2);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.dash-hero h1{
  font-size:clamp(1.85rem,4vw,3.1rem);
  font-weight:1000;
  margin:0 0 10px;
  letter-spacing:-.04em;
}
.dash-hero p{
  max-width:620px;
  margin:0;
  opacity:.92;
  font-weight:600;
  line-height:1.65;
}
.dash-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.dash-profile-meter,
.dash-company-card{
  width:190px;
  min-width:190px;
  padding:20px;
  border-radius:28px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(14px);
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.dash-meter-circle{
  --p:0;
  width:104px;
  height:104px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#fff calc(var(--p) * 1%), rgba(255,255,255,.22) 0);
  position:relative;
}
.dash-meter-circle::after{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:#e30613;
}
.dash-meter-circle span{
  position:relative;
  z-index:1;
  font-weight:1000;
  font-size:1.28rem;
}
.dash-profile-meter strong,
.dash-company-card strong{
  display:block;
  font-weight:950;
  margin-bottom:4px;
}
.dash-profile-meter small,
.dash-company-card small{
  display:block;
  opacity:.9;
  font-weight:700;
  line-height:1.35;
}
.dash-company-avatar{
  width:86px;
  height:86px;
  margin:0 auto 12px;
  border-radius:26px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#e30613;
  font-size:2rem;
}
.dash-company-avatar img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}
.dash-company-progress{
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.24);
  margin:10px 0 7px;
}
.dash-company-progress span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#fff;
}
.dash-stat-card{
  height:100%;
  padding:20px;
  border-radius:26px;
  background:#fff;
  border:1px solid #f3e7e9;
  box-shadow:0 16px 38px rgba(17,20,36,.07);
  transition:.25s ease;
}
.dash-stat-card:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(227,6,19,.12);}
.dash-stat-card span{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff0f2,#ffe1e5);
  color:#e30613;
  margin-bottom:12px;
}
.dash-stat-card h3{
  font-size:2rem;
  font-weight:1000;
  color:#15182b;
  margin:0;
  letter-spacing:-.04em;
}
.dash-stat-card p{
  margin:2px 0 0;
  color:#747989;
  font-weight:850;
}
.dash-panel{
  background:#fff;
  border:1px solid #f1e6e8;
  border-radius:30px;
  padding:24px;
  box-shadow:0 18px 48px rgba(17,20,36,.07);
}
.dash-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}
.dash-panel-head.compact{margin-bottom:16px;}
.dash-section-kicker{
  display:block;
  color:#e30613;
  font-weight:1000;
  text-transform:uppercase;
  font-size:.72rem;
  letter-spacing:.08em;
  margin-bottom:5px;
}
.dash-panel h2{
  font-size:1.35rem;
  font-weight:1000;
  letter-spacing:-.03em;
  color:#171a2d;
  margin:0;
}
.dash-soft-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  color:#b50812;
  background:#fff2f4;
  border:1px solid #ffd9de;
  font-weight:900;
  white-space:nowrap;
  font-size:.82rem;
}
.dash-guide-list{display:grid;gap:14px;}
.dash-guide-item{
  display:flex;
  gap:14px;
  padding:15px;
  border:1px solid #f4ecee;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff9fa);
}
.dash-guide-icon{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#e30613,#ff5260);
  color:#fff;
  box-shadow:0 12px 26px rgba(227,6,19,.2);
}
.dash-guide-item h5{
  font-weight:1000;
  color:#191c31;
  margin:0 0 4px;
  font-size:1rem;
}
.dash-guide-item p{
  margin:0;
  color:#656b7b;
  line-height:1.55;
  font-weight:600;
  font-size:.93rem;
}
.dash-cta-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff1f3,#fff);
  border:1px solid #ffd8df;
}
.dash-cta-strip strong{display:block;color:#16192b;font-weight:1000;}
.dash-cta-strip small{display:block;color:#697080;font-weight:700;margin-top:2px;}
.dash-checklist,
.dash-funnel-list{display:grid;gap:11px;}
.dash-checklist div,
.dash-funnel-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px;
  border-radius:18px;
  background:#fafafa;
  border:1px solid #f1edf0;
  color:#707586;
  font-weight:900;
}
.dash-checklist div{justify-content:flex-start;}
.dash-checklist i{color:#d7dbe3;}
.dash-checklist div.done{background:#f4fff8;color:#155e34;border-color:#d6f5e2;}
.dash-checklist div.done i{color:#17a34a;}
.dash-funnel-list span{color:#6f7484;font-weight:900;}
.dash-funnel-list strong{color:#e30613;font-weight:1000;font-size:1.15rem;}
.dash-mini-tip{
  display:flex;
  gap:12px;
  padding:15px;
  border-radius:20px;
  background:#f7f8fb;
  border:1px solid #eef0f6;
}
.dash-mini-tip i{color:#e30613;font-size:1.3rem;margin-top:2px;}
.dash-mini-tip p{margin:0;color:#656b7b;font-weight:650;line-height:1.5;}
.dash-link{
  color:#e30613;
  font-weight:950;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.dash-link:hover{color:#b20812;text-decoration:none;}
.dash-activity-list{display:grid;gap:12px;}
.dash-activity-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid #f2ecee;
  border-radius:22px;
  background:#fff;
  transition:.2s ease;
}
.dash-activity-item:hover{background:#fff9fa;transform:translateX(2px);}
.dash-company-logo-sm,
.dash-candidate-avatar-sm{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#e30613;
  background:#fff1f3;
  border:1px solid #ffdce1;
  font-weight:1000;
}
.dash-company-logo-sm img{width:100%;height:100%;object-fit:contain;padding:7px;}
.dash-activity-item h5{margin:0 0 3px;color:#171a2d;font-weight:1000;font-size:1rem;}
.dash-activity-item p{margin:0;color:#6c7283;font-weight:750;font-size:.9rem;}
.dash-activity-item small{display:block;margin-top:4px;color:#8b90a0;font-weight:700;}
.dash-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:.74rem;
  font-weight:1000;
  white-space:nowrap;
}
.dash-status-applied{background:#eff6ff;color:#1d4ed8;}
.dash-status-review{background:#fff7ed;color:#c2410c;}
.dash-status-interview{background:#f5f3ff;color:#6d28d9;}
.dash-status-hired{background:#ecfdf3;color:#15803d;}
.dash-status-rejected{background:#f8fafc;color:#64748b;}
.dash-job-list{display:grid;gap:11px;}
.dash-job-suggestion{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border-radius:20px;
  border:1px solid #f2ecee;
  background:#fff;
  text-decoration:none;
  transition:.2s ease;
}
.dash-job-suggestion:hover{background:#fff6f7;transform:translateY(-2px);text-decoration:none;}
.dash-job-suggestion h5{margin:0 0 3px;color:#171a2d;font-weight:1000;font-size:.98rem;}
.dash-job-suggestion p{margin:0;color:#757b8b;font-weight:750;font-size:.86rem;}
.dash-job-suggestion span{color:#e30613;font-weight:1000;white-space:nowrap;font-size:.86rem;}
.dash-empty{
  text-align:center;
  padding:34px 18px;
  border:1px dashed #ffd4da;
  border-radius:24px;
  background:#fff9fa;
}
.dash-empty.small{padding:26px 16px;}
.dash-empty i{font-size:2rem;color:#e30613;margin-bottom:10px;}
.dash-empty h5{font-weight:1000;color:#171a2d;margin-bottom:6px;}
.dash-empty p{color:#737888;font-weight:650;margin-bottom:15px;}
@media(max-width:991px){
  .dash-hero-content{display:block;padding:26px;}
  .dash-profile-meter,.dash-company-card{width:100%;margin-top:22px;}
  .dash-company-card{display:flex;align-items:center;gap:16px;text-align:left;}
  .dash-company-avatar{margin:0;width:70px;height:70px;min-width:70px;}
  .dash-company-card .dash-company-progress{flex:1;min-width:120px;}
}
@media(max-width:575px){
  .dashboard-pro-page{padding-top:0!important;}
  .dash-hero{border-radius:26px;}
  .dash-hero-content{padding:22px;}
  .dash-hero-actions .btn{width:100%;}
  .dash-panel{padding:18px;border-radius:24px;}
  .dash-panel-head{display:block;}
  .dash-soft-badge{margin-top:10px;}
  .dash-guide-item{display:block;}
  .dash-guide-icon{margin-bottom:12px;}
  .dash-cta-strip{display:block;}
  .dash-cta-strip .btn{width:100%;margin-top:12px;}
  .dash-activity-item{align-items:flex-start;}
  .dash-status{margin-top:4px;}
  .dash-job-suggestion{display:block;}
  .dash-job-suggestion span{display:inline-block;margin-top:8px;}
  .dash-company-card{display:block;text-align:center;}
  .dash-company-avatar{margin:0 auto 12px;}
}

/* ===============================
   Emplexi V2.20 - Index premium
   =============================== */
.home-hero-v20{
  background:linear-gradient(180deg,#fff 0%,#fff7f8 68%,#f7f7fb 100%);
  padding-top:82px;
}
.home-hero-v20:before{
  background:linear-gradient(145deg,#ff1c2b 0%,#c40814 52%,#8f0a10 100%);
  opacity:.98;
}
.hero-badge-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.hero-free-badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  background:#ecfdf3;
  color:#15803d;
  border:1px solid #bbf7d0;
  border-radius:999px;
  padding:.55rem .92rem;
  font-weight:1000;
  font-size:.88rem;
  box-shadow:0 12px 24px rgba(22,163,74,.10);
}
.hero-free-badge i{color:#16a34a;}
.hero-trust-row{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.hero-trust-row span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid #f1e6e8;
  color:#545b6f;
  font-weight:850;
  font-size:.86rem;
  box-shadow:0 8px 20px rgba(8,11,34,.05);
}
.hero-trust-row i{color:#e30613;}
.hero-search-card-pro{
  border:1px solid #fff;
  box-shadow:0 24px 60px rgba(115,12,20,.16);
}
.home-stats-card-pro{
  border:1px solid #fff;
  box-shadow:0 20px 55px rgba(8,11,34,.10);
}
.hero-mobile-preview-pro{
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 28px 70px rgba(91,7,15,.25)!important;
}
.mobile-secure-badge{
  background:#ecfdf3!important;
  border-color:#bbf7d0!important;
  color:#15803d!important;
}
.mobile-secure-badge i{color:#16a34a!important;}
.featured-jobs-section{
  background:linear-gradient(180deg,#f7f7fb 0%,#fff 100%);
}
.section-header-pro{
  margin-bottom:24px;
}
.section-subtext{
  color:#717789;
  font-weight:700;
  margin:8px 0 0;
  max-width:650px;
}
.link-red-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border-radius:999px;
  background:#fff1f3;
  border:1px solid #ffd6da;
}
.featured-jobs-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.featured-job-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #f0edf0;
  border-radius:30px;
  padding:22px;
  box-shadow:0 14px 35px rgba(8,11,34,.075);
  transition:.23s ease;
}
.featured-job-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#e30613,#ff5060,#16a34a);
  opacity:.95;
}
.featured-job-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 55px rgba(8,11,34,.13);
  border-color:#ffd7dc;
}
.featured-job-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.featured-company-logo{
  width:62px;
  height:62px;
  min-width:62px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff5f6,#ffffff);
  border:1px solid #ffdce1;
  display:grid;
  place-items:center;
  color:#e30613;
  overflow:hidden;
  padding:9px;
  font-size:1.4rem;
  box-shadow:0 12px 24px rgba(227,6,19,.08);
}
.featured-company-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.featured-job-badges{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}
.free-apply-pill{
  display:inline-flex;
  gap:6px;
  align-items:center;
  background:#ecfdf3;
  color:#15803d;
  border:1px solid #bbf7d0;
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.75rem;
  font-weight:1000;
}
.featured-job-body h3{
  font-size:1.23rem;
  font-weight:1000;
  color:#171a2d;
  letter-spacing:-.025em;
  margin-bottom:8px;
}
.featured-job-desc{
  color:#687083;
  font-weight:650;
  line-height:1.55;
  min-height:66px;
  margin-bottom:16px;
}
.featured-job-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.featured-job-info-grid span{
  display:block;
  padding:12px;
  border-radius:18px;
  background:#fafafa;
  border:1px solid #eeeeF5;
  color:#646b7d;
  font-weight:850;
  font-size:.84rem;
  min-width:0;
}
.featured-job-info-grid span i{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border-radius:10px;
  background:#fff1f3;
  color:#e30613;
  margin-right:7px;
}
.featured-job-info-grid span strong{
  display:block;
  color:#171a2d;
  font-weight:1000;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin:7px 0 2px;
}
.featured-job-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #f0f0f5;
  padding-top:16px;
  margin-top:18px;
}
.featured-job-footer small{
  color:#7b8192;
  font-weight:800;
  line-height:1.35;
}
.featured-job-footer small i{color:#e30613;margin-right:5px;}
.job-apply-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#fff;
  background:linear-gradient(135deg,#c70814,#e30613);
  text-decoration:none;
  border-radius:16px;
  padding:11px 14px;
  font-weight:1000;
  white-space:nowrap;
  box-shadow:0 12px 24px rgba(227,6,19,.20);
  transition:.2s ease;
}
.job-apply-btn:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(227,6,19,.28);
}
.why-card-pro{
  border:1px solid #fff;
  box-shadow:0 18px 45px rgba(8,11,34,.08);
}
.company-logo-grid-pro{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.candidate-cta-pro{
  background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.20),transparent 28%),linear-gradient(135deg,#a90d13 0%,#e30613 70%,#ff3442 100%);
}
.cta-free-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#ecfdf3;
  color:#15803d;
  border:1px solid #bbf7d0;
  padding:8px 11px;
  border-radius:999px;
  font-weight:1000;
  font-size:.82rem;
  margin-bottom:12px;
}
@media(max-width:991px){
  .featured-jobs-grid{grid-template-columns:1fr;}
  .company-logo-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-hero-v20{padding-top:52px;}
}
@media(max-width:575px){
  .hero-badge-row{gap:8px;}
  .hero-badge,.hero-free-badge{font-size:.8rem;padding:.5rem .75rem;}
  .hero-trust-row span{width:100%;justify-content:center;}
  .featured-job-card{padding:18px;border-radius:26px;}
  .featured-job-top{display:block;}
  .featured-company-logo{margin-bottom:12px;}
  .featured-job-badges{justify-content:flex-start;}
  .featured-job-info-grid{grid-template-columns:1fr;}
  .featured-job-desc{min-height:auto;}
  .featured-job-footer{display:block;}
  .featured-job-footer small{display:block;margin-bottom:12px;}
  .job-apply-btn{width:100%;}
  .company-logo-grid-pro{grid-template-columns:1fr;}
  .section-subtext{font-size:.92rem;}
}

/* =========================================================
   Emplexi V2.21 - Index compact featured jobs + Jobs premium
   ========================================================= */
.featured-jobs-section .section-header-pro{margin-bottom:18px;}
.featured-jobs-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.featured-job-card{
  border-radius:22px!important;
  padding:16px!important;
  box-shadow:0 12px 28px rgba(8,11,34,.065)!important;
}
.featured-job-card:before{height:4px!important;}
.featured-job-card:hover{transform:translateY(-4px)!important;}
.featured-job-top{
  align-items:center!important;
  margin-bottom:10px!important;
}
.featured-company-logo{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  border-radius:16px!important;
  padding:7px!important;
  font-size:1.1rem!important;
}
.featured-job-badges{gap:5px!important;}
.featured-pill,
.free-apply-pill{
  padding:.28rem .52rem!important;
  font-size:.68rem!important;
}
.featured-job-body .badge-red{
  font-size:.68rem!important;
  padding:.32rem .55rem!important;
}
.featured-job-body h3{
  font-size:1.04rem!important;
  line-height:1.22!important;
  margin-bottom:6px!important;
}
.featured-job-body .job-company{
  font-size:.84rem!important;
  margin-bottom:6px!important;
  color:#4b5162!important;
  font-weight:850!important;
}
.featured-job-desc{
  min-height:44px!important;
  margin-bottom:10px!important;
  font-size:.86rem!important;
  line-height:1.42!important;
}
.featured-job-info-grid.featured-job-info-compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px!important;
}
.featured-job-info-grid.featured-job-info-compact span{
  padding:8px 7px!important;
  border-radius:14px!important;
  font-size:.72rem!important;
  line-height:1.18!important;
}
.featured-job-info-grid.featured-job-info-compact span i{
  width:22px!important;
  height:22px!important;
  border-radius:8px!important;
  margin-right:4px!important;
  font-size:.72rem!important;
}
.featured-job-info-grid.featured-job-info-compact span strong{
  font-size:.63rem!important;
  margin:5px 0 2px!important;
}
.featured-job-footer{
  padding-top:11px!important;
  margin-top:12px!important;
}
.featured-job-footer small{font-size:.73rem!important;}
.job-apply-btn{
  padding:9px 12px!important;
  border-radius:13px!important;
  font-size:.82rem!important;
}

.jobs-page-hero{
  position:relative;
  padding:54px 0 30px;
  background:
    radial-gradient(circle at 12% 8%,rgba(227,6,19,.12),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(22,163,74,.10),transparent 24%),
    linear-gradient(180deg,#fff6f7 0%,#ffffff 88%);
  overflow:hidden;
}
.jobs-hero-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.95);
  border-radius:32px;
  padding:28px;
  box-shadow:0 24px 70px rgba(79,9,16,.10);
  backdrop-filter:blur(14px);
}
.jobs-hero-card:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(227,6,19,.09);
}
.jobs-page-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  color:#b40712;
  background:#fff1f3;
  border:1px solid #ffd6dc;
  font-weight:1000;
  font-size:.82rem;
  margin-bottom:13px;
}
.jobs-hero-copy h1{
  color:#151827;
  font-weight:1000;
  letter-spacing:-.045em;
  line-height:1.03;
  font-size:clamp(2rem,4.4vw,4rem);
  max-width:860px;
  margin:0 0 12px;
}
.jobs-hero-copy p{
  color:#677083;
  font-weight:700;
  font-size:1.05rem;
  max-width:730px;
  margin:0;
}
.jobs-hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}
.jobs-hero-pills span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  color:#394154;
  border:1px solid #f0edf0;
  box-shadow:0 8px 18px rgba(8,11,34,.045);
  font-weight:900;
  font-size:.83rem;
}
.jobs-hero-pills span:first-child{color:#15803d;background:#ecfdf3;border-color:#bbf7d0;}
.jobs-hero-mini{
  position:relative;
  z-index:2;
  min-width:245px;
  display:grid;
  gap:10px;
}
.jobs-hero-mini div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:#fff;
  border:1px solid #f1eef2;
  border-radius:18px;
  padding:13px 15px;
  box-shadow:0 12px 25px rgba(8,11,34,.055);
}
.jobs-hero-mini strong{font-size:1.45rem;color:#e30613;font-weight:1000;line-height:1;}
.jobs-hero-mini span{color:#697183;font-weight:900;font-size:.8rem;}
.jobs-filter-pro{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.35fr .9fr .85fr .75fr auto;
  gap:10px;
  background:#fff;
  border:1px solid #f0edf0;
  border-radius:24px;
  padding:12px;
  box-shadow:0 18px 45px rgba(8,11,34,.075);
}
.jobs-filter-field label{
  display:block;
  margin:0 0 6px 8px;
  color:#83899a;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-size:.66rem;
}
.jobs-filter-field > div{
  height:48px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #eeeef4;
  border-radius:17px;
  background:#fafafa;
  padding:0 12px;
}
.jobs-filter-field i{color:#e30613;min-width:16px;text-align:center;}
.jobs-filter-field input,
.jobs-filter-field select{
  width:100%;
  height:100%;
  border:0;
  background:transparent;
  outline:0;
  font-weight:850;
  color:#252a3b;
  min-width:0;
}
.jobs-filter-btn{
  align-self:end;
  height:48px;
  border:0;
  border-radius:17px;
  background:linear-gradient(135deg,#c70814,#e30613);
  color:#fff;
  font-weight:1000;
  padding:0 20px;
  box-shadow:0 14px 28px rgba(227,6,19,.22);
  white-space:nowrap;
}
.jobs-filter-btn:hover{filter:brightness(1.04);transform:translateY(-1px);}
.jobs-results-section{padding:36px 0 70px;background:linear-gradient(180deg,#fff 0%,#f8f8fb 100%);}
.jobs-results-header{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:18px;
}
.jobs-results-header h2{font-weight:1000;letter-spacing:-.03em;color:#171a2d;margin:0;}
.jobs-clear-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#e30613;
  background:#fff1f3;
  border:1px solid #ffd7dc;
  border-radius:999px;
  padding:10px 14px;
  text-decoration:none;
  font-weight:1000;
}
.jobs-list-pro{display:grid;gap:14px;}
.job-result-card-pro{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:68px 1fr auto;
  gap:18px;
  align-items:start;
  background:#fff;
  border:1px solid #f0edf0;
  border-radius:26px;
  padding:18px;
  box-shadow:0 14px 34px rgba(8,11,34,.065);
  transition:.22s ease;
}
.job-result-card-pro:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#e30613,#ff5060,#16a34a);
  opacity:.95;
}
.job-result-card-pro:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 52px rgba(8,11,34,.11);
  border-color:#ffd7dc;
}
.job-result-logo{
  width:68px;
  height:68px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff5f6,#fff);
  border:1px solid #ffdce1;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:10px;
  color:#e30613;
  font-size:1.45rem;
  box-shadow:0 12px 26px rgba(227,6,19,.08);
}
.job-result-logo img{width:100%;height:100%;object-fit:contain;}
.job-result-topline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px;}
.job-featured-chip,.job-free-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  padding:.34rem .6rem;
  font-size:.72rem;
  font-weight:1000;
}
.job-featured-chip{background:#fff7df;color:#9a6500;border:1px solid #ffe7a3;}
.job-free-chip{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0;}
.job-result-content h3{
  font-size:1.18rem;
  font-weight:1000;
  letter-spacing:-.025em;
  color:#151827;
  margin:0 0 4px;
}
.job-result-company{color:#4b5162;font-weight:900;margin:0 0 8px;}
.job-result-company i{color:#e30613;margin-right:6px;}
.job-result-description{
  color:#667083;
  font-weight:650;
  line-height:1.48;
  margin:0 0 12px;
  max-width:850px;
}
.job-result-meta{display:flex;flex-wrap:wrap;gap:8px;}
.job-result-meta span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#fafafa;
  border:1px solid #eeeeF5;
  border-radius:999px;
  padding:7px 10px;
  color:#5d6578;
  font-weight:900;
  font-size:.82rem;
}
.job-result-meta span i{color:#e30613;}
.job-result-action{
  min-width:175px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
.job-result-action small{
  color:#7b8192;
  font-weight:850;
  text-align:right;
  line-height:1.35;
}
.job-result-action small i{color:#e30613;margin-right:4px;}
.job-result-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  color:#fff;
  background:linear-gradient(135deg,#c70814,#e30613);
  text-decoration:none;
  border-radius:16px;
  padding:12px 14px;
  font-weight:1000;
  box-shadow:0 14px 26px rgba(227,6,19,.20);
  transition:.2s ease;
}
.job-result-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 32px rgba(227,6,19,.28);}

@media(max-width:1199px){
  .featured-job-info-grid.featured-job-info-compact{grid-template-columns:repeat(2,minmax(0,1fr));}
  .jobs-filter-pro{grid-template-columns:1fr 1fr;}
  .jobs-filter-btn{width:100%;}
}
@media(max-width:991px){
  .jobs-hero-card{grid-template-columns:1fr;padding:22px;border-radius:28px;}
  .jobs-hero-mini{grid-template-columns:repeat(3,1fr);min-width:0;}
  .jobs-hero-mini div{display:block;text-align:center;}
  .job-result-card-pro{grid-template-columns:60px 1fr;}
  .job-result-action{grid-column:1 / -1;align-items:stretch;min-width:0;}
  .job-result-action small{text-align:left;}
}
@media(max-width:575px){
  .featured-jobs-grid{gap:12px!important;}
  .featured-job-card{padding:14px!important;border-radius:20px!important;}
  .featured-job-top{display:flex!important;align-items:center!important;}
  .featured-company-logo{width:46px!important;height:46px!important;min-width:46px!important;margin-bottom:0!important;}
  .featured-job-badges{justify-content:flex-end!important;}
  .featured-job-info-grid.featured-job-info-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .featured-job-info-grid.featured-job-info-compact span{font-size:.69rem!important;}
  .featured-job-footer{display:flex!important;align-items:center!important;}
  .featured-job-footer small{margin-bottom:0!important;font-size:.68rem!important;}
  .job-apply-btn{width:auto!important;font-size:.78rem!important;padding:8px 10px!important;}
  .jobs-page-hero{padding:34px 0 22px;}
  .jobs-hero-card{padding:18px;border-radius:24px;}
  .jobs-hero-copy h1{font-size:2rem;}
  .jobs-hero-copy p{font-size:.95rem;}
  .jobs-hero-mini{grid-template-columns:1fr;gap:8px;}
  .jobs-hero-mini div{display:flex;text-align:left;}
  .jobs-filter-pro{grid-template-columns:1fr;border-radius:22px;}
  .jobs-results-header{display:block;}
  .jobs-clear-link{margin-top:12px;}
  .job-result-card-pro{grid-template-columns:1fr;gap:12px;padding:16px;border-radius:22px;}
  .job-result-logo{width:58px;height:58px;border-radius:18px;}
  .job-result-meta span{width:100%;justify-content:flex-start;}
}

/* =========================================================
   Emplexi V2.22 - Featured jobs mobile redesign
   ========================================================= */
@media (max-width: 575px){
  .featured-jobs-section{
    padding: 34px 0 38px !important;
    background: linear-gradient(180deg,#fff7f8 0%, #ffffff 78%) !important;
  }

  .featured-jobs-section .container{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .featured-jobs-section .section-header,
  .featured-jobs-section .section-header-pro{
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
  }

  .featured-jobs-section .section-kicker{
    font-size: .72rem !important;
    padding: .34rem .58rem !important;
  }

  .featured-jobs-section h2{
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
  }

  .featured-jobs-section .section-subtext{
    font-size: .82rem !important;
    line-height: 1.35 !important;
    margin-top: 5px !important;
    max-width: 235px !important;
  }

  .featured-jobs-section .link-red-pill{
    padding: 8px 10px !important;
    font-size: .78rem !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  .featured-jobs-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .featured-job-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    border-radius: 22px !important;
    padding: 14px !important;
    background: #ffffff !important;
    border: 1px solid #f0e8eb !important;
    box-shadow: 0 12px 32px rgba(8,11,34,.075) !important;
    overflow: hidden !important;
  }

  .featured-job-card:before{
    height: 3px !important;
    background: linear-gradient(90deg,#e30613 0%, #ff4d5b 62%, #16a34a 100%) !important;
  }

  .featured-job-top{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .featured-company-logo{
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 14px !important;
    padding: 6px !important;
    box-shadow: 0 10px 20px rgba(227,6,19,.07) !important;
  }

  .featured-job-badges{
    flex: 1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  .featured-pill,
  .free-apply-pill{
    padding: .30rem .52rem !important;
    font-size: .66rem !important;
    line-height: 1.05 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  .featured-job-body .badge-red{
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    font-size: .68rem !important;
    padding: .34rem .56rem !important;
    margin-bottom: 8px !important;
  }

  .featured-job-body h3{
    font-size: 1.05rem !important;
    line-height: 1.18 !important;
    margin: 0 0 6px !important;
    letter-spacing: -.02em !important;
    word-break: break-word !important;
  }

  .featured-job-body .job-company{
    font-size: .84rem !important;
    line-height: 1.25 !important;
    margin: 0 0 7px !important;
    color: #4b5162 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .featured-job-body .job-company i{
    margin-right: 0 !important;
    color: #e30613 !important;
  }

  .featured-job-desc{
    display: block !important;
    min-height: auto !important;
    margin: 0 0 12px !important;
    padding: 10px 11px !important;
    border-radius: 15px !important;
    background: #fbfbfd !important;
    border: 1px solid #f0f0f5 !important;
    font-size: .82rem !important;
    line-height: 1.38 !important;
    color: #667085 !important;
  }

  .featured-job-info-grid.featured-job-info-compact,
  .featured-job-info-grid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .featured-job-info-grid.featured-job-info-compact span,
  .featured-job-info-grid span{
    position: relative !important;
    display: grid !important;
    grid-template-columns: 26px 1fr !important;
    column-gap: 7px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 10px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    border: 1px solid #eceef5 !important;
    box-shadow: 0 6px 18px rgba(8,11,34,.04) !important;
    color: #283044 !important;
    font-size: .78rem !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    overflow: hidden !important;
  }

  .featured-job-info-grid.featured-job-info-compact span i,
  .featured-job-info-grid span i{
    grid-row: 1 / span 2 !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-size: .72rem !important;
    background: #fff1f3 !important;
    color: #e30613 !important;
  }

  .featured-job-info-grid.featured-job-info-compact span strong,
  .featured-job-info-grid span strong{
    display: block !important;
    margin: 0 0 2px !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
  }

  .featured-job-footer{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding-top: 12px !important;
    margin-top: 12px !important;
    border-top: 1px solid #f0f0f5 !important;
  }

  .featured-job-footer small{
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
    background: #fff7f8 !important;
    color: #596174 !important;
    font-size: .74rem !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
  }

  .featured-job-footer small i{
    margin: 0 !important;
    color: #e30613 !important;
  }

  .job-apply-btn{
    width: 100% !important;
    min-height: 44px !important;
    padding: 11px 14px !important;
    border-radius: 15px !important;
    font-size: .88rem !important;
    box-shadow: 0 12px 24px rgba(227,6,19,.22) !important;
  }
}

/* CV BUILDER - EMPLOYEE */
.cv-builder-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:28px;
  border-radius:30px;
  background:radial-gradient(circle at 14% 0%, rgba(255,255,255,.24), transparent 32%), linear-gradient(135deg,#e30613 0%, #b90412 100%);
  color:#fff;
  box-shadow:0 24px 50px rgba(227,6,19,.22);
  overflow:hidden;
  position:relative;
}
.cv-builder-hero:after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-105px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.cv-builder-hero h1{font-weight:900; margin:4px 0 6px; letter-spacing:-.04em;}
.cv-builder-hero p{margin:0; color:rgba(255,255,255,.86); max-width:650px;}
.cv-builder-hero-icon{
  width:78px;
  height:78px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:2rem;
  flex:0 0 auto;
  z-index:1;
}
.cv-builder-form-card .form-control{border-radius:16px; min-height:48px;}
.cv-builder-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:#f0fdf4;
  color:#15803d;
  font-weight:900;
  font-size:.82rem;
  white-space:nowrap;
}
.cv-builder-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}
.cv-live-preview-card{
  top:95px;
}
.cv-preview-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:20px 20px 0 0;
  background:#111827;
  color:#fff;
  font-weight:800;
}
.cv-preview-toolbar small{color:rgba(255,255,255,.62); font-weight:700;}
.cv-paper-preview{
  background:#fff;
  border:1px solid #eceef5;
  border-top:0;
  border-radius:0 0 24px 24px;
  overflow:hidden;
  box-shadow:0 22px 50px rgba(8,11,34,.10);
}
.cv-paper-header{
  padding:25px;
  background:linear-gradient(135deg,#e30613,#b90412);
  color:#fff;
}
.cv-paper-header h2{
  margin:0;
  font-size:1.45rem;
  font-weight:950;
  letter-spacing:-.03em;
}
.cv-paper-header p{margin:4px 0 8px; color:rgba(255,255,255,.88); font-weight:700;}
.cv-paper-header span{font-size:.82rem; color:rgba(255,255,255,.82);}
.cv-paper-body{padding:24px;}
.cv-paper-section{padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #f0f1f5;}
.cv-paper-section:last-child{border-bottom:0; margin-bottom:0; padding-bottom:0;}
.cv-paper-section h6{
  margin:0 0 8px;
  color:#e30613;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.76rem;
}
.cv-paper-section p{
  color:#374151;
  margin:0;
  font-size:.9rem;
  line-height:1.58;
  word-break:break-word;
}
.cv-builder-tips{
  padding:18px;
  border-radius:22px;
  background:#fff7f8;
  border:1px solid #ffe0e4;
}
.cv-builder-tips h6{font-weight:950; color:#111827;}
.cv-builder-tips ul{margin:8px 0 0; padding-left:18px; color:#5b6475; font-size:.92rem;}
.cv-builder-tips li{margin:5px 0;}

@media (max-width: 768px){
  .cv-builder-hero{padding:22px; border-radius:24px; align-items:flex-start;}
  .cv-builder-hero-icon{width:58px; height:58px; border-radius:18px; font-size:1.45rem;}
  .cv-builder-hero h1{font-size:1.65rem;}
  .cv-builder-actions .btn{width:100%; justify-content:center;}
  .cv-preview-toolbar{border-radius:18px 18px 0 0;}
  .cv-paper-preview{border-radius:0 0 20px 20px;}
  .cv-paper-header,.cv-paper-body{padding:20px;}
}

/* V2.25 - Foto de empleado en perfil y CV PDF */
.employee-photo-card{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px;
  border:1px solid rgba(227,6,19,.10);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fff5f6);
  box-shadow:0 16px 38px rgba(15,23,42,.06);
}
.employee-photo-preview-wrap{
  width:112px;
  height:112px;
  border-radius:28px;
  padding:6px;
  background:#fff;
  box-shadow:0 12px 30px rgba(227,6,19,.12);
  flex:0 0 auto;
}
.employee-photo-preview,
.employee-photo-placeholder{
  width:100%;
  height:100%;
  border-radius:23px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
}
.employee-photo-placeholder{
  color:#e30613;
  background:#fff1f2;
  font-size:2.4rem;
}
.employee-photo-content{flex:1;min-width:0;}
.cv-builder-photo-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(227,6,19,.10);
  background:#fff7f8;
}
.cv-builder-photo-preview{
  width:84px;
  height:84px;
  flex:0 0 auto;
  border-radius:22px;
  padding:5px;
  background:#fff;
  box-shadow:0 10px 24px rgba(227,6,19,.12);
}
.cv-builder-photo-preview img,
.cv-builder-photo-empty{
  width:100%;
  height:100%;
  border-radius:18px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cv-builder-photo-empty{
  color:#e30613;
  background:#fff1f2;
  font-size:1.8rem;
}
.cv-paper-header{position:relative;}
.cv-paper-photo{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:18px;
  border:3px solid rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(0,0,0,.15);
  float:right;
  margin-left:14px;
  margin-bottom:8px;
}
@media(max-width:768px){
  .employee-photo-card,
  .cv-builder-photo-row{align-items:flex-start;flex-direction:column;}
  .employee-photo-preview-wrap{width:96px;height:96px;border-radius:24px;}
  .cv-builder-photo-preview{width:78px;height:78px;}
}

/* V2.26 - Fotos de candidatos en empleador y admin */
.candidate-avatar-photo {
  overflow: hidden;
  padding: 0 !important;
  background: linear-gradient(135deg, #e30613, #b8000d);
  color: #fff;
}
.candidate-avatar-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.candidate-avatar-photo span {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.candidate-photo-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff 0%, #fff5f6 100%);
  border: 1px solid rgba(227, 6, 19, .10);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}
.candidate-photo-summary-img {
  width: 74px;
  height: 74px;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(135deg, #e30613, #9f0712);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 14px 30px rgba(227, 6, 19, .22);
}
.candidate-photo-summary-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.candidate-photo-summary-img i { font-size: 1.7rem; }
.candidate-photo-summary span {
  display: block;
  font-size: .76rem;
  color: #8a8f98;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.candidate-photo-summary strong {
  display: block;
  color: #141827;
  font-weight: 900;
  line-height: 1.15;
}
.candidate-photo-summary small {
  display: block;
  color: #6b7280;
  margin-top: 2px;
  line-height: 1.2;
}
.admin-user-photo {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 1px solid rgba(227, 6, 19, .10);
  color: #e30613;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
.admin-user-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-user-photo i { font-size: 1rem; }
@media (max-width: 575.98px) {
  .candidate-photo-summary {
    align-items: flex-start;
  }
  .candidate-photo-summary-img {
    width: 62px;
    height: 62px;
    border-radius: 18px;
  }
  .admin-user-photo {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }
}


/* === V2.27: vista ampliada de fotos de candidatos === */
.photo-preview-trigger,
.admin-user-photo.js-photo-preview,
.candidate-avatar-photo.js-photo-preview,
.candidate-photo-summary-img.js-photo-preview {
  position: relative;
  cursor: zoom-in;
  border: 0;
  padding: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.photo-preview-trigger:hover,
.admin-user-photo.js-photo-preview:hover,
.candidate-avatar-photo.js-photo-preview:hover,
.candidate-photo-summary-img.js-photo-preview:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .16);
}
.photo-zoom-badge {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #e30613;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .68rem;
  border: 2px solid #fff;
  box-shadow: 0 8px 18px rgba(227, 6, 19, .28);
  z-index: 2;
}
.admin-user-photo .photo-zoom-badge {
  width: 20px;
  height: 20px;
  font-size: .58rem;
  right: -5px;
  bottom: -5px;
}
.photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 23, 42, .78);
  backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}
.photo-lightbox.is-open { display: flex; }
.photo-lightbox-card {
  width: min(92vw, 560px);
  background: #fff;
  border-radius: 28px;
  padding: 18px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .32);
  text-align: center;
  animation: photoLightboxIn .18s ease-out;
}
.photo-lightbox-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: min(68vh, 520px);
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  display: flex;
  align-items: center;
  justify-content: center;
}
.photo-lightbox-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.photo-lightbox-name {
  display: block;
  color: #141827;
  font-size: 1.05rem;
  font-weight: 900;
  margin-top: 14px;
}
.photo-lightbox-help {
  display: block;
  color: #6b7280;
  font-size: .86rem;
  margin-top: 2px;
}
.photo-lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.14);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
}
.photo-lightbox-close:hover { background: rgba(255,255,255,.24); }
@keyframes photoLightboxIn {
  from { opacity: 0; transform: scale(.96) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
@media (max-width: 575.98px) {
  .photo-lightbox { padding: 14px; }
  .photo-lightbox-card { border-radius: 22px; padding: 12px; }
  .photo-lightbox-img-wrap { border-radius: 18px; max-height: 70vh; }
  .photo-lightbox-close { width: 40px; height: 40px; top: 12px; right: 12px; }
}

/* === V2.28: lupa de foto más fina y profesional === */
.photo-preview-trigger,
.admin-user-photo.js-photo-preview,
.candidate-avatar-photo.js-photo-preview,
.candidate-photo-summary-img.js-photo-preview {
  overflow: visible !important;
  isolation: isolate;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.candidate-avatar-photo.js-photo-preview img,
.candidate-photo-summary-img.js-photo-preview img,
.admin-user-photo.js-photo-preview img {
  border-radius: inherit;
}

.photo-zoom-badge {
  right: -2px !important;
  bottom: -2px !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #d80613 !important;
  border: 2px solid #ffffff !important;
  font-size: .62rem !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18), 0 0 0 1px rgba(216, 6, 19, .08) !important;
}

.photo-zoom-badge i {
  font-size: .62rem !important;
  line-height: 1 !important;
  color: inherit !important;
}

.candidate-photo-summary-img .photo-zoom-badge {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: .66rem !important;
  right: -3px !important;
  bottom: -3px !important;
}

.candidate-photo-summary-img .photo-zoom-badge i {
  font-size: .66rem !important;
}

.admin-user-photo .photo-zoom-badge {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  font-size: .52rem !important;
  right: -3px !important;
  bottom: -3px !important;
  border-width: 2px !important;
}

.admin-user-photo .photo-zoom-badge i {
  font-size: .52rem !important;
}

.photo-preview-trigger:hover .photo-zoom-badge,
.admin-user-photo.js-photo-preview:hover .photo-zoom-badge,
.candidate-avatar-photo.js-photo-preview:hover .photo-zoom-badge,
.candidate-photo-summary-img.js-photo-preview:hover .photo-zoom-badge {
  background: #d80613 !important;
  color: #ffffff !important;
  transform: scale(1.05);
}

@media (max-width: 575.98px) {
  .candidate-avatar-photo.js-photo-preview .photo-zoom-badge,
  .photo-preview-trigger .photo-zoom-badge {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    font-size: .56rem !important;
    right: -1px !important;
    bottom: -1px !important;
  }

  .candidate-avatar-photo.js-photo-preview .photo-zoom-badge i,
  .photo-preview-trigger .photo-zoom-badge i {
    font-size: .56rem !important;
  }

  .candidate-photo-summary-img .photo-zoom-badge {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    font-size: .58rem !important;
  }
}

/* === V2.29: sección segura de empresas de referencia === */
.reference-companies-section {
  position: relative;
}
.reference-companies-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ffffff 0%, #fff7f7 55%, #ffffff 100%);
  border: 1px solid rgba(216, 6, 19, .10);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 22px 55px rgba(15, 23, 42, .08);
}
.reference-companies-card::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  right: -80px;
  top: -100px;
  background: radial-gradient(circle, rgba(216, 6, 19, .16), rgba(216, 6, 19, 0) 70%);
  pointer-events: none;
}
.reference-companies-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.reference-companies-head h2 {
  color: #111827;
  letter-spacing: -.035em;
}
.reference-companies-head p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-weight: 600;
  line-height: 1.7;
}
.reference-legal-note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  color: #64748b;
  border-radius: 18px;
  padding: 13px 15px;
  font-size: .88rem;
  line-height: 1.55;
  margin-bottom: 22px;
}
.reference-legal-note i {
  color: #16a34a;
  margin-top: 3px;
  flex: 0 0 auto;
}
.reference-company-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.reference-company-tile {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.reference-company-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, .09);
  border-color: rgba(216, 6, 19, .22);
}
.reference-company-mark {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fee2e2, #ffffff);
  border: 1px solid rgba(216, 6, 19, .14);
  color: #d80613;
  font-weight: 950;
  font-size: .82rem;
  letter-spacing: -.03em;
}
.reference-company-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.reference-company-copy strong {
  display: block;
  color: #111827;
  font-size: .92rem;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reference-company-copy span {
  color: #94a3b8;
  font-size: .76rem;
  font-weight: 800;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

@media (max-width: 1199.98px) {
  .reference-company-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .reference-companies-head { flex-direction: column; }
  .reference-company-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .reference-companies-card {
    padding: 22px 16px;
    border-radius: 24px;
  }
  .reference-companies-head h2 { font-size: 1.55rem; }
  .reference-companies-head p { font-size: .93rem; }
  .reference-legal-note {
    border-radius: 16px;
    font-size: .78rem;
    padding: 11px 12px;
  }
  .reference-company-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .reference-company-tile {
    padding: 10px;
    gap: 9px;
    border-radius: 16px;
  }
  .reference-company-mark {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 12px;
    font-size: .75rem;
  }
  .reference-company-copy strong { font-size: .82rem; }
  .reference-company-copy span { font-size: .66rem; }
}

/* =========================================================
   Emplexi V2.30 - Empresas de referencia con logotipos
   Nota: los logos incluidos en el parche son diseños referenciales
   basados en texto, no logotipos oficiales de las marcas.
========================================================= */
.reference-companies-card-v30 {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  padding: 32px;
  background:
    radial-gradient(circle at 12% 10%, rgba(22, 163, 74, .10), transparent 30%),
    radial-gradient(circle at 90% 0%, rgba(216, 6, 19, .10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(226, 232, 240, .95);
  box-shadow: 0 22px 70px rgba(15, 23, 42, .08);
}
.reference-companies-card-v30::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(216, 6, 19, .12) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .20;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 75%, transparent);
}
.section-kicker-green {
  background: rgba(22, 163, 74, .10) !important;
  color: #15803d !important;
  border: 1px solid rgba(22, 163, 74, .16);
}
.reference-legal-note-v30 {
  background: rgba(240, 253, 244, .78);
  border-color: rgba(22, 163, 74, .18);
  color: #475569;
}
.reference-legal-note-v30 strong { color: #14532d; }
.reference-company-grid-v30 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.reference-company-tile-v30 {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 148px;
  padding: 16px 12px;
  text-align: center;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
}
.reference-company-tile-v30:hover .reference-company-logo-box {
  transform: translateY(-2px) scale(1.03);
  border-color: rgba(216, 6, 19, .18);
}
.reference-company-logo-box {
  width: 78px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, .95);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
  transition: transform .2s ease, border-color .2s ease;
}
.reference-company-logo-box img {
  width: 64px;
  height: 40px;
  object-fit: contain;
  display: block;
}
.reference-company-tile-v30 .reference-company-copy {
  align-items: center;
}
.reference-company-tile-v30 .reference-company-copy strong {
  max-width: 100%;
  white-space: normal;
  line-height: 1.12;
  font-size: .88rem;
}
.reference-company-tile-v30 .reference-company-copy span {
  font-size: .64rem;
  line-height: 1.15;
}

@media (max-width: 1199.98px) {
  .reference-company-grid-v30 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .reference-company-grid-v30 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reference-companies-card-v30 { padding: 28px; }
}
@media (max-width: 575.98px) {
  .reference-companies-card-v30 {
    padding: 22px 14px;
    border-radius: 26px;
  }
  .reference-company-grid-v30 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .reference-company-tile-v30 {
    min-height: 132px;
    padding: 14px 8px;
    border-radius: 18px;
  }
  .reference-company-logo-box {
    width: 68px;
    height: 48px;
    border-radius: 14px;
  }
  .reference-company-logo-box img {
    width: 56px;
    height: 34px;
  }
  .reference-company-tile-v30 .reference-company-copy strong { font-size: .78rem; }
  .reference-company-tile-v30 .reference-company-copy span { font-size: .58rem; }
}

/* =====================================================
   V2.31 - Corrección fina de lupa en foto de candidato
   Evita que el badge herede width/height:100% de spans internos
   y lo deja pequeño, profesional y responsive.
   ===================================================== */
.candidate-avatar-photo.js-photo-preview,
.candidate-photo-summary-img.js-photo-preview,
.admin-user-photo.js-photo-preview,
.photo-preview-trigger {
  position: relative !important;
  overflow: visible !important;
}

.candidate-avatar-photo.js-photo-preview > .photo-zoom-badge,
.candidate-photo-summary-img.js-photo-preview > .photo-zoom-badge,
.admin-user-photo.js-photo-preview > .photo-zoom-badge,
.photo-preview-trigger > .photo-zoom-badge {
  position: absolute !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  right: -4px !important;
  bottom: -4px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 2px solid #ffffff !important;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(185, 28, 28, .24) !important;
  z-index: 6 !important;
  line-height: 1 !important;
  transform: none !important;
  flex: 0 0 auto !important;
}

.candidate-avatar-photo.js-photo-preview > .photo-zoom-badge i,
.candidate-photo-summary-img.js-photo-preview > .photo-zoom-badge i,
.admin-user-photo.js-photo-preview > .photo-zoom-badge i,
.photo-preview-trigger > .photo-zoom-badge i {
  font-size: 9px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
}

.candidate-avatar-photo.js-photo-preview:hover > .photo-zoom-badge,
.candidate-photo-summary-img.js-photo-preview:hover > .photo-zoom-badge,
.admin-user-photo.js-photo-preview:hover > .photo-zoom-badge,
.photo-preview-trigger:hover > .photo-zoom-badge {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  transform: scale(1.06) !important;
  box-shadow: 0 10px 22px rgba(185, 28, 28, .30) !important;
}

/* Tamaño exacto para la foto principal del aplicante */
.candidate-avatar.candidate-avatar-photo.js-photo-preview {
  width: 66px !important;
  height: 66px !important;
  border-radius: 22px !important;
}

.candidate-avatar.candidate-avatar-photo.js-photo-preview img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  display: block !important;
}

/* Foto de resumen lateral del CV */
.candidate-photo-summary-img.js-photo-preview > .photo-zoom-badge {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  right: -5px !important;
  bottom: -5px !important;
}

.candidate-photo-summary-img.js-photo-preview > .photo-zoom-badge i {
  font-size: 10px !important;
}

/* Fotos pequeñas del admin */
.admin-user-photo.js-photo-preview > .photo-zoom-badge {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  right: -4px !important;
  bottom: -4px !important;
}

.admin-user-photo.js-photo-preview > .photo-zoom-badge i {
  font-size: 7px !important;
}

@media (max-width: 575.98px) {
  .candidate-avatar.candidate-avatar-photo.js-photo-preview {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
  }

  .candidate-avatar-photo.js-photo-preview > .photo-zoom-badge,
  .photo-preview-trigger > .photo-zoom-badge {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    right: -3px !important;
    bottom: -3px !important;
    border-width: 2px !important;
  }

  .candidate-avatar-photo.js-photo-preview > .photo-zoom-badge i,
  .photo-preview-trigger > .photo-zoom-badge i {
    font-size: 8px !important;
  }
}
.legal-hero-section {
    padding: 70px 0 35px;
    background:
        radial-gradient(circle at top left, rgba(220, 38, 38, 0.12), transparent 32%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.legal-hero-card {
    background: #ffffff;
    border: 1px solid rgba(220, 38, 38, 0.12);
    border-radius: 28px;
    padding: 42px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
    position: relative;
    overflow: hidden;
}

.legal-hero-card::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -80px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: rgba(220, 38, 38, 0.08);
}

.legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff1f2;
    color: #dc2626;
    border: 1px solid rgba(220, 38, 38, 0.12);
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 800;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.legal-hero-card h1 {
    color: #111827;
    font-weight: 900;
    font-size: clamp(2rem, 4vw, 3.2rem);
    letter-spacing: -0.04em;
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}

.legal-hero-card p {
    color: #64748b;
    font-size: 1.08rem;
    max-width: 850px;
    line-height: 1.7;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.legal-hero-card small {
    color: #94a3b8;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.legal-content-section {
    padding: 35px 0 80px;
    background: #f8fafc;
}

.legal-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: start;
}

.legal-sidebar {
    position: sticky;
    top: 96px;
}

.legal-sidebar-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.06);
}

.legal-sidebar-card strong {
    display: block;
    color: #111827;
    font-size: 1rem;
    margin-bottom: 12px;
}

.legal-sidebar-card a {
    display: block;
    color: #64748b;
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.92rem;
    transition: all 0.2s ease;
}

.legal-sidebar-card a:hover {
    color: #dc2626;
    background: #fff1f2;
}

.legal-document-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 26px;
    padding: 34px;
    box-shadow: 0 14px 45px rgba(15, 23, 42, 0.06);
}

.legal-alert-box {
    display: flex;
    gap: 14px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    border-radius: 18px;
    padding: 18px 20px;
    margin-bottom: 28px;
}

.legal-alert-box i {
    margin-top: 3px;
    font-size: 1.1rem;
}

.legal-alert-box p {
    margin: 0;
    line-height: 1.65;
    font-weight: 600;
}

.legal-block {
    padding: 24px 0;
    border-bottom: 1px solid #eef2f7;
}

.legal-block h2 {
    color: #111827;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.legal-block p {
    color: #475569;
    line-height: 1.75;
    margin-bottom: 12px;
}

.legal-block ul {
    padding-left: 22px;
    margin-bottom: 0;
}

.legal-block li {
    color: #475569;
    line-height: 1.75;
    margin-bottom: 6px;
}

@media (max-width: 991px) {
    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-sidebar {
        position: static;
    }

    .legal-sidebar-card {
        display: none;
    }

    .legal-hero-card,
    .legal-document-card {
        padding: 26px;
        border-radius: 22px;
    }
}

@media (max-width: 576px) {
    .legal-hero-section {
        padding: 42px 0 22px;
    }

    .legal-content-section {
        padding: 22px 0 55px;
    }

    .legal-hero-card,
    .legal-document-card {
        padding: 22px;
        border-radius: 20px;
    }

    .legal-alert-box {
        padding: 15px;
        border-radius: 16px;
    }

    .legal-block h2 {
        font-size: 1.15rem;
    }
}
.site-footer-emplexi {
    margin-top: 70px;
    background: linear-gradient(135deg, #151827 0%, #1f2437 52%, #330b12 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.site-footer-emplexi::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(227, 6, 19, 0.18), transparent 28%),
        radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.08), transparent 24%);
    pointer-events: none;
}

.site-footer-emplexi .container {
    position: relative;
    z-index: 1;
}

.footer-main {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(320px, 1.8fr);
    gap: 38px;
    padding: 54px 0 34px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    text-decoration: none;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: -0.03em;
    margin-bottom: 16px;
}

.footer-logo:hover {
    color: #ffffff;
}

.footer-logo-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, #e30613 0%, #b9000c 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 14px 30px rgba(227, 6, 19, 0.26);
}

.footer-brand-block p {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.7;
    max-width: 460px;
    margin-bottom: 18px;
}

.footer-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-trust-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.86rem;
    font-weight: 700;
}

.footer-trust-badges i {
    color: #38c172;
}

.footer-links-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.footer-links-col h4 {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 900;
    margin-bottom: 15px;
}

.footer-links-col a {
    display: block;
    color: rgba(255, 255, 255, 0.68);
    text-decoration: none;
    margin-bottom: 10px;
    font-size: 0.94rem;
    transition: all 0.22s ease;
}

.footer-links-col a:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.9rem;
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom-links {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.footer-bottom-links a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    font-weight: 700;
}

.footer-bottom-links a:hover {
    color: #ffffff;
}

@media (max-width: 991px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 576px) {
    .site-footer-emplexi {
        margin-top: 48px;
    }

    .footer-main {
        padding: 42px 0 28px;
    }

    .footer-links-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .footer-logo {
        font-size: 1.35rem;
    }
}
.emplexi-scroll-top {
    position: fixed;
    right: 22px;
    bottom: 24px;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #e30613 0%, #b8000d 100%);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px) scale(0.92);
    box-shadow: 0 18px 40px rgba(227, 6, 19, 0.28);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.emplexi-scroll-top i {
    font-size: 18px;
    line-height: 1;
    color: #ffffff;
}

.emplexi-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.emplexi-scroll-top:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 22px 48px rgba(227, 6, 19, 0.36);
}

.emplexi-scroll-top:active {
    transform: translateY(-1px) scale(0.98);
}

.emplexi-scroll-top:focus {
    outline: none;
    box-shadow: 0 0 0 5px rgba(227, 6, 19, 0.18), 0 18px 40px rgba(227, 6, 19, 0.28);
}

@media (max-width: 768px) {
    .emplexi-scroll-top {
        right: 16px;
        bottom: 18px;
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }

    .emplexi-scroll-top i {
        font-size: 16px;
    }
}

@media (max-width: 380px) {
    .emplexi-scroll-top {
        right: 14px;
        bottom: 16px;
        width: 42px;
        height: 42px;
    }
}

/* Página de acceso no permitido - Emplexi */
.emplexi-error-page {
    position: relative;
    min-height: 72vh;
    display: flex;
    align-items: center;
    padding: 80px 0;
    overflow: hidden;
    background: linear-gradient(135deg, #fff 0%, #fff6f7 48%, #fff 100%);
}

.emplexi-error-bg::before,
.emplexi-error-bg::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.emplexi-error-bg::before {
    width: 420px;
    height: 420px;
    background: rgba(227, 6, 19, 0.08);
    top: -180px;
    right: -140px;
}

.emplexi-error-bg::after {
    width: 280px;
    height: 280px;
    background: rgba(34, 197, 94, 0.08);
    bottom: -120px;
    left: -90px;
}

.emplexi-error-card {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(227, 6, 19, 0.12);
    border-radius: 34px;
    padding: 56px 38px;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(10px);
}

.emplexi-error-icon {
    width: 92px;
    height: 92px;
    margin: 0 auto 18px;
    border-radius: 28px;
    background: linear-gradient(135deg, #e30613 0%, #b80410 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 38px rgba(227, 6, 19, 0.25);
}

.emplexi-error-icon i {
    font-size: 36px;
}

.emplexi-error-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 15px;
    border-radius: 999px;
    background: #fff1f2;
    color: #d90416;
    font-weight: 800;
    font-size: 0.88rem;
    border: 1px solid rgba(227, 6, 19, 0.12);
    margin-bottom: 18px;
}

.emplexi-error-card h1 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 900;
    color: #111827;
    letter-spacing: -0.04em;
    margin-bottom: 14px;
}

.emplexi-error-card p {
    max-width: 560px;
    margin: 0 auto 28px;
    color: #667085;
    font-size: 1.08rem;
    line-height: 1.7;
}

.emplexi-error-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.btn-error-light {
    background: #ffffff;
    color: #d90416;
    border: 1px solid rgba(227, 6, 19, 0.18);
    border-radius: 14px;
    padding: 12px 18px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.btn-error-light:hover {
    background: #fff1f2;
    color: #b80410;
    text-decoration: none;
}

.emplexi-error-help {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #f8fafc;
    color: #667085;
    border: 1px solid #edf0f5;
    border-radius: 16px;
    padding: 12px 16px;
    font-size: 0.93rem;
}

.emplexi-error-help i {
    color: #d90416;
}

@media (max-width: 576px) {
    .emplexi-error-page {
        padding: 52px 0;
        min-height: 68vh;
    }

    .emplexi-error-card {
        border-radius: 26px;
        padding: 38px 22px;
    }

    .emplexi-error-icon {
        width: 76px;
        height: 76px;
        border-radius: 22px;
    }

    .emplexi-error-icon i {
        font-size: 30px;
    }

    .emplexi-error-actions {
        flex-direction: column;
    }

    .emplexi-error-actions .btn,
    .emplexi-error-actions a {
        width: 100%;
        justify-content: center;
    }
}

/* Emplexi V2.54 - Chat admin responder fix */
.admin-chat-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;background:linear-gradient(135deg,#fff 0%,#fff4f5 100%);border:1px solid #ffe0e3;border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(17,24,39,.06)}
.admin-chat-thread-head h1{font-size:2rem;font-weight:900;color:#111827;margin:8px 0 6px}.admin-chat-thread-head p{color:#667085;margin:0}.admin-back-link{display:inline-flex;align-items:center;gap:8px;color:#d90416;font-weight:800;text-decoration:none}.admin-chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.admin-chat-conversation-card,.admin-chat-reply-card,.admin-chat-list-card{background:#fff;border:1px solid #edf0f5;border-radius:24px;box-shadow:0 16px 42px rgba(17,24,39,.07);padding:20px}.admin-chat-conversation-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;color:#667085}.admin-chat-conversation-meta strong{color:#111827;margin-right:auto}.admin-chat-messages-box{height:520px;overflow:auto;background:#f8fafc;border:1px solid #edf0f5;border-radius:20px;padding:18px}.admin-chat-bubble-row{display:flex;margin-bottom:14px}.admin-chat-bubble-row.is-admin{justify-content:flex-end}.admin-chat-bubble{max-width:76%;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px 14px;box-shadow:0 8px 20px rgba(17,24,39,.05)}.admin-chat-bubble-row.is-admin .admin-chat-bubble{background:linear-gradient(135deg,#e30613,#b90010);color:#fff;border-color:transparent}.admin-chat-bubble p{margin:4px 0;line-height:1.55}.admin-chat-bubble small{opacity:.75}.admin-chat-bubble-label{font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.admin-chat-reply-card h3{font-weight:900;margin-bottom:16px}.admin-chat-tip{margin-top:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;font-size:.92rem}.chat-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.82rem;background:#f3f4f6;color:#374151}.chat-status-open{background:#ecfdf3;color:#047857}.chat-status-responded{background:#eff6ff;color:#1d4ed8}.chat-status-closed{background:#f3f4f6;color:#4b5563}.admin-chat-list-item{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #edf0f5;border-radius:18px;text-decoration:none;color:inherit;margin-bottom:12px;transition:.2s}.admin-chat-list-item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,24,39,.08);border-color:#ffd6dc}.admin-chat-avatar{width:46px;height:46px;border-radius:16px;background:#fff1f2;color:#d90416;display:flex;align-items:center;justify-content:center;flex:none}.admin-chat-list-copy{min-width:0;flex:1}.admin-chat-list-copy strong{display:block;font-weight:900;color:#111827}.admin-chat-list-copy p{margin:3px 0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-list-copy small{color:#98a2b3;font-weight:700}@media(max-width:991px){.admin-chat-layout{grid-template-columns:1fr}.admin-chat-thread-head{flex-direction:column}.admin-chat-messages-box{height:430px}.admin-chat-bubble{max-width:88%}}@media(max-width:575px){.admin-chat-thread-head{padding:18px;border-radius:20px}.admin-chat-thread-head h1{font-size:1.55rem}.admin-chat-conversation-card,.admin-chat-reply-card,.admin-chat-list-card{padding:14px;border-radius:20px}.admin-chat-messages-box{height:390px;padding:12px}.admin-chat-bubble{max-width:94%}}

/* Emplexi V2.55 - Ajuste para que el chat use el menú normal del admin */
.admin-page-wrap {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.admin-page-wrap .admin-sidebar {
  flex: 0 0 280px;
}

.admin-page-wrap .admin-content {
  flex: 1;
  min-width: 0;
}

.admin-sidebar a[href="/admin/chat-messages.php"].active {
  background: #fff1f2;
  color: #d90416;
  font-weight: 900;
}

@media (max-width: 991px) {
  .admin-page-wrap {
    display: block;
  }

  .admin-page-wrap .admin-sidebar {
    width: 100%;
    margin-bottom: 18px;
  }
}

/* Emplexi V2.56 - Chat admin con menú normal + eliminar chats */
.admin-chat-head-normal{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff 0%,#fff4f5 100%);border:1px solid #ffe0e3;border-radius:24px;padding:24px;box-shadow:0 14px 36px rgba(17,24,39,.06)}
.admin-chat-head-normal h1{font-size:2rem;font-weight:900;color:#111827;margin:8px 0 6px}.admin-chat-head-normal p{color:#667085;margin:0}.admin-chat-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-back-link{display:inline-flex;align-items:center;gap:8px;color:#d90416;font-weight:800;text-decoration:none}.admin-chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.admin-chat-conversation-card,.admin-chat-reply-card,.admin-chat-list-card{background:#fff;border:1px solid #edf0f5;border-radius:24px;box-shadow:0 16px 42px rgba(17,24,39,.07);padding:20px}.admin-chat-conversation-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;color:#667085}.admin-chat-conversation-meta strong{color:#111827;margin-right:auto}.admin-chat-messages-box{height:520px;overflow:auto;background:#f8fafc;border:1px solid #edf0f5;border-radius:20px;padding:18px}.admin-chat-bubble-row{display:flex;margin-bottom:14px}.admin-chat-bubble-row.is-admin{justify-content:flex-end}.admin-chat-bubble{max-width:76%;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px 14px;box-shadow:0 8px 20px rgba(17,24,39,.05)}.admin-chat-bubble-row.is-admin .admin-chat-bubble{background:linear-gradient(135deg,#e30613,#b90010);color:#fff;border-color:transparent}.admin-chat-bubble-row.is-bot .admin-chat-bubble{background:#fff7ed;border-color:#fed7aa}.admin-chat-bubble p{margin:4px 0;line-height:1.55}.admin-chat-bubble small{opacity:.75}.admin-chat-bubble-label{font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.admin-chat-reply-card h3{font-weight:900;margin-bottom:16px}.admin-chat-tip{margin-top:16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:16px;padding:12px;font-size:.92rem}.chat-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.82rem;background:#f3f4f6;color:#374151}.chat-status-open,.chat-status-abierta{background:#ecfdf3;color:#047857}.chat-status-responded,.chat-status-respondida{background:#eff6ff;color:#1d4ed8}.chat-status-closed,.chat-status-cerrada{background:#f3f4f6;color:#4b5563}.admin-chat-list-item-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px}.admin-chat-list-item{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #edf0f5;border-radius:18px;text-decoration:none;color:inherit;transition:.2s;flex:1;min-width:0}.admin-chat-list-item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,24,39,.08);border-color:#ffd6dc}.admin-chat-avatar{width:46px;height:46px;border-radius:16px;background:#fff1f2;color:#d90416;display:flex;align-items:center;justify-content:center;flex:none}.admin-chat-list-copy{min-width:0;flex:1}.admin-chat-list-copy strong{display:block;font-weight:900;color:#111827}.admin-chat-list-copy p{margin:3px 0;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-chat-list-copy small{color:#98a2b3;font-weight:700}.admin-chat-delete-one button{width:42px;height:42px;border:0;border-radius:14px;background:#fff1f2;color:#d90416;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(217,4,22,.08);transition:.2s}.admin-chat-delete-one button:hover{background:#d90416;color:#fff;transform:translateY(-1px)}.chat-mini-metric strong{color:#d90416}@media(max-width:991px){.admin-chat-layout{grid-template-columns:1fr}.admin-chat-head-normal{flex-direction:column}.admin-chat-messages-box{height:430px}.admin-chat-bubble{max-width:88%}.admin-chat-head-actions{width:100%}.admin-chat-head-actions form,.admin-chat-head-actions button{width:100%}.admin-chat-list-item-wrap{align-items:stretch}.admin-chat-delete-one button{height:100%}}@media(max-width:575px){.admin-chat-head-normal{padding:18px;border-radius:20px}.admin-chat-head-normal h1{font-size:1.55rem}.admin-chat-conversation-card,.admin-chat-reply-card,.admin-chat-list-card{padding:14px;border-radius:20px}.admin-chat-messages-box{height:390px;padding:12px}.admin-chat-bubble{max-width:94%}.admin-chat-list-item{gap:10px;padding:12px}.admin-chat-avatar{width:40px;height:40px;border-radius:14px}.admin-chat-list-item{flex-wrap:wrap}.chat-status-pill{margin-left:54px}.admin-chat-delete-one button{width:38px}}

/* Chat auto-refresh V2.59 */
.emplexi-chat-message{margin:8px 0;display:flex;flex-direction:column;max-width:86%}.emplexi-chat-message-user{margin-left:auto;align-items:flex-end}.emplexi-chat-message-admin,.emplexi-chat-message-bot{margin-right:auto;align-items:flex-start}.emplexi-chat-bubble{padding:10px 12px;border-radius:16px;background:#f3f4f6;color:#111827;font-size:14px;line-height:1.4}.emplexi-chat-message-user .emplexi-chat-bubble{background:#dc0714;color:#fff}.emplexi-chat-message-admin .emplexi-chat-bubble{background:#111827;color:#fff}.emplexi-chat-time{font-size:11px;color:#8b94a7;margin-top:3px}.admin-chat-messages{max-height:520px;overflow:auto;padding:18px;background:#f8fafc;border:1px solid #edf0f5;border-radius:20px}.admin-chat-message{margin:10px 0;max-width:78%;display:flex;flex-direction:column}.admin-chat-message-user{margin-right:auto;align-items:flex-start}.admin-chat-message-admin{margin-left:auto;align-items:flex-end}.admin-chat-message-bot{margin-right:auto;align-items:flex-start}.admin-chat-bubble{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e7eaf0;color:#111827;box-shadow:0 8px 20px rgba(15,23,42,.04)}.admin-chat-message-admin .admin-chat-bubble{background:#dc0714;color:#fff;border-color:#dc0714}.admin-chat-message-bot .admin-chat-bubble{background:#fff7f7;border-color:#ffd8d8}.admin-chat-message small{margin-top:4px;color:#8b94a7;font-size:12px}.admin-chat-reply-form{display:flex;gap:12px;margin-top:16px;align-items:flex-end}.admin-chat-reply-form textarea{flex:1;border:1px solid #e5e7eb;border-radius:16px;padding:14px;resize:vertical;min-height:80px}.chat-thread-user{display:flex;align-items:center;gap:12px;margin-bottom:16px}.chat-user-avatar{width:46px;height:46px;border-radius:14px;background:#fff1f2;color:#dc0714;display:flex;align-items:center;justify-content:center}.chat-thread-user span{display:block;color:#667085;font-size:14px}@media(max-width:640px){.admin-chat-reply-form{flex-direction:column;align-items:stretch}.admin-chat-message{max-width:92%}.emplexi-chat-message{max-width:92%}}


