/* CM Official — brand tokens (not Anmol red/blue) */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Syne:wght@600;700;800&display=swap');

:root {
    --cm-ink: #0a2422;
    --cm-forest: #0f3d3a;
    --cm-teal: #0f766e;
    --cm-teal-deep: #115e59;
    --cm-teal-bright: #14b8a6;
    --cm-mint: #f0f7f5;
    --cm-mint-2: #e6f2ef;
    --cm-surface: #ffffff;
    --cm-brass: #b45309;
    --cm-gold: #d97706;
    --cm-gold-soft: #fbbf24;
    --cm-danger: #b91c1c;
    --cm-ok: #047857;
    --cm-text: #14241f;
    --cm-muted: #5b6f69;
    --cm-line: #c5d9d3;
    --cm-shadow: rgba(15, 61, 58, 0.18);

    /* aliases used across legacy rules */
    --brand-bg: var(--cm-mint);
    --brand-primary: var(--cm-teal);
    --brand-secondary: var(--cm-forest);
    --brand-accent: var(--cm-gold);
    --brand-danger: var(--cm-danger);
    --brand-surface: var(--cm-surface);
    --brand-text: var(--cm-text);
    --brand-font: 'DM Sans', system-ui, sans-serif;
    --brand-display: 'Syne', 'DM Sans', system-ui, sans-serif;
}

/* Global brand typography override */
body {
    font-family: var(--brand-font) !important;
    background: var(--cm-mint);
    color: var(--cm-text);
}

body:not(.login-page) {
    background: var(--cm-mint) !important;
}

.login-header h1,
.sidebar-header h2,
.main-content h1,
.top-header h1 {
    font-family: var(--brand-display) !important;
    letter-spacing: -0.02em;
}

/* Brand mark */
.cm-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--cm-forest) 0%, var(--cm-teal) 55%, var(--cm-gold) 140%);
    color: #fff;
    font-family: var(--brand-display);
    font-weight: 800;
    font-size: 18px;
    letter-spacing: -0.04em;
    box-shadow: 0 10px 24px var(--cm-shadow);
}

.cm-brand-mark--sm {
    width: 36px;
    height: 36px;
    font-size: 12px;
    border-radius: 10px;
}

.sidebar-header .cm-brand-lockup {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.sidebar-header .cm-brand-lockup .cm-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

.sidebar-header .cm-brand-lockup .cm-brand-text strong {
    font-family: var(--brand-display);
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.sidebar-header .cm-brand-lockup .cm-brand-text span {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(251, 191, 36, 0.92);
}


/* ===== FORCE BRAND CHROME (beats cached leftovers / leftover inline) ===== */
.sidebar {
    background: linear-gradient(180deg, #0a2422 0%, #0f3d3a 55%, #115e59 100%) !important;
    border-right: 1px solid rgba(20, 184, 166, 0.25) !important;
}
.sidebar-header {
    background: rgba(10, 36, 34, 0.55) !important;
    border-bottom: 1px solid rgba(251, 191, 36, 0.28) !important;
}
.top-header {
    background: linear-gradient(90deg, #0f3d3a 0%, #0f766e 70%, #b45309 160%) !important;
    border-bottom: 1px solid rgba(251, 191, 36, 0.35) !important;
}
.nav-item.active {
    background: rgba(20, 184, 166, 0.28) !important;
    border-left-color: #fbbf24 !important;
}
.data-table thead,
.data-table th,
table.data-table thead th,
.table-header,
.card-header {
    background: linear-gradient(135deg, #0f3d3a 0%, #0f766e 100%) !important;
    color: #fff !important;
    border-color: #0f766e !important;
}
.stat-card {
    border-color: #0f766e !important;
}
.btn-primary {
    background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%) !important;
    border-color: #14b8a6 !important;
    color: #fff !important;
}
.main-content {
    background: #f0f7f5 !important;
}
