/* Uplisense brand layer for Minible. Uses the existing data-bs-theme switch. */
@font-face { font-family: Inter; src: url('../fonts/uplisense/inter.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'Plus Jakarta Sans'; src: url('../fonts/uplisense/jakarta.woff2') format('woff2'); font-weight: 200 800; font-display: swap; }
:root, [data-bs-theme="light"] {
    --bs-primary: #4f46e5;
    --bs-primary-rgb: 79, 70, 229;
    --bs-primary-text-emphasis: #4338ca;
    --bs-primary-bg-subtle: #eef2ff;
    --bs-primary-border-subtle: #c7d2fe;
    --bs-info: #0e7490;
    --bs-info-rgb: 14, 116, 144;
    --bs-link-color: #4338ca;
    --bs-link-color-rgb: 67, 56, 202;
    --bs-link-hover-color: #3730a3;
    --bs-link-hover-color-rgb: 55, 48, 163;
    --bs-body-bg: #f8fafc;
    --bs-body-bg-rgb: 248, 250, 252;
    --bs-body-color: #475569;
    --bs-body-color-rgb: 71, 85, 105;
    --bs-heading-color: #111827;
    --bs-secondary-color: #64748b;
    --bs-secondary-bg: #ffffff;
    --bs-tertiary-bg: #f1f5f9;
    --bs-border-color: #e2e8f0;
    --bs-header-bg: #ffffff;
    --bs-header-item-color: #475569;
    --bs-sidebar-bg: #ffffff;
    --bs-sidebar-menu-item-color: #475569;
    --bs-sidebar-menu-item-icon-color: #64748b;
    --bs-sidebar-menu-sub-item-color: #475569;
    --bs-sidebar-menu-item-hover-color: #4338ca;
    --bs-sidebar-menu-item-active-color: #4338ca;
    --bs-sidebar-menu-item-active-bg-color: #eef2ff;
    --bs-footer-color: #64748b;
    --uplisense-surface: #ffffff;
    --uplisense-accent: #0e7490;
    --uplisense-focus: rgba(79, 70, 229, .22);
    --bs-font-sans-serif: Inter, system-ui, sans-serif;
}
[data-bs-theme="dark"] {
    --bs-primary: #6572e5;
    --bs-primary-rgb: 101, 114, 229;
    --bs-primary-text-emphasis: #a5b4fc;
    --bs-primary-bg-subtle: #1d2041;
    --bs-primary-border-subtle: #6572e5;
    --bs-info: #22d3ee;
    --bs-info-rgb: 34, 211, 238;
    --bs-link-color: #a5b4fc;
    --bs-link-color-rgb: 165, 180, 252;
    --bs-link-hover-color: #c7d2fe;
    --bs-link-hover-color-rgb: 199, 210, 254;
    --bs-body-bg: #101624;
    --bs-body-bg-rgb: 16, 22, 36;
    --bs-body-color: #cbd5e1;
    --bs-body-color-rgb: 203, 213, 225;
    --bs-heading-color: #f8fafc;
    --bs-secondary-color: #94a3b8;
    --bs-secondary-bg: #18223b;
    --bs-tertiary-bg: #1d2943;
    --bs-border-color: #334155;
    --bs-header-bg: #101624;
    --bs-header-dark-bg: #18223b;
    --bs-header-item-color: #cbd5e1;
    --bs-sidebar-bg: #101624;
    --bs-sidebar-menu-item-color: #cbd5e1;
    --bs-sidebar-menu-item-icon-color: #94a3b8;
    --bs-sidebar-menu-sub-item-color: #cbd5e1;
    --bs-sidebar-menu-item-hover-color: #22d3ee;
    --bs-sidebar-menu-item-active-color: #a5b4fc;
    --bs-sidebar-menu-item-active-bg-color: #1d2041;
    --bs-footer-color: #94a3b8;
    --uplisense-surface: #18223b;
    --uplisense-accent: #22d3ee;
    --uplisense-focus: rgba(165, 180, 252, .25);
}
body { font-family: Inter, system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6, .card-title { font-family: 'Plus Jakarta Sans', Inter, sans-serif; color: var(--bs-heading-color); }
.card, .modal-content, .dropdown-menu, .offcanvas { background-color: var(--uplisense-surface); }
.card { border: 1px solid var(--bs-border-color); border-radius: 12px; box-shadow: 0 8px 24px -18px rgba(16, 22, 36, .25); }
.card-header, .card-footer { background-color: transparent; border-color: var(--bs-border-color); }
#page-topbar, .vertical-menu { box-shadow: 0 1px 4px rgba(16, 22, 36, .08); }
.footer { background-color: var(--bs-body-bg); }
#sidebar-menu ul li a { border-radius: 8px; }
#sidebar-menu ul li a:hover { background-color: var(--bs-primary-bg-subtle); }
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #4f46e5;
    --bs-btn-border-color: #4f46e5;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4338ca;
    --bs-btn-hover-border-color: #4338ca;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3730a3;
    --bs-btn-active-border-color: #3730a3;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #4f46e5;
    --bs-btn-disabled-border-color: #4f46e5;
    --bs-btn-focus-shadow-rgb: 101, 114, 229;
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-link-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4f46e5;
    --bs-btn-hover-border-color: #4f46e5;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4338ca;
    --bs-btn-active-border-color: #4338ca;
    --bs-btn-disabled-color: var(--bs-link-color);
    --bs-btn-disabled-border-color: var(--bs-link-color);
    --bs-btn-focus-shadow-rgb: 101, 114, 229;
}
.btn-soft-primary { color: var(--bs-link-color); background-color: var(--bs-primary-bg-subtle); border-color: var(--bs-primary-border-subtle); }
.btn-soft-primary:hover { color: #fff; background-color: #4f46e5; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #6572e5; box-shadow: 0 0 0 .2rem var(--uplisense-focus); }
.form-check-input:checked { background-color: #4f46e5; border-color: #4f46e5; }
.nav-pills .nav-link.active, .page-item.active .page-link { background-color: #4f46e5; border-color: #4f46e5; color: #fff; }
.progress-bar { background-color: #4f46e5; }
.nav-tabs .nav-link.active { color: var(--bs-link-color); border-bottom-color: #6572e5; }
.logo-lg img { height: 34px; max-width: 100%; width: auto; }
.logo-sm img { height: 30px; width: 30px; object-fit: contain; border-radius: 7px; background: #101624; padding: 3px; }
.auth-logo img.logo { height: 38px; width: auto; max-width: 100%; }
body[data-bs-theme="dark"] .auth-logo .logo-dark { display: none; }
body[data-bs-theme="dark"] .auth-logo .logo-light { display: block; }
/* Sidebar/topbar colour choices remain independent of the page mode. */
body[data-sidebar="dark"], body[data-sidebar="colored"] {
    --bs-sidebar-bg: #101624;
    --bs-sidebar-menu-item-color: #cbd5e1;
    --bs-sidebar-menu-item-icon-color: #94a3b8;
    --bs-sidebar-menu-sub-item-color: #cbd5e1;
    --bs-sidebar-menu-item-hover-color: #22d3ee;
    --bs-sidebar-menu-item-active-color: #a5b4fc;
    --bs-sidebar-menu-item-active-bg-color: #1d2041;
}
body[data-sidebar="light"] {
    --bs-sidebar-bg: #ffffff;
    --bs-sidebar-menu-item-color: #475569;
    --bs-sidebar-menu-item-icon-color: #64748b;
    --bs-sidebar-menu-item-active-color: #4338ca;
    --bs-sidebar-menu-item-active-bg-color: #eef2ff;
}
body[data-topbar="dark"], body[data-topbar="colored"] { --bs-header-bg: #101624; --bs-header-item-color: #cbd5e1; }
body[data-topbar="light"] { --bs-header-bg: #ffffff; --bs-header-item-color: #475569; }
body[data-sidebar="colored"] .navbar-brand-box .logo-dark { display: none; }
body[data-sidebar="colored"] .navbar-brand-box .logo-light { display: block; }
body[data-topbar="dark"] #page-topbar .logo-dark, body[data-topbar="colored"] #page-topbar .logo-dark { display: none; }
body[data-topbar="dark"] #page-topbar .logo-light, body[data-topbar="colored"] #page-topbar .logo-light { display: block; }
body[data-topbar="light"] #page-topbar .logo-dark { display: block; }
body[data-topbar="light"] #page-topbar .logo-light { display: none; }
/* Keep mixed light-sidebar / dark-page layouts readable. */
body[data-sidebar="light"] {
    --bs-sidebar-menu-sub-item-color: #475569;
    --bs-sidebar-menu-item-hover-color: #4338ca;
}
