/* =====================================================
   HelpDesk Pro — Custom overrides sobre SB Admin 2
   Complementa sin romper los estilos de la plantilla
   ===================================================== */

/* ---- Login page: background panel izquierdo ---- */
.bg-login-image {
    background: linear-gradient(135deg, #4e73df 0%, #224abe 100%);
    min-height: 400px;
    position: relative;
    overflow: hidden;
}
.bg-login-image::before {
    content: '\f095';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 9rem;
    color: rgba(255,255,255,0.15);
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
}

.bg-register-image {
    background: linear-gradient(135deg, #1cc88a 0%, #13855c 100%);
    min-height: 350px;
    position: relative;
    overflow: hidden;
}
.bg-register-image::before {
    content: '\f234';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 8rem;
    color: rgba(255,255,255,0.15);
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
}

/* ---- Avatar circles ---- */
.avatar-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.72rem;
    flex-shrink: 0;
    font-family: 'Nunito', sans-serif;
}

.avatar-circle-xl {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.6rem;
    font-family: 'Nunito', sans-serif;
}

/* ---- Sidebar user footer section ---- */
.sidebar-footer-user {
    border-top: 1px solid rgba(255,255,255,0.15);
    margin-top: auto;
}

.sidebar-user-avatar {
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
}

/* ---- Topbar user avatar ---- */
.topbar-user-avatar {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #4e73df, #224abe);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 800;
    color: #fff;
    font-family: 'Nunito', sans-serif;
}

/* ---- Nota interna card highlight ---- */
.bg-warning-soft {
    background-color: #fff9e6;
    border-bottom: 1px solid #fcefc7;
}

/* ---- Breadcrumb custom ---- */
.breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
    font-size: 0.85rem;
}

/* ---- Chart containers ---- */
.chart-bar {
    position: relative;
    height: 280px;
}
.chart-pie {
    position: relative;
    height: 240px;
}

/* ---- Table folio link ---- */
.table td a.font-weight-bold:hover {
    text-decoration: underline;
}

/* ---- Badges extra spacing ---- */
.badge + .badge {
    margin-left: 3px;
}

/* ---- Login brand icon spacing ---- */
.login-brand-icon {
    margin-bottom: 0.5rem;
}

/* ---- Demo credentials gap helper ---- */
.gap-1 {
    gap: 0.25rem;
}

/* ---- Responsive table improvements ---- */
@media (max-width: 576px) {
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .card-body {
        padding: 1rem;
    }
}

/* ---- SB Admin 2: override sidebar bottom padding ---- */
.sidebar {
    display: flex;
    flex-direction: column;
}
.sidebar .nav-item:last-of-type {
    margin-bottom: 0;
}

/* ---- Priority badge crítica: pulse animation ---- */
.badge-danger.prio-pulse {
    animation: badgePulse 1.6s infinite;
}
@keyframes badgePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(231,74,59,0.5); }
    50%       { box-shadow: 0 0 0 5px rgba(231,74,59,0); }
}

/* ---- Reply card left border (nota interna) ---- */
.border-left-warning {
    border-left: 4px solid #f6c23e !important;
}

/* ---- Card heading row flex gap ---- */
.flex-wrap.gap-2 > * {
    margin-right: 0.35rem;
    margin-bottom: 0.25rem;
}

/* ---- Info panel table ---- */
.table-sm th, .table-sm td {
    font-size: 0.82rem;
}

/* ---- Footer fix height ---- */
.sticky-footer {
    padding: 1rem 0;
}
