:root{
  --energiza-blue:#126b94;
  --energiza-blue-dark:#08486a;
  --energiza-green:#369444;
  --energiza-green-dark:#236c31;
  --energiza-mint:#eaf5ec;
  --energiza-sky:#eef7fb;
  --energiza-ink:#18323f;
  --energiza-muted:#6e7f88;
  --energiza-line:#dfe9ed;
  --energiza-soft:#f6f9fa;
  --white:#fff;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--energiza-ink);background:#fff}
a{color:var(--energiza-blue)}
.navbar{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(18,107,148,.12)}
.brand-logo{height:52px;width:auto;object-fit:contain}
.navbar .nav-link{color:#31505f;font-weight:600}.navbar .nav-link:hover{color:var(--energiza-green)}
.btn-energiza{background:linear-gradient(135deg,var(--energiza-green),#4eaa55);border:none;color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(54,148,68,.22)}
.btn-energiza:hover{background:linear-gradient(135deg,var(--energiza-green-dark),var(--energiza-green));color:#fff;transform:translateY(-1px)}
.btn-outline-energiza{border:1px solid var(--energiza-blue);color:var(--energiza-blue);font-weight:700;background:#fff}.btn-outline-energiza:hover{background:var(--energiza-blue);color:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#063f5d 0%,#0d6b91 56%,#31944a 100%);color:#fff;padding:5.5rem 0 5rem}
.hero:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-120px;top:-180px;border:70px solid rgba(255,255,255,.07)}
.hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:120px;bottom:-220px;background:rgba(85,178,88,.22)}
.hero .container{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.11);font-size:.84rem;font-weight:700;letter-spacing:.01em}
.hero h1{font-size:clamp(2.55rem,5.4vw,5rem);line-height:1.01;font-weight:850;letter-spacing:-.045em}
.hero h1 .highlight{color:#b8df79}
.hero .lead{max-width:760px;color:rgba(255,255,255,.88);font-size:1.18rem}
.hero-brand-card{background:#fff;border-radius:24px;box-shadow:0 24px 54px rgba(0,32,52,.28);padding:1.6rem;color:var(--energiza-ink);border:1px solid rgba(255,255,255,.5)}
.hero-brand-card img{max-height:90px;max-width:100%;object-fit:contain}
.route-item{display:flex;gap:.9rem;align-items:flex-start;padding:.8rem;border-radius:14px;background:#f8fbfc;border:1px solid var(--energiza-line)}
.route-number,.icon-dot{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--energiza-blue),#1686ad);color:#fff;font-weight:800}
.metric-card,.feature-card,.panel-card{border:1px solid var(--energiza-line);border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(10,73,103,.07)}
.metric-card{padding:1.25rem}.metric-card strong{font-size:1.85rem;display:block;color:var(--energiza-blue-dark)}
.section-soft{background:linear-gradient(180deg,#f8fbfc,#f2f7f8)}
.section-kicker{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--energiza-green)}
.feature-card{transition:.22s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(10,73,103,.11)}
.step{position:relative;padding-left:3.4rem}.step-number{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--energiza-blue-dark),var(--energiza-blue));color:#fff;font-weight:700}
.partners-strip{border:1px solid var(--energiza-line);background:#fff;border-radius:24px;padding:1.15rem 1.5rem;box-shadow:0 12px 28px rgba(10,73,103,.06)}
.partners-strip img{width:100%;max-height:145px;object-fit:contain}
.match-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;align-items:center}.flow-node{text-align:center;background:#fff;border:1px solid var(--energiza-line);border-radius:16px;padding:1rem .5rem;font-weight:700;color:var(--energiza-blue-dark)}
.flow-node span{display:block;font-size:.74rem;color:var(--energiza-muted);font-weight:500;margin-top:.25rem}
.cta-band{background:linear-gradient(120deg,var(--energiza-blue-dark),var(--energiza-blue) 60%,var(--energiza-green));border-radius:26px;color:#fff;padding:2rem}
footer.site-footer{background:#063c58;color:rgba(255,255,255,.78)}
footer.site-footer img{height:58px;background:#fff;border-radius:10px;padding:6px}
.auth-wrap{min-height:calc(100vh - 72px);background:linear-gradient(135deg,var(--energiza-sky),var(--energiza-mint))}
.form-card{max-width:760px;margin:auto;border:1px solid var(--energiza-line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(10,73,103,.10)}
.sidebar{min-height:100vh;background:linear-gradient(180deg,#063f5d,#0b5f82 62%,#246f47);color:#fff;position:sticky;top:0}
.sidebar-brand{background:#fff;border-radius:14px;padding:.55rem .75rem;margin-bottom:1.4rem}.sidebar-brand img{width:100%;max-height:58px;object-fit:contain}
.sidebar .section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.5);padding:.55rem 1rem .3rem}
.sidebar a{color:rgba(255,255,255,.8);text-decoration:none;display:flex;align-items:center;gap:.7rem;padding:.72rem .9rem;border-radius:12px;font-weight:600;margin-bottom:.22rem}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.13);color:#fff}
.badge-match{background:#dff1df;color:#236d31}.badge-blue{background:#e0eff6;color:#0b628a}
.dashboard-topbar{background:#fff;border:1px solid var(--energiza-line);border-radius:18px;padding:1rem 1.2rem;box-shadow:0 8px 22px rgba(10,73,103,.05)}
.stat-card{background:#fff;border:1px solid var(--energiza-line);border-radius:18px;padding:1.25rem;box-shadow:0 8px 24px rgba(10,73,103,.05)}.stat-card .value{font-size:2rem;font-weight:850;color:var(--energiza-blue-dark)}
.admin-hero{background:linear-gradient(120deg,#073f5d,#0e7299 60%,#349447);color:#fff;border-radius:24px;padding:1.6rem 1.8rem;position:relative;overflow:hidden}.admin-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-125px;border:44px solid rgba(255,255,255,.08)}
.admin-table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#71838b;border-bottom-color:var(--energiza-line)}
@media(max-width:991px){.hero{padding:4rem 0}.brand-logo{height:44px}.sidebar{min-height:auto;position:relative}.match-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg)}}
\n.interest-card{border:1px solid var(--energiza-line);border-radius:14px;padding:1rem;background:#fff;height:100%}.match-score{min-width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--energiza-sky);color:var(--energiza-blue-dark);font-weight:850;font-size:1.15rem;border:4px solid #b9ddeb}.match-score.priority{background:#eaf5ec;color:var(--energiza-green-dark);border-color:#9fd0a6}.match-reasons{list-style:none;padding:0;margin:0}.match-reasons li{padding:.35rem 0}.match-reasons i{color:var(--energiza-green);margin-right:.4rem}.progress-bar{background:linear-gradient(90deg,var(--energiza-blue),var(--energiza-green))}\n.catalog-file{display:flex;align-items:center;gap:.8rem;border:1px solid var(--energiza-line);border-radius:14px;background:#f8fbfc;padding:.8rem}.catalog-file>i{font-size:1.8rem;color:#c93131}.company-profile-hero{background:linear-gradient(125deg,#073f5d,#0e7299 60%,#349447);color:#fff;border-radius:26px;box-shadow:0 18px 42px rgba(10,73,103,.14)}.profile-tag{display:inline-flex;align-items:center;gap:.35rem;background:#eaf5ec;color:#236c31;border:1px solid #b9debf;border-radius:999px;padding:.45rem .75rem;font-size:.88rem;font-weight:650}.profile-tag-blue{background:#eef7fb;color:#0b628a;border-color:#c3e2ef}.nav-pills .nav-link{border:1px solid var(--energiza-line);color:var(--energiza-blue-dark);font-weight:650}.nav-pills .nav-link.active{background:linear-gradient(135deg,var(--energiza-blue),var(--energiza-green));border-color:transparent}

/* V3.0.1 Branding Stable - Admin operation modules */
.admin-page-title .kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--energiza-green)}
.admin-page-title h2{color:var(--energiza-ink);letter-spacing:-.025em}
.admin-actionbar{background:#fff;border:1px solid var(--energiza-line);border-radius:18px;padding:1rem 1.15rem;box-shadow:0 8px 22px rgba(10,73,103,.05)}
.admin-empty{padding:2.5rem 1rem;text-align:center;color:var(--energiza-muted)}
.admin-empty i{display:block;font-size:2rem;color:#a9c4cf;margin-bottom:.5rem}
.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .62rem;font-size:.78rem;font-weight:750;border:1px solid transparent}
.status-active,.status-confirmada,.status-realizada{background:#eaf5ec;color:#236c31;border-color:#b9debf}
.status-draft,.status-pendiente{background:#fff7da;color:#8b6914;border-color:#f0dda0}
.status-cancelada,.status-no_show{background:#fff0f0;color:#a33a3a;border-color:#efc7c7}
.status-neutral{background:#eef7fb;color:#0b628a;border-color:#c3e2ef}
.operation-card{border:1px solid var(--energiza-line);border-radius:16px;background:#fff;padding:1rem}
.operation-card .icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--energiza-sky);color:var(--energiza-blue);font-size:1.2rem}
.table.admin-table>tbody>tr>td{vertical-align:middle}

/* V4.0 - Inteligencia B2B, Evaluaciones y Reportes */
.ai-float{position:fixed;right:24px;bottom:24px;width:66px;height:66px;border:0;border-radius:20px;z-index:1050;padding:0;background:linear-gradient(145deg,#2768e8 0%,#6f4be8 58%,#9b3fe0 100%);box-shadow:0 14px 34px rgba(78,67,207,.36);color:#fff;transition:.2s ease}
.ai-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 38px rgba(78,67,207,.45)}
.ai-mark{position:relative;width:100%;height:100%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.82);border-radius:18px}
.ai-text{font-size:1.35rem;font-weight:850;letter-spacing:-.04em}.ai-mark .bi-stars{position:absolute;right:6px;top:4px;font-size:1rem;color:#f1d8ff}
.ai-modal{border:0;border-radius:22px;box-shadow:0 24px 70px rgba(17,47,66,.22)}.ai-modal-icon{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:1.45rem;background:linear-gradient(145deg,#2768e8,#8a42df)}
.result-kpi{border:1px solid var(--energiza-line);border-radius:18px;background:#fff;padding:1.15rem;box-shadow:0 8px 24px rgba(10,73,103,.05)}.result-kpi .num{font-size:1.85rem;font-weight:850;color:var(--energiza-blue-dark)}
.rating-stars{display:flex;gap:.35rem;flex-direction:row-reverse;justify-content:flex-end}.rating-stars input{display:none}.rating-stars label{font-size:1.8rem;color:#cbd5da;cursor:pointer}.rating-stars input:checked~label,.rating-stars label:hover,.rating-stars label:hover~label{color:#f0b429}
@media(max-width:575px){.ai-float{right:16px;bottom:16px;width:58px;height:58px;border-radius:18px}}
