/*
 * PAX CRM Enterprise Interface V4
 * Product-level redesign: calm enterprise navigation, readable pages,
 * command centre, quick actions, responsive mobile navigation and notes.
 */
:root {
    --v4-primary: #2457d6;
    --v4-primary-hover: #1d46b5;
    --v4-primary-soft: #edf3ff;
    --v4-primary-border: #c9d9ff;
    --v4-ink: #172033;
    --v4-heading: #111827;
    --v4-muted: #667085;
    --v4-subtle: #98a2b3;
    --v4-border: #e3e8ef;
    --v4-border-strong: #d0d7e2;
    --v4-canvas: #f5f7fa;
    --v4-surface: #ffffff;
    --v4-surface-soft: #f8fafc;
    --v4-sidebar: #ffffff;
    --v4-sidebar-width: 272px;
    --v4-sidebar-collapsed: 80px;
    --v4-topbar-height: 76px;
    --v4-success: #067647;
    --v4-warning: #b54708;
    --v4-danger: #b42318;
    --v4-shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);
    --v4-shadow-sm: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .03);
    --v4-shadow-md: 0 12px 32px rgba(16, 24, 40, .10);
    --v4-shadow-lg: 0 24px 70px rgba(16, 24, 40, .18);
}

html { font-size: 16px !important; background: var(--v4-canvas) !important; }
body.crm-app-body {
    background: var(--v4-canvas) !important;
    color: var(--v4-ink) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
body.crm-auth-body { background: #eef2f6 !important; }

/* Remove the previous visual noise and enforce a consistent shell. */
.crm-shell { --crm-sidebar-width: var(--v4-sidebar-width) !important; min-height: 100dvh !important; }
html[data-crm-sidebar="collapsed"] .crm-shell { --crm-sidebar-width: var(--v4-sidebar-collapsed) !important; }

.crm-sidebar-v3 {
    width: var(--crm-sidebar-width) !important;
    background: var(--v4-sidebar) !important;
    border-right: 1px solid var(--v4-border) !important;
    box-shadow: none !important;
}
.crm-sidebar-brandbar {
    min-height: 84px !important;
    padding: 16px 14px !important;
    border-bottom: 1px solid var(--v4-border) !important;
    background: #fff !important;
}
.crm-brand-lockup { gap: 11px !important; }
.crm-brand-logo {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: #172033 !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
}
.crm-brand-logo img { padding: 5px !important; }
.crm-brand-kicker { color: #7d89a0 !important; font-size: 9px !important; letter-spacing: .13em !important; }
.crm-brand-title { max-width: 162px !important; color: var(--v4-heading) !important; font-size: 14px !important; font-weight: 750 !important; }
.crm-sidebar-collapse {
    width: 32px !important;
    height: 32px !important;
    border: 1px solid var(--v4-border) !important;
    color: #667085 !important;
    background: #fff !important;
}
.crm-sidebar-collapse:hover { color: var(--v4-primary) !important; border-color: var(--v4-primary-border) !important; background: var(--v4-primary-soft) !important; }

.crm-sidebar-workspace {
    min-height: 58px !important;
    margin: 12px 12px 8px !important;
    padding: 10px 11px !important;
    border: 1px solid var(--v4-border) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}
.crm-workspace-mark { color: #344054 !important; background: #fff !important; border: 1px solid var(--v4-border) !important; }
.crm-workspace-copy span { color: #98a2b3 !important; font-size: 9px !important; }
.crm-workspace-copy strong { color: #344054 !important; font-size: 11.5px !important; }
.crm-workspace-status { border-color: #d1fadf !important; background: #12b76a !important; box-shadow: 0 0 0 3px #ecfdf3 !important; }

.crm-sidebar-quick-actions { padding: 4px 12px 7px !important; }
.crm-sidebar-create {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: #172033 !important;
    box-shadow: none !important;
    font-size: 12px !important;
}
.crm-sidebar-create:hover { transform: none !important; background: #263249 !important; box-shadow: none !important; }
.crm-sidebar-create kbd { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.12) !important; }

.sidebar-scroll { padding: 8px 10px 16px !important; scrollbar-color: #d0d5dd transparent !important; }
.crm-nav-group { margin-top: 15px !important; }
.crm-nav-group:first-child { margin-top: 2px !important; }
.sidebar-section-label {
    height: 25px !important;
    margin: 0 10px 5px !important;
    color: #98a2b3 !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .12em !important;
}
.crm-nav-items { gap: 2px !important; }
.sidebar-link {
    min-height: 41px !important;
    padding: 0 11px !important;
    gap: 11px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    color: #475467 !important;
    background: transparent !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}
.sidebar-link svg { width: 18px !important; height: 18px !important; color: #7a8699 !important; opacity: 1 !important; }
.sidebar-link:hover { color: #1d2939 !important; background: #f2f4f7 !important; border-color: transparent !important; }
.sidebar-link.active {
    color: #1849a9 !important;
    background: #edf3ff !important;
    border-color: #dbe7ff !important;
    box-shadow: none !important;
}
.sidebar-link.active::before { display: none !important; }
.sidebar-link.active svg { color: var(--v4-primary) !important; }

.sidebar-footer { padding: 10px 12px 12px !important; border-top: 1px solid var(--v4-border) !important; background: #fff !important; }
.crm-sidebar-account { min-height: 54px !important; padding: 7px !important; border: 1px solid var(--v4-border) !important; border-radius: 12px !important; background: #f8fafc !important; }
.crm-sidebar-account-avatar { background: #172033 !important; color: #fff !important; }
.crm-sidebar-account-name { color: #1d2939 !important; font-size: 12px !important; }
.crm-sidebar-account-role { color: #667085 !important; font-size: 10px !important; }
.crm-sidebar-signout { color: #667085 !important; background: #fff !important; border: 1px solid var(--v4-border) !important; }
.crm-sidebar-signout:hover { color: var(--v4-danger) !important; background: #fff5f4 !important; border-color: #fecdca !important; }
.crm-sidebar-security { color: #98a2b3 !important; font-size: 9px !important; }
.crm-sidebar-security span { background: #12b76a !important; }

html[data-crm-sidebar="collapsed"] .crm-sidebar .crm-sidebar-workspace,
html[data-crm-sidebar="collapsed"] .crm-sidebar .crm-sidebar-quick-actions,
html[data-crm-sidebar="collapsed"] .crm-sidebar .crm-sidebar-security { display: none !important; }
html[data-crm-sidebar="collapsed"] .crm-sidebar-brandbar { padding: 16px 18px !important; }
html[data-crm-sidebar="collapsed"] .crm-sidebar-collapse { top: 25px !important; right: -14px !important; }
html[data-crm-sidebar="collapsed"] .crm-sidebar .sidebar-link { width: 44px !important; min-height: 42px !important; margin-inline: auto !important; padding: 0 !important; }

/* Main frame and top bar. */
.crm-main { margin-left: var(--crm-sidebar-width) !important; background: var(--v4-canvas) !important; }
.crm-topbar {
    min-height: var(--v4-topbar-height) !important;
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid var(--v4-border) !important;
    box-shadow: none !important;
    backdrop-filter: blur(16px);
}
.crm-topbar-inner { min-height: var(--v4-topbar-height) !important; padding: 0 26px !important; gap: 18px !important; }
.crm-page-breadcrumb { color: #98a2b3 !important; font-size: 10px !important; }
.crm-page-breadcrumb strong { color: #667085 !important; }
.crm-page-title { color: #101828 !important; font-size: 21px !important; font-weight: 760 !important; letter-spacing: -.025em !important; }
.crm-scope-pill { min-height: 25px !important; border-color: var(--v4-border) !important; color: #475467 !important; background: #f8fafc !important; font-size: 10px !important; }
.crm-scope-icon { background: #12b76a !important; box-shadow: 0 0 0 3px #ecfdf3 !important; }
.crm-topbar-actions { gap: 8px !important; }
.crm-topbar-search-wrap { width: min(25vw, 290px) !important; }
.crm-topbar-search { height: 40px !important; border-radius: 10px !important; border-color: var(--v4-border) !important; background: #f8fafc !important; color: #344054 !important; font-size: 12px !important; }
.crm-topbar-search:focus { border-color: #84adff !important; background: #fff !important; box-shadow: 0 0 0 3px #edf3ff !important; }
.crm-search-shortcut { color: #98a2b3 !important; background: #fff !important; border-color: var(--v4-border) !important; }
.crm-icon-button, .crm-preferences-button, .crm-mobile-search-button {
    width: 40px !important; height: 40px !important; border-radius: 10px !important;
    border: 1px solid var(--v4-border) !important; color: #475467 !important; background: #fff !important;
}
.crm-icon-button:hover, .crm-preferences-button:hover, .crm-mobile-search-button:hover { color: var(--v4-primary) !important; border-color: var(--v4-primary-border) !important; background: var(--v4-primary-soft) !important; }
.crm-topbar-primary-action {
    min-height: 40px !important; padding: 0 14px !important; border: 1px solid #172033 !important; border-radius: 10px !important;
    color: #fff !important; background: #172033 !important; box-shadow: none !important; font-size: 12px !important;
}
.crm-topbar-primary-action:hover { background: #263249 !important; border-color: #263249 !important; transform: none !important; }
.crm-topbar-primary-action > svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.crm-user-card { min-height: 46px !important; padding: 5px 8px 5px 5px !important; border: 1px solid var(--v4-border) !important; border-radius: 12px !important; background: #fff !important; }
.crm-user-card:hover { border-color: var(--v4-primary-border) !important; background: #f8faff !important; }
.crm-user-avatar { width: 34px !important; height: 34px !important; background: #172033 !important; }
.crm-user-name { color: #1d2939 !important; font-size: 11.5px !important; }
.crm-user-meta { color: #667085 !important; font-size: 9px !important; }
.crm-user-meta small { display: none !important; }

.crm-command-button {
    height: 40px; padding: 0 11px; display: inline-flex; align-items: center; gap: 8px;
    border: 1px solid var(--v4-border); border-radius: 10px; color: #475467; background: #fff;
    font-size: 11px; font-weight: 650; cursor: pointer;
}
.crm-command-button:hover { border-color: var(--v4-primary-border); color: var(--v4-primary); background: var(--v4-primary-soft); }
.crm-command-button kbd { margin-left: 2px; padding: 2px 5px; border: 1px solid var(--v4-border); border-radius: 5px; color: #98a2b3; background: #f8fafc; font: inherit; font-size: 9px; }
.crm-topbar-clock { min-width: 50px; display: grid; line-height: 1.1; text-align: right; }
.crm-topbar-clock span { color: #344054; font-size: 11px; font-weight: 750; }
.crm-topbar-clock small { margin-top: 3px; color: #98a2b3; font-size: 8.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.crm-pin-page.is-pinned { color: var(--v4-primary) !important; border-color: var(--v4-primary-border) !important; background: var(--v4-primary-soft) !important; }

.crm-quick-create { position: relative; }
.crm-quick-create-menu {
    position: absolute; top: calc(100% + 10px); right: 0; z-index: 260; width: 300px; padding: 8px;
    border: 1px solid var(--v4-border); border-radius: 14px; background: #fff; box-shadow: var(--v4-shadow-md);
}
.crm-quick-create-title { padding: 7px 9px 8px; color: #98a2b3; font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.crm-quick-create-menu a { min-height: 58px; padding: 9px 10px; display: flex; align-items: center; gap: 11px; border-radius: 10px; text-decoration: none; }
.crm-quick-create-menu a:hover { background: #f8fafc; }
.crm-quick-create-menu a > svg { width: 19px; height: 19px; color: var(--v4-primary); }
.crm-quick-create-menu a span { display: grid; }
.crm-quick-create-menu strong { color: #1d2939; font-size: 12px; }
.crm-quick-create-menu small { margin-top: 2px; color: #667085; font-size: 10px; }

.page-wrapper { padding: 0 !important; }
.crm-page-wrapper { padding: 24px 26px 38px !important; }
.crm-page-content { width: 100% !important; max-width: 1680px !important; margin: 0 auto !important; }

/* Shared page components: readable, quiet and consistent. */
.crm-page-content .ent-card,
.crm-page-content section.rounded-\[24px\],
.crm-page-content section.rounded-\[22px\],
.crm-page-content section.rounded-\[26px\] {
    border-color: var(--v4-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: var(--v4-shadow-xs) !important;
}
.crm-page-content .ent-card:hover, .crm-page-content .ent-card-hover:hover { transform: none !important; box-shadow: var(--v4-shadow-sm) !important; }
.crm-page-content .ui-page-intro,
.crm-page-content .ent-hero {
    border: 1px solid #d9e2f0 !important;
    border-radius: 16px !important;
    color: var(--v4-heading) !important;
    background: linear-gradient(135deg, #ffffff 0%, #f7faff 100%) !important;
    box-shadow: var(--v4-shadow-xs) !important;
}
.crm-page-content .ui-page-intro::before,
.crm-page-content .ui-page-intro::after,
.crm-page-content .ent-hero::before,
.crm-page-content .ent-hero::after { display: none !important; }
.crm-page-content .ui-page-intro [class*="text-white"],
.crm-page-content .ent-hero [class*="text-white"] { color: #475467 !important; }
.crm-page-content .ui-page-intro h1,
.crm-page-content .ui-page-intro h2,
.crm-page-content .ent-hero h1,
.crm-page-content .ent-hero h2 { color: #101828 !important; }
.crm-page-content .ui-page-intro .bg-white,
.crm-page-content .ent-hero .bg-white { background: #172033 !important; color: #fff !important; }
.crm-page-content .ui-page-intro [class*="border-white"],
.crm-page-content .ent-hero [class*="border-white"] { border-color: var(--v4-border) !important; }
.crm-page-content .ui-page-intro [class*="bg-white/"],
.crm-page-content .ent-hero [class*="bg-white/"] { background: #fff !important; }

.crm-page-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.crm-page-content select,
.crm-page-content textarea,
.pax-field {
    min-height: 44px !important;
    border-color: var(--v4-border-strong) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
.crm-page-content textarea { min-height: 112px !important; }
.crm-page-content input:focus,
.crm-page-content select:focus,
.crm-page-content textarea:focus,
.pax-field:focus { border-color: #84adff !important; box-shadow: 0 0 0 3px #edf3ff !important; outline: 0 !important; }
.crm-page-content label > span:first-child,
.crm-page-content label.block,
.crm-page-content label[class*="text-"] { color: #475467; }
.crm-page-content button, .crm-page-content a { text-underline-offset: 2px; }
.crm-page-content button[class*="bg-indigo-600"],
.crm-page-content a[class*="bg-indigo-600"],
.crm-page-content .ent-btn-primary { background: var(--v4-primary) !important; border-color: var(--v4-primary) !important; color: #fff !important; box-shadow: none !important; }
.crm-page-content button[class*="bg-indigo-600"]:hover,
.crm-page-content a[class*="bg-indigo-600"]:hover,
.crm-page-content .ent-btn-primary:hover { background: var(--v4-primary-hover) !important; transform: none !important; }

.crm-page-content table { font-size: 13px !important; }
.crm-page-content thead { background: #f8fafc !important; }
.crm-page-content th { height: 42px !important; color: #667085 !important; font-size: 10px !important; font-weight: 750 !important; letter-spacing: .08em !important; }
.crm-page-content td { color: #344054; }
.crm-page-content tbody tr:hover { background: #f8faff !important; }

/* Repair extremely small legacy text utilities without changing invoice PDFs. */
.crm-page-content :where(.text-\[8px\],.text-\[9px\],.text-\[9\.5px\]) { font-size: 10.5px !important; }
.crm-page-content :where(.text-\[10px\],.text-\[10\.5px\]) { font-size: 11.5px !important; }
.crm-page-content :where(.text-\[11px\],.text-\[11\.5px\]) { font-size: 12.5px !important; }
.crm-page-content :where(.text-\[12px\],.text-\[12\.5px\]) { font-size: 13.5px !important; }
.crm-page-content :where(.text-\[13px\],.text-\[13\.5px\]) { font-size: 14px !important; }
.crm-page-content :where(.text-\[14px\]) { font-size: 15px !important; }
.crm-page-content :where(.text-\[15px\]) { font-size: 16px !important; }
.crm-page-content :where(.font-black) { font-weight: 730 !important; }

/* Notifications and drawers. */
.crm-notification-dropdown { width: min(390px, calc(100vw - 24px)) !important; border-color: var(--v4-border) !important; border-radius: 14px !important; box-shadow: var(--v4-shadow-md) !important; }
.crm-preferences-drawer { border-left-color: var(--v4-border) !important; background: #fff !important; }
.crm-drawer-header { min-height: 74px !important; border-bottom-color: var(--v4-border) !important; }
.crm-setting-title { color: #1d2939 !important; font-size: 13px !important; }
.crm-setting-description { color: #667085 !important; font-size: 11px !important; }
.crm-segmented { background: #f2f4f7 !important; }
.crm-segmented button[aria-pressed="true"] { color: #1849a9 !important; background: #fff !important; box-shadow: var(--v4-shadow-xs) !important; }

/* Command centre. */
.crm-command-palette { position: fixed; inset: 0; z-index: 520; display: none; padding: 10vh 18px 18px; }
.crm-command-palette[aria-hidden="false"] { display: block; }
.crm-command-backdrop { position: absolute; inset: 0; background: rgba(16,24,40,.48); backdrop-filter: blur(4px); }
.crm-command-dialog { position: relative; width: min(680px, 100%); max-height: min(720px, 80vh); margin: 0 auto; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.55); border-radius: 18px; background: #fff; box-shadow: var(--v4-shadow-lg); }
.crm-command-searchbar { min-height: 62px; padding: 0 16px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--v4-border); }
.crm-command-searchbar > svg { width: 21px; height: 21px; fill: none; stroke: #667085; stroke-width: 2; }
.crm-command-searchbar input { min-width: 0; flex: 1; border: 0; outline: 0; color: #1d2939; background: transparent; font-size: 15px; }
.crm-command-searchbar > kbd, .crm-command-dialog footer kbd, .crm-command-list > a > kbd { padding: 3px 6px; border: 1px solid var(--v4-border); border-radius: 6px; color: #667085; background: #f8fafc; font: inherit; font-size: 9px; }
.crm-command-body { min-height: 0; flex: 1; overflow-y: auto; padding: 9px; }
.crm-command-section { padding: 7px 0; }
.crm-command-section h2 { margin: 0 10px 6px; color: #98a2b3; font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.crm-command-list { display: grid; gap: 2px; }
.crm-command-list > a { min-height: 54px; padding: 8px 10px; display: flex; align-items: center; gap: 12px; border-radius: 10px; text-decoration: none; }
.crm-command-list > a:hover, .crm-command-list > a.is-active { background: #edf3ff; }
.crm-command-list > a > svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: #667085; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.crm-command-list > a:hover > svg, .crm-command-list > a.is-active > svg { stroke: var(--v4-primary); }
.crm-command-list > a > span { min-width: 0; flex: 1; display: grid; }
.crm-command-list strong { color: #1d2939; font-size: 12.5px; }
.crm-command-list small { margin-top: 2px; color: #667085; font-size: 10.5px; }
.crm-command-list > a > kbd { margin-left: auto; }
.crm-command-empty { padding: 38px 18px; color: #667085; text-align: center; }
.crm-command-dialog footer { min-height: 43px; padding: 0 14px; display: flex; align-items: center; gap: 18px; border-top: 1px solid var(--v4-border); color: #98a2b3; background: #f8fafc; font-size: 9px; }
html.crm-command-open { overflow: hidden; }

/* Mobile bottom navigation is intentionally limited to small phones. */
.crm-mobile-bottom-nav { display: none; }

/* V4 reusable components and Personal Notes. */
.crm-v4-stack { display: grid; gap: 18px; }
.crm-v4-page-header { min-height: 148px; padding: 24px 26px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #d9e2f0; border-radius: 16px; background: linear-gradient(135deg,#fff,#f6f9ff); box-shadow: var(--v4-shadow-xs); }
.crm-v4-page-header h2 { margin: 7px 0 0; color: #101828; font-size: clamp(22px,2vw,28px); line-height: 1.2; letter-spacing: -.03em; }
.crm-v4-page-header p { max-width: 680px; margin: 7px 0 0; color: #667085; font-size: 13px; }
.crm-v4-eyebrow { color: #2457d6; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.crm-v4-primary,.crm-v4-secondary,.crm-v4-quiet-button { min-height: 42px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
.crm-v4-primary { border: 1px solid #172033; color: #fff; background: #172033; }
.crm-v4-primary:hover { background: #263249; }
.crm-v4-primary svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
.crm-v4-secondary { border: 1px solid var(--v4-primary); color: #fff; background: var(--v4-primary); }
.crm-v4-quiet-button { border: 1px solid var(--v4-border); color: #475467; background: #fff; }
.crm-v4-quiet-button:hover { background: #f8fafc; }
.crm-v4-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.crm-v4-stat-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.crm-v4-stat { padding: 18px; border: 1px solid var(--v4-border); border-radius: 14px; background: #fff; box-shadow: var(--v4-shadow-xs); }
.crm-v4-stat span { color: #667085; font-size: 11px; font-weight: 650; }
.crm-v4-stat strong { display: block; margin-top: 7px; color: #101828; font-size: 26px; line-height: 1; letter-spacing: -.035em; }
.crm-v4-stat small { display: block; margin-top: 8px; color: #98a2b3; font-size: 10.5px; }
.crm-v4-panel { border: 1px solid var(--v4-border); border-radius: 14px; background: #fff; box-shadow: var(--v4-shadow-xs); }
.crm-v4-filterbar { padding: 14px; }
.crm-v4-filterbar form { display: flex; align-items: end; gap: 10px; }
.crm-v4-field { display: grid; gap: 6px; }
.crm-v4-field-grow { min-width: 220px; flex: 1; }
.crm-v4-field > span { color: #475467; font-size: 10px; font-weight: 700; }
.crm-v4-field input,.crm-v4-field select,.crm-v4-field textarea { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--v4-border-strong); border-radius: 10px; color: #344054; background: #fff; font-size: 13px; }
.crm-v4-field textarea { padding-block: 10px; resize: vertical; }
.crm-v4-field input:focus,.crm-v4-field select:focus,.crm-v4-field textarea:focus { border-color: #84adff; outline: 0; box-shadow: 0 0 0 3px #edf3ff; }
.crm-v4-check { min-height: 42px; display: flex; align-items: center; gap: 9px; color: #475467; font-size: 12px; }
.crm-v4-empty-state { padding: 64px 24px; display: grid; justify-items: center; border: 1px dashed var(--v4-border-strong); border-radius: 16px; background: #fff; text-align: center; }
.crm-v4-empty-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 14px; color: var(--v4-primary); background: var(--v4-primary-soft); }
.crm-v4-empty-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.crm-v4-empty-state h2 { margin: 15px 0 0; color: #1d2939; font-size: 17px; }
.crm-v4-empty-state p { margin: 5px 0 16px; color: #667085; }

.crm-note-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.crm-note-card { --note-accent:#667085; --note-bg:#f8fafc; min-height: 230px; padding: 17px; display: flex; flex-direction: column; border: 1px solid var(--v4-border); border-top: 3px solid var(--note-accent); border-radius: 14px; background: linear-gradient(180deg,var(--note-bg),#fff 70%); box-shadow: var(--v4-shadow-xs); }
.crm-note-blue { --note-accent:#2e6ee6; --note-bg:#f2f6ff; }.crm-note-emerald{--note-accent:#079455;--note-bg:#f0fdf7}.crm-note-amber{--note-accent:#dc6803;--note-bg:#fffaeb}.crm-note-rose{--note-accent:#d92d20;--note-bg:#fff5f4}.crm-note-violet{--note-accent:#7f56d9;--note-bg:#f9f5ff}
.crm-note-card-head { min-height: 30px; display: flex; align-items: center; gap: 7px; }
.crm-note-colour-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--note-accent); }
.crm-note-pinned { color: var(--note-accent); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.crm-note-actions { margin-left: auto; display: flex; gap: 3px; }
.crm-note-actions form { display: contents; }
.crm-note-actions button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #667085; background: transparent; cursor: pointer; }
.crm-note-actions button:hover { color: var(--note-accent); background: rgba(255,255,255,.75); }
.crm-note-actions svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.crm-note-card h2 { margin: 12px 0 0; color: #1d2939; font-size: 16px; line-height: 1.3; }
.crm-note-card > p { margin: 9px 0 0; overflow: hidden; color: #475467; font-size: 12.5px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; }
.crm-note-card footer { margin-top: auto; padding-top: 16px; color: #98a2b3; font-size: 10px; }
.crm-v4-modal { position: fixed; inset: 0; z-index: 600; display: none; padding: 30px 18px; align-items: center; justify-content: center; }
.crm-v4-modal[aria-hidden="false"] { display: flex; }
.crm-v4-modal-backdrop { position: absolute; inset: 0; background: rgba(16,24,40,.5); backdrop-filter: blur(4px); }
.crm-v4-modal-card { position: relative; width: min(620px,100%); max-height: calc(100vh - 40px); overflow-y: auto; border: 1px solid rgba(255,255,255,.6); border-radius: 18px; background: #fff; box-shadow: var(--v4-shadow-lg); }
.crm-v4-modal-card > header { min-height: 76px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--v4-border); }
.crm-v4-modal-card > header h2 { margin: 3px 0 0; color: #1d2939; font-size: 18px; }
.crm-v4-icon-button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--v4-border); border-radius: 9px; color: #667085; background: #fff; cursor: pointer; }
.crm-v4-icon-button svg { width: 16px; height: 16px; fill:none; stroke:currentColor; stroke-width:2; }
.crm-v4-modal-card form { padding: 18px; display: grid; gap: 15px; }
.crm-note-form-row { display: grid; grid-template-columns: minmax(180px,.8fr) 1fr; align-items: end; gap: 14px; }
.crm-v4-modal-card form > footer { padding-top: 2px; display: flex; justify-content: flex-end; gap: 9px; }
html.crm-v4-modal-open { overflow: hidden; }

/* Authentication redesign. */
.crm-auth-v4 { min-height: 100dvh; display: grid; grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr); background: #fff; }
.crm-auth-brand { position: relative; min-height: 100dvh; padding: clamp(34px,5vw,72px); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: #fff; background: #111827; }
.crm-auth-brand::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 15% 10%,rgba(46,110,230,.30),transparent 34rem), radial-gradient(circle at 100% 100%,rgba(255,255,255,.08),transparent 30rem); }
.crm-auth-brand-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,#000,transparent 88%); }
.crm-auth-brand > * { position:relative; z-index:1; }
.crm-auth-logo-row { display:flex; align-items:center; gap:13px; }
.crm-auth-logo { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:13px; color:#fff; background:rgba(255,255,255,.08); font-size:15px; font-weight:800; }
.crm-auth-logo-copy strong { display:block; font-size:15px; }.crm-auth-logo-copy span{display:block;margin-top:3px;color:#98a2b3;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.crm-auth-story { max-width: 600px; margin-block: auto; padding-block: 50px; }
.crm-auth-badge { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:#d0d5dd; background:rgba(255,255,255,.06); font-size:9px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.crm-auth-badge::before { content:""; width:7px;height:7px;border-radius:50%;background:#32d583;box-shadow:0 0 0 4px rgba(50,213,131,.10); }
.crm-auth-story h1 { max-width:560px; margin:22px 0 0; color:#fff; font-size:clamp(34px,4vw,58px); line-height:1.04; letter-spacing:-.045em; }
.crm-auth-story > p { max-width:540px; margin:20px 0 0; color:#aeb7c6; font-size:15px; line-height:1.75; }
.crm-auth-capabilities { margin-top:36px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.crm-auth-capability { padding:15px; display:flex; gap:11px; border:1px solid rgba(255,255,255,.10); border-radius:13px; background:rgba(255,255,255,.045); }
.crm-auth-capability svg { width:19px;height:19px;flex:0 0 auto;fill:none;stroke:#84adff;stroke-width:1.8; }
.crm-auth-capability strong { display:block;color:#f2f4f7;font-size:12px; }.crm-auth-capability span{display:block;margin-top:4px;color:#98a2b3;font-size:10.5px;line-height:1.5}
.crm-auth-brand-footer { display:flex;align-items:center;justify-content:space-between;gap:16px;color:#667085;font-size:10px; }.crm-auth-brand-footer span{display:flex;align-items:center;gap:7px}.crm-auth-brand-footer span::before{content:"";width:7px;height:7px;border-radius:50%;background:#32d583}
.crm-auth-form-area { min-height:100dvh; padding:clamp(28px,5vw,72px); display:flex; align-items:center; justify-content:center; background:#fff; }
.crm-auth-form-shell { width:min(440px,100%); }
.crm-auth-mobile-brand { display:none; }
.crm-auth-form-head .crm-v4-eyebrow { color:#2457d6; }.crm-auth-form-head h2{margin:9px 0 0;color:#101828;font-size:30px;line-height:1.2;letter-spacing:-.035em}.crm-auth-form-head p{margin:8px 0 0;color:#667085;font-size:13px}
.crm-auth-alert { margin-top:20px; padding:12px 13px; display:flex;align-items:flex-start;gap:9px;border-radius:10px;font-size:12px;line-height:1.55; }.crm-auth-alert svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2}.crm-auth-alert-error{border:1px solid #fecdca;color:#b42318;background:#fff5f4}.crm-auth-alert-success{border:1px solid #abefc6;color:#067647;background:#ecfdf3}
.crm-auth-form { margin-top:28px; display:grid;gap:18px; }.crm-auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.crm-auth-label-row label,.crm-auth-field>label{color:#344054;font-size:12px;font-weight:700}.crm-auth-label-row a{color:#2457d6;font-size:11px;font-weight:700;text-decoration:none}.crm-auth-input-wrap{position:relative;margin-top:7px}.crm-auth-input-wrap>svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:#98a2b3;stroke-width:1.8}.crm-auth-input{width:100%;height:50px;padding:0 46px;border:1px solid #d0d5dd;border-radius:11px;color:#344054;background:#fff;font-size:14px;outline:0}.crm-auth-input:focus{border-color:#84adff;box-shadow:0 0 0 4px #edf3ff}.crm-auth-password-toggle{position:absolute;right:8px;top:50%;height:34px;padding:0 9px;transform:translateY(-50%);border:0;border-radius:8px;color:#667085;background:transparent;font-size:11px;font-weight:700;cursor:pointer}.crm-auth-password-toggle:hover{color:#2457d6;background:#edf3ff}.crm-auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px}.crm-auth-remember{display:flex;align-items:center;gap:8px;color:#475467;font-size:12px}.crm-auth-remember input{width:16px;height:16px}.crm-auth-timezone{color:#98a2b3;font-size:10px}.crm-auth-submit{width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #172033;border-radius:11px;color:#fff;background:#172033;font-size:13px;font-weight:750;cursor:pointer}.crm-auth-submit:hover{background:#263249}.crm-auth-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.crm-auth-security{margin-top:22px;padding:13px;display:flex;gap:10px;border:1px solid var(--v4-border);border-radius:12px;background:#f8fafc}.crm-auth-security svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#2457d6;stroke-width:1.8}.crm-auth-security strong{display:block;color:#344054;font-size:11px}.crm-auth-security p{margin:3px 0 0;color:#667085;font-size:10.5px;line-height:1.55}.crm-auth-form-footer{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#98a2b3;font-size:10px}

/* Dark mode stays neutral and readable. */
html[data-crm-theme="dark"] {
    --v4-canvas:#0f1724; --v4-surface:#151f2f; --v4-surface-soft:#192537; --v4-sidebar:#111b2a;
    --v4-border:#29364a; --v4-border-strong:#39485f; --v4-ink:#e5e7eb; --v4-heading:#f8fafc; --v4-muted:#a6b0c0;
}
html[data-crm-theme="dark"] body.crm-app-body,html[data-crm-theme="dark"] .crm-main{background:var(--v4-canvas)!important;color:var(--v4-ink)!important}
html[data-crm-theme="dark"] .crm-sidebar-v3,html[data-crm-theme="dark"] .crm-sidebar-brandbar,html[data-crm-theme="dark"] .sidebar-footer,html[data-crm-theme="dark"] .crm-topbar,html[data-crm-theme="dark"] .crm-page-content .ent-card,html[data-crm-theme="dark"] .crm-page-content section.rounded-\[24px\],html[data-crm-theme="dark"] .crm-page-content section.rounded-\[22px\],html[data-crm-theme="dark"] .crm-page-content .ui-page-intro,html[data-crm-theme="dark"] .crm-page-content .ent-hero{background:var(--v4-surface)!important;border-color:var(--v4-border)!important}
html[data-crm-theme="dark"] .crm-brand-title,html[data-crm-theme="dark"] .crm-page-title,html[data-crm-theme="dark"] .crm-page-content h1,html[data-crm-theme="dark"] .crm-page-content h2,html[data-crm-theme="dark"] .crm-page-content h3{color:#f8fafc!important}
html[data-crm-theme="dark"] .sidebar-link{color:#b7c0cf!important}html[data-crm-theme="dark"] .sidebar-link:hover{color:#fff!important;background:#1b283a!important}html[data-crm-theme="dark"] .sidebar-link.active{color:#bfd0ff!important;background:#20365f!important;border-color:#294a84!important}
html[data-crm-theme="dark"] .crm-sidebar-workspace,html[data-crm-theme="dark"] .crm-sidebar-account,html[data-crm-theme="dark"] .crm-topbar-search,html[data-crm-theme="dark"] .crm-user-card{background:var(--v4-surface-soft)!important;border-color:var(--v4-border)!important}
html[data-crm-theme="dark"] .crm-workspace-copy strong,html[data-crm-theme="dark"] .crm-sidebar-account-name,html[data-crm-theme="dark"] .crm-user-name{color:#eef2f7!important}
html[data-crm-theme="dark"] .crm-command-dialog,html[data-crm-theme="dark"] .crm-quick-create-menu,html[data-crm-theme="dark"] .crm-preferences-drawer{background:var(--v4-surface)!important;border-color:var(--v4-border)!important}

@media (max-width: 1279px) {
    .crm-command-button span,.crm-command-button kbd,.crm-topbar-clock,.crm-user-copy { display:none !important; }
    .crm-command-button { width:40px;padding:0;justify-content:center; }
    .crm-topbar-search-wrap { width:220px !important; }
}

@media (max-width: 1023px) {
    .crm-sidebar-v3 { width: min(304px,86vw) !important; box-shadow: 22px 0 60px rgba(16,24,40,.22) !important; }
    .crm-main { margin-left:0 !important; padding-bottom:0; }
    .crm-topbar-inner { padding:0 18px !important; }
    .crm-page-wrapper { padding:20px 18px 32px !important; }
    .crm-topbar-search-wrap { display:none !important; }
    .crm-command-button { display:inline-flex !important; }
    .crm-note-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .crm-auth-v4 { grid-template-columns:minmax(360px,.82fr) minmax(480px,1.18fr); }
    .crm-auth-brand { padding:38px; }.crm-auth-story h1{font-size:40px}.crm-auth-capabilities{grid-template-columns:1fr}
}

@media (max-width: 767px) {
    .crm-topbar { min-height:64px !important; }
    .crm-topbar-inner { min-height:64px !important; padding:0 13px !important; }
    .crm-page-heading { min-width:0; }
    .crm-page-breadcrumb,.crm-scope-pill,.crm-preferences-button,.crm-pin-page,.crm-user-card,.crm-command-button { display:none !important; }
    .crm-page-title { max-width:53vw;font-size:17px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
    .crm-topbar-primary-action { width:40px !important;padding:0 !important;justify-content:center; }
    .crm-topbar-primary-action span:last-of-type,.crm-topbar-primary-action>svg { display:none; }
    .crm-page-wrapper { padding:14px 12px 88px !important; }
    .crm-mobile-bottom-nav { position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:230;height:62px;padding:5px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid rgba(208,215,226,.9);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 14px 38px rgba(16,24,40,.18);backdrop-filter:blur(16px); }
    .crm-mobile-bottom-nav a,.crm-mobile-bottom-nav button{display:grid;place-items:center;align-content:center;gap:3px;border:0;border-radius:11px;color:#667085;background:transparent;font-size:9px;font-weight:700;text-decoration:none}.crm-mobile-bottom-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.crm-mobile-bottom-nav .active{color:#1849a9;background:#edf3ff}
    .crm-v4-page-header { min-height:auto;padding:20px;align-items:flex-start;flex-direction:column; }.crm-v4-page-header .crm-v4-primary{width:100%}
    .crm-v4-stat-grid,.crm-v4-stat-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }.crm-v4-stat{padding:15px}.crm-v4-stat strong{font-size:23px}
    .crm-v4-filterbar form { align-items:stretch;flex-direction:column; }.crm-v4-field-grow{min-width:0}.crm-v4-filterbar .crm-v4-secondary,.crm-v4-filterbar .crm-v4-quiet-button{width:100%}
    .crm-note-grid { grid-template-columns:1fr; }.crm-note-card{min-height:210px}
    .crm-note-form-row { grid-template-columns:1fr; }
    .crm-command-palette { padding:9vh 10px 78px; }.crm-command-dialog{max-height:78vh;border-radius:15px}.crm-command-dialog footer{display:none}
    .crm-auth-v4 { display:block;background:#fff; }.crm-auth-brand{display:none}.crm-auth-form-area{min-height:100dvh;padding:26px 20px}.crm-auth-mobile-brand{margin-bottom:44px;display:flex;align-items:center;gap:11px}.crm-auth-mobile-brand .crm-auth-logo{color:#fff;background:#172033;border:0}.crm-auth-mobile-brand strong{display:block;color:#101828;font-size:14px}.crm-auth-mobile-brand span{display:block;margin-top:2px;color:#667085;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.crm-auth-form-head h2{font-size:27px}.crm-auth-form-footer{flex-direction:column;align-items:flex-start}
}

@media (max-width: 479px) {
    .crm-v4-stat-grid,.crm-v4-stat-grid-3 { grid-template-columns:1fr 1fr; }
    .crm-v4-stat small { display:none; }
    .crm-v4-page-header h2 { font-size:22px; }
    .crm-auth-options { align-items:flex-start;flex-direction:column; }.crm-auth-timezone{display:none}.crm-auth-form-area{padding-inline:16px}.crm-auth-mobile-brand{margin-bottom:34px}
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

/* Executive dashboard V4. */
.crm-v4-dashboard-head { min-height: 178px; padding: 26px 28px; display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #d9e2f0;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#f4f8ff 100%);box-shadow:var(--v4-shadow-xs); }
.crm-v4-dashboard-head-copy h2 { max-width:760px;margin:8px 0 0;color:#101828;font-size:clamp(25px,2.4vw,34px);line-height:1.16;letter-spacing:-.04em; }
.crm-v4-dashboard-head-copy>p { max-width:720px;margin:9px 0 0;color:#667085;font-size:13px;line-height:1.65; }
.crm-v4-dashboard-scope { margin-top:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
.crm-v4-dashboard-scope span { min-height:26px;padding:0 9px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--v4-border);border-radius:999px;color:#667085;background:#fff;font-size:10px;font-weight:650; }
.crm-v4-dashboard-scope i { width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px #ecfdf3; }
.crm-v4-dashboard-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px; }
.crm-v4-kpi-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.crm-v4-kpi { min-height:126px;padding:18px;display:flex;align-items:flex-start;gap:14px;border:1px solid var(--v4-border);border-radius:14px;background:#fff;box-shadow:var(--v4-shadow-xs); }
.crm-v4-kpi-icon { width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;color:#2457d6;background:#edf3ff; }.crm-v4-kpi-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.crm-v4-kpi-green{color:#067647;background:#ecfdf3}.crm-v4-kpi-violet{color:#6941c6;background:#f4f3ff}.crm-v4-kpi-amber{color:#b54708;background:#fffaeb}
.crm-v4-kpi>div:last-child { min-width:0;display:grid; }.crm-v4-kpi span{color:#667085;font-size:11px;font-weight:650}.crm-v4-kpi strong{margin-top:5px;color:#101828;font-size:24px;line-height:1.05;letter-spacing:-.035em}.crm-v4-kpi small{margin-top:8px;color:#98a2b3;font-size:10.5px}
.crm-v4-focus-grid { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:14px; }.crm-v4-focus-panel,.crm-v4-celebrations,.crm-v4-chart-card,.crm-v4-record-card,.crm-v4-activity-card{overflow:hidden}
.crm-v4-panel-head { min-height:75px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--v4-border); }.crm-v4-panel-head h2{margin:4px 0 0;color:#101828;font-size:16px;line-height:1.25}.crm-v4-panel-head p{margin:4px 0 0;color:#667085;font-size:10.5px}.crm-v4-panel-head>a{color:#2457d6;font-size:11px;font-weight:700;text-decoration:none}.crm-v4-panel-head>strong{text-align:right;color:#101828;font-size:18px}.crm-v4-panel-head>strong small{display:block;margin-top:2px;color:#98a2b3;font-size:9px;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
.crm-v4-focus-items { padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }.crm-v4-focus-item{min-height:120px;padding:14px;display:flex;flex-direction:column;border:1px solid var(--v4-border);border-radius:11px;color:inherit;background:#f8fafc;text-decoration:none}.crm-v4-focus-item:hover{border-color:var(--v4-primary-border);background:#f5f8ff}.crm-v4-focus-item span{color:#667085;font-size:10.5px;font-weight:650}.crm-v4-focus-item strong{margin-top:10px;color:#101828;font-size:25px;line-height:1}.crm-v4-focus-item small{margin-top:auto;padding-top:12px;color:#98a2b3;font-size:9.5px}.crm-v4-focus-danger{border-color:#fecdca;background:#fff8f7}.crm-v4-focus-danger strong{color:#b42318}
.crm-v4-celebration-list{padding:8px}.crm-v4-celebration-list>a{min-height:58px;padding:7px 8px;display:flex;align-items:center;gap:10px;border-radius:10px;text-decoration:none}.crm-v4-celebration-list>a:hover{background:#f8fafc}.crm-v4-person-avatar{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border-radius:10px;color:#fff;background:#172033;font-size:11px;font-weight:750}.crm-v4-person-avatar img{width:100%;height:100%;object-fit:cover}.crm-v4-person-copy{min-width:0;flex:1;display:grid}.crm-v4-person-copy strong{overflow:hidden;color:#344054;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.crm-v4-person-copy small{margin-top:2px;color:#667085;font-size:9.5px}.crm-v4-celebration-list>a>b{color:#2457d6;font-size:9.5px}.crm-v4-today-event{min-height:58px;padding:7px 8px;display:flex;align-items:center;gap:10px;border-radius:10px;background:#f8fafc}.crm-v4-today-event+.crm-v4-today-event{margin-top:6px}
.crm-v4-mini-empty{padding:28px 18px;color:#667085;font-size:12px;text-align:center}
.crm-v4-dashboard-filters{overflow:hidden}.crm-v4-filter-summary{width:100%;min-height:58px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;color:#475467;background:#fff;cursor:pointer}.crm-v4-filter-summary>span{display:flex;align-items:center;gap:9px}.crm-v4-filter-summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.crm-v4-filter-summary strong{color:#344054;font-size:12px}.crm-v4-filter-summary small{color:#98a2b3;font-size:10px}.crm-v4-filter-summary[aria-expanded="true"]>svg:last-child{transform:rotate(180deg)}.crm-v4-dashboard-filter-form{padding:14px 16px 16px;display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;border-top:1px solid var(--v4-border);background:#f8fafc}.crm-v4-dashboard-filter-actions{display:flex;align-items:end;gap:8px}
.crm-v4-chart-grid { display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.6fr);gap:14px; }.crm-v4-chart-grid>.crm-v4-chart-wide:first-child{order:-1}.crm-v4-chart-card.crm-v4-chart-wide{grid-column:auto}.crm-v4-chart-wrap{height:280px;padding:15px 17px 17px}.crm-v4-chart-doughnut{height:300px}
.crm-v4-client-list>div{min-height:60px;padding:9px 18px;display:grid;grid-template-columns:30px minmax(150px,1fr) minmax(90px,.65fr) minmax(90px,.65fr) minmax(100px,.7fr);align-items:center;gap:12px;border-top:1px solid #f0f2f5}.crm-v4-client-list>div:first-child{border-top:0}.crm-v4-rank{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#667085;background:#f2f4f7;font-size:10px;font-weight:750}.crm-v4-client-copy{min-width:0;display:grid}.crm-v4-client-copy strong{overflow:hidden;color:#344054;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.crm-v4-client-copy small,.crm-v4-client-list>div>span:not(.crm-v4-rank):not(.crm-v4-client-copy) small{color:#98a2b3;font-size:9px}.crm-v4-client-list>div>span:not(.crm-v4-rank):not(.crm-v4-client-copy){display:grid}.crm-v4-client-list>div>span strong{margin-top:2px;color:#475467;font-size:11px}.crm-v4-client-list>div>b{color:#101828;font-size:12px;text-align:right}.crm-v4-positive{color:#067647!important}
.crm-v4-record-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.crm-v4-record-list>a{min-height:65px;padding:10px 17px;display:flex;align-items:center;gap:11px;border-top:1px solid #f0f2f5;text-decoration:none}.crm-v4-record-list>a:first-child{border-top:0}.crm-v4-record-list>a:hover{background:#f8fafc}.crm-v4-record-avatar{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;color:#2457d6;background:#edf3ff;font-size:11px;font-weight:750}.crm-v4-record-invoice{color:#b54708;background:#fffaeb}.crm-v4-record-avatar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.crm-v4-record-copy{min-width:0;flex:1;display:grid}.crm-v4-record-copy strong{overflow:hidden;color:#344054;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.crm-v4-record-copy small{margin-top:2px;overflow:hidden;color:#667085;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.crm-v4-status{max-width:120px;padding:4px 7px;overflow:hidden;border:1px solid #dbe7ff;border-radius:999px;color:#1849a9;background:#edf3ff;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.crm-v4-record-list>a>b{min-width:86px;color:#101828;font-size:11.5px;text-align:right}
.crm-v4-activity-list>div{min-height:64px;padding:10px 18px;display:flex;align-items:flex-start;gap:11px;border-top:1px solid #f0f2f5}.crm-v4-activity-list>div:first-child{border-top:0}.crm-v4-activity-dot{width:8px;height:8px;margin-top:6px;flex:0 0 8px;border-radius:50%;background:#2457d6;box-shadow:0 0 0 4px #edf3ff}.crm-v4-activity-list>div>span:nth-child(2){min-width:0;flex:1;display:grid}.crm-v4-activity-list strong{color:#344054;font-size:11.5px}.crm-v4-activity-list small{margin-top:3px;color:#667085;font-size:10px;line-height:1.5}.crm-v4-activity-list time{color:#98a2b3;font-size:9.5px;white-space:nowrap}

@media(max-width:1279px){.crm-v4-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-v4-focus-grid{grid-template-columns:1fr}.crm-v4-chart-grid{grid-template-columns:1fr 1fr}.crm-v4-record-grid{grid-template-columns:1fr}.crm-v4-dashboard-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.crm-v4-dashboard-head{min-height:auto;padding:20px;align-items:flex-start;flex-direction:column}.crm-v4-dashboard-actions{width:100%;justify-content:flex-start}.crm-v4-dashboard-actions>a{flex:1}.crm-v4-kpi-grid{grid-template-columns:1fr 1fr}.crm-v4-kpi{min-height:112px;padding:14px;gap:10px}.crm-v4-kpi-icon{width:36px;height:36px;flex-basis:36px}.crm-v4-kpi strong{font-size:20px}.crm-v4-kpi small{display:none}.crm-v4-focus-items{grid-template-columns:1fr 1fr}.crm-v4-dashboard-filter-form{grid-template-columns:1fr 1fr}.crm-v4-chart-grid{grid-template-columns:1fr}.crm-v4-chart-wrap{height:250px}.crm-v4-client-list>div{grid-template-columns:28px minmax(0,1fr) auto}.crm-v4-client-list>div>span:not(.crm-v4-client-copy):not(.crm-v4-rank){display:none}.crm-v4-record-list>a{padding-inline:12px}.crm-v4-status{display:none}.crm-v4-record-list>a>b{min-width:auto}.crm-v4-activity-list time{display:none}}
@media(max-width:479px){.crm-v4-dashboard-head-copy h2{font-size:25px}.crm-v4-dashboard-actions{display:grid;grid-template-columns:1fr 1fr}.crm-v4-dashboard-actions .crm-v4-primary{grid-column:1/-1}.crm-v4-kpi-grid{grid-template-columns:1fr}.crm-v4-kpi{min-height:102px}.crm-v4-focus-items{grid-template-columns:1fr 1fr}.crm-v4-focus-item{min-height:108px}.crm-v4-dashboard-filter-form{grid-template-columns:1fr}.crm-v4-dashboard-filter-actions{display:grid;grid-template-columns:1fr 1fr}.crm-v4-filter-summary small{display:none}}
.crm-auth-capabilities-single{grid-template-columns:1fr}.crm-auth-back-link{justify-self:center;color:#475467;font-size:12px;font-weight:650;text-decoration:none}.crm-auth-back-link:hover{color:#2457d6}.crm-auth-password-rules{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.crm-auth-password-rules span{padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#cbd5e1;background:rgba(255,255,255,.045);font-size:10.5px}.crm-auth-password-rules span::before{content:'✓';margin-right:8px;color:#32d583;font-weight:800}.crm-auth-strength{height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:#f2f4f7}.crm-auth-strength span{display:block;width:0;height:100%;border-radius:inherit;background:#d92d20;transition:width .2s ease,background .2s ease}.crm-auth-strength span[data-score="1"]{width:25%;background:#d92d20}.crm-auth-strength span[data-score="2"]{width:50%;background:#f79009}.crm-auth-strength span[data-score="3"]{width:75%;background:#2e90fa}.crm-auth-strength span[data-score="4"]{width:100%;background:#079455}.crm-auth-field-help{display:block;margin-top:7px;color:#98a2b3;font-size:10.5px}.crm-auth-field-help[data-match="yes"]{color:#067647}.crm-auth-field-help[data-match="no"]{color:#b42318}
