/* ============================================================
   aaHost Brand Theme — FOSSBilling Client Portal (Huraga)
   Paleta: #070b12 base | #2EA8E6 primario
   ============================================================ */

:root, [data-bs-theme=dark], [data-bs-theme=light], html {
    --aa-bg:        #070b12;
    --aa-surface:   #0d1421;
    --aa-border:    rgba(46,168,230,0.14);
    --aa-cyan:      #2EA8E6;
    --aa-cyan-dim:  rgba(46,168,230,0.12);
    --aa-text:      #e8edf5;
    --aa-text2:     rgba(232,237,245,0.6);
    --aa-text3:     rgba(232,237,245,0.35);
    --bs-primary:   #2EA8E6;
    --bs-primary-rgb: 46,168,230;
    --bs-body-bg:   #070b12;
    --bs-body-color:#e8edf5;
    --bs-border-color: rgba(46,168,230,0.14);
    --bs-link-color: #2EA8E6;
    --bs-card-bg:   #0d1421;
}

/* === BASE === */
html, body {
    background: #070b12 !important;
    color: #e8edf5 !important;
}
a { color: #2EA8E6 !important; text-decoration: none !important; }
a:hover { color: #64c0ee !important; }
h1,h2,h3,h4,h5,h6 { color: #e8edf5 !important; }
hr { border-color: rgba(46,168,230,0.14) !important; }

/* === NAVBAR CLIENTE === */
.navbar, nav.navbar {
    background: #06090f !important;
    border-bottom: 1px solid rgba(46,168,230,0.14) !important;
    box-shadow: 0 1px 20px rgba(0,0,0,0.3) !important;
}
.navbar .navbar-brand img {
    height: 32px !important;
    filter: brightness(0) invert(1) !important;
}
.navbar .nav-link {
    color: rgba(232,237,245,0.65) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    border-radius: 6px !important;
    padding: 0.4rem 0.75rem !important;
    transition: all 0.18s !important;
}
.navbar .nav-link:hover { background: rgba(46,168,230,0.1) !important; color: #2EA8E6 !important; }
.navbar .nav-link.active { color: #2EA8E6 !important; font-weight: 600 !important; }
.navbar .nav-link.active, .navbar .nav-item.active .nav-link { color: #2EA8E6 !important; }

/* Botón registrarse */
.navbar .btn-outline-primary, .navbar .btn-primary {
    border-color: #2EA8E6 !important;
    color: #2EA8E6 !important;
    border-radius: 7px !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    padding: 0.35rem 1rem !important;
}
.navbar .btn-primary { background: #2EA8E6 !important; color: #fff !important; }
.navbar .btn-outline-primary:hover { background: #2EA8E6 !important; color: #fff !important; }

/* === PAGE / LAYOUT === */
.page-wrapper, .page, main, .container, .container-xl, .container-lg {
    background: transparent !important;
}

/* === CARDS === */
.card {
    background: #0d1421 !important;
    border: 1px solid rgba(46,168,230,0.14) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
    color: #e8edf5 !important;
}
.card:hover { border-color: rgba(46,168,230,0.3) !important; }
.card-header {
    background: rgba(6,9,15,0.5) !important;
    border-bottom: 1px solid rgba(46,168,230,0.14) !important;
    color: #e8edf5 !important;
    font-weight: 600 !important;
    border-radius: 10px 10px 0 0 !important;
}
.card-footer {
    background: rgba(6,9,15,0.3) !important;
    border-top: 1px solid rgba(46,168,230,0.14) !important;
}
.card-body { color: #e8edf5 !important; }
.card-title { color: #e8edf5 !important; font-weight: 600 !important; }

/* === WELCOME BANNER (FOSSBilling showcase) === */
.alert-info, .alert.alert-info, div.alert {
    background: rgba(46,168,230,0.08) !important;
    border: 1px solid rgba(46,168,230,0.25) !important;
    border-radius: 10px !important;
    color: #90cdf4 !important;
}
.alert-success { background: rgba(47,133,90,0.1) !important; border-color: #38a169 !important; color: #68d391 !important; }
.alert-danger { background: rgba(197,48,48,0.1) !important; border-color: #c53030 !important; color: #fc8181 !important; }
.alert-warning { background: rgba(183,121,31,0.1) !important; border-color: #d69e2e !important; color: #f6e05e !important; }

/* === FORMULARIOS === */
.form-control, .form-select {
    background: #060b14 !important;
    border: 1px solid rgba(46,168,230,0.2) !important;
    color: #e8edf5 !important;
    border-radius: 7px !important;
}
.form-control::placeholder { color: rgba(232,237,245,0.3) !important; }
.form-control:focus, .form-select:focus {
    border-color: #2EA8E6 !important;
    box-shadow: 0 0 0 3px rgba(46,168,230,0.2) !important;
    background: #080f1a !important;
}
.form-label { color: rgba(232,237,245,0.7) !important; font-weight: 500 !important; font-size: 0.85rem !important; }

/* === BOTONES === */
.btn-primary {
    background: #2EA8E6 !important;
    border-color: #2EA8E6 !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-radius: 7px !important;
}
.btn-primary:hover { background: #1a8fc9 !important; border-color: #1a8fc9 !important; box-shadow: 0 4px 14px rgba(46,168,230,0.35) !important; }
.btn-outline-primary { color: #2EA8E6 !important; border-color: #2EA8E6 !important; border-radius: 7px !important; }
.btn-outline-primary:hover { background: #2EA8E6 !important; color: #fff !important; }
.btn-secondary, .btn-default {
    background: rgba(232,237,245,0.07) !important;
    border-color: rgba(46,168,230,0.2) !important;
    color: #e8edf5 !important;
    border-radius: 7px !important;
}
.btn-secondary:hover { background: rgba(232,237,245,0.12) !important; }
.btn-danger { background: #c53030 !important; border-color: #c53030 !important; color: #fff !important; border-radius: 7px !important; }

/* === LOGIN / SIGNUP PAGE === */
.page-login .card,
.page-signup .card,
.page-password-reset .card {
    background: #0d1421 !important;
    border: 1px solid rgba(46,168,230,0.2) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
    padding: 1rem !important;
}
.page-login .card h1,
.page-signup .card h1 {
    color: #e8edf5 !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
}
.page-login, .page-signup, .page-password-reset {
    background: #070b12 !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* Logo en login */
.page-login .navbar-brand img,
.page-signup .navbar-brand img {
    height: 48px !important;
    display: block !important;
    margin: 0 auto 1.5rem !important;
    filter: brightness(0) invert(1) !important;
}

/* === TABLAS === */
.table { color: #e8edf5 !important; border-color: rgba(46,168,230,0.1) !important; }
.table > thead > tr > th {
    color: rgba(232,237,245,0.45) !important;
    border-bottom: 1px solid rgba(46,168,230,0.14) !important;
    background: rgba(6,9,15,0.4) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}
.table > tbody > tr > td { border-color: rgba(46,168,230,0.08) !important; }
.table > tbody > tr:hover > td { background: rgba(46,168,230,0.04) !important; }

/* === BADGES === */
.badge { border-radius: 5px !important; font-weight: 600 !important; }
.bg-primary, .badge.bg-primary { background: #2EA8E6 !important; color: #fff !important; }
.text-primary { color: #2EA8E6 !important; }
.text-muted, .text-secondary { color: rgba(232,237,245,0.55) !important; }

/* === DROPDOWN === */
.dropdown-menu {
    background: #0b1525 !important;
    border: 1px solid rgba(46,168,230,0.14) !important;
    border-radius: 9px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}
.dropdown-item { color: rgba(232,237,245,0.7) !important; border-radius: 6px !important; }
.dropdown-item:hover { background: rgba(46,168,230,0.1) !important; color: #2EA8E6 !important; }

/* === PAGINATION === */
.page-link { background: #0d1421 !important; border-color: rgba(46,168,230,0.14) !important; color: rgba(232,237,245,0.7) !important; }
.page-link:hover { background: rgba(46,168,230,0.1) !important; color: #2EA8E6 !important; }
.page-item.active .page-link { background: #2EA8E6 !important; border-color: #2EA8E6 !important; color: #fff !important; }

/* === TABS === */
.nav-tabs { border-bottom: 1px solid rgba(46,168,230,0.14) !important; }
.nav-tabs .nav-link { color: rgba(232,237,245,0.55) !important; border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; }
.nav-tabs .nav-link:hover { color: #2EA8E6 !important; }
.nav-tabs .nav-link.active { color: #2EA8E6 !important; border-bottom-color: #2EA8E6 !important; background: transparent !important; font-weight: 600 !important; }

/* === FOOTER === */
footer, .footer {
    background: transparent !important;
    border-top: 1px solid rgba(46,168,230,0.14) !important;
    color: rgba(232,237,245,0.4) !important;
    padding: 1.5rem 0 !important;
    font-size: 0.82rem !important;
}
footer a { color: #2EA8E6 !important; }

/* === MISC === */
code { color: #2EA8E6 !important; background: rgba(46,168,230,0.1) !important; padding: 0.1em 0.3em !important; border-radius: 4px !important; }
.list-group-item { background: #0d1421 !important; border-color: rgba(46,168,230,0.14) !important; color: #e8edf5 !important; }
.text-white { color: #fff !important; }
.progress { background: rgba(46,168,230,0.1) !important; }
.progress-bar { background: #2EA8E6 !important; }

/* === SCROLLBAR === */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #070b12; }
::-webkit-scrollbar-thumb { background: rgba(46,168,230,0.28); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(46,168,230,0.5); }

/* === RESPONSIVE === */
@media (max-width: 767px) {
    .navbar .navbar-brand img { height: 26px !important; }
    .card { border-radius: 8px !important; }
}
