:root {
    --airlan-primary: #5B2CFF;
    --airlan-secondary: #8B3DFF;
    --airlan-accent: #C146D8;
    --airlan-warm: #FF7A3D;
    --airlan-warm-light: #FFA24A;
    --airlan-dark: #101828;
    --airlan-light: #FCFCFF;
    --airlan-success: #14a66b;
    --airlan-warning: #f59e0b;
    --airlan-danger: #e53935;
    --airlan-muted: #667085;
    --airlan-border: #d9e5f4;
}

body {
    background:
        radial-gradient(circle at top left, rgba(91, 44, 255, .10), transparent 35%),
        radial-gradient(circle at top right, rgba(255, 122, 61, .10), transparent 35%),
        linear-gradient(180deg, #FCFCFF 0%, #F8FAFC 100%);
    color: #14213d;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.navbar-airlan {
    background: linear-gradient(135deg, #5B2CFF 0%, #7A35FF 20%, #B243D8 42%, #FF7A3D 75%, #FFA24A 100%);
    box-shadow: 0 18px 45px rgba(91, 44, 255, .24);
}

.navbar-brand {
    font-size: 1.18rem;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, .84);
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, .14);
}

main.container-fluid {
    max-width: 1480px;
}

h1, h2, h3, .h1, .h2, .h3 {
    letter-spacing: 0;
    color: var(--airlan-dark);
}

.card {
    background: rgba(255, 255, 255, .96);
    border: 1px solid var(--airlan-border);
    border-radius: 1.25rem;
    box-shadow: 0 18px 45px rgba(91, 44, 255, .08);
}

.card-header {
    background: #fff !important;
    border-bottom-color: var(--airlan-border);
}

.table {
    --bs-table-hover-bg: #f2f8ff;
}

.btn {
    border-radius: 999px;
}

.btn-primary {
    background: linear-gradient(135deg, #5B2CFF 0%, #B243D8 48%, #FF7A3D 100%);
    border-color: transparent;
    box-shadow: 0 12px 26px rgba(193, 70, 216, .24);
}

.btn-outline-primary {
    color: var(--airlan-primary);
    border-color: rgba(91, 44, 255, .35);
}

.btn-outline-primary:hover {
    background: var(--airlan-primary);
    border-color: var(--airlan-primary);
}

.badge.text-bg-success {
    background-color: var(--airlan-success) !important;
}

.badge.text-bg-warning {
    background-color: var(--airlan-warning) !important;
    color: #201200 !important;
}

.badge.text-bg-danger {
    background-color: var(--airlan-danger) !important;
}

.badge.text-bg-info,
.badge.text-bg-primary {
    background-color: var(--airlan-primary) !important;
}

.alert-warning {
    border-color: rgba(245, 158, 11, .32);
    background: #fff7e8;
}

.alert-info {
    border-color: rgba(16, 199, 181, .25);
    background: #eafffb;
    color: #0f6159;
}

.form-control,
.form-select {
    border-color: var(--airlan-border);
    border-radius: .9rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--airlan-accent);
    box-shadow: 0 0 0 .25rem rgba(193, 70, 216, .16);
}

.airlan-hero-card {
    background:
        linear-gradient(135deg, rgba(91, 44, 255, .96) 0%, rgba(122, 53, 255, .94) 20%, rgba(178, 67, 216, .92) 42%, rgba(255, 122, 61, .92) 75%, rgba(255, 162, 74, .9) 100%);
    color: #fff;
    overflow: hidden;
}

.airlan-hero-card h1,
.airlan-hero-card h2,
.airlan-hero-card h3 {
    color: #fff;
}

.airlan-kpi {
    border-left: 4px solid var(--airlan-warm);
}

.airlan-gradient-text {
    background: linear-gradient(135deg, #5B2CFF 0%, #B243D8 48%, #FF7A3D 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.airlan-upload-zone {
    border: 1px dashed rgba(91, 44, 255, .32);
    background: linear-gradient(180deg, rgba(91, 44, 255, .05), rgba(255, 122, 61, .04));
    border-radius: 1.15rem;
}

.ticket-badge {
    color: #fff;
    border: 0;
}

.ticket-status-open,
.ticket-badge-status-open { background: #1d4ed8 !important; }
.ticket-status-progress,
.ticket-badge-status-progress { background: #6d28d9 !important; }
.ticket-status-waiting-customer,
.ticket-badge-status-waiting-customer { background: #f97316 !important; }
.ticket-status-waiting-supplier,
.ticket-badge-status-waiting-supplier { background: #facc15 !important; color: #1f1600 !important; }
.ticket-badge-status-resolved { background: #16a34a !important; }
.ticket-badge-status-closed { background: #64748b !important; }
.ticket-badge-status-cancelled { background: #27272a !important; }

.ticket-badge-priority-low { background: #64748b !important; }
.ticket-badge-priority-normal { background: #2563eb !important; }
.ticket-badge-priority-high { background: #ea580c !important; }
.ticket-badge-priority-critical { background: #dc2626 !important; }
.ticket-badge-priority-emergency { background: #7f1d1d !important; }

tr.ticket-row-priority-low td {
    background: #eef6ff !important;
}

tr.ticket-row-priority-normal td {
    background: #eaf2ff !important;
}

tr.ticket-row-priority-high td {
    background: #fff2df !important;
}

tr.ticket-row-priority-critical td {
    background: #ffe4e6 !important;
}

tr.ticket-row-priority-emergency td {
    background: #ffd6dd !important;
    font-weight: 600;
}

tr.ticket-row-priority-low td:first-child { border-left: 8px solid #64748b; }
tr.ticket-row-priority-normal td:first-child { border-left: 8px solid #2563eb; }
tr.ticket-row-priority-high td:first-child { border-left: 8px solid #ea580c; }
tr.ticket-row-priority-critical td:first-child { border-left: 8px solid #dc2626; }
tr.ticket-row-priority-emergency td:first-child { border-left: 8px solid #7f1d1d; }

tr.ticket-row-is-closed td {
    background: #f3f4f6 !important;
    color: #64748b;
    font-weight: 400;
}

@media (max-width: 575.98px) {
    .card {
        border-radius: .95rem;
    }

    .table {
        min-width: 680px;
    }
}
