/* Helpdesk Portal - custom styles on top of Bootstrap 5.3 */

body { background-color: #f4f6f9; }

.navbar-brand { font-weight: 600; letter-spacing: .3px; }

/* Sidebar */
.hd-sidebar {
    min-height: calc(100vh - 56px);
    background: #1f2937;
}
.hd-sidebar .nav-link {
    color: #cbd5e1;
    border-radius: .375rem;
    margin: 2px 8px;
    padding: .55rem .85rem;
    font-size: .925rem;
}
.hd-sidebar .nav-link i { width: 20px; text-align: center; margin-right: 8px; }
.hd-sidebar .nav-link:hover { background: #374151; color: #fff; }
.hd-sidebar .nav-link.active { background: #2563eb; color: #fff; }
.hd-sidebar .sidebar-heading {
    color: #94a3b8; font-size: .72rem; text-transform: uppercase;
    letter-spacing: .08em; padding: .75rem 1rem .25rem;
}

.hd-content { padding: 1.5rem; }

/* Cards */
.stat-card .display-6 { font-weight: 700; }
.card-header { font-weight: 600; }

/* Public pages */
.public-hero {
    background: linear-gradient(135deg, #2563eb, #1e40af);
    color: #fff;
}
.dept-card { transition: transform .15s ease, box-shadow .15s ease; }
.dept-card:hover { transform: translateY(-4px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }

/* Timeline */
.timeline { list-style: none; padding-left: 0; margin: 0; }
.timeline > li {
    position: relative;
    padding: 0 0 1.25rem 1.75rem;
    border-left: 2px solid #e2e8f0;
}
.timeline > li:last-child { border-left-color: transparent; padding-bottom: 0; }
.timeline > li::before {
    content: '';
    position: absolute; left: -7px; top: 2px;
    width: 12px; height: 12px; border-radius: 50%;
    background: #2563eb; border: 2px solid #fff;
}
.timeline .tl-meta { font-size: .8rem; color: #64748b; }

.table thead th { white-space: nowrap; }
.ticket-badge { font-family: monospace; font-weight: 600; }
