/* Shared BikoTODAY workspace: generous type, quiet surfaces, logo purple and porcelain. */
body.biko-workspace {
    --sidebar-width: 280px;
    --theme-primary: #2f087e;
    --bs-primary: #2f087e;
    --bs-primary-rgb: 140, 82, 255;
    --bs-link-color: #2f087e;
    --bs-link-hover-color: #23055f;
    --bs-body-color: #312646;
    --bs-border-color: #e4e1e9;
    --workspace-ink: #1f1435;
    font-family: 'Avenir Next', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #312646;
    background: #f4f3f6;
    -webkit-font-smoothing: antialiased;
}
body.biko-workspace .page-wrapper {
    margin-left: var(--sidebar-width);
    padding-top: 84px;
    min-height: 100vh;
    background: radial-gradient(ellipse at 85% 0, #e5dff180, transparent 40%), #f4f3f6;
}
body.biko-workspace .page-content { padding: 36px 40px 48px; max-width: 1920px; margin: auto; }
body.biko-workspace .navbar.fixed-top {
    left: var(--sidebar-width);
    height: 84px !important;
    background: #ffffffed !important;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid #e2dfe8;
    box-shadow: none !important;
}
body.biko-workspace .navbar > .container-fluid { padding: 0 40px; gap: 24px; }
body.biko-workspace .navbar-brand { display: none !important; }
body.biko-workspace .navbar .nav-link { font-size: 14px; font-weight: 600; color: #403458; }
body.biko-workspace .reference-user-avatar { background: #251740; color: #cdb9f5; width: 40px; height: 40px; font-size: 14px; border-radius: 14px; }
body.biko-workspace .reference-search { background: #f3f2f6; border: 1px solid #e5e2ea; border-radius: 14px; padding: 12px 16px; max-width: 620px; }
body.biko-workspace .reference-search input { font-size: 15px; color: #302645; }
body.biko-workspace .reference-search-results { top: calc(100% + 10px); border-radius: 14px; box-shadow: 0 16px 48px #22153b1a; }
body.biko-workspace .sidebar {
    top: 0; width: var(--sidebar-width); height: 100dvh; display: flex; flex-direction: column;
    background: radial-gradient(ellipse at top left, #302449 0, transparent 45%), #1a102d;
    border-right: 1px solid #ffffff0d; box-shadow: 8px 0 36px #1f143508; overflow: hidden;
}
body.biko-workspace .reference-brand { flex-shrink: 0; padding: 30px 18px 24px; margin: 0 18px; gap: 12px; border-bottom: 1px solid #ffffff12; }
body.biko-workspace .reference-brand img { width: 184px; height: 54px; object-fit: contain; object-position: left; }
body.biko-workspace .reference-brand span { color: #aca4bb; font-size: 12px; letter-spacing: .2px; }
body.biko-workspace .sidebar-menu { padding: 20px 16px 28px; flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #5e5471 transparent; }
body.biko-workspace .sidebar-menu .nav-link {
    display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 11px 14px;
    margin: 3px 0; border: 1px solid transparent; border-radius: 11px;
    color: #c5bfd0; font-size: 15px; font-weight: 500; line-height: 1.4;
    text-align: left; transition: color .18s, background .18s, border-color .18s;
}
body.biko-workspace .sidebar-menu .nav-link > i { flex: 0 0 20px; width: 20px !important; margin: 0; font-size: 16px; color: #9a8eb2; text-align: center; }
body.biko-workspace .sidebar-menu .nav-link > span { min-width: 0; overflow-wrap: anywhere; }
body.biko-workspace .sidebar-menu .nav-link:hover { color: white; background: #ffffff0c; border-color: #ffffff0b; }
body.biko-workspace .sidebar-menu a.nav-link.active { color: #1d142f !important; background: #c8b6ed !important; border-color: #c8b6ed !important; box-shadow: 0 4px 14px #00000012; font-weight: 700; }
body.biko-workspace .sidebar-menu a.nav-link.active > i { color: #36245b; opacity: 1; }
body.biko-workspace .sidebar-menu .sidebar-section-label {
    width: 100%; cursor: pointer; text-transform: none; letter-spacing: 0;
    color: #d7d3e0 !important; background: transparent !important; font-size: 15px; font-weight: 600;
    padding: 11px 14px; border: 1px solid transparent !important;
}
body.biko-workspace .sidebar-menu .sidebar-section-label > i { display: inline-block; }
body.biko-workspace .sidebar-menu .sidebar-section-label[aria-expanded="true"] { color: #f0e8ff !important; background: #ffffff07 !important; }
body.biko-workspace .sidebar-menu .sidebar-section-label .sidebar-nav-chevron { margin-left: auto; flex: 0 0 12px; width: 12px !important; font-size: 10px; color: #9a8eb2; }
body.biko-workspace .sidebar-subnav { margin: 4px 0 8px 24px; padding: 0 0 0 10px; border-left: 1px solid #ffffff19; }
body.biko-workspace .sidebar-menu .sidebar-subnav-link { padding: 9px 12px !important; min-height: 42px; font-size: 14px !important; color: #b5adc5 !important; border: 1px solid transparent !important; gap: 10px; }
body.biko-workspace .sidebar-menu .sidebar-subnav-link > i { flex-basis: 18px; width: 18px !important; font-size: 13px; }
body.biko-workspace .sidebar-menu .sidebar-nav-toggle { min-width: 34px; padding: 7px !important; justify-content: center; }
body.biko-workspace .sidebar-menu .sidebar-nav-toggle > i { margin: 0; font-size: 10px !important; }
body.biko-workspace .sidebar-divider { margin: 17px 14px; height: 1px; background: #ffffff10; }
body.biko-workspace .sidebar-heading { display: block; padding: 2px 14px 8px; color: #9085a6; font-size: 11px; font-weight: 700; letter-spacing: 1.7px; }
body.biko-workspace :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #5d36ab; outline-offset: 3px; }
body.biko-workspace .sidebar button:focus-visible { outline: 2px solid #c8b6ed; outline-offset: 2px; }
body.biko-workspace :is(h1, .h1, .h3) { color: #1f1435; font-size: clamp(28px, 2.5vw, 38px); font-weight: 750; letter-spacing: -1.2px; line-height: 1.2; }
body.biko-workspace :is(h2, h3, h4, h5, h6) { color: #2a1e41; }
body.biko-workspace :is(.reference-page-description, .page-content > .d-flex p) { font-size: 16px; color: #777084; margin-top: 9px; line-height: 1.6; }
body.biko-workspace .page-content > .d-flex.mb-4 { margin-bottom: 30px !important; gap: 20px; }
body.biko-workspace :is(.card, .dashboard-card, .reference-chart, .reference-record-preview, .att-card, .att-kpi, .att-filters) {
    border: 1px solid #e4e1e9; border-radius: 20px; background: #fff;
    box-shadow: 0 4px 6px -4px #25193c10, 0 12px 36px -20px #25193c18;
}
body.biko-workspace .card-body { padding: 26px; }
body.biko-workspace :is(.card-header, .card-footer) { background: transparent; border-color: #eae8ee; padding: 20px 26px; }
body.biko-workspace .card-header :is(h5, h6) { font-size: 17px; font-weight: 700; letter-spacing: -.3px; }
body.biko-workspace .card-footer { font-size: 14px; }
body.biko-workspace .card { overflow: visible; }
body.biko-workspace .card > :first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }
body.biko-workspace .card > :last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; }
body.biko-workspace .welcome-card { padding: 32px !important; border-radius: 24px; color: #bdb5cd; background: radial-gradient(ellipse at right, #3f315c, transparent 70%), #23173a; margin-bottom: 28px !important; }
body.biko-workspace .welcome-card h1 { color: #f6f1ff; font-size: clamp(30px, 3vw, 44px); letter-spacing: -1.6px; }
body.biko-workspace .welcome-card :is(p, .reference-greeting, .reference-date) { color: #c0b5d6; }
body.biko-workspace .reference-date { font-size: 12px; letter-spacing: 1.5px; margin-bottom: 12px; }
body.biko-workspace .reference-greeting { font-size: 19px; }
body.biko-workspace .stat-card { transition: transform .2s, box-shadow .2s; }
body.biko-workspace .stat-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -15px #25193c30; }
body.biko-workspace .stat-card .card-body { padding: 24px; }
body.biko-workspace .stat-number { font-size: 34px; font-weight: 750; letter-spacing: -1.2px; }
body.biko-workspace .stat-label { font-size: 14px; margin-top: 8px; }
body.biko-workspace .stat-icon { width: 52px; height: 52px; border-radius: 16px !important; font-size: 22px; }
body.biko-workspace .card[class*="bg-"] .card-title { font-size: 14px; color: #6a617c; }
body.biko-workspace .card[class*="bg-"] h2 { font-size: 32px; letter-spacing: -1px; }
body.biko-workspace .btn { border-radius: 11px; padding: 11px 18px; font-size: 15px; font-weight: 600; line-height: 1.4; transition: background .18s, box-shadow .18s, transform .18s; }
body.biko-workspace .btn-primary { background: #2f087e; border-color: #2f087e; color: #fff; box-shadow: 0 4px 10px #2f087e1c; }
body.biko-workspace .btn-primary:hover { background: #260666; border-color: #260666; box-shadow: 0 6px 16px #2f087e29; opacity: 1; }
body.biko-workspace .btn-outline-primary { color: #2f087e; border-color: #b5a5d4; background: #f8f6fc; }
body.biko-workspace .btn-outline-primary:hover { color: #fff; background: #2f087e; }
body.biko-workspace :is(.btn-light, .btn-outline-secondary) { background: #fff; color: #534966; border-color: #dfdce6; }
body.biko-workspace .btn-sm { padding: 7px 11px; font-size: 13px; }
body.biko-workspace :is(.form-control, .form-select) { min-height: 46px; border: 1px solid #dfdce5; background-color: #fcfbfd; border-radius: 11px; color: #2e263e; padding: 10px 14px; font-size: 15px; }
body.biko-workspace .form-select { padding-right: 36px; }
body.biko-workspace :is(.form-control, .form-select):focus { border-color: #7255ab; box-shadow: 0 0 0 4px #2f087e10; background-color: #fff; }
body.biko-workspace .form-label { font-size: 14px; font-weight: 600; color: #4a405d; margin-bottom: 8px; }
body.biko-workspace :is(.form-text, .invalid-feedback) { font-size: 13px; margin-top: 7px; }
body.biko-workspace .form-check-input:checked { background-color: #2f087e; border-color: #2f087e; }
body.biko-workspace .table { font-size: 15px; vertical-align: middle; color: #443b55; --bs-table-bg: transparent; margin-bottom: 0; }
body.biko-workspace .table :is(th, td) { padding: 17px 18px; border-color: #eeedf1; }
body.biko-workspace .table thead th { font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: #787186; background: #f6f5f8; border-bottom: 1px solid #e6e3eb; }
body.biko-workspace .table td { color: #463d57; }
body.biko-workspace .table-hover tbody tr:hover { --bs-table-hover-bg: #f5f3fa; }
body.biko-workspace .table a:not(.btn) { color: #2f087e; font-weight: 600; }
body.biko-workspace .table .btn-sm { font-size: 12px; padding: 7px 9px; }
body.biko-workspace .badge { font-size: 12px; border-radius: 7px; font-weight: 600; padding: 6px 10px; letter-spacing: .1px; }
body.biko-workspace .badge.bg-success { color: #371875 !important; background: #e6dff5 !important; }
body.biko-workspace .badge.bg-warning { color: #8f6017 !important; background: #fff0d5 !important; }
body.biko-workspace .badge.bg-danger { color: #ae344d !important; background: #ffe4ea !important; }
body.biko-workspace .badge.bg-secondary { color: #5c5669 !important; background: #eeedf1 !important; }
body.biko-workspace .nav-tabs { gap: 12px; border-color: #dfdce6; }
body.biko-workspace .nav-tabs .nav-link { font-size: 15px; padding: 14px 16px; color: #746d83; }
body.biko-workspace .nav-tabs .nav-link.active { color: #2f087e; border-bottom-color: #2f087e; font-weight: 700; }
body.biko-workspace .page-link { font-size: 14px; padding: 9px 14px; border-radius: 9px; color: #675f78; }
body.biko-workspace .page-item.active .page-link { color: #fff; background: #2f087e; }
body.biko-workspace .dropdown-menu { border: 1px solid #e5e2ea; border-radius: 14px; padding: 8px; box-shadow: 0 12px 36px #24183b18; font-size: 15px; }
body.biko-workspace .dropdown-item { border-radius: 7px; padding: 9px 12px; }
body.biko-workspace .modal-content { border: 1px solid #e5e2ea; border-radius: 22px; box-shadow: 0 24px 90px #1a102d33; }
body.biko-workspace :is(.modal-header, .modal-body, .modal-footer) { padding: 24px; }
body.biko-workspace .modal-title { font-size: 22px; font-weight: 700; letter-spacing: -.6px; }
body.biko-workspace .alert { border-radius: 14px; font-size: 15px; padding: 18px 22px; }
body.biko-workspace :is(.reference-chart, .reference-record-preview) { padding: 26px; }
body.biko-workspace .reference-chart h2 { font-size: 18px; }
body.biko-workspace :is(.reference-chart small, .reference-health-legend, .reference-record-preview .preview-label) { font-size: 13px; }
body.biko-workspace .reference-record-preview { top: 108px; }
body.biko-workspace .reference-record-preview .preview-field { font-size: 15px; padding: 15px 0; }
body.biko-workspace .reference-chart-grid { gap: 24px; }
body.biko-workspace .reference-group-card { padding: 24px; border-radius: 18px; border-color: #e4e1e9; }
body.biko-workspace .reference-group-card h2 { font-size: 18px; }
body.biko-workspace .reference-group-card p { font-size: 14px; }
body.biko-workspace :is(.list-group-item, .reference-chat-message, .reference-announcement-feed .card-text) { font-size: 15px; }
body.biko-workspace .list-group-item { padding: 20px; }
body.biko-workspace .reference-chat-bubble { border-radius: 16px; padding: 15px 18px; background: #f2f0f5; color: #423955; }
body.biko-workspace .reference-chat-own .reference-chat-bubble { background: #e7e0f5; color: #38275b; }
body.biko-workspace :is(.reference-chat h6, .reference-note-open, .reference-announcement-feed .card-title) { font-size: 17px; }
body.biko-workspace :is(.reference-note-filter, .reference-note-list .reference-note-item .card-text, .reference-shared-file) { font-size: 14px; }
body.biko-workspace .reference-note-list .reference-note-item .card-text { max-height: 26px; }
body.biko-workspace .kanban-column { border-radius: 18px; }
body.biko-workspace .kanban-card { border-radius: 13px; }
body.biko-workspace .kanban-card h6 { font-size: 15px; }
body.biko-workspace :is(.kanban-card-body, .kanban-card-footer, .kanban-column-header) { font-size: 14px; }
body.biko-workspace .att-table thead th { font-size: 12px; }
body.biko-workspace .att-table tbody td { font-size: 15px; }
body.biko-workspace .kpi-label { font-size: 14px; }
body.biko-workspace .kpi-value { font-size: 32px; }
body.biko-workspace .fc { --fc-button-bg-color: #2f087e; --fc-button-border-color: #2f087e; --fc-today-bg-color: #f0edf7; font-size: 14px; }
body.biko-workspace .fc .fc-button { font-size: 14px; border-radius: 9px; }
body.biko-workspace .fc .fc-toolbar-title { font-size: 24px; }
body.biko-workspace[data-page="settings.index"] .nav-pills .nav-link { font-size: 15px; padding: 14px 18px; border-radius: 10px; }
body.biko-workspace[data-page="settings.index"] .nav-pills .nav-link.active { background: #e8e2f4; color: #2f087e; border-left-color: #2f087e; }
/* Authentication pages share the same brand language. */
body.biko-auth { background: #1a102d; }
body.biko-auth .login-container { background: radial-gradient(ellipse at 15% 20%, #42316580, transparent 45%), radial-gradient(ellipse at 90% 80%, #513c7c30, transparent 40%), #1a102d; }
body.biko-auth .floating-orb { opacity: .25; }
body.biko-auth .login-card { border-radius: 28px; padding: 44px; border: 1px solid #ffffff60; box-shadow: 0 30px 100px #00000030; background: #fffffff5; }
body.biko-auth .login-header h2 { background: none; -webkit-text-fill-color: #25193e; color: #25193e; font-size: 30px; letter-spacing: -1px; }
body.biko-auth .login-header p { color: #767082; font-size: 16px; }
body.biko-auth .login-header img { max-width: 235px !important; max-height: 80px !important; }
body.biko-auth .login-header .logo-wrapper::after { display: none; }
body.biko-auth .btn-login { background: #2f087e; border-radius: 12px; font-size: 16px; padding: 14px; }
body.biko-auth .btn-login:hover { background: #260666; }
@media (min-width: 993px) { body.biko-workspace .navbar-collapse { flex-grow: 0; } body.biko-workspace .navbar .navbar-nav { align-items: center; } }
@media (max-width: 1400px) {
    body.biko-workspace { --sidebar-width: 260px; }
    body.biko-workspace .page-content { padding: 28px; }
    body.biko-workspace .navbar > .container-fluid { padding: 0 28px; }
    body.biko-workspace .reference-record-layout { grid-template-columns: minmax(0, 1fr); }
    body.biko-workspace .reference-record-preview { display: none; }
    body.biko-workspace .reference-notes-layout { grid-template-columns: 150px minmax(220px, 1fr) minmax(280px, 1.2fr); }
}
@media (max-width: 992px) {
    body.biko-workspace .navbar.fixed-top { left: 0; height: 72px !important; }
    body.biko-workspace .navbar-brand { display: flex !important; }
    body.biko-workspace .navbar-brand img { max-width: 135px; max-height: 35px !important; }
    body.biko-workspace .navbar button[onclick="toggleSidebar()"] { display: block !important; }
    body.biko-workspace .sidebar { top: 72px !important; height: calc(100dvh - 72px) !important; width: 280px; box-shadow: 16px 0 40px #1a102d25; }
    body.biko-workspace .reference-brand { display: flex; padding: 22px 18px; }
    body.biko-workspace .page-wrapper { margin-left: 0; padding-top: 72px !important; }
    body.biko-workspace .reference-search { display: none; }
    body.biko-workspace .reference-notes-layout { grid-template-columns: 150px 1fr; }
    body.biko-workspace .reference-note-editor { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
    body.biko-workspace .page-content { padding: 24px 16px 32px !important; }
    body.biko-workspace .navbar > .container-fluid { padding: 0 16px; gap: 12px; min-height: 72px; }
    body.biko-workspace .navbar-collapse { position: absolute; top: 76px; right: 16px; width: min(320px, calc(100vw - 32px)); background: white; border-radius: 16px; padding: 16px; box-shadow: 0 14px 40px #1a102d20; border: 1px solid #e4e1e9; }
    body.biko-workspace .page-content > .d-flex.mb-4 { flex-wrap: wrap; align-items: flex-start !important; }
    body.biko-workspace .card-body { padding: 20px !important; }
    body.biko-workspace :is(.card-header, .card-footer) { padding: 18px 20px; }
    body.biko-workspace .welcome-card { padding: 26px !important; }
    body.biko-workspace .welcome-card h1 { font-size: 30px; }
    body.biko-workspace .table :is(th, td) { padding: 14px; }
    body.biko-workspace .reference-health { flex-wrap: wrap; }
    body.biko-workspace .reference-chart { padding: 20px; }
    body.biko-workspace .reference-notes-layout { grid-template-columns: 1fr; }
    body.biko-workspace .reference-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.biko-workspace .reference-chart-heading { flex-wrap: wrap; }
    body.biko-auth .login-card { margin: 16px; padding: 28px 24px; }
}
@media (max-width: 420px) {
    body.biko-workspace .reference-group-grid { grid-template-columns: 1fr; }
    body.biko-workspace .page-content > .row > .col-md-3 { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    body.biko-workspace *, body.biko-workspace *::before, body.biko-workspace *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep embedded apps fitted to the shared header, without clipping the frame. */
body.biko-workspace[data-page="apps.show"] .page-content { padding: 0 !important; max-width: none; }
body.biko-workspace .biko-app-shell { margin: 0; height: calc(100dvh - 84px); background: #1a102d; }
body.biko-workspace .biko-app-shell__bar { background: #23173a; font-size: 14px; padding: 12px 20px; }
body.biko-workspace :is(.reference-health-total, .reference-group-card p, .reference-preview-hint, .reference-note-list .reference-note-item .card-footer, .reference-announcement-filters .btn) { font-size: 14px; }
body.biko-workspace :is(.reference-chat-message > small, .reference-shared-file small) { font-size: 12px; }
body.biko-workspace .reference-health-total strong { font-size: 32px; }
body.biko-workspace .reference-announcement-compose .modal-title { font-size: 18px; }
body.biko-workspace .reference-announcement-compose { padding: 24px; }
body.biko-workspace .progress { height: 8px; }
body.biko-auth .login-container::before { background-image: none; }
body.biko-auth .login-box { border-radius: 28px; max-width: 470px; padding: 44px; border: 1px solid #ffffff60; box-shadow: 0 30px 100px #00000030; background: #fffffff5; }
body.biko-auth .login-box .btn-primary { background: #2f087e; border-color: #2f087e; font-size: 16px; padding: 14px; border-radius: 12px; }
body.biko-auth .login-box .btn-primary:hover { background: #260666; border-color: #260666; }
.workspace-backdrop { display: none; }
@media (max-width: 992px) {
    body.biko-workspace .biko-app-shell { height: calc(100dvh - 72px); }
    body.biko-workspace:has(.sidebar.active) { overflow: hidden; }
    body.biko-workspace:has(.sidebar.active) .workspace-backdrop { display: block; position: fixed; inset: 72px 0 0; z-index: 990; border: 0; background: #1a102d66; backdrop-filter: blur(3px); }
}
@media (max-width: 768px) {
    body.biko-auth .login-box { padding: 32px 24px; }
    body.biko-workspace .biko-app-shell__bar { flex-wrap: wrap; gap: 8px; }
}
body.biko-workspace .text-muted { color: #6a6378 !important; }
body.biko-workspace .page-content > .d-flex.mb-4 > .d-flex { flex-wrap: wrap; gap: 10px; }
body.biko-workspace .table-responsive { border-radius: 14px; }
body.biko-workspace .reference-search input::placeholder { color: #736c80; }
/* Purple-and-white theme, shared by every workspace page. */
body.biko-workspace {
    --theme-primary: #8c52ff;
    --bs-primary: #8c52ff;
    --bs-primary-rgb: 140, 82, 255;
    --bs-link-color: #8c52ff;
    --bs-link-hover-color: #5b21ce;
    background: #f7f5fb;
    color: #34284d;
}
body.biko-workspace .page-wrapper { background: radial-gradient(ellipse at 90% 0, #efe7ff80, transparent 45%), #f7f5fb; }
body.biko-workspace .sidebar { background: #fff; border-right: 1px solid #e9e4f2; box-shadow: 6px 0 32px #35265404; }
body.biko-workspace .reference-brand { border-color: #ede9f5; }
body.biko-workspace .reference-brand span { color: #877c9e; }
body.biko-workspace .sidebar-menu { scrollbar-color: #d3cbe3 transparent; }
body.biko-workspace .sidebar-menu .nav-link { color: #75698c; }
body.biko-workspace .sidebar-menu .nav-link > i { color: #978bae; }
body.biko-workspace .sidebar-menu .nav-link:hover { color: #8c52ff; background: #f6f2ff; border-color: transparent; }
body.biko-workspace .sidebar-menu a.nav-link.active { color: #8c52ff !important; background: #f3edff !important; border-color: #ece2ff !important; box-shadow: none; }
body.biko-workspace .sidebar-menu a.nav-link.active > i { color: #8c52ff; }
body.biko-workspace .sidebar-menu .sidebar-section-label { color: #42335f !important; }
body.biko-workspace .sidebar-menu .sidebar-section-label[aria-expanded="true"] { color: #352358 !important; background: #f9f7fd !important; }
body.biko-workspace .sidebar-menu .sidebar-section-label .sidebar-nav-chevron { color: #a59abc; }
body.biko-workspace .sidebar-subnav { border-color: #eae5f4; }
body.biko-workspace .sidebar-menu .sidebar-subnav-link { color: #75698c !important; }
body.biko-workspace .sidebar-menu .sidebar-subnav-link:hover { color: #8c52ff !important; background: #f6f2ff !important; }
body.biko-workspace .sidebar-divider { background: #f0edf6; }
body.biko-workspace .sidebar-heading { color: #a49ab9; }
body.biko-workspace .sidebar button:focus-visible { outline-color: #8c52ff; }
body.biko-workspace .btn-primary { background: #8c52ff; border-color: #8c52ff; box-shadow: 0 4px 12px #8c52ff20; }
body.biko-workspace .btn-primary:hover { background: #6223e1; border-color: #6223e1; }
body.biko-workspace .btn-outline-primary { color: #8c52ff; border-color: #dccaff; background: #faf8ff; }
body.biko-workspace .btn-outline-primary:hover { color: #fff; background: #8c52ff; }
body.biko-workspace .welcome-card { background: radial-gradient(ellipse at top right, #a375ff55, transparent 65%), linear-gradient(120deg, #311864, #5d2ebb); border: 1px solid #ffffff12; }
body.biko-workspace .welcome-card :is(h1, h2, h3) { color: #fff; }
body.biko-workspace .welcome-card :is(p, .reference-greeting, .reference-date) { color: #e0d3fa; }
body.biko-workspace .reference-user-avatar { background: #f3edff; color: #8c52ff; }
body.biko-workspace .badge.bg-success { color: #187546 !important; background: #dff5e5 !important; }
body.biko-workspace .password-link-card { border-color: #e6daff; background: linear-gradient(110deg, #fff, #f8f4ff); }
body.biko-workspace .password-link-card p { font-size: 15px; }
body.biko-workspace .page-item.active .page-link { background: #8c52ff; }
body.biko-workspace .nav-tabs .nav-link.active { color: #8c52ff; border-bottom-color: #8c52ff; }
body.biko-workspace .form-check-input:checked { background-color: #8c52ff; border-color: #8c52ff; }
body.biko-workspace .fc { --fc-button-bg-color: #8c52ff; --fc-button-border-color: #8c52ff; }
body.biko-auth .login-box .btn-primary { background: #8c52ff; border-color: #8c52ff; }
body.biko-auth .login-box .btn-primary:hover { background: #6223e1; border-color: #6223e1; }
/* Brand tokens sampled from BikoTODAY Hor Logo Black.png. */
body.biko-workspace {
    --biko-purple: #8c52ff;
    --biko-purple-dark: #6e35d6;
    --biko-purple-soft: #f5f0ff;
    --biko-purple-border: #d9c7ff;
    --theme-primary: var(--biko-purple);
    --primary-color: var(--biko-purple);
    --primary-dark: var(--biko-purple-dark);
    --primary-light: #b18aff;
    --bs-primary: var(--biko-purple);
    --bs-primary-rgb: 140, 82, 255;
    --bs-link-color: var(--biko-purple-dark);
    --bs-link-hover-color: #5525b2;
    --bs-border-color: var(--biko-purple-border);
    --border-color: var(--biko-purple-border);
}
body.biko-workspace :is(.card, .dashboard-card, .reference-chart, .reference-record-preview, .reference-group-card, .att-card, .att-kpi, .att-filters, .clock-hero, .kanban-card) {
    border-color: var(--biko-purple-border);
    box-shadow: 0 4px 8px -5px #8c52ff12, 0 14px 36px -22px #6e35d630;
}
body.biko-workspace :is(.card, .dashboard-card, .reference-chart, .reference-group-card, .att-kpi) { border-top: 3px solid var(--biko-purple); }
body.biko-workspace :is(.card-header, .card-footer, .modal-header, .modal-footer) { border-color: #e8dcff; }
body.biko-workspace .card:is(.bg-primary, .bg-info, .bg-success, .bg-warning, .bg-danger, .bg-secondary) {
    --summary-bg: #f5f0ff;
    --summary-border: #d9c7ff;
    --summary-accent: #8c52ff;
    background: linear-gradient(120deg, #fff, #f5f0ff) !important;
    border: 1px solid var(--biko-purple-border) !important;
    border-top: 3px solid var(--biko-purple) !important;
}
body.biko-workspace .stat-icon { background: #eee4ff !important; color: var(--biko-purple) !important; }
body.biko-workspace :is(.reference-chart h2 i, .reference-group-card i) { color: var(--biko-purple); }
body.biko-workspace .reference-group-card i { background: var(--biko-purple-soft); }
body.biko-workspace .btn-primary { background: var(--biko-purple); border-color: var(--biko-purple); box-shadow: 0 4px 12px #8c52ff26; }
body.biko-workspace .btn-primary:hover { background: var(--biko-purple-dark); border-color: var(--biko-purple-dark); }
body.biko-workspace .btn-outline-primary { color: var(--biko-purple-dark); border-color: var(--biko-purple-border); background: #fbf9ff; }
body.biko-workspace .btn-outline-primary:hover { color: #fff; background: var(--biko-purple); border-color: var(--biko-purple); }
body.biko-workspace .table a:not(.btn) { color: var(--biko-purple-dark); }
body.biko-workspace .table thead th { background: #f6f2ff; border-bottom-color: #e4d7ff; }
body.biko-workspace .table-hover tbody tr:hover { --bs-table-hover-bg: #f7f3ff; }
body.biko-workspace :is(.form-control, .form-select, .dropdown-menu, .modal-content, .reference-search) { border-color: var(--biko-purple-border); }
body.biko-workspace :is(.form-control, .form-select):focus { border-color: var(--biko-purple); box-shadow: 0 0 0 4px #8c52ff18; }
body.biko-workspace :is(a, button, input, select, textarea):focus-visible { outline-color: var(--biko-purple); }
body.biko-workspace .sidebar { border-right-color: #e8dcff; }
body.biko-workspace .sidebar-subnav { border-color: #e4d7ff; }
body.biko-workspace .sidebar-menu a.nav-link.active { color: var(--biko-purple-dark) !important; background: #f0e7ff !important; border-color: #dfceff !important; }
body.biko-workspace .sidebar-menu a.nav-link.active > i { color: var(--biko-purple); }
body.biko-workspace .sidebar-menu :is(.nav-link:hover, .sidebar-subnav-link:hover) { color: var(--biko-purple-dark) !important; background: #f7f3ff !important; }
body.biko-workspace .sidebar-menu .sidebar-section-label[aria-expanded="true"] { color: var(--biko-purple-dark) !important; background: #f8f5ff !important; }
body.biko-workspace .welcome-card { background: radial-gradient(ellipse at top right, #b58aff55, transparent 65%), linear-gradient(115deg, #2c1558, #6e35d6); border-color: #a679ff; }
body.biko-workspace .welcome-card :is(p, .reference-greeting, .reference-date) { color: #e5d5ff; }
body.biko-workspace .password-link-card { border-color: var(--biko-purple-border); background: linear-gradient(110deg, #fff, #f5f0ff); }
body.biko-workspace .reference-user-avatar { background: #f0e7ff; color: var(--biko-purple-dark); }
body.biko-workspace .nav-tabs .nav-link.active { color: var(--biko-purple-dark); border-bottom-color: var(--biko-purple); }
body.biko-workspace .form-check-input:checked { background-color: var(--biko-purple); border-color: var(--biko-purple); }
body.biko-workspace .page-item.active .page-link { background: var(--biko-purple); }
body.biko-workspace .fc { --fc-button-bg-color: #8c52ff; --fc-button-border-color: #8c52ff; --fc-today-bg-color: #f5f0ff; }
body.biko-workspace .fc .fc-day-today .fc-daygrid-day-number { background: var(--biko-purple); }
body.biko-workspace .progress-bar { background-color: var(--biko-purple); }
body.biko-workspace .kanban-column { border-color: var(--biko-purple-border); }
body.biko-workspace .reference-group-card:hover { border-color: var(--biko-purple); background: #fbf9ff; }
body.biko-workspace[data-page="settings.index"] .nav-pills .nav-link.active { color: var(--biko-purple-dark); background: #f0e7ff; border-left-color: var(--biko-purple); }
body.biko-auth .login-box .btn-primary { background: var(--biko-purple); border-color: var(--biko-purple); }
body.biko-auth .login-box .btn-primary:hover { background: var(--biko-purple-dark); border-color: var(--biko-purple-dark); }
/* Light lavender navigation with a distinct purple current-page state. */
body.biko-workspace .sidebar {
    background: linear-gradient(180deg, #f4edff 0%, #eee4ff 100%);
    border-right: 1px solid #dbc8ff;
    box-shadow: 5px 0 28px #8c52ff09;
}
body.biko-workspace .reference-brand { border-bottom-color: #ddcef6; }
body.biko-workspace .reference-brand span { color: #77628f; }
body.biko-workspace .sidebar-menu { scrollbar-color: #c5a7ef transparent; }
body.biko-workspace .sidebar-menu .nav-link,
body.biko-workspace .sidebar-menu .sidebar-subnav-link { color: #655078 !important; }
body.biko-workspace .sidebar-menu .nav-link > i { color: #9470bd; }
body.biko-workspace .sidebar-menu .sidebar-section-label { color: #51346f !important; }
body.biko-workspace .sidebar-menu .sidebar-section-label[aria-expanded="true"] { background: #e8dbfc !important; color: #6734aa !important; }
body.biko-workspace .sidebar-menu :is(.nav-link:hover, .sidebar-subnav-link:hover) { background: #e4d4fa !important; color: #602cac !important; }
body.biko-workspace .sidebar-menu a.nav-link.active {
    background: #8c52ff !important;
    color: #fff !important;
    border-color: #8c52ff !important;
    box-shadow: 0 5px 14px #8c52ff26;
}
body.biko-workspace .sidebar-menu a.nav-link.active > i { color: #fff; }
body.biko-workspace .sidebar-subnav { border-color: #d6c0f4; }
body.biko-workspace .sidebar-divider { background: #ddcef2; }
body.biko-workspace .sidebar-heading { color: #806499; }
body.biko-workspace .sidebar-menu .sidebar-section-label .sidebar-nav-chevron { color: #9874b9; }
body.biko-workspace .greeting-icon { margin-left: 5px; color: #d9c2ff; font-size: .95em; vertical-align: baseline; }
/* Navbar counters and hero actions must remain legible on every background. */
body.biko-workspace #notificationDropdown { position: relative; margin-right: 4px; flex-shrink: 0; }
body.biko-workspace #notificationBell {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; padding: 10px; border: 1px solid #d9c7ff;
    border-radius: 13px; color: #6e35d6; background: #f5f0ff; overflow: visible;
}
body.biko-workspace #notificationBell:hover { background: #eee3ff; color: #5525b2; }
body.biko-workspace #notificationBell svg { display: block; flex-shrink: 0; }
body.biko-workspace #notificationBadge {
    position: absolute; top: -7px; right: -8px; display: inline-flex;
    align-items: center; justify-content: center; min-width: 23px; height: 23px;
    padding: 0 5px; border: 2px solid #fff; border-radius: 20px;
    font-size: 11px; line-height: 1; font-weight: 750; letter-spacing: 0;
    color: #fff !important; background: #6e35d6 !important; z-index: 2;
}
body.biko-workspace #notificationDropdown > .dropdown-menu { width: min(350px, calc(100vw - 32px)) !important; }
body.biko-workspace .welcome-card .btn-outline-light { color: #fff; border-color: #c9abff; background: #ffffff12; }
body.biko-workspace .welcome-card .btn-outline-light:hover,
body.biko-workspace .welcome-card .btn-outline-light:focus-visible { color: #5525b2; background: #fff; border-color: #fff; }
body.biko-workspace .welcome-card .btn-light { color: #5525b2; background: #fff; border-color: #fff; }
body.biko-workspace .welcome-card .btn-light:hover { color: #45208d; background: #f0e7ff; border-color: #f0e7ff; }
@media(max-width:760px) { body.biko-workspace #notificationDropdown { margin-left: auto !important; } }
