/* BOOSTIFY V0.1 — UI foundation */
:root{--boost-blue:#13bdf0;--boost-blue2:#2476e8;--boost-ink:#101828;--boost-muted:#667085;--boost-line:#e7edf5;--boost-bg:#f6f9fc;--boost-card:#fff;--boost-radius:18px;--boost-shadow:0 12px 35px rgba(31,82,133,.09)}
html,body{font-family:Inter,"Source Sans Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--boost-bg);color:var(--boost-ink)}
body{letter-spacing:-.01em}.page{background:var(--boost-bg)}
.card,.modal-content,.dropdown-menu{border:1px solid var(--boost-line)!important;border-radius:var(--boost-radius)!important;box-shadow:var(--boost-shadow)!important;background:var(--boost-card)}
.card-header{background:transparent!important;border-bottom:1px solid var(--boost-line)!important;padding:20px 22px!important}.card-body{padding:22px!important}
.btn{border-radius:11px!important;font-weight:700!important;box-shadow:none!important}.btn-primary,.btn-info{border:none!important;background:linear-gradient(135deg,var(--boost-blue),var(--boost-blue2))!important}.btn-primary:hover,.btn-info:hover{filter:brightness(.96)}
.form-control,.selectize-input,.custom-select{min-height:45px;border:1px solid #dce5ef!important;border-radius:11px!important;background:#fff!important;color:var(--boost-ink)!important;box-shadow:none!important}.form-control:focus,.selectize-input.focus{border-color:#39aef1!important;box-shadow:0 0 0 4px rgba(30,157,235,.10)!important}
table{background:#fff} .table th{color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-top:0!important}.table td{vertical-align:middle!important}
.badge{border-radius:999px!important;padding:.45em .75em!important}.page-title h1,h1,h2,h3,h4{font-weight:800!important;letter-spacing:-.035em}
.header,.navbar,.page-header{box-shadow:0 1px 0 var(--boost-line)!important;background:rgba(255,255,255,.95)!important}.header-brand img,.navbar-brand img{max-height:42px!important;width:auto!important}
.nav-tabs .nav-link{border-radius:10px 10px 0 0!important}.nav-tabs .nav-link.active{color:#147fc7!important;font-weight:700}
.auth-login-form{position:relative;z-index:2}.login-bg-image{background:radial-gradient(circle at 15% 10%,rgba(17,190,240,.20),transparent 30%),radial-gradient(circle at 90% 80%,rgba(36,118,232,.16),transparent 35%),linear-gradient(180deg,#f9fcff,#eef5fb)!important;opacity:1!important}
.auth-login-form .card{max-width:470px;margin:auto}.auth-login-form .card:before{content:"BOOSTIFY";display:block;font-size:28px;font-weight:900;letter-spacing:.03em;text-align:center;padding-top:28px;background:linear-gradient(90deg,#11c6ee,#256ee6);-webkit-background-clip:text;color:transparent}
.boostify-balance{background:linear-gradient(135deg,#0fbee9,#2b6fe7);color:#fff;border-radius:22px;padding:24px;box-shadow:0 16px 40px rgba(34,113,220,.22)}
.boostify-balance small{opacity:.82;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.boostify-balance strong{display:block;font-size:34px;line-height:1.15;margin-top:5px}
@media(max-width:767px){.card-body{padding:17px!important}.container,.container-fluid{padding-left:14px!important;padding-right:14px!important}.btn{min-height:44px}.page-title h1{font-size:24px!important}}

/* BOOSTIFY V0.8 — production UX polish */
body{min-width:0;overflow-x:hidden}.page,.page-main,.content,.container-fluid{min-width:0}.table-responsive{border-radius:14px}.table-responsive>.table{margin-bottom:0}.dropdown-menu{overflow:hidden}.modal-dialog{max-width:min(760px,calc(100vw - 28px))}.modal-content{overflow:hidden}
.navbar-side{background:#0e1728!important;border-right:1px solid rgba(255,255,255,.06)!important}.navbar-side .nav-link{margin:3px 10px;border-radius:11px!important;color:#aebbd0!important}.navbar-side .nav-link:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}.navbar-side .nav-link.active{background:linear-gradient(135deg,rgba(19,189,240,.18),rgba(36,118,232,.24))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(72,177,245,.18)}.navbar-side .navbar-heading{color:#63718a!important;padding-left:20px!important}.navbar-side .nav-icon{color:#75bfff!important}.navbar-side .mobile-logo{border-bottom:1px solid rgba(255,255,255,.07)!important}
.pagination .page-link{border-radius:9px!important;margin:0 2px;border-color:var(--boost-line)!important;color:#344054}.pagination .active .page-link{background:linear-gradient(135deg,var(--boost-blue),var(--boost-blue2))!important;border-color:transparent!important}.alert{border-radius:13px!important;border:1px solid transparent!important}.alert-danger{background:#fff4f4!important;border-color:#ffd7d7!important;color:#9f1f1f!important}.alert-success{background:#f1fff8!important;border-color:#cdeedc!important;color:#176b45!important}

/* Auth */
body:has(.boostify-auth-shell){background:#f4f8fc!important}.boostify-auth-shell{min-height:100vh;width:100%;display:grid;grid-template-columns:minmax(420px,560px) 1fr;background:#f5f8fc}.boostify-auth-card{display:flex;flex-direction:column;justify-content:center;padding:52px clamp(28px,5vw,72px);background:#fff;position:relative;z-index:2;box-shadow:20px 0 70px rgba(15,37,63,.08)}.boostify-auth-brand img{max-width:190px;max-height:54px;object-fit:contain;margin-bottom:26px}.boostify-auth-kicker{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;background:#eef8ff;color:#1876c7;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.boostify-auth-brand h1{font-size:clamp(30px,3vw,42px)!important;line-height:1.03;margin:0 0 12px;color:#101828}.boostify-auth-brand p{color:#667085;font-size:15px;line-height:1.65;margin:0 0 30px;max-width:480px}.boostify-auth-form label{display:block;font-size:13px;font-weight:750;color:#344054;margin:0 0 7px}.boostify-input-wrap{position:relative;margin-bottom:18px}.boostify-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:3;color:#8794a7;font-size:17px}.boostify-input-wrap .form-control{height:50px!important;padding-left:44px!important;border-radius:13px!important;font-size:14px}.boostify-auth-form .btn-submit{height:50px;margin-top:10px;border-radius:13px!important;font-size:14px}.boostify-auth-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-2px 0 18px;font-size:13px}.boostify-auth-row a,.boostify-auth-foot a,.boostify-check a{color:#147cd1;font-weight:700}.boostify-check{display:flex!important;align-items:center;gap:9px;margin:0!important;font-weight:500!important;color:#667085!important}.boostify-check input{width:16px;height:16px;accent-color:#2387e5}.boostify-check span{line-height:1.4}.boostify-terms{margin:5px 0 16px!important}.boostify-auth-foot{text-align:center;color:#7b8798;font-size:13px;margin-top:23px}.boostify-auth-aside{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 18%,rgba(59,211,245,.34),transparent 31%),radial-gradient(circle at 86% 78%,rgba(58,96,238,.34),transparent 34%),linear-gradient(135deg,#0e5cb7 0%,#0e88d3 45%,#223ca6 100%);display:flex;align-items:center;padding:8vw}.boostify-auth-aside:before,.boostify-auth-aside:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);width:420px;height:420px}.boostify-auth-aside:before{right:-110px;top:-130px}.boostify-auth-aside:after{left:-180px;bottom:-250px;width:560px;height:560px}.boostify-auth-aside-inner{position:relative;z-index:2;color:#fff;max-width:600px}.boostify-auth-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}.boostify-auth-aside h2{font-size:clamp(34px,4.2vw,64px)!important;line-height:1.02;color:#fff;margin:0 0 20px}.boostify-auth-aside p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);max-width:540px}.boostify-auth-points{display:grid;gap:12px;margin-top:30px}.boostify-auth-points span{display:flex;align-items:center;gap:10px;font-weight:650;color:rgba(255,255,255,.92)}.boostify-auth-points i{color:#8df0ff;font-size:18px}.boostify-auth-compact{grid-template-columns:minmax(420px,620px);justify-content:center;background:radial-gradient(circle at 20% 10%,rgba(19,189,240,.15),transparent 30%),radial-gradient(circle at 85% 80%,rgba(36,118,232,.12),transparent 35%),#f4f8fc}.boostify-auth-compact .boostify-auth-card{min-height:100vh;box-shadow:0 20px 70px rgba(15,37,63,.10)}

@media(max-width:991px){.boostify-auth-shell{grid-template-columns:1fr}.boostify-auth-aside{display:none}.boostify-auth-card{min-height:100vh;max-width:620px;width:100%;margin:auto;box-shadow:none}.navbar-side{box-shadow:14px 0 40px rgba(0,0,0,.16)!important}.table{min-width:760px}.table.table-sm{min-width:640px}}
@media(max-width:575px){.boostify-auth-card{padding:32px 20px}.boostify-auth-brand img{max-width:165px;margin-bottom:20px}.boostify-auth-row{align-items:flex-start;flex-direction:column;gap:10px}.boostify-auth-brand p{margin-bottom:23px}.boostify-auth-form .row>[class*=col-]{width:100%}.card-header{padding:16px!important}.card-body{padding:15px!important}.modal-dialog{margin:12px}.form-control,.selectize-input,.custom-select{font-size:16px!important}}

/* =====================================================
   BOOSTIFY PUBLIC HOME 2026
   ===================================================== */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif !important;
}

/* Header público */
header,
.header,
.navbar {
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 1px 0 rgba(16,24,40,.08) !important;
}

header img,
.navbar-brand img {
    max-height: 58px !important;
    object-fit: contain !important;
}

/* Hero */
.hero,
.home-banner,
.banner,
.banner-area,
.hero-area,
section:first-of-type {
    background:
      radial-gradient(circle at 15% 15%, rgba(36,174,239,.13), transparent 35%),
      radial-gradient(circle at 85% 20%, rgba(41,93,218,.12), transparent 34%),
      linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%) !important;
}

/* Eliminamos el violeta viejo como protagonista */
.bg-purple,
.bg-primary,
.bg-gradient,
[class*="purple"] {
    background-color: #f7faff !important;
}

/* Titulares */
.hero h1,
.banner h1,
.banner-area h1,
.hero-area h1 {
    color: #101828 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(42px, 6vw, 78px) !important;
    line-height: 1.02 !important;
    letter-spacing: -3px !important;
    font-weight: 800 !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.hero p,
.banner p,
.banner-area p,
.hero-area p {
    color: #667085 !important;
    font-size: clamp(17px,2vw,22px) !important;
    line-height: 1.65 !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Secciones */
section {
    overflow: hidden;
}

section h2,
section h3 {
    color: #101828;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -1.5px;
}

section p {
    color: #667085;
    line-height: 1.7;
}

/* CTA */
.btn,
button,
a.btn {
    border-radius: 12px !important;
}

.btn-primary,
a.btn-primary,
.hero .btn,
.banner .btn {
    background: linear-gradient(90deg,#18b5e8,#2475e9) !important;
    border: 0 !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 15px 28px !important;
    box-shadow: 0 10px 30px rgba(36,117,233,.20) !important;
}

/* Mobile */
@media (max-width: 768px) {

    header,
    .header,
    .navbar {
        min-height: 76px !important;
    }

    header img,
    .navbar-brand img {
        max-width: 230px !important;
        max-height: 54px !important;
    }

    .hero,
    .home-banner,
    .banner,
    .banner-area,
    .hero-area {
        min-height: auto !important;
        padding: 70px 22px !important;
    }

    .hero h1,
    .banner h1,
    .banner-area h1,
    .hero-area h1 {
        font-size: 44px !important;
        line-height: 1.04 !important;
        letter-spacing: -2px !important;
    }

    .hero p,
    .banner p,
    .banner-area p,
    .hero-area p {
        font-size: 17px !important;
        line-height: 1.6 !important;
    }

    section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    section h2 {
        font-size: 36px !important;
        line-height: 1.1 !important;
    }
}

/* =====================================================
   BOOSTIFY ADMIN - SIDEBAR CONTRAST FIX
   ===================================================== */

/* Fondo sidebar admin */
.navbar-side {
    background: #ffffff !important;
    border-right: 1px solid #e7edf5 !important;
}

/* Títulos de sección */
.navbar-side .navbar-heading,
.navbar-side .nav-heading {
    color: #7a8799 !important;
    font-weight: 700 !important;
    letter-spacing: .4px;
}

/* Enlaces normales */
.navbar-side .nav-link {
    color: #4a5a70 !important;
    background: transparent !important;
    border-radius: 10px !important;
    margin: 3px 8px !important;
    font-weight: 500 !important;
}

/* Iconos normales */
.navbar-side .nav-link .nav-icon,
.navbar-side .nav-icon,
.navbar-side .nav-link i {
    color: #55aef5 !important;
}

/* Hover */
.navbar-side .nav-link:hover {
    color: #18324f !important;
    background: #f2f7fd !important;
}

/* Activo */
.navbar-side .nav-link.active,
.navbar-side .nav-item.active > .nav-link {
    color: #1677c8 !important;
    background: #dfeffc !important;
    box-shadow: inset 0 0 0 1px #c6e3f8 !important;
    font-weight: 700 !important;
}

/* Icono activo */
.navbar-side .nav-link.active .nav-icon,
.navbar-side .nav-item.active > .nav-link .nav-icon,
.navbar-side .nav-link.active i {
    color: #1677c8 !important;
}

/* Badge tickets */
.navbar-side .badge {
    color: #ffffff !important;
}

/* Separadores */
.navbar-side hr {
    border-color: #edf1f6 !important;
}

