/* Ticketlodge Insights - modernes, mobile-first Theme auf Bootstrap-Basis. */

:root {
    --tl-navbar-bg: #171a2b;
    --tl-navbar-fg: #e8eaf3;
    --tl-brand: #6c5ce7;
    --tl-brand-rgb: 108, 92, 231;
    --tl-bg: #f4f5f9;
    --tl-card-radius: 1rem;
    --bs-body-bg: var(--tl-bg);
    --bs-primary: var(--tl-brand);
}

body {
    background-color: var(--tl-bg);
    -webkit-font-smoothing: antialiased;
}

/* --- Navbar ------------------------------------------------------------- */
.tl-navbar {
    background-color: var(--tl-navbar-bg);
}
.tl-navbar .navbar-brand {
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #fff;
}
.tl-navbar .nav-link {
    color: rgba(232, 234, 243, 0.75);
    font-weight: 500;
}
.tl-navbar .nav-link:hover,
.tl-navbar .nav-link.active {
    color: #fff;
}

/* --- Buttons / Brand ---------------------------------------------------- */
.btn-brand {
    --bs-btn-bg: var(--tl-brand);
    --bs-btn-border-color: var(--tl-brand);
    --bs-btn-hover-bg: #5a4bd4;
    --bs-btn-hover-border-color: #5a4bd4;
    --bs-btn-active-bg: #4f41c0;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-color: #fff;
    --bs-btn-disabled-bg: var(--tl-brand);
    --bs-btn-disabled-border-color: var(--tl-brand);
    --bs-btn-disabled-color: #fff;
}
.btn-dark-pill {
    --bs-btn-bg: var(--tl-navbar-bg);
    --bs-btn-border-color: var(--tl-navbar-bg);
    --bs-btn-hover-bg: #23283f;
    --bs-btn-hover-border-color: #23283f;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
}

/* --- Cards -------------------------------------------------------------- */
.card {
    border: none;
    border-radius: var(--tl-card-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06);
}
.card-title {
    font-weight: 700;
}

/* --- KPI / Widgets ------------------------------------------------------ */
.kpi-value {
    font-size: clamp(2rem, 6vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.kpi-label {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.75rem;
    color: #7a7f96;
    font-weight: 600;
}

/* --- Misc --------------------------------------------------------------- */
.page-title {
    font-weight: 800;
    letter-spacing: -0.02em;
}
.text-muted-2 {
    color: #9aa0b4;
}
.table > :not(caption) > * > * {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}
.flag-btn {
    line-height: 1;
    font-size: 1.1rem;
}
a.stretched-card,
a.stretched-card:hover {
    text-decoration: none;
    color: inherit;
}
