@import url("https://fonts.bunny.net/css?family=inter:400,500,600,700,800");

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
    --bm-sidebar-width: 272px;
    --bm-sidebar-bg: #0f172a;
    --bm-sidebar-bg-soft: #172033;
    --bm-sidebar-border: rgba(255,255,255,.08);
    --bm-page-bg: #f5f7fb;
    --bm-card-bg: #ffffff;
    --bm-border: #e7eaf0;
    --bm-text: #172033;
    --bm-muted: #748094;
    --bm-primary: #2563eb;
    --bm-primary-soft: #eff6ff;
    --bm-success: #16a34a;
    --bm-warning: #d97706;
    --bm-danger: #dc2626;
    --bm-info: #0891b2;
    --bm-purple: #7c3aed;
    --bm-radius: 16px;
    --bm-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

[data-bs-theme="dark"] {
    --bm-page-bg: #0b1220;
    --bm-card-bg: #111827;
    --bm-border: #243044;
    --bm-text: #e5e7eb;
    --bm-muted: #94a3b8;
    --bm-primary-soft: rgba(37,99,235,.16);
}

html, body { min-height: 100%; }

/* Global typography — one font across the whole BEXUM interface */
html, body, button, input, select, textarea, table, th, td,
.btn, .form-control, .form-select, .dropdown-menu, .modal, .tooltip, .popover {
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.betmanager-app {
    background: var(--bm-page-bg) !important;
    color: var(--bm-text);
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.betmanager-shell { min-height: 100vh; }
.betmanager-main {
    height: 100vh;
    overflow-y: auto;
    padding: 30px 34px;
    background: var(--bm-page-bg);
}

/* Sidebar */
.betmanager-sidebar {
    width: var(--bm-sidebar-width);
    min-width: var(--bm-sidebar-width);
    height: 100vh;
    position: sticky;
    top: 0;
    overflow-y: auto;
    padding: 22px 16px 18px;
    background: var(--bm-sidebar-bg);
    color: #fff;
    border-right: 1px solid var(--bm-sidebar-border);
    scrollbar-width: thin;
}
.betmanager-sidebar::-webkit-scrollbar { width: 5px; }
.betmanager-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 999px; }
.betmanager-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-wrap: nowrap;
    color: #fff !important;
    text-decoration: none;
    margin: 0 4px 20px;
    padding: 2px 0 18px;
    border-bottom: 1px solid var(--bm-sidebar-border);
}
.betmanager-brand-mark {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 8px 24px rgba(15,23,42,.18);
}

.betmanager-brand-logo {
    width: 26px;
    height: 26px;
    display: block;
}

.betmanager-brand-title { font-size: 1.08rem; font-weight: 800; letter-spacing: -.02em; }

.betmanager-brand--bexum {
    justify-content: flex-start;
    padding: 4px 4px 18px;
}
.betmanager-brand-title--solo {
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: .08em;
    color: #ffffff;
}

.betmanager-brand-subtitle { display:block; color:#8ea0bd; font-size:.68rem; font-weight:600; margin-top:1px; letter-spacing:.05em; text-transform:uppercase; }

.betmanager-brand--full {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px 18px;
}
.betmanager-brand-full-logo {
    width: 156px;
    max-width: 100%;
    height: auto;
    display: block;
}


.betmanager-search {
    color: #cbd5e1 !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    padding: .65rem .75rem;
}
.betmanager-search:hover { background: rgba(255,255,255,.09) !important; border-color: rgba(255,255,255,.16) !important; }
.betmanager-search .badge { background: rgba(255,255,255,.09) !important; color: #94a3b8; font-weight:600; }

.betmanager-sidebar .nav { gap: 2px; }
.betmanager-sidebar .nav-section {
    color: #64748b !important;
    font-size: .67rem !important;
    letter-spacing: .11em;
    padding: 14px 11px 6px !important;
    margin: 3px 0 0 !important;
}
.betmanager-sidebar .nav-link {
    color: #aebbd0 !important;
    border-radius: 10px;
    padding: .62rem .72rem;
    font-size: .90rem;
    font-weight: 600;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}
.betmanager-sidebar .nav-link:hover { color:#fff !important; background:rgba(255,255,255,.06); }
.betmanager-sidebar .nav-link.active {
    color:#fff !important;
    background: linear-gradient(90deg, rgba(37,99,235,.92), rgba(59,130,246,.72));
    box-shadow: 0 7px 18px rgba(37,99,235,.18);
}
.betmanager-sidebar .nav-link i { width: 21px; display:inline-block; color: inherit !important; opacity:.92; }
.betmanager-sidebar .nav-link.active i { opacity:1; }
.betmanager-sidebar hr { border-color: var(--bm-sidebar-border); opacity:1; margin:16px 3px; }
.betmanager-sidebar .dropdown-toggle { color:#e2e8f0 !important; }
.betmanager-sidebar .text-body-secondary { color:#8290a8 !important; }
.betmanager-sidebar .user-avatar {
    width:34px; height:34px; border-radius:10px !important; border:1px solid rgba(255,255,255,.12);
}
.betmanager-sidebar #themeToggle { color:#9fb0c9; border:1px solid rgba(255,255,255,.08) !important; }
.betmanager-sidebar #themeToggle:hover { background:rgba(255,255,255,.07); color:#fff; }

/* Page header */
.page-heading { margin-bottom: 24px; }
.page-heading h2 { color: var(--bm-text) !important; font-size: 1.72rem; letter-spacing: -.035em; }
.page-eyebrow { color: var(--bm-muted); font-size:.84rem; margin-top:4px; }
.month-chip {
    display:inline-flex; align-items:center; gap:7px;
    background: var(--bm-card-bg) !important; color: var(--bm-text) !important;
    border:1px solid var(--bm-border); border-radius:10px; padding:.58rem .78rem;
    box-shadow:none; font-size:.83rem !important; font-weight:700;
}

/* Cards */
.betmanager-app .card {
    border: 1px solid var(--bm-border) !important;
    border-radius: var(--bm-radius) !important;
    box-shadow: var(--bm-shadow) !important;
    background: var(--bm-card-bg);
}
.betmanager-app .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--bm-border) !important;
    padding: 1rem 1.15rem;
}
.betmanager-app .card-body { padding: 1.15rem; }
.betmanager-app .card-admin-cpa,
.betmanager-app .card-admin-comm,
.betmanager-app .card-admin-profit,
.betmanager-app .card-staff-quota,
.betmanager-app .card-todo,
.betmanager-app .card-collab-1 {
    color: var(--bm-text) !important;
    background: var(--bm-card-bg) !important;
    overflow: hidden;
    position: relative;
}
.betmanager-app .card-admin-cpa { border-top: 3px solid var(--bm-primary) !important; }
.betmanager-app .card-admin-comm { border-top: 3px solid var(--bm-warning) !important; }
.betmanager-app .card-admin-profit { border-top: 3px solid var(--bm-success) !important; }
.betmanager-app .card-staff-quota { border-top: 3px solid var(--bm-purple) !important; }
.betmanager-app .card-todo { border-top: 3px solid var(--bm-warning) !important; }
.betmanager-app .card-collab-1 { border-top: 3px solid var(--bm-info) !important; }
.betmanager-app .card-admin-cpa .text-white-50,
.betmanager-app .card-admin-profit .text-white-50,
.betmanager-app .card-staff-quota .text-white-50,
.betmanager-app .card-collab-1 .text-white-50,
.betmanager-app .card-todo .text-dark-50,
.betmanager-app .card-admin-comm .text-dark-50 { color: var(--bm-muted) !important; opacity:1; }
.betmanager-app .card-admin-cpa .display-6 { color:var(--bm-primary); }
.betmanager-app .card-admin-comm .display-6, .betmanager-app .card-todo .display-6 { color:var(--bm-warning) !important; }
.betmanager-app .card-admin-profit .display-6 { color:var(--bm-success); }
.betmanager-app .card-staff-quota .display-6 { color:var(--bm-purple); }
.betmanager-app .card-collab-1 .display-6 { color:var(--bm-info); }
.betmanager-app .display-6 { font-size: 2rem; letter-spacing:-.04em; }

/* Tables + lists */
.betmanager-app .table { --bs-table-bg: transparent; --bs-table-color: var(--bm-text); }
.betmanager-app .table > :not(caption) > * > * { border-bottom-color: var(--bm-border); padding-top:.82rem; padding-bottom:.82rem; }
.betmanager-app .table thead th { color:var(--bm-muted); background:rgba(148,163,184,.07) !important; font-size:.70rem; letter-spacing:.06em; border-bottom-width:1px; }
.betmanager-app .table-hover > tbody > tr:hover > * { --bs-table-bg-state: rgba(37,99,235,.035); }
.betmanager-app .list-group-item { border-color:var(--bm-border) !important; }

/* Small statistic tiles */
.betmanager-app .stat-tile,
.betmanager-app .bg-light {
    background: rgba(148,163,184,.065) !important;
    border-color: var(--bm-border) !important;
}

.betmanager-app .btn { border-radius: 10px; font-weight:650; }
.betmanager-app .btn-primary { background:#2563eb; border-color:#2563eb; }
.betmanager-app .alert { border-radius:13px; border-width:1px; }
.betmanager-app .modal-content { border-radius:18px; border:1px solid var(--bm-border) !important; }
.betmanager-app .progress { border-radius:999px; overflow:hidden; background:rgba(148,163,184,.16) !important; }
.cpa-badge { background:rgba(22,163,74,.09); border:1px solid rgba(22,163,74,.20); color:var(--bm-success); padding:5px 9px; border-radius:999px; font-size:.76rem; font-weight:700; }
.dot-pulse { width:9px; height:9px; background:#22c55e; border-radius:50%; display:inline-block; box-shadow:0 0 0 4px rgba(34,197,94,.10); }
.book-logo-small { width:28px; height:28px; object-fit:contain; background:#fff; padding:2px; border-radius:8px; border:1px solid var(--bm-border); margin-right:9px; }
.scrollable-list { max-height:400px; overflow-y:auto; }
.scrollable-list::-webkit-scrollbar { width:5px; }
.scrollable-list::-webkit-scrollbar-thumb { background:rgba(148,163,184,.35); border-radius:999px; }

@media (max-width: 1100px) {
    :root { --bm-sidebar-width: 238px; }
    .betmanager-main { padding:24px; }
}
@media (max-width: 820px) {
    .betmanager-shell { display:block !important; }
    .betmanager-sidebar { position:relative; width:100%; min-width:100%; height:auto; max-height:none; }
    .betmanager-main { height:auto; min-height:100vh; padding:20px 14px; }
    .page-heading { align-items:flex-start !important; gap:14px; flex-direction:column; }
}


/* Login branding */
.login-logo-wrap {
    display:flex;
    justify-content:center;
    margin:0 auto 1.35rem auto;
}
.login-logo {
    width: 210px;
    max-width: 100%;
    height: auto;
    display:block;
    filter: drop-shadow(0 16px 28px rgba(37,99,235,.14));
}


/* BEXUM brand header - fixed geometry */
.betmanager-sidebar .betmanager-brand.betmanager-brand--bexum {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-height: 62px;
    margin: 0 0 16px !important;
    padding: 0 5px 16px !important;
    border-bottom: 1px solid var(--bm-sidebar-border);
    overflow: hidden;
    white-space: nowrap;
}
.betmanager-sidebar .bexum-brand-icon {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    flex: 0 0 46px !important;
    object-fit: contain;
}
.betmanager-sidebar .bexum-brand-name {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    color: #fff !important;
    font-size: 1.08rem !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase;
}


/* Practices hub */
.practice-heading { gap: 18px; }
.practice-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 6px;
    background: var(--bm-card-bg);
    border: 1px solid var(--bm-border);
    border-radius: 14px;
    box-shadow: var(--bm-shadow);
}
.practice-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 11px;
    color: var(--bm-muted);
    text-decoration: none;
    border-radius: 10px;
    font-size: .83rem;
    font-weight: 700;
    transition: .15s ease;
}
.practice-tab:hover { color: var(--bm-text); background: rgba(148,163,184,.08); }
.practice-tab.active { color: #fff; background: #2563eb; }
.practice-tab-count {
    min-width: 23px;
    height: 23px;
    display: inline-grid;
    place-items: center;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(148,163,184,.14);
    font-size: .72rem;
}
.practice-tab.active .practice-tab-count { background: rgba(255,255,255,.18); }
.practice-filter-card { box-shadow: none !important; }
.filter-label {
    margin-bottom: 5px;
    color: var(--bm-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.practice-filter-card .form-control,
.practice-filter-card .form-select,
.practice-filter-card .input-group-text { min-height: 42px; border-color: var(--bm-border); }
.practice-list-card { overflow: hidden; }
.practice-table thead th { white-space: nowrap; }
.practice-contact-line { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.client-avatar-sm {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--bm-primary-soft);
    color: var(--bm-primary);
    font-weight: 800;
    font-size: .78rem;
}
.operator-chip {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(148,163,184,.11);
    color: var(--bm-text);
    font-size: .76rem;
    font-weight: 700;
}
.empty-state-icon { font-size: 2rem; color: var(--bm-muted); opacity: .45; }
@media (max-width: 820px) {
    .practice-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .practice-tab { flex: 0 0 auto; }
}


/* Dashboard KPI hierarchy */
.dashboard-kpi-section {
    padding: 18px;
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius);
    background: rgba(255,255,255,.36);
}
[data-bs-theme="dark"] .dashboard-kpi-section { background: rgba(15,23,42,.22); }
.dashboard-kpi-section-title {
    display:flex;
    align-items:center;
    gap:8px;
    margin: 0 0 10px 2px;
    color: var(--bm-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.dashboard-kpi-section-title:not(:first-child) { margin-top: 16px; }
.dashboard-kpi {
    --kpi-accent: #64748b;
    --kpi-bg: rgba(100,116,139,.055);
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15,23,42,.045) !important;
    border: 1px solid var(--bm-border) !important;
    border-left: 4px solid var(--kpi-accent) !important;
    background: linear-gradient(135deg, var(--kpi-bg), var(--bm-card-bg) 62%) !important;
}
.dashboard-kpi::after {
    content: "";
    position: absolute;
    width: 76px;
    height: 76px;
    right: -24px;
    top: -28px;
    border-radius: 50%;
    background: var(--kpi-bg);
    pointer-events: none;
}
.dashboard-kpi .card-body { padding: 1.05rem 1.1rem; position:relative; z-index:1; }
.dashboard-kpi-label {
    display:flex;
    align-items:center;
    gap:7px;
    color: var(--bm-muted);
    font-size: .77rem;
    font-weight: 780;
}
.dashboard-kpi-label i {
    width: 27px;
    height: 27px;
    display:inline-grid;
    place-items:center;
    border-radius:8px;
    color: var(--kpi-accent);
    background: var(--kpi-bg);
    font-size:.88rem;
}
.dashboard-kpi-value {
    margin-top: 9px;
    color: var(--kpi-accent);
    font-size: 1.58rem;
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -.04em;
}
.dashboard-kpi-meta { margin-top:8px; color:var(--bm-muted); font-size:.72rem; }
.dashboard-kpi-primary { --kpi-accent:#2563eb; --kpi-bg:rgba(37,99,235,.085); }
.dashboard-kpi-info { --kpi-accent:#0891b2; --kpi-bg:rgba(8,145,178,.085); }
.dashboard-kpi-neutral { --kpi-accent:#7c3aed; --kpi-bg:rgba(124,58,237,.075); }
.dashboard-kpi-warning { --kpi-accent:#d97706; --kpi-bg:rgba(217,119,6,.09); }
.dashboard-kpi-danger { --kpi-accent:#dc2626; --kpi-bg:rgba(220,38,38,.075); }
.dashboard-kpi-success { --kpi-accent:#059669; --kpi-bg:rgba(5,150,105,.085); }
[data-bs-theme="dark"] .dashboard-kpi {
    box-shadow:none !important;
    background: linear-gradient(135deg, var(--kpi-bg), rgba(17,24,39,.98) 64%) !important;
}
.dashboard-performance-title {
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--bm-muted);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin: 2px 0 10px 2px;
}


/* Dashboard monthly performance cards */
.betmanager-app .card-admin-cpa { background: linear-gradient(135deg, rgba(37,99,235,.065), var(--bm-card-bg) 65%) !important; }
.betmanager-app .card-admin-comm { background: linear-gradient(135deg, rgba(217,119,6,.07), var(--bm-card-bg) 65%) !important; }
.betmanager-app .card-admin-profit { background: linear-gradient(135deg, rgba(22,163,74,.065), var(--bm-card-bg) 65%) !important; }
.betmanager-app .card-todo { background: linear-gradient(135deg, rgba(217,119,6,.06), var(--bm-card-bg) 65%) !important; }
[data-bs-theme="dark"] .betmanager-app .card-admin-cpa { background: linear-gradient(135deg, rgba(37,99,235,.11), var(--bm-card-bg) 70%) !important; }
[data-bs-theme="dark"] .betmanager-app .card-admin-comm { background: linear-gradient(135deg, rgba(217,119,6,.10), var(--bm-card-bg) 70%) !important; }
[data-bs-theme="dark"] .betmanager-app .card-admin-profit { background: linear-gradient(135deg, rgba(22,163,74,.10), var(--bm-card-bg) 70%) !important; }
[data-bs-theme="dark"] .betmanager-app .card-todo { background: linear-gradient(135deg, rgba(217,119,6,.09), var(--bm-card-bg) 70%) !important; }


/* v8.13 - stronger dashboard KPI accents */
.dashboard-kpi {
    border-width: 1px !important;
    border-left-width: 5px !important;
}
.dashboard-kpi-primary { background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-info { background: linear-gradient(135deg, rgba(8,145,178,.15), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-neutral { background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-warning { background: linear-gradient(135deg, rgba(217,119,6,.16), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-danger { background: linear-gradient(135deg, rgba(220,38,38,.14), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-success { background: linear-gradient(135deg, rgba(5,150,105,.15), rgba(255,255,255,.98) 68%) !important; }
.dashboard-kpi-label { color: var(--bm-text) !important; }
.dashboard-kpi-value { font-size: 1.72rem !important; }
.dashboard-kpi-section { background: rgba(255,255,255,.18) !important; }
[data-bs-theme="dark"] .dashboard-kpi-primary { background: linear-gradient(135deg, rgba(37,99,235,.20), rgba(17,24,39,.98) 70%) !important; }
[data-bs-theme="dark"] .dashboard-kpi-info { background: linear-gradient(135deg, rgba(8,145,178,.18), rgba(17,24,39,.98) 70%) !important; }
[data-bs-theme="dark"] .dashboard-kpi-neutral { background: linear-gradient(135deg, rgba(124,58,237,.18), rgba(17,24,39,.98) 70%) !important; }
[data-bs-theme="dark"] .dashboard-kpi-warning { background: linear-gradient(135deg, rgba(217,119,6,.18), rgba(17,24,39,.98) 70%) !important; }
[data-bs-theme="dark"] .dashboard-kpi-danger { background: linear-gradient(135deg, rgba(220,38,38,.17), rgba(17,24,39,.98) 70%) !important; }
[data-bs-theme="dark"] .dashboard-kpi-success { background: linear-gradient(135deg, rgba(5,150,105,.18), rgba(17,24,39,.98) 70%) !important; }


/* ========================================================================== */
/* BEXUM CARD SYSTEM v8.14 — unico template per tutto il gestionale           */
/* ========================================================================== */
.betmanager-app .card {
    --bm-card-accent: #cbd5e1;
    background: var(--bm-card-bg) !important;
    color: var(--bm-text) !important;
    border: 1px solid var(--bm-border) !important;
    border-top: 3px solid var(--bm-card-accent) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .055) !important;
    overflow: hidden;
}
.betmanager-app .card .card-header {
    min-height: 54px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: transparent !important;
    border-bottom: 1px solid var(--bm-border) !important;
    padding: .9rem 1rem !important;
}
.betmanager-app .card .card-body { padding: 1rem !important; }
.betmanager-app .card.shadow-sm,
.betmanager-app .card.shadow,
.betmanager-app .card.shadow-lg { box-shadow: 0 8px 24px rgba(15, 23, 42, .055) !important; }
.betmanager-app .card.border-0 { border: 1px solid var(--bm-border) !important; border-top: 3px solid var(--bm-card-accent) !important; }
.betmanager-app .card.border-start { border-left: 1px solid var(--bm-border) !important; }
.betmanager-app .card.border-primary { --bm-card-accent:#2563eb; }
.betmanager-app .card.border-success { --bm-card-accent:#16a34a; }
.betmanager-app .card.border-warning { --bm-card-accent:#d97706; }
.betmanager-app .card.border-danger { --bm-card-accent:#dc2626; }
.betmanager-app .card.border-info { --bm-card-accent:#0891b2; }
.betmanager-app .dashboard-kpi-primary,
.betmanager-app .card-admin-cpa { --bm-card-accent:#2563eb; }
.betmanager-app .dashboard-kpi-info,
.betmanager-app .card-collab-1 { --bm-card-accent:#0891b2; }
.betmanager-app .dashboard-kpi-neutral { --bm-card-accent:#7c3aed; }
.betmanager-app .dashboard-kpi-warning,
.betmanager-app .card-admin-comm,
.betmanager-app .card-todo { --bm-card-accent:#d97706; }
.betmanager-app .dashboard-kpi-danger { --bm-card-accent:#dc2626; }
.betmanager-app .dashboard-kpi-success,
.betmanager-app .card-admin-profit { --bm-card-accent:#16a34a; }
.betmanager-app .card-staff-quota { --bm-card-accent:#7c3aed; }
.betmanager-app .dashboard-kpi,
.betmanager-app .card-admin-cpa,
.betmanager-app .card-admin-comm,
.betmanager-app .card-admin-profit,
.betmanager-app .card-staff-quota,
.betmanager-app .card-todo,
.betmanager-app .card-collab-1 {
    background: var(--bm-card-bg) !important;
    color: var(--bm-text) !important;
}
.betmanager-app .dashboard-kpi::before,
.betmanager-app .dashboard-kpi::after { display:none !important; }
.betmanager-app .dashboard-kpi-label { color:var(--bm-muted) !important; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.025em; }
.betmanager-app .dashboard-kpi-value { font-size:1.55rem; font-weight:850; letter-spacing:-.035em; color:var(--bm-text) !important; margin:.25rem 0 .15rem; }
.betmanager-app .dashboard-kpi-meta { color:var(--bm-muted) !important; font-size:.78rem; }
.betmanager-app .dashboard-kpi-primary .dashboard-kpi-value { color:#2563eb !important; }
.betmanager-app .dashboard-kpi-info .dashboard-kpi-value { color:#0891b2 !important; }
.betmanager-app .dashboard-kpi-neutral .dashboard-kpi-value { color:#7c3aed !important; }
.betmanager-app .dashboard-kpi-warning .dashboard-kpi-value { color:#d97706 !important; }
.betmanager-app .dashboard-kpi-danger .dashboard-kpi-value { color:#dc2626 !important; }
.betmanager-app .dashboard-kpi-success .dashboard-kpi-value { color:#16a34a !important; }
.betmanager-app .stat-tile {
    height:100%;
    background: var(--bm-card-bg) !important;
    border:1px solid var(--bm-border) !important;
    border-top:3px solid var(--bm-card-accent, #cbd5e1) !important;
    border-radius:12px !important;
    padding:1rem !important;
    text-align:center;
}
.betmanager-app .stat-tile-primary { --bm-card-accent:#2563eb; color:#2563eb; }
.betmanager-app .stat-tile-success { --bm-card-accent:#16a34a; color:#16a34a; }
.betmanager-app .stat-tile-info { --bm-card-accent:#0891b2; color:#0891b2; }
.betmanager-app .stat-tile-danger { --bm-card-accent:#dc2626; color:#dc2626; }
.betmanager-app .stat-tile-neutral { --bm-card-accent:#64748b; color:#475569; }
.betmanager-app .stat-tile .h3 { color:var(--bm-text); margin-top:.25rem; }
@media (max-width: 767.98px) {
    .betmanager-app .card .card-header { min-height:auto; }
}



/* BEXUM Typography System — one font everywhere */
:root {
    --bm-font: "Inter", "Segoe UI", Arial, sans-serif;
}

html,
body,
body *,
body *::before,
body *::after,
input,
select,
textarea,
button,
optgroup,
option,
table,
th,
td,
.badge,
.btn,
.form-control,
.form-select,
.dropdown-menu,
.modal,
.tooltip,
.popover {
    font-family: var(--bm-font) !important;
}

body {
    font-weight: 400;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.betmanager-brand-title,
.card-title,
.modal-title {
    font-family: var(--bm-font) !important;
    font-weight: 700;
    letter-spacing: -.025em;
}

.betmanager-sidebar .nav-link,
.betmanager-sidebar .nav-section,
label,
.form-label,
th,
.btn,
.badge {
    font-family: var(--bm-font) !important;
}

/* Numbers may be tabular, but never switch to a different font family. */
.card-number,
.psc-cardno,
.font-monospace,
code,
kbd,
pre {
    font-family: var(--bm-font) !important;
    font-variant-numeric: tabular-nums;
}


/* Dashboard information architecture v8.17 */
.dashboard-overview {
    background: rgba(255,255,255,.22);
    border: 1px solid var(--bm-border);
    border-radius: 18px;
    padding: 14px;
}
.dashboard-section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin:0 2px 10px;
}
.dashboard-section-heading-secondary { margin-top: 2px; }
.dashboard-section-kicker {
    color: var(--bm-text);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.dashboard-section-kicker i { color: var(--bm-muted); margin-right: 6px; }
.dashboard-section-note {
    color: var(--bm-muted);
    font-size: .76rem;
    margin-top: 2px;
}
.dashboard-kpi-compact .card-body { padding: .78rem .9rem !important; }
.dashboard-kpi-compact .dashboard-kpi-label { font-size: .68rem; }
.dashboard-kpi-compact .dashboard-kpi-value { font-size: 1.18rem !important; margin: .18rem 0 .08rem; }
.dashboard-kpi-compact .dashboard-kpi-meta { font-size: .70rem; }
.dashboard-detail-card { height:auto !important; min-height:0 !important; }
.dashboard-detail-card .scrollable-list { max-height: 320px; overflow-y:auto; }
.dashboard-operations-card { margin-top: .25rem; }
[data-bs-theme="dark"] .dashboard-overview { background: rgba(15,23,42,.18); }
@media (max-width: 1199.98px) {
    .dashboard-overview { padding: 12px; }
}


/* Dashboard finishing pass v8.18 */
.dashboard-alert-compact {
    padding: .68rem 2.8rem .68rem .9rem !important;
    font-size: .84rem;
    line-height: 1.35;
    border-radius: 12px !important;
}
.dashboard-alert-compact .btn-close {
    padding: .82rem !important;
}
.dashboard-insights-row > [class*="col-"] {
    align-self: flex-start;
}
.dashboard-reflink-card,
.dashboard-insights-row .dashboard-detail-card {
    height: auto !important;
    min-height: 0 !important;
}
.dashboard-reflink-card .scrollable-list {
    max-height: 260px;
    overflow-y: auto;
}
.dashboard-insights-row .card-header {
    min-height: 50px;
}
.dashboard-insights-row .list-group-item {
    padding-top: .7rem;
    padding-bottom: .7rem;
}
@media (max-width: 991.98px) {
    .dashboard-insights-row .col-lg-5,
    .dashboard-insights-row .col-lg-7 { width:100%; }
}
