@import "tailwindcss";

/* ─── Dark mode via class ───────────────────────────────── */
@custom-variant dark (&:where(.dark, .dark *));

/* ─── Icon Fix ───────────────────────────────── */
.ui-icon {
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    vertical-align: middle;
}
button .ui-icon,
a .ui-icon,
.app-btn .ui-icon {
    font-size: 1.125rem;
}
.ui-icon-lg {
    font-size: 1.25rem;
}
.ui-icon-xl {
    font-size: 1.5rem;
}
.ui-icon-2xl {
    font-size: 2rem;
}

/* ─── Primary colour palette ───────────────────────────── */
:root {
    /* Brand (primary) */
    --c-primary:        #2563eb;
    --c-primary-dark:   #1d4ed8;
    --c-primary-darker: #1e40af;
    --c-primary-deepest:#1e3a8a;
    --c-primary-light:  #60a5fa;
    --c-primary-muted:  #93c5fd;
    --c-primary-pale:   #bfdbfe;
    --c-primary-ghost:  #dbeafe;
    --c-primary-bg:     #eff6ff;
    --c-primary-rgb:    37,99,235;

    /* Surface tokens — light mode */
    --surface-50:  #f8fafc;
    --surface-100: #f1f5f9;
    --surface-200: #e2e8f0;
    --surface-300: #cbd5e1;
    --surface-400: #94a3b8;
    --surface-500: #64748b;
    --surface-600: #475569;
    --surface-700: #334155;
    --surface-800: #1e293b;
    --surface-900: #0f172a;
    --surface-950: #020617;

    /* Semantic aliases */
    --bg-page:      #f1f5f9;
    --bg-card:      #ffffff;
    --bg-sidebar:   #0a0e12;
    --sidebar-border: rgba(255,255,255,.08);
    --sidebar-link:   rgba(255,255,255,.68);
    --sidebar-link-hover-bg: rgba(255,255,255,.06);
    --sidebar-link-hover: #ffffff;
    --sidebar-link-active-bg: linear-gradient(135deg, rgba(37,99,235,.24) 0%, rgba(59,130,246,.14) 100%);
    --sidebar-link-active: #ffffff;
    --sidebar-icon:   rgba(255,255,255,.38);
    --sidebar-icon-hover: rgba(255,255,255,.82);
    --sidebar-section: rgba(255,255,255,.34);
    --sidebar-section-line: rgba(255,255,255,.08);
    --sidebar-search-bg: rgba(255,255,255,.05);
    --sidebar-search-border: rgba(255,255,255,.08);
    --sidebar-search-color: rgba(255,255,255,.92);
    --sidebar-search-placeholder: rgba(255,255,255,.28);
    --border:       #e2e8f0;
    --border-subtle:#f1f5f9;
    --text-primary: #0f172a;
    --text-secondary:#64748b;
    --text-muted:   #94a3b8;
    --text-inverse: #ffffff;

    /* Shadows */
    --shadow-card:    0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
    --shadow-dropdown:0 8px 24px -4px rgba(15,23,42,.12), 0 2px 8px -2px rgba(15,23,42,.06);
    --shadow-modal:   0 20px 60px rgba(15,23,42,.18);

    /* Radius */
    --radius-sm:  6px;
    --radius-md:  8px;
    --radius-lg:  10px;
    --radius-xl:  12px;
    --radius-2xl: 14px;
}

.dark {
    --surface-50:  #0f172a;
    --surface-100: #1e293b;
    --surface-200: #334155;
    --surface-300: #475569;
    --surface-400: #64748b;
    --surface-500: #94a3b8;
    --surface-600: #cbd5e1;
    --surface-700: #e2e8f0;
    --surface-800: #f1f5f9;
    --surface-900: #f8fafc;
    --surface-950: #ffffff;

    --bg-page:      #020617;
    --bg-card:      #111827;
    --bg-sidebar:   #0f172a;
    --sidebar-border: rgba(255,255,255,.06);
    --sidebar-link:   rgba(255,255,255,.45);
    --sidebar-link-hover-bg: rgba(255,255,255,.04);
    --sidebar-link-hover: rgba(255,255,255,.85);
    --sidebar-link-active-bg: rgba(255,255,255,.07);
    --sidebar-link-active: #ffffff;
    --sidebar-icon:   rgba(255,255,255,.28);
    --sidebar-icon-hover: rgba(255,255,255,.6);
    --sidebar-section: rgba(255,255,255,.28);
    --sidebar-section-line: rgba(255,255,255,.06);
    --sidebar-search-bg: rgba(255,255,255,.06);
    --sidebar-search-border: rgba(255,255,255,.08);
    --sidebar-search-color: rgba(255,255,255,.85);
    --sidebar-search-placeholder: rgba(255,255,255,.22);
    --border:       rgba(148,163,184,.15);
    --border-subtle:rgba(148,163,184,.08);
    --text-primary: #f1f5f9;
    --text-secondary:#94a3b8;
    --text-muted:   #64748b;

    --shadow-card:    0 1px 3px rgba(0,0,0,.3);
    --shadow-dropdown:0 8px 24px -4px rgba(0,0,0,.4);
    --shadow-modal:   0 20px 60px rgba(0,0,0,.6);
}

/* ─── Base ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    height: 100%;
    overflow: hidden;
}

html {
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: 'Cairo', ui-sans-serif, system-ui, sans-serif;
    line-height: 1.6;
    background: var(--bg-page);
    color: var(--text-primary);
}

.dark body { background: var(--bg-page); color: var(--text-primary); }

::-webkit-scrollbar { width: 3px; height: 3px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--surface-600); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--surface-700); }

/* Local icon fallback for ui-icon-* class names, without loading external icon fonts. */
.ui-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-style: normal;
    font-weight: 900;
    color: currentColor;
    vertical-align: -.125em;
}


/* ─── Layout ────────────────────────────────────────────── */
.app-shell { display: flex; height: 100dvh; width: 100%; overflow: hidden; }

/* ── Sidebar ── */
.app-sidebar {
    width: 260px; flex-shrink: 0; display: flex; flex-direction: column;
    background: var(--bg-sidebar);
    border-inline-end: 1px solid var(--sidebar-border);
    box-shadow: 0 24px 80px rgba(2,6,23,.18);
    position: fixed; inset-block: 0; inset-inline-start: 0;
    z-index: 50; transition: transform .28s ease, width .28s ease, background .2s; overflow: hidden;
}
.app-sidebar.collapsed { width: 72px; }

/* Pre-collapse flash prevention */
.sidebar-pre-collapsed .app-sidebar { width: 72px; }
.sidebar-pre-collapsed .app-main { width: calc(100% - 72px); margin-inline-start: 72px; }
.sidebar-pre-collapsed .app-sidebar .sidebar-link-text,
.sidebar-pre-collapsed .app-sidebar .sidebar-section-label,
.sidebar-pre-collapsed .app-sidebar .sidebar-dropdown__arrow,
.sidebar-pre-collapsed .app-sidebar .app-sidebar-logo-text { display: none; }
.sidebar-pre-collapsed .app-sidebar .sidebar-link { width: 44px; height: 36px; padding: 0; gap: 0; justify-content: center; margin-inline: auto; }

/* Logo */
.app-sidebar-logo {
    height: 56px; display: flex; align-items: center;
    padding-inline: 1rem; border-bottom: 1px solid var(--sidebar-border);
    flex-shrink: 0; gap: .75rem; overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 100%);
}
.app-sidebar-logo-mark {
    width: 32px; height: 32px; border-radius: 8px;
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
    display: inline-flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1rem; flex-shrink: 0;
    box-shadow: 0 10px 24px rgba(37,99,235,.35);
}
.app-sidebar-logo-text { min-width: 0; overflow: hidden; transition: opacity .2s, width .28s; }
.app-sidebar.collapsed .app-sidebar-logo-text { opacity: 0; width: 0; }
.app-header-mobile-logo {
    display: inline-flex;
}
@media (min-width: 1024px) {
    .app-header-mobile-logo {
        display: none;
    }
}

/* Search */
.app-sidebar-search {
    padding: .625rem .75rem;
    border-bottom: 1px solid var(--sidebar-border);
    flex-shrink: 0;
}
.app-sidebar.collapsed .app-sidebar-search { display: none; }
.app-sidebar-search__wrap {
    display: flex; align-items: center; gap: .5rem;
    background: var(--sidebar-search-bg);
    border: 1px solid var(--sidebar-search-border);
    border-radius: 10px;
    padding: .4rem .65rem;
    transition: border-color .15s, background .15s, box-shadow .15s;
    backdrop-filter: blur(12px);
}
.app-sidebar-search__wrap:focus-within {
    background: var(--sidebar-search-bg);
    border-color: rgba(var(--c-primary-rgb), .35);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb), .14), 0 10px 30px rgba(15,23,42,.22);
}
.app-sidebar-search__ico { color: var(--sidebar-icon); font-size: .75rem; flex-shrink: 0; }
.app-sidebar-search__wrap:focus-within .app-sidebar-search__ico { color: var(--c-primary); }
.app-sidebar-search__input {
    flex: 1; background: transparent; border: none;
    color: var(--sidebar-search-color);
    font-size: .78rem; font-weight: 500; font-family: inherit; outline: none;
}
.app-sidebar-search__input::placeholder { color: var(--sidebar-search-placeholder); }

/* Scroll area */
.app-sidebar-scroll { flex: 1 1 auto; overflow-y: auto !important; padding: .5rem .625rem; }
.app-sidebar-scroll.is-filtering .sidebar-link.active {
    background: var(--sidebar-link-active-bg);
    color: var(--sidebar-link-active) !important;
}
.app-sidebar.collapsed .app-sidebar-scroll { padding-inline: .625rem; }
.app-sidebar-scroll::-webkit-scrollbar { width: 3px !important; }
.app-sidebar-scroll::-webkit-scrollbar-track { background: transparent !important; }
.app-sidebar-scroll::-webkit-scrollbar-thumb { background: var(--sidebar-section-line) !important; border-radius: 999px !important; }

/* Section dividers */
.sidebar-section-label {
    display: flex; align-items: center; gap: .5rem;
    padding: 1rem .5rem .375rem; overflow: hidden;
    transition: opacity .2s;
}
.sidebar-section-label::before,
.sidebar-section-label::after { content: ''; flex: 1; height: 1px; background: var(--sidebar-section-line); }
.sidebar-section-label span { font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sidebar-section); white-space: nowrap; }
.app-sidebar.collapsed .sidebar-section-label { opacity: 0; height: 0; padding: 0; }

/* Groups */
.sg { margin-bottom: .375rem; }
.sg__label { display: none; }

/* Links */
.sidebar-link {
    display: flex; align-items: center; gap: .625rem;
    padding: 0 .75rem; height: 36px; border-radius: 10px;
    color: var(--sidebar-link) !important;
    text-decoration: none !important;
    font-size: .8125rem; font-weight: 500;
    margin-bottom: 1px;
    transition: background .12s, color .12s, transform .12s, box-shadow .12s;
    position: relative;
}
.sidebar-link:hover {
    background: var(--sidebar-link-hover-bg);
    color: var(--sidebar-link-hover) !important;
    transform: translateX(-1px);
}
.sidebar-link.active {
    background: var(--sidebar-link-active-bg);
    color: var(--sidebar-link-active) !important;
    font-weight: 600;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(2,6,23,.18);
}
.sidebar-link.active::before {
    content: ""; position: absolute;
    inset-block: 6px; inset-inline-start: 0;
    width: 3px; border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, #60a5fa 0%, #2563eb 100%);
    box-shadow: 0 0 12px rgba(96,165,250,.45);
}

/* Icon */
.sidebar-icon {
    width: 16px; text-align: center;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: .8125rem;
    color: var(--sidebar-icon);
    transition: color .12s;
}
.sidebar-link:hover .sidebar-icon { color: var(--sidebar-icon-hover); }
.sidebar-link.active .sidebar-icon { color: var(--c-primary); }

/* Text */
.sidebar-link-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-sidebar.collapsed .sidebar-link-text { display: none; }
.app-sidebar.collapsed .sidebar-section-label { display: none; }
.app-sidebar.collapsed .sidebar-dropdown__arrow { display: none; }
.app-sidebar.collapsed .sidebar-link {
    width: 44px; height: 36px; padding: 0; gap: 0;
    justify-content: center; border-radius: 10px; margin-inline: auto;
}
.app-sidebar.collapsed .sidebar-link .sidebar-icon { width: auto; font-size: .9375rem; color: var(--sidebar-icon); }
.app-sidebar.collapsed .sidebar-link:hover .sidebar-icon { color: var(--sidebar-icon-hover); }
.app-sidebar.collapsed .sidebar-link.active { background: rgba(var(--c-primary-rgb),.12); }
.app-sidebar.collapsed .sidebar-link.active .sidebar-icon { color: var(--c-primary); }
.app-sidebar.collapsed .sidebar-link.active::before { display: none; }

/* Tooltip */
.app-sidebar.collapsed .sidebar-link::after {
    content: attr(title);
    position: absolute; inset-inline-start: calc(100% + 8px); top: 50%; transform: translateY(-50%);
    background: var(--bg-card); color: var(--text-primary);
    font-size: .75rem; font-weight: 600;
    padding: .3rem .6rem; border-radius: 7px;
    white-space: nowrap; pointer-events: none;
    opacity: 0; transition: opacity .15s; z-index: 200;
    box-shadow: var(--shadow-dropdown);
    border: 1px solid var(--border);
}
.app-sidebar.collapsed .sidebar-link:hover::after { opacity: 1; }

/* Dropdown */
.sidebar-dropdown { position: relative; }
.sidebar-dropdown__toggle { cursor: pointer; user-select: none; }
.sidebar-dropdown__toggle .sidebar-dropdown__arrow {
    margin-inline-start: auto; font-size: .6rem;
    transition: transform .2s; flex-shrink: 0;
    color: var(--sidebar-icon);
}
.sidebar-dropdown.open .sidebar-dropdown__arrow { transform: rotate(180deg); }
.sidebar-dropdown__menu { display: none; padding-inline-start: .875rem; margin-top: 1px; }
.sidebar-dropdown.open .sidebar-dropdown__menu { display: block; }
.sidebar-dropdown__menu .sidebar-link { font-size: .775rem; height: 32px; }
.app-sidebar.collapsed .sidebar-dropdown__toggle .sidebar-dropdown__arrow { display: none; }
.app-sidebar.collapsed .sidebar-dropdown__menu { display: none !important; }

.app-main {
    flex: 1 1 auto;
    width: calc(100% - 260px);
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100dvh;
    margin-inline-start: 260px;
    transition: margin-inline-start .28s ease, width .28s ease;
}
.app-main.sidebar-collapsed {
    width: calc(100% - 72px);
    margin-inline-start: 72px;
}

/* ─── Header ────────────────────────────────────────────── */
.app-header {
    height: 56px;
    width: 100%;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 1rem;
    gap: .75rem;
    background: var(--bg-card);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 40;
}
.dark .app-header { background: var(--bg-card); border-bottom-color: var(--border); }

.app-header-start {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}

.app-header-breadcrumb {
    display: none;
    align-items: center;
    gap: .375rem;
    font-size: .8125rem;
    color: var(--text-secondary);
}
.dark .app-header-breadcrumb { color: var(--text-secondary); }
.app-header-breadcrumb span { font-weight: 600; color: var(--surface-700); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dark .app-header-breadcrumb span { color: var(--surface-700); }
.app-header-breadcrumb-sep { font-size: .5rem; color: var(--surface-300); }
.dark .app-header-breadcrumb-sep { color: var(--surface-300); }
@media (min-width: 640px) { .app-header-breadcrumb { display: flex; } }

.app-header-actions { display: flex; align-items: center; gap: .25rem; flex-shrink: 0; min-width: 0; }

/* ── Header icon button ── */
.hdr-btn {
    width: 32px; height: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--radius-sm); border: none; background: transparent;
    color: var(--text-secondary); font-size: .875rem; cursor: pointer;
    transition: background .12s, color .12s;
    position: relative; flex-shrink: 0;
    text-decoration: none;
}
.hdr-btn:hover { background: var(--surface-100); color: var(--surface-700); }
.hdr-btn:focus-visible {
    outline: none;
    background: var(--surface-100);
    color: var(--surface-800);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.12);
}
.hdr-btn[aria-expanded="true"] {
    background: var(--surface-100);
    color: var(--surface-800);
}
.dark .hdr-btn { color: var(--text-secondary); }
.dark .hdr-btn:hover { background: var(--surface-100); color: var(--surface-700); }
.dark .hdr-btn:focus-visible {
    background: rgba(255,255,255,.08);
    color: var(--text-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.2);
}
.dark .hdr-btn[aria-expanded="true"] {
    background: rgba(255,255,255,.08);
    color: var(--text-primary);
}
.hdr-btn--desktop-only {
    display: none !important;
}
@media (min-width: 1024px) {
    .hdr-btn--desktop-only {
        display: inline-flex !important;
    }
}
.hdr-btn-active { color: #16a34a !important; background: #f0fdf4 !important; }
.dark .hdr-btn-active { background: rgba(22,163,74,.15) !important; }

/* ── Header divider ── */
.hdr-divider { width: 1px; height: 20px; background: var(--border); margin-inline: .25rem; }
.dark .hdr-divider { background: var(--border); }

/* ── Header dropdown ── */
.hdr-dropdown {
    position: absolute; top: calc(100% + 6px);
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); box-shadow: var(--shadow-dropdown);
    overflow: hidden; z-index: 50;
}
.dark .hdr-dropdown { background: var(--bg-card); border-color: var(--border); }

/* ── Header menu item ── */
.hdr-menu-item {
    display: flex; align-items: center; gap: .625rem;
    width: 100%; padding: .5rem .75rem; border-radius: var(--radius-sm);
    font-size: .8125rem; font-weight: 500;
    color: var(--surface-600); text-decoration: none;
    transition: background .12s, color .12s;
    background: none; border: none; cursor: pointer; text-align: start;
}
.hdr-menu-item:hover { background: var(--surface-50); color: var(--text-primary); }
.dark .hdr-menu-item { color: var(--text-secondary); }
.dark .hdr-menu-item:hover { background: var(--surface-100); color: var(--text-primary); }


.app-toolbar {
    flex-shrink: 0;
    padding: .75rem 1.5rem; display: flex; align-items: center;
    justify-content: space-between; gap: .75rem; flex-wrap: wrap;
    border-bottom: 1px solid var(--border-subtle); background: var(--bg-card);
}
.dark .app-toolbar { background: var(--bg-card); border-bottom-color: var(--border); }
.app-toolbar-leading { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; flex: 1 1 auto; }
.app-toolbar-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }

.app-content {
    flex: 1 1 auto;
    min-height: 0;
    padding: 1.5rem;
    overflow-y: auto;
    overflow-x: clip;
    scrollbar-width: thin;
    scrollbar-color: var(--surface-300) transparent;
    background: var(--bg-page);
    display: flex;
    flex-direction: column;
}
.app-content::-webkit-scrollbar { width: 3px; }
.app-content::-webkit-scrollbar-track { background: transparent; }
.app-content::-webkit-scrollbar-thumb { background: var(--surface-300); border-radius: 999px; }

/* ─── Sidebar overlay mobile ────────────────────────────── */
.sidebar-overlay { display: none; position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 35; backdrop-filter: blur(2px); }
.sidebar-overlay.active { display: block; }

@media (max-width: 1023px) {
    .app-sidebar { transform: translateX(100%); width: 260px !important; }
    html[dir="ltr"] .app-sidebar { transform: translateX(-100%); }
    .app-sidebar.mobile-open { transform: translateX(0); }
    .app-main { width: 100% !important; margin-inline-start: 0 !important; }
    .sidebar-pre-collapsed .app-sidebar { width: 260px; }
    .app-sidebar.collapsed .app-sidebar-logo-text {
        display: block;
        opacity: 1;
        width: auto;
    }
    .app-sidebar.collapsed .app-sidebar-search {
        display: block;
    }
    .app-sidebar.collapsed .sidebar-section-label,
    .app-sidebar.collapsed .sidebar-link-text,
    .app-sidebar.collapsed .sidebar-dropdown__arrow {
        display: flex;
    }
    .app-sidebar.collapsed .sidebar-section-label {
        opacity: 1;
        height: auto;
        padding: 1rem .5rem .375rem;
    }
    .app-sidebar.collapsed .sidebar-link {
        width: auto;
        height: 36px;
        padding: 0 .75rem;
        gap: .625rem;
        justify-content: flex-start;
        margin-inline: 0;
    }
    .app-sidebar.collapsed .sidebar-link .sidebar-icon {
        width: 16px;
        font-size: .8125rem;
    }
    .app-sidebar.collapsed .sidebar-link.active {
        background: var(--sidebar-link-active-bg);
    }
    .app-sidebar.collapsed .sidebar-link.active::before {
        display: block;
    }
    .app-sidebar.collapsed .sidebar-link::after {
        display: none;
    }
    .app-sidebar.collapsed .sidebar-dropdown.open .sidebar-dropdown__menu {
        display: block !important;
    }
}

@media (max-width: 767.98px) {
    .app-header {
        padding-inline: .75rem;
        gap: .5rem;
    }
}

@media (max-width: 380px) {
    .app-header {
        padding-inline: .5rem;
        gap: .375rem;
    }

    .app-header-actions {
        gap: .125rem;
    }

    .hdr-btn {
        width: 30px;
        height: 30px;
    }
}

/* ─── Floating alerts ───────────────────────────────────── */
.floating-alerts { position: fixed; top: 80px; z-index: 9999; max-width: 360px; width: 100%; display: flex; flex-direction: column; gap: .5rem; }
html[dir="rtl"] .floating-alerts { left: 1.25rem; }
html[dir="ltr"] .floating-alerts { right: 1.25rem; }
.floating-alert-item { display: flex; align-items: flex-start; gap: .75rem; padding: .9rem 1.1rem; border-radius: 10px; border: 1px solid transparent; font-size: .875rem; font-weight: 700; box-shadow: 0 12px 28px rgba(15,23,42,.1); animation: slideIn .3s ease; }
@keyframes slideIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }
.floating-alert-item.success { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.floating-alert-item.error   { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }

/* ─── Notif / User menus ────────────────────────────────── */
.notif-menu { width: min(92vw,380px); border-radius: 14px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 24px 60px rgba(15,23,42,.14); background: #fff; }
.dark .notif-menu { background: #1a1a1a; border-color: var(--border); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.notif-menu-hero { padding: 1.25rem 1.5rem; background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%); }
.notif-card { display: flex; align-items: flex-start; gap: .75rem; padding: .85rem; border: 1px solid var(--border); border-radius: 10px; transition: background .18s, border-color .18s, transform .18s; }
.dark .notif-card { border-color: var(--border); }
.notif-card + .notif-card { margin-top: .6rem; }
.notif-card:hover { background: var(--surface-50); border-color: #a7f3d0; transform: translateY(-1px); }
.dark .notif-card:hover { background: rgba(13,148,136,.1); border-color: rgba(94,234,212,.2); }
.notif-icon { width: 40px; height: 40px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--c-primary-bg); color: var(--c-primary-dark); flex-shrink: 0; }
.dark .notif-icon { background: rgba(99,102,241,.2); color: var(--c-primary-muted); }
.user-menu { width: min(92vw,300px); border-radius: 14px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 24px 60px rgba(15,23,42,.16); background: #fff; }
.dark .user-menu { background: #1a1a1a; border-color: var(--border); }
.user-menu-hero { padding: 1.25rem; background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 100%); }
.user-menu-link { display: flex; align-items: center; gap: .75rem; padding: .75rem .85rem; border-radius: 10px; color: var(--text-primary); text-decoration: none; font-size: .875rem; font-weight: 700; transition: background .18s, border-color .18s, transform .18s; border: 1px solid transparent; }
.dark .user-menu-link { color: var(--text-primary); }
.user-menu-link + .user-menu-link { margin-top: .35rem; }
.user-menu-link:hover { background: var(--c-primary-bg); border-color: var(--c-primary-pale); transform: translateY(-1px); }
.dark .user-menu-link:hover { background: rgba(var(--c-primary-rgb, 37,99,235),.1); border-color: rgba(var(--c-primary-rgb, 37,99,235),.2); }
.user-menu-icon { width: 38px; height: 38px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--c-primary-ghost) !important; color: var(--c-primary) !important; flex-shrink: 0; }
.dark .user-menu-icon { background: rgba(var(--c-primary-rgb),.18) !important; color: var(--c-primary-muted) !important; }
.user-menu-link.logout { color: #dc2626; }
.user-menu-link.logout .user-menu-icon { background: #fef2f2; color: #dc2626; }
.user-menu-link.logout:hover { background: #fef2f2; border-color: #fecaca; }
.dark .user-menu-link.logout { color: #fca5a5; }
.dark .user-menu-link.logout .user-menu-icon { background: rgba(220,38,38,.14); color: #fca5a5; }
.quick-actions-menu { width: 160px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); box-shadow: 0 16px 40px rgba(15,23,42,.1); background: #fff; padding: .35rem; }
.dark .quick-actions-menu { background: #1a1a1a; border-color: var(--border); }
.quick-action-link { display: flex; align-items: center; gap: .55rem; padding: .6rem .75rem; border-radius: 10px; font-size: .8rem; font-weight: 700; color: var(--text-primary); text-decoration: none; transition: background .15s; }
.dark .quick-action-link { color: var(--text-primary); }
.quick-action-link:hover { background: var(--surface-50); color: var(--c-primary-dark); }
.dark .quick-action-link:hover { background: rgba(13,148,136,.12); color: #5eead4; }
.quick-action-icon { width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: .85rem; }

/* ─── Footer ────────────────────────────────────────────── */
.app-footer { 
    padding: 1rem 1.5rem; 
    border-top: 1px solid var(--border); 
    background: var(--bg-card); 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    gap: .75rem; 
    flex-wrap: wrap; 
    font-size: .78rem; 
    font-weight: 700; 
    color: var(--text-muted);
    flex-shrink: 0;
}
.dark .app-footer { background: var(--bg-card); border-top-color: var(--border); color: var(--text-secondary); }

@media (max-width: 767.98px) {
    .app-footer {
        padding: .45rem .75rem;
        gap: .4rem;
        font-size: .68rem;
        line-height: 1.35;
    }
}

/* ─── Empty state ───────────────────────────────────────── */
.app-empty-state { min-height: 320px; border: 1px dashed var(--border); border-radius: var(--radius-xl); background: var(--bg-card); display: flex; align-items: center; justify-content: center; text-align: center; padding: 2rem; }
.dark .app-empty-state { background: var(--bg-card); border-color: var(--border); }
.app-empty-state__inner { max-width: 420px; }
.app-empty-state__icon { width: 82px; height: 82px; border-radius: 18px; margin: 0 auto 1.25rem; display: inline-flex; align-items: center; justify-content: center; background: var(--c-primary-bg); color: var(--c-primary-dark); }
.dark .app-empty-state__icon { background: rgba(99,102,241,.18); color: var(--c-primary-muted); }
.app-empty-state__title { color: var(--text-primary); font-size: 1.1rem; font-weight: 800; margin-bottom: .5rem; }
.dark .app-empty-state__title { color: var(--text-primary); }
.app-empty-state__text { color: var(--text-secondary); font-size: .95rem; line-height: 1.7; margin: 0; }
.dark .app-empty-state__text { color: var(--text-secondary); }
.app-index-empty-state { min-height: 420px; display: flex; align-items: center; justify-content: center; }
.app-index-empty-state > .app-empty-state { width: 100%; }

/* ─── Misc ──────────────────────────────────────────────── */
.divider { border: none; border-top: 1px solid var(--text-primary); margin: .5rem 0; }
.dark .divider { border-top-color: rgba(148,163,184,.12); }
.separator { border-top: 1px solid var(--text-primary); margin: .5rem 0; }
.dark .separator { border-top-color: rgba(148,163,184,.12); }
.dark .menu-sub-dropdown { position: absolute; z-index: 1000; }
.w-fit-content { width: fit-content; }

/* ─── x-cloak ───────────────────────────────────────────── */
[x-cloak] { display: none !important; }

/* ─── Sales focus mode ──────────────────────────────────── */
.sales-focus-mode .app-main { width: 100% !important; margin-inline-start: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   GLOBAL PAGE OVERRIDES
   Fix all inline <style> blocks across dashboard pages
   ═══════════════════════════════════════════════════════════ */

/* ── Shell containers (customers, collection, workspace, etc.) ── */
.collection-shell,
.customers-shell,
.workspace-shell {
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(15,23,42,.05) !important;
    overflow: hidden !important;
}
.dark .collection-shell,
.dark .customers-shell,
.dark .workspace-shell {
    border-color: var(--border) !important;
    background: var(--bg-card) !important;
    box-shadow: none !important;
}

/* ── Hero sections — hidden ── */
[class*="__hero"]:not([class*="adm-"]):not([class*="workspace-"]),
[class*="-hero"]:not([class*="adm-"]):not([class*="workspace-"]) {
    display: none !important;
}
/* Exceptions */
.sales-focus-board__hero { display: grid !important; }

/* ── Shell body padding ── */
.collection-shell__body,
.workspace-body {
    padding: 1.5rem !important;
}

/* ── Card headers inside shells ── */
[class*="-card__header"],
[class*="-card__header"] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 0 0 1.25rem !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    flex-wrap: wrap !important;
}
.dark [class*="-card__header"] { border-bottom-color: rgba(148,163,184,.1) !important; }

/* ── Card icons ── */
[class*="-card__icon"],
[class*="-card__icon"] {
    width: 2.5rem !important; height: 2.5rem !important;
    border-radius: 8px !important;
    background: var(--c-primary-bg) !important; color: var(--c-primary-dark) !important;
    font-size: .95rem !important;
}
.dark [class*="-card__icon"] { background: rgba(99,102,241,.18) !important; color: var(--c-primary-muted) !important; }

/* ── Card titles ── */
[class*="-card__title"] h2,
[class*="-card__title"] h3 {
    color: var(--text-primary) !important; font-size: .95rem !important; font-weight: 900 !important;
}
.dark [class*="-card__title"] h2,
.dark [class*="-card__title"] h3 { color: var(--text-primary) !important; }

[class*="-card__title"] p {
    color: var(--text-secondary) !important; font-size: .78rem !important; font-weight: 600 !important;
}
.dark [class*="-card__title"] p { color: var(--text-muted) !important; }

/* ── Card meta badges ── */
[class*="-card__meta"] {
    background: var(--c-primary-bg) !important; color: var(--c-primary-darker) !important;
    border-radius: 999px !important; font-size: .75rem !important; font-weight: 800 !important;
    padding: .35rem .75rem !important;
}
.dark [class*="-card__meta"] { background: rgba(99,102,241,.18) !important; color: var(--c-primary-muted) !important; }

/* ── Filter cards ── */
[class*="-filter-card"],
.collection-filter-card {
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    background: var(--surface-50) !important;
    padding: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}
.dark [class*="-filter-card"] {
    border-color: var(--border) !important;
    background: var(--surface-100) !important;
}

/* ── Name/ID cells ── */
[class*="-name-cell__name"],
[class*="-name-cell"] .font-bold { color: var(--text-primary) !important; font-weight: 800 !important; }
.dark [class*="-name-cell__name"] { color: var(--text-primary) !important; }

[class*="-name-cell__id"],
[class*="-name-cell"] .text-slate-500 { color: var(--text-muted) !important; font-size: .75rem !important; }

/* ── Phone chips ── */
[class*="-phone-chip"] {
    background: var(--surface-50) !important; border-color: var(--border) !important;
    border-radius: 12px !important; color: var(--surface-700) !important;
}
.dark [class*="-phone-chip"] {
    background: rgba(255,255,255,.04) !important;
    border-color: var(--border) !important; color: var(--text-primary) !important;
}
[class*="-phone-chip__action--call"]     { background: var(--c-primary-bg) !important; color: var(--c-primary-dark) !important; border-radius: 8px !important; }
[class*="-phone-chip__action--whatsapp"] { background: #f0fdf4 !important; color: #16a34a !important; border-radius: 8px !important; }

/* ── Stat badges ── */
[class*="-stat-badge"] {
    background: var(--c-primary-bg) !important; color: var(--c-primary-darker) !important;
    border-radius: 10px !important; font-weight: 800 !important;
}
.dark [class*="-stat-badge"] { background: rgba(99,102,241,.18) !important; color: var(--c-primary-muted) !important; }

/* ── Money values ── */
[class*="-money"] { color: var(--text-primary) !important; font-weight: 800 !important; }
.dark [class*="-money"] { color: var(--text-primary) !important; }

/* ── Toolbar ── */
[class*="-toolbar"],
.collection-toolbar {
    display: flex !important; align-items: center !important;
    gap: .75rem !important; flex-wrap: wrap !important;
}

/* ── Workspace shell cards ── */
.workspace-shell .app-card,
.workspace-shell .app-card--flush {
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 4px rgba(15,23,42,.04) !important;
}
.dark .workspace-shell .app-card {
    border-color: var(--border) !important;
    background: var(--bg-card) !important;
}
.workspace-shell .app-card__header {
    background: var(--surface-50) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    padding: 1rem 1.25rem !important;
}
.dark .workspace-shell .app-card__header {
    background: var(--bg-card) !important;
    border-bottom-color: rgba(148,163,184,.1) !important;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    [class*="-card__header"] { flex-direction: column !important; align-items: flex-start !important; }
    [class*="-toolbar"] { width: 100% !important; }
}
@media (max-width: 767.98px) {
    .collection-shell__body, .workspace-body { padding: 1rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   ADM-* DASHBOARD COMPONENTS (home + admin-home)
   ═══════════════════════════════════════════════════════════ */
.adm-hero { border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--border); box-shadow: 0 1px 4px rgba(0,0,0,.04); }
.dark .adm-hero { background: #111827; border-color: rgba(255,255,255,.08); }
.adm-hero__inner { padding: 2rem; display: flex; flex-wrap: wrap; gap: 2rem; align-items: center; justify-content: space-between; }
.adm-hero__eyebrow { color: var(--c-primary); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: .5rem; }
.adm-hero__title { color: var(--text-primary); font-size: clamp(1.4rem,3vw,2rem); font-weight: 900; margin: 0 0 .4rem; line-height: 1.2; }
.dark .adm-hero__title { color: var(--text-primary); }
.adm-hero__date  { color: var(--text-muted); font-size: .875rem; font-weight: 600; margin-bottom: 1rem; }
.adm-hero__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.adm-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 999px; font-size: .78rem; font-weight: 700; background: var(--text-primary); color: var(--surface-600); border: 1px solid var(--border); }
.dark .adm-chip { background: rgba(255,255,255,.06); color: var(--text-muted); border-color: rgba(255,255,255,.1); }
.adm-chip--danger  { background: #fef2f2; border-color: #fecaca; color: #dc2626; }
.dark .adm-chip--danger { background: rgba(220,38,38,.12); border-color: rgba(220,38,38,.25); color: #f87171; }
.adm-chip--success { background: #f0fdf4; border-color: #bbf7d0; color: #16a34a; }
.dark .adm-chip--success { background: rgba(22,163,74,.12); border-color: rgba(22,163,74,.25); color: #4ade80; }
.adm-hero__metrics { display: flex; gap: 1rem; flex-wrap: wrap; }
.adm-metric { padding: 1.1rem 1.4rem; border-radius: 10px; background: var(--surface-50); border: 1px solid var(--border); min-width: 140px; }
.dark .adm-metric { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.adm-metric--primary { border-color: var(--c-primary-pale); background: var(--c-primary-bg); }
.dark .adm-metric--primary { border-color: rgba(var(--c-primary-rgb),.25); background: rgba(var(--c-primary-rgb),.1); }
.adm-metric--warning { border-color: #fde68a; background: #fffbeb; }
.dark .adm-metric--warning { border-color: rgba(217,119,6,.25); background: rgba(217,119,6,.1); }
.adm-metric__label { color: var(--text-muted); font-size: .72rem; font-weight: 700; margin-bottom: .35rem; }
.adm-metric__value { color: var(--text-primary); font-size: 1.5rem; font-weight: 900; line-height: 1; margin-bottom: .2rem; }
.dark .adm-metric__value { color: var(--text-primary); }
.adm-metric__sub   { color: var(--text-muted); font-size: .72rem; font-weight: 600; }

.adm-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}
@media (max-width: 1280px) { .adm-kpi-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1024px) { .adm-kpi-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .adm-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .adm-kpi-grid { grid-template-columns: 1fr; } }

.adm-kpi { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; box-shadow: 0 2px 8px rgba(15,23,42,.04); }
.adm-kpi__icon { width: 44px; height: 44px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; background: var(--bg); color: var(--color); flex-shrink: 0; }
.adm-kpi__value { font-size: 1.5rem; font-weight: 900; color: var(--text-primary); line-height: 1; }
.adm-kpi__label { font-size: .75rem; font-weight: 700; color: var(--text-muted); }

.adm-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 1024px) { .adm-two-col { grid-template-columns: 1fr; } }

.adm-panel { background: #fff; border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 2px 8px rgba(15,23,42,.04); overflow: hidden; }
.adm-panel__header { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--border-subtle); }
.adm-panel__title { font-size: .95rem; font-weight: 900; color: var(--text-primary); margin-bottom: .2rem; }
.adm-panel__sub { font-size: .78rem; font-weight: 600; color: var(--text-muted); }
.adm-panel__body { padding: 1.25rem 1.5rem; }

.adm-overview-stat { margin-bottom: 1rem; }
.adm-overview-stat__label { font-size: .82rem; font-weight: 700; color: var(--surface-700); }
.adm-overview-stat__value { font-weight: 900; color: var(--c-primary-dark); }
.adm-progress { height: 8px; border-radius: 999px; background: var(--surface-200); overflow: hidden; }
.adm-progress__bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--c-primary), var(--c-primary-dark)); transition: width .4s ease; }

.adm-overview-box { background: var(--surface-50); border: 1px solid var(--border); border-radius: 10px; padding: 1rem 1.25rem; text-align: center; }
.adm-overview-box--danger { background: #fff5f5; border-color: #fecaca; }
.adm-overview-box__label { font-size: .75rem; font-weight: 700; color: var(--text-muted); margin-bottom: .4rem; }
.adm-overview-box__value { font-size: 1.75rem; font-weight: 900; color: var(--text-primary); line-height: 1; }
.adm-overview-box--danger .adm-overview-box__value { color: #dc2626; }

.adm-sections-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
@media (max-width: 1100px) { .adm-sections-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px)  { .adm-sections-grid { grid-template-columns: 1fr; } }
.adm-section { background: var(--surface-50); border: 1px solid var(--border); border-radius: 10px; padding: 1rem; display: flex; flex-direction: column; gap: .6rem; }
.adm-section__head { display: flex; align-items: center; gap: .75rem; margin-bottom: .25rem; flex-wrap: wrap; }
.adm-section__icon { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: .95rem; flex-shrink: 0; background: var(--bg); color: var(--color); }
.adm-section__title { font-size: .85rem; font-weight: 800; color: var(--text-primary); }
.adm-section__count { font-size: .72rem; font-weight: 600; color: var(--text-muted); }

.adm-item { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: .75rem; }
.adm-item--danger { background: #fff5f5; border-color: #fecaca; }
.adm-item__name { font-size: .82rem; font-weight: 800; color: var(--text-primary); margin-bottom: .2rem; }
.adm-item__meta { font-size: .72rem; font-weight: 600; color: var(--text-muted); margin-bottom: .5rem; }
.adm-item__btn  { display: block; text-align: center; padding: .35rem; border-radius: 8px; font-size: .72rem; font-weight: 800; background: var(--c-primary-bg); color: var(--c-primary-dark); text-decoration: none; transition: background .15s; }
.adm-item__btn:hover { background: var(--c-primary-ghost); }
.adm-item__btn--danger { background: #fef2f2; color: #dc2626; }
.adm-item__btn--danger:hover { background: #fee2e2; }

.adm-empty { text-align: center; padding: 1rem; font-size: .78rem; font-weight: 600; color: var(--text-muted); border: 1px dashed var(--text-primary); border-radius: 10px; }
.adm-view-all { display: block; text-align: center; padding: .5rem; border-radius: 8px; font-size: .75rem; font-weight: 700; color: var(--text-muted); border: 1px solid var(--border); text-decoration: none; background: #fff; transition: all .15s; margin-top: auto; }
.adm-view-all:hover { background: var(--c-primary-bg); color: var(--c-primary-dark); border-color: var(--c-primary-pale); }
.adm-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; padding-inline: .35rem; border-radius: 999px; font-size: .7rem; font-weight: 800; }
.adm-badge--danger { background: #fef2f2; color: #dc2626; }

/* Dark */
.dark .adm-kpi, .dark .adm-panel,
.dark .adm-kpi, .dark .adm-panel { background: var(--bg-card) !important; border-color: var(--border) !important; }
.dark .adm-kpi__value, .dark .adm-panel__title, .dark .adm-section__title, .dark .adm-item__name, .dark .adm-overview-box__value,
.dark .adm-kpi__value, .dark .adm-panel__title, .dark .adm-section__title, .dark .adm-item__name, .dark .adm-overview-box__value { color: var(--text-primary) !important; }
.dark .adm-kpi__label, .dark .adm-panel__sub, .dark .adm-section__count, .dark .adm-item__meta, .dark .adm-empty,
.dark .adm-kpi__label, .dark .adm-panel__sub, .dark .adm-section__count, .dark .adm-item__meta, .dark .adm-empty { color: var(--text-muted) !important; }
.dark .adm-kpi__icon, .dark .adm-kpi__icon { background: var(--dbg) !important; color: var(--dc) !important; }
.dark .adm-section__icon, .dark .adm-section__icon { background: var(--dbg) !important; color: var(--dc) !important; }
.dark .adm-section, .dark .adm-overview-box, .dark .adm-section, .dark .adm-overview-box { background: var(--surface-100) !important; border-color: var(--border) !important; }
.dark .adm-overview-box--danger, .dark .adm-overview-box--danger { background: rgba(220,38,38,.1) !important; border-color: rgba(252,165,165,.15) !important; }
.dark .adm-item, .dark .adm-item { background: var(--bg-card) !important; border-color: var(--border) !important; }
.dark .adm-item--danger, .dark .adm-item--danger { background: rgba(220,38,38,.08) !important; border-color: rgba(252,165,165,.15) !important; }
.dark .adm-panel__header, .dark .adm-panel__header { border-bottom-color: rgba(148,163,184,.1) !important; }
.dark .adm-progress, .dark .adm-progress { background: rgba(148,163,184,.15) !important; }
.dark .adm-view-all, .dark .adm-view-all { background: var(--surface-100) !important; border-color: var(--border) !important; color: var(--text-muted) !important; }
.dark .adm-view-all:hover, .dark .adm-view-all:hover { background: rgba(99,102,241,.15) !important; color: var(--c-primary-muted) !important; border-color: rgba(99,102,241,.25) !important; }
.dark .adm-empty, .dark .adm-empty { border-color: var(--border) !important; background: transparent !important; }
.dark .adm-item__btn, .dark .adm-item__btn { background: rgba(99,102,241,.15) !important; color: var(--c-primary-muted) !important; }
.dark .adm-item__btn--danger, .dark .adm-item__btn--danger { background: rgba(220,38,38,.12) !important; color: #fca5a5 !important; }
.dark .adm-badge--danger, .dark .adm-badge--danger { background: rgba(220,38,38,.15) !important; color: #fca5a5 !important; }
.dark .adm-overview-stat__label, .dark .adm-overview-stat__label { color: var(--text-muted) !important; }
.dark .adm-overview-stat__value, .dark .adm-overview-stat__value { color: var(--c-primary-muted) !important; }
.dark .adm-overview-box__label, .dark .adm-overview-box__label { color: var(--text-muted) !important; }
.dark .adm-overview-box--danger .adm-overview-box__value, .dark .adm-overview-box--danger .adm-overview-box__value { color: #fca5a5 !important; }

/* ═══════════════════════════════════════════════════════════
   CUSTOM APP COMPONENTS
   ═══════════════════════════════════════════════════════════ */

/* ── Custom buttons (app-btn) ── */
.app-btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: .45rem; padding: .6rem 1.1rem; border-radius: 10px;
    font-size: .875rem; font-weight: 800; line-height: 1.25;
    border: 1px solid transparent; cursor: pointer;
    transition: transform .18s, box-shadow .18s, background .18s, border-color .18s, color .18s;
    text-decoration: none; white-space: nowrap; font-family: inherit;
}
.app-btn i { flex-shrink: 0; }
.app-btn:hover { transform: translateY(-1px); }
.app-btn:active { transform: translateY(0); }
.app-btn--sm { padding: .4rem .85rem; font-size: .8rem; border-radius: 8px; }
.app-btn--primary { background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%); color: #fff; box-shadow: 0 4px 14px rgba(var(--c-primary-rgb),.35); }
.app-btn--primary:hover { background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary-darker) 100%); box-shadow: 0 6px 18px rgba(var(--c-primary-rgb),.45); color: #fff; }
.app-btn--secondary { background: var(--surface-50); border-color: var(--border); color: var(--surface-700); }
.app-btn--secondary:hover { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.app-btn--danger { background: #fef2f2; border-color: #fecaca; color: #dc2626; }
.app-btn--danger:hover { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.app-btn--warning { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.app-btn--warning:hover { background: #fef3c7; border-color: #fcd34d; color: #92400e; }
.app-btn--ghost { background: transparent; border-color: transparent; color: var(--text-muted); }
.app-btn--ghost:hover { background: var(--surface-50); color: var(--text-primary); }
.app-btn--icon { width: 38px; height: 38px; padding: 0; border-radius: 8px; }
.dark .app-btn--secondary { background: rgba(255,255,255,.06); border-color: var(--border); color: var(--text-primary); }
.dark .app-btn--secondary:hover { background: rgba(13,148,136,.15); border-color: rgba(94,234,212,.25); color: #5eead4; }
.dark .app-btn--danger { background: rgba(220,38,38,.12); border-color: rgba(252,165,165,.2); color: #fca5a5; }
.dark .app-btn--ghost { color: var(--text-muted); }
.dark .app-btn--ghost:hover { background: rgba(255,255,255,.08); color: var(--text-primary); }
.app-btn--success { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.app-btn--success:hover { background: #dcfce7; border-color: #86efac; color: #166534; }
.app-btn--primary-soft { background: var(--c-primary-bg); border-color: var(--c-primary-pale); color: var(--c-primary-darker); }
.app-btn--primary-soft:hover { background: var(--c-primary-ghost); border-color: var(--c-primary-muted); color: var(--c-primary-deepest); }
.app-btn--success-soft { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.app-btn--success-soft:hover { background: #dcfce7; color: #166534; }
.app-btn--warning-soft { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.app-btn--warning-soft:hover { background: #fef3c7; color: #92400e; }
.app-btn--info-soft { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.app-btn--info-soft:hover { background: #dbeafe; color: #1e40af; }
.dark .app-btn--success { background: rgba(21,128,61,.12); border-color: rgba(134,239,172,.2); color: #86efac; }
.dark .app-btn--primary-soft { background: rgba(var(--c-primary-rgb),.15); border-color: rgba(var(--c-primary-rgb),.25); color: var(--c-primary-muted); }
.dark .app-btn--success-soft { background: rgba(21,128,61,.12); border-color: rgba(134,239,172,.2); color: #86efac; }
.dark .app-btn--warning-soft { background: rgba(180,83,9,.12); border-color: rgba(253,211,77,.2); color: #fcd34d; }
.dark .app-btn--info-soft { background: rgba(29,78,216,.12); border-color: rgba(147,197,253,.2); color: #93c5fd; }

/* ── Cards ── */
.app-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    overflow: hidden;
}
.app-card--flush { border-radius: var(--radius-xl); }
.app-card__header {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--bg-card);
}
.app-card__body { padding: 1.5rem; }
.app-card__footer { padding: 1rem 1.5rem; border-top: 1px solid var(--border-subtle); background: var(--surface-50); }
.app-card__title { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: 1rem; font-weight: 900; color: var(--text-primary); }
.app-card__subtitle, .app-card__text { color: var(--text-secondary); }
.app-card__toolbar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.dark .app-card { background: var(--bg-card); border-color: var(--border); box-shadow: none; }
.dark .app-card__header { background: var(--bg-card); border-bottom-color: var(--border); }
.dark .app-card__footer { background: var(--bg-card); border-top-color: var(--border); }

/* ── Badges and alerts ── */
.app-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .28rem .65rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
}
.app-badge--primary { background: var(--c-primary-bg); color: var(--c-primary-darker); }
.app-badge--secondary { background: var(--surface-100); color: var(--text-secondary); }
.app-badge--danger { background: #fef2f2; color: #dc2626; }
.app-badge--warning { background: #fffbeb; color: #b45309; }
.app-badge--info { background: #eff6ff; color: #1d4ed8; }
.app-badge--success { background: #f0fdf4; color: #15803d; }
.app-badge--dark { background: var(--text-primary); color: var(--bg-card); }
.dark .app-badge--primary { background: rgba(var(--c-primary-rgb),.2); color: var(--c-primary-muted); }
.dark .app-badge--secondary { background: rgba(255,255,255,.08); color: var(--text-secondary); }
.dark .app-badge--danger { background: rgba(220,38,38,.15); color: #fca5a5; }
.dark .app-badge--warning { background: rgba(180,83,9,.15); color: #fcd34d; }
.dark .app-badge--info { background: rgba(29,78,216,.15); color: #93c5fd; }
.dark .app-badge--success { background: rgba(21,128,61,.15); color: #86efac; }
.dark .app-badge--dark { background: rgba(255,255,255,.08); color: var(--surface-600); }

.app-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .9rem 1.1rem;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: .875rem;
    font-weight: 600;
}
.app-alert--success { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.app-alert--danger { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.app-alert--warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.app-alert--info { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.dark .app-alert--success { background: rgba(21,128,61,.12); border-color: rgba(134,239,172,.2); color: #86efac; }
.dark .app-alert--danger { background: rgba(220,38,38,.12); border-color: rgba(252,165,165,.2); color: #fca5a5; }
.dark .app-alert--warning { background: rgba(180,83,9,.12); border-color: rgba(253,211,77,.2); color: #fcd34d; }
.dark .app-alert--info { background: rgba(29,78,216,.12); border-color: rgba(147,197,253,.2); color: #93c5fd; }

/* ── Custom inputs (app-input) ── */
.app-input {
    width: 100%; padding: .6rem .9rem;
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--bg-card); color: var(--text-primary);
    font-size: .875rem; font-weight: 600; font-family: inherit;
    transition: border-color .18s, box-shadow .18s; min-height: 42px;
}
.app-input:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.12); }
.app-input--sm { min-height: 34px !important; padding: .35rem .75rem !important; font-size: .82rem !important; border-radius: 8px !important; }
.app-input--lg { min-height: 48px; padding: .75rem 1rem; font-size: .95rem; }
.app-input--solid { background: var(--surface-50); }
.app-select,
select.app-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2364758b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right .85rem center;
    background-size: 1rem 1rem;
    background-repeat: no-repeat;
    padding-inline-end: 2.35rem;
}
html[dir="rtl"] .app-select,
html[dir="rtl"] select.app-input {
    background-position: left .85rem center;
    padding-inline-end: .9rem;
    padding-inline-start: 2.35rem;
}
.dark .app-select,
.dark select.app-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2394a3b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.app-input--invalid { border-color: #dc2626 !important; }
.app-field-error { display: block; font-size: .78rem; color: #dc2626; margin-top: .25rem; font-weight: 600; }
.dark .app-input { background: var(--surface-100); border-color: var(--border); color: var(--text-primary); }
.dark .app-input:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.2); }
.dark .app-input::placeholder { color: var(--text-muted); }
.dark .app-input--solid { background: var(--surface-100); }

.app-label { display: block; font-size: .82rem; font-weight: 700; color: var(--surface-700); margin-bottom: .4rem; }
.dark .app-label { color: var(--surface-600); }

/* ── Custom checkbox (app-checkbox) ── */
.app-checkbox {
    width: 1rem; height: 1rem;
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 4px; accent-color: var(--c-primary); cursor: pointer;
}
.app-checkbox:checked { background-color: var(--c-primary); border-color: var(--c-primary); }

/* ── Custom input group (app-input-group) ── */
.app-input-group { display: flex; align-items: stretch; gap: .5rem; }
.app-input-group .app-input { flex: 1 1 auto; }

.app-check { display: flex; align-items: center; gap: .5rem; }
.app-check__input { width: 1rem; height: 1rem; border: 1px solid rgba(var(--c-primary-rgb),.3); border-radius: 4px; accent-color: var(--c-primary); cursor: pointer; }
.app-check__label { font-size: .875rem; font-weight: 600; color: var(--surface-700); cursor: pointer; }
.app-check--switch .app-check__input { width: 2.25rem; height: 1.2rem; border-radius: 999px; }
.dark .app-check__label { color: var(--surface-600); }

.app-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.app-grid > * { min-width: 0; }
.app-grid.g-3 { gap: .75rem; }
.app-grid.g-4 { gap: 1rem; }
.app-grid.g-5 { gap: 1.25rem; }
.app-grid.g-7 { gap: 1.75rem; }
.app-table-wrap { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); box-shadow: var(--shadow-card); overflow-x: auto; overflow-y: visible; }
.app-table { width: 100%; border-collapse: collapse; margin-bottom: 0; }
.app-table thead th {
    background: var(--surface-50);
    color: var(--c-primary-darker);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}
.app-table tbody td { padding: .9rem 1rem; border-bottom: 1px solid var(--border-subtle); font-size: .85rem; font-weight: 700; color: var(--text-primary); vertical-align: middle; }
.app-table tbody tr:last-child td { border-bottom: none; }
.app-table tbody tr:hover { background: var(--surface-50); }
.app-table--striped tbody tr:nth-child(odd) { background: rgba(248,250,252,.6); }
.app-table--bordered th, .app-table--bordered td { border: 1px solid var(--border-subtle); }
.dark .app-table-wrap { background: var(--bg-card); border-color: var(--border); box-shadow: none; }
.dark .app-table thead th { background: rgba(var(--c-primary-rgb),.08); color: var(--c-primary-muted); border-bottom-color: rgba(var(--c-primary-rgb),.15); }
.dark .app-table tbody td { border-bottom-color: var(--border); color: var(--text-primary); }
.dark .app-table tbody tr:hover { background: rgba(var(--c-primary-rgb),.04); }
.dark .app-table--striped tbody tr:nth-child(odd) { background: rgba(255,255,255,.02); }
.app-collapse { display: none; }
.app-collapse.show { display: block; }

/* ── Custom dropdown (custom-dropdown) ── */
.custom-dropdown { position: relative; display: inline-block; }
.custom-dropdown__toggle { 
    cursor: pointer;
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .4rem .85rem; border-radius: 8px;
    font-size: .8rem; font-weight: 700;
    background: var(--surface-50); border: 1px solid var(--border);
    color: var(--text-primary);
    transition: all .15s;
}
.custom-dropdown__toggle:hover {
    background: var(--c-primary-bg);
    border-color: var(--c-primary-pale);
    color: var(--c-primary-dark);
}
.custom-dropdown__toggle i { font-size: .7rem; }
.dark .custom-dropdown__toggle {
    background: rgba(255,255,255,.06);
    border-color: var(--border);
    color: var(--text-primary);
}
.dark .custom-dropdown__toggle:hover {
    background: rgba(var(--c-primary-rgb),.15);
    border-color: rgba(var(--c-primary-rgb),.25);
    color: var(--c-primary-muted);
}
.custom-dropdown__menu {
    background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius-lg);
    padding: .4rem; box-shadow: var(--shadow-dropdown);
    min-width: 180px; position: fixed; z-index: 1000;
    display: none;
}
.custom-dropdown.open .custom-dropdown__menu { display: block; }
.custom-dropdown__menu--end { inset-inline-start: auto; }
.custom-dropdown__item {
    display: flex; align-items: center; gap: .6rem;
    padding: .65rem .85rem; border-radius: var(--radius-md);
    font-size: .85rem; font-weight: 700; color: var(--text-primary);
    text-decoration: none; transition: background .15s;
    cursor: pointer; border: none; background: none; width: 100%; text-align: start;
}
.custom-dropdown__item:hover { background: var(--surface-50); color: var(--c-primary-dark); }
.custom-dropdown__item--success { color: #16a34a; }
.custom-dropdown__item--success:hover { background: #f0fdf4; }
.custom-dropdown__item--danger { color: #dc2626; }
.custom-dropdown__item--danger:hover { background: #fef2f2; }
.dark .custom-dropdown__menu { background: var(--bg-card); border-color: var(--border); }
.dark .custom-dropdown__item { color: var(--text-primary); }
.dark .custom-dropdown__item:hover { background: var(--surface-100); color: var(--c-primary-muted); }
.dark .custom-dropdown__item--success { color: #86efac; }
.dark .custom-dropdown__item--success:hover { background: rgba(21,128,61,.12); }
.dark .custom-dropdown__item--danger { color: #fca5a5; }
.dark .custom-dropdown__item--danger:hover { background: rgba(220,38,38,.12); }

/* ── Custom modal (custom-modal) ── */
.custom-modal {
    position: fixed; inset: 0; z-index: 1050;
    display: none; align-items: center; justify-content: center;
    background: rgba(15,23,42,.55); backdrop-filter: blur(4px);
    opacity: 0; transition: opacity .2s;
}
.custom-modal.modal-visible { opacity: 1; }
.custom-modal > div {
    background: var(--bg-card); border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-modal); overflow: hidden;
    transition: opacity .2s, transform .2s;
    transform: scale(.95); opacity: 0;
}
.custom-modal.modal-visible > div { transform: scale(1); opacity: 1; }
.dark .custom-modal > div { background: var(--bg-card); }

.app-indicator-progress { display: none; }

/* ── Loading spinner (app-spinner) ── */
.app-spinner {
    display: inline-block; width: .875rem; height: .875rem;
    border: .15em solid currentColor; border-right-color: transparent;
    border-radius: 50%; animation: spin .75s linear infinite;
    margin-inline-end: .35rem;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Sales focus table (sf-table) ── */
.sf-table-wrap { overflow-x: auto; border-radius: var(--radius-lg); }
.sf-table { width: 100%; border-collapse: collapse; }
.sf-table thead th {
    background: var(--surface-50); color: var(--c-primary-darker);
    font-size: .72rem; font-weight: 900; text-transform: uppercase;
    letter-spacing: .05em; padding: .85rem 1rem;
    border-bottom: 1px solid var(--border); white-space: nowrap;
}
.sf-table tbody td {
    padding: .9rem 1rem; border-bottom: 1px solid var(--border-subtle);
    font-size: .85rem; font-weight: 700; color: var(--text-primary);
}
.sf-table tbody tr:last-child td { border-bottom: none; }
.sf-table tbody tr:hover { background: var(--surface-50); }
.dark .sf-table thead th { background: rgba(var(--c-primary-rgb),.08); color: var(--c-primary-muted); border-bottom-color: rgba(var(--c-primary-rgb),.15); }
.dark .sf-table tbody td { border-bottom-color: var(--border); color: var(--text-primary); }
.dark .sf-table tbody tr:hover { background: rgba(var(--c-primary-rgb),.04); }

/* ── Breadcrumb (bc-*) ── */
.bc-item { display: inline-flex; align-items: center; gap: .375rem; font-size: .8125rem; color: var(--text-secondary); }
.bc-item::after { content: "/"; margin-inline-start: .375rem; color: var(--surface-300); }
.bc-item:last-child::after { display: none; }
.bc-link { color: var(--text-secondary); text-decoration: none; transition: color .15s; }
.bc-link:hover { color: var(--text-primary); }
.bc-item--active { color: var(--text-primary); font-weight: 600; }
.dark .bc-item { color: var(--text-secondary); }
.dark .bc-link { color: var(--text-secondary); }
.dark .bc-link:hover { color: var(--text-primary); }
.dark .bc-item--active { color: var(--text-primary); }

/* ── Sale search results grid ── */
.sale-search-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .75rem;
    max-height: 400px;
    overflow-y: auto;
    margin-top: 1rem;
}
.sale-search-item {
    border: 1px dashed var(--border);
    border-radius: 14px;
    padding: .85rem;
    cursor: pointer;
    transition: all .18s;
    background: var(--bg-card);
}
.sale-search-item:hover {
    border-color: var(--c-primary);
    background: var(--c-primary-bg);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.15);
}
.dark .sale-search-item { background: var(--surface-100); border-color: var(--border); }
.dark .sale-search-item:hover { background: rgba(var(--c-primary-rgb),.1); border-color: var(--c-primary); }

/* ── Finance Nav (fin-nav) ──────────────────────────────── */
.fin-nav {
    display: flex; flex-wrap: wrap; gap: .35rem;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 14px; padding: .4rem;
    box-shadow: var(--shadow-card);
    overflow: visible;
    margin-bottom: 1.5rem;
}
.fin-nav__link {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .45rem .85rem; border-radius: 10px;
    font-size: .8rem; font-weight: 700;
    color: var(--text-muted);
    text-decoration: none; transition: background .12s, color .12s;
    white-space: nowrap; flex-shrink: 0;
}
.fin-nav__link i { font-size: .85rem; flex-shrink: 0; }
.fin-nav__link:hover { background: var(--surface-100); color: var(--text-primary); }
.fin-nav__link--active { background: var(--c-primary-bg); color: var(--c-primary-dark); }
.dark .fin-nav__link--active { background: rgba(37,99,235,.15); color: var(--c-primary-muted); }

/* ── Statistics Nav (stat-nav) ─────────────────────────── */
.stat-nav {
    display: flex; flex-wrap: wrap; gap: .35rem;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius-xl); padding: .45rem;
    box-shadow: var(--shadow-card);
    margin-bottom: 1.25rem;
}
.stat-nav__link {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .45rem .8rem; border-radius: var(--radius-sm);
    font-size: .8rem; font-weight: 700; color: var(--text-muted);
    text-decoration: none; transition: background .12s, color .12s;
    white-space: nowrap;
}
.stat-nav__link:hover { background: var(--surface-100); color: var(--text-primary); }
.stat-nav__link--active { background: var(--c-primary-bg); color: var(--c-primary-dark); font-weight: 800; }
.dark .stat-nav__link--active { background: rgba(37,99,235,.15); color: var(--c-primary-muted); }

/* ── Responsive KPI / Stats Grids ───────────────────────── */
.kpi-grid-2,.kpi-grid-3,.kpi-grid-4,.kpi-grid-5,.kpi-grid-6 {
    display: grid;
    gap: .85rem;
    margin-bottom: 1.25rem;
}
.kpi-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.kpi-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.kpi-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kpi-grid-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.kpi-grid-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }

/* Tablet ≤ 1024px */
@media (max-width: 1024px) {
    .kpi-grid-5, .kpi-grid-6 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
/* Tablet ≤ 768px */
@media (max-width: 768px) {
    .kpi-grid-3,.kpi-grid-4,.kpi-grid-5,.kpi-grid-6 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
/* Mobile ≤ 480px */
@media (max-width: 480px) {
    .kpi-grid-2,.kpi-grid-3,.kpi-grid-4,.kpi-grid-5,.kpi-grid-6 { grid-template-columns: 1fr; }
}

/* Prevent text overflow inside KPI cards */
.kpi-grid-2 > *, .kpi-grid-3 > *, .kpi-grid-4 > *, .kpi-grid-5 > *, .kpi-grid-6 > * {
    min-width: 0;
    overflow: hidden;
}
.kpi-grid-2 > * div, .kpi-grid-3 > * div,
.kpi-grid-4 > * div, .kpi-grid-5 > * div, .kpi-grid-6 > * div {
    overflow-wrap: break-word;
    word-break: break-word;
}
