/* VQ Support — Custom Styles */
:root {
    --vq-primary: #2563eb;
    --vq-secondary: #1e3a5f;
    --vq-accent: #e94560;
}

body {
    font-family: Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f8f9fa;
}

main {
    flex: 1;
}

.navbar {
    background-color: var(--vq-primary) !important;
}

.bg-primary {
    background-color: var(--vq-primary) !important;
}

.btn-primary {
    background-color: var(--vq-primary);
    border-color: var(--vq-primary);
}

.btn-primary:hover {
    background-color: var(--vq-secondary);
    border-color: var(--vq-secondary);
}

.text-primary {
    color: var(--vq-primary) !important;
}

/* Ticket status badges */
.badge-new { background-color: #0d6efd; }
.badge-triaged { background-color: #6f42c1; }
.badge-in-progress { background-color: #fd7e14; }
.badge-needs-info { background-color: #ffc107; color: #000; }
.badge-in-review { background-color: #20c997; }
.badge-resolved { background-color: #198754; }
.badge-closed { background-color: #6c757d; }
.badge-reopened { background-color: #dc3545; }

/* Priority badges */
.priority-critical { background-color: #dc3545; }
.priority-high { background-color: #fd7e14; }
.priority-medium { background-color: #ffc107; color: #000; }
.priority-low { background-color: #198754; }

/* Type badges */
.type-bug { background-color: #dc3545; }
.type-feature { background-color: #0d6efd; }
.type-question { background-color: #6f42c1; }
.type-task { background-color: #20c997; }

/* Internal notes */
.comment-internal {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
}

.comment-public {
    background-color: #ffffff;
    border-left: 4px solid #0d6efd;
}

/* Stat cards */
.stat-card {
    border-left: 4px solid var(--vq-primary);
    transition: transform 0.15s;
}

.stat-card:hover {
    transform: translateY(-2px);
}

/* Login page */
.login-container {
    max-width: 420px;
    margin: 80px auto;
}

/* Ticket detail activity log */
.activity-item {
    border-left: 2px solid #dee2e6;
    padding-left: 1rem;
    margin-left: 0.5rem;
}

.activity-item:last-child {
    border-left-color: transparent;
}

/* Responsive table */
.table-tickets th {
    white-space: nowrap;
}

@media (max-width: 768px) {
    .stat-card { margin-bottom: 1rem; }
    .hide-mobile { display: none; }
}
