/* ============================================================
   Help Desk — Estilos personalizados
   ============================================================ */

/* Sidebar */
#wrapper {
    min-height: 100vh;
}

#sidebar {
    width: 260px;
    min-width: 260px;
    min-height: 100vh;
    transition: width 0.25s ease;
}

#sidebar.collapsed {
    width: 0;
    min-width: 0;
    overflow: hidden;
}

#sidebar .nav-link {
    border-radius: 6px;
    padding: .45rem .85rem;
    font-size: .9rem;
    transition: background .15s;
}

#sidebar .nav-link:hover,
#sidebar .nav-link.active {
    background: rgba(255,255,255,.15);
}

.sidebar-header {
    min-height: 64px;
}

/* Main content */
#main-content {
    min-height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
}

/* Avatar */
.avatar-sm {
    width: 36px;
    height: 36px;
    font-size: .85rem;
    flex-shrink: 0;
}

/* Ticket thread message body */
.message-body {
    font-size: .95rem;
    line-height: 1.6;
    word-break: break-word;
}

/* Star rating */
.star-rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: .15rem;
}

.star-rating .star-label {
    cursor: pointer;
    color: #ccc;
    transition: color .1s;
}

.star-rating input:checked ~ .star-label,
.star-rating .star-label:hover,
.star-rating .star-label:hover ~ .star-label {
    color: #ffc107 !important;
}

.star-rating .star-label i {
    pointer-events: none;
}

/* Priority badges */
.badge-critical { background-color: #dc3545 !important; }
.badge-high     { background-color: #fd7e14 !important; }
.badge-medium   { background-color: #0dcaf0 !important; }
.badge-low      { background-color: #6c757d !important; }

/* Sticky ticket header on mobile */
@media (max-width: 991px) {
    #sidebar {
        position: fixed;
        z-index: 1040;
        height: 100vh;
        width: 260px;
    }
    #sidebar.collapsed {
        width: 0;
    }
    #main-content {
        margin-left: 0 !important;
    }
    #wrapper {
        flex-direction: column;
    }
}

/* Flash auto-dismiss */
.alert {
    animation: slideIn .3s ease;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Card hover effect */
.card {
    transition: box-shadow .2s ease;
}
.card:hover {
    box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.08) !important;
}

/* Status colors */
.status-pending     { border-left: 4px solid #6c757d; }
.status-accepted    { border-left: 4px solid #198754; }
.status-in_progress { border-left: 4px solid #0d6efd; }
.status-closed      { border-left: 4px solid #495057; }
.status-rejected    { border-left: 4px solid #dc3545; }
