@layer base {
    img {
      display: inline-block !important;
    }
  }

:root {
    /* Brand colors */
    --color-main: #035122;
    --hf-green: #035122;
    --color-main-light: #ecfdf5;
    --color-main-soft: #3a825b;
    --color-main-blue: #147cdf;
    --color-pop: #D74114;
    /* Admin dashboard — all checkboxes (enabled + disabled) use red accent */
    --admin-checkbox-accent: #dc2626;
    --color-secondary: #9d7d50;
    --color-accent: #ffde59;
    --color-brown: #9d7d50;

    --color-light-blue: #f0f9ff;
    --color-valutrek-pro-duplicate-row-highlight: #D74114;
    --color-valutrek-pro-duplicate-row-text-color: white;

    /* Typography — Inter admin standard (CRM direction) */
    --font-base: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
        sans-serif;
    --font-size-base: 13px;

    /* Admin UI scale tokens */
    --admin-font-size-meta: 12px;
    --admin-font-size-label: 13px;
    --admin-font-size-section: 15px;
    --admin-font-size-page-title: 18px;

    /* Valutrek Pro colors */
    /* MPSP (green / soft success tone) */
    --color-mpsp-card: #ecfdf5;
    --color-mpsp-card-light: #4abba7;
    --color-mpsp-text: black;
    --color-mpsp-text-muted: #333;

    /* Preliminary Opinion MPSP (warm amber — distinct from MPSP green / CIM blue / BLI purple) */
    --color-opinion-card: #f68e39;
    --color-opinion-card-light: #ffedd5;
    --color-opinion-icon: #f68e39;
    --color-opinion-text: black;
    --color-opinion-text-muted: #333;

    /* Seller Hub (primary green) */
    --color-seller-hub-card: #ecfdf5;
    --color-seller-hub-card-light: #4abba7;
    --color-seller-hub-text: black;
    --color-seller-hub-text-muted: #333;

    /* CIM (primary blue) */
    --color-cim-card: #147cdf;
    --color-cim-card-light: #dbeafe;
    --color-cim-text: #1e3a8a;
    --color-cim-text-muted: #333;

    /* Buyer Hub (primary blue) */
    --color-buyer-hub-card: #147cdf;
    --color-buyer-hub-card-light: #dbeafe;
    --color-buyer-hub-text: #1e3a8a;
    --color-buyer-hub-text-muted: #333;

    /* Broker Hub / BLI (soft purple) */
    --color-bli-card: #e8e7fa;
    --color-bli-card-light: #8d77d9;
    --color-bli-text: black;
    --color-bli-text-muted: #333;

    /* CRM Hub — section accents (title rail, workspace buttons, tabs) */
    --crm-hub-deal-board-accent: #035122;
    --crm-hub-deal-board-soft: #ecfdf5;
    --crm-hub-deal-board-soft-hover: #d1fae5;
    --crm-hub-deal-board-btn-border: #86efac;
    --crm-hub-deal-board-fg: #14532d;
    --crm-hub-deal-board-btn-soft: #d1fae5;
    --crm-hub-deal-board-btn-soft-hover: #bbf7d0;

    --crm-hub-sellers-accent: #0f766e;
    --crm-hub-sellers-soft: #ecfdf5;
    --crm-hub-sellers-soft-hover: #ccfbf1;
    --crm-hub-sellers-btn-border: #5eead4;
    --crm-hub-sellers-fg: #134e4a;

    --crm-hub-buyers-accent: #1d4ed8;
    --crm-hub-buyers-soft: #eff6ff;
    --crm-hub-buyers-soft-hover: #dbeafe;
    --crm-hub-buyers-btn-border: #93c5fd;
    --crm-hub-buyers-fg: #1e3a8a;

    --crm-hub-contacts-accent: #6d28d9;
    --crm-hub-contacts-soft: #f5f3ff;
    --crm-hub-contacts-soft-hover: #ede9fe;
    --crm-hub-contacts-btn-border: #c4b5fd;
    --crm-hub-contacts-fg: #4c1d95;

    --crm-hub-reports-accent: #a16207;
    --crm-hub-reports-soft: #fffbeb;
    --crm-hub-reports-soft-hover: #fef3c7;
    --crm-hub-reports-btn-border: #fcd34d;
    --crm-hub-reports-fg: #713f12;

    /* ValuTrek Connect (Telemarketing) */
    --color-vt-connect-accent: #f68e39;
    --color-vt-connect-accent-hover: #f07e21;
    --color-vt-connect-soft: #e4f8ed;
    --color-vt-connect-text: #14532d;
    --color-vt-connect-text-muted: #333;

    /* CRM — comments (aligned to section / deal-board palette) */
    --crm-comment-default-bg: var(--crm-hub-deal-board-accent);
    --crm-comment-default-fg: #ffffff;
    --crm-comment-my-bg: var(--color-main-soft);
    --crm-comment-my-fg: #ffffff;
    --crm-comment-seller-bg: var(--crm-hub-sellers-btn-border);
    --crm-comment-seller-fg: #111827;
    --crm-comment-buyer-bg: var(--crm-hub-buyers-soft-hover);
    --crm-comment-buyer-fg: #111827;
    --crm-comment-contact-bg: var(--crm-hub-contacts-soft-hover);
    --crm-comment-contact-fg: #111827;

    /* CRM — alerts, broker warnings, overdue / standing highlights */
    --crm-alert-bg: var(--color-pop);
    --crm-alert-fg: #ffffff;
    --crm-alert-soft-bg: #fee2e2;
    --crm-standing-card-bg: var(--crm-hub-reports-soft);
    --crm-standing-card-border: var(--crm-hub-reports-btn-border);

    /* CRM — grids / reports shared states */
    --crm-grid-selection-bg: var(--crm-hub-deal-board-soft);
    --crm-grid-group-row-bg: #f3f4f6;
    --crm-report-total-row-bg: var(--crm-hub-reports-soft-hover);
    --crm-report-month-badge-bg: var(--crm-hub-reports-accent);
    --crm-report-month-badge-fg: #ffffff;
    --crm-report-count-badge-bg: var(--crm-hub-buyers-soft-hover);
    --crm-report-count-badge-fg: var(--crm-hub-buyers-fg);

    /* CRM — workspace toolbars */
    --crm-toolbar-bg: #ecfdf5;
}

/* CRM Hub dashboard cards */
.crm-hub-section-title {
    margin: 0;
    border-bottom: none;
    padding-left: 0.75rem;
    border-left: 4px solid var(--crm-hub-section-accent, var(--color-main));
}

/* Detail workspaces — circle icon titles (no left border) */
#crm-hub-root .crm-panel[data-crm-workspace="deal-board-details"] .crm-hub-section-title-wrap .crm-hub-section-title,
#crm-hub-root .crm-panel[data-crm-workspace="seller-details"] .crm-hub-section-title-wrap .crm-hub-section-title,
#crm-hub-root .crm-panel[data-crm-workspace="buyer-details"] .crm-hub-section-title-wrap .crm-hub-section-title,
#crm-hub-root .crm-panel[data-crm-workspace="contact-details"] .crm-hub-section-title-wrap .crm-hub-section-title,
.crm-entity-modal-backdrop .crm-entity-modal-root .crm-hub-section-title-wrap .crm-hub-section-title {
    border-left: none;
    padding-left: 0;
}

.crm-hub-section-title-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.crm-hub-section--deal-board .crm-hub-section-title-icon {
    background: var(--crm-hub-deal-board-soft);
    color: var(--crm-hub-deal-board-accent);
}

.crm-hub-section--sellers .crm-hub-section-title-icon {
    background: var(--crm-hub-sellers-soft);
    color: var(--crm-hub-sellers-accent);
}

.crm-hub-section--buyers .crm-hub-section-title-icon {
    background: var(--crm-hub-buyers-soft);
    color: var(--crm-hub-buyers-accent);
}

.crm-hub-section--contacts .crm-hub-section-title-icon {
    background: var(--crm-hub-contacts-soft);
    color: var(--crm-hub-contacts-accent);
}

.crm-hub-section--reports .crm-hub-section-title-icon {
    background: var(--crm-hub-reports-soft);
    color: var(--crm-hub-reports-accent);
}

.crm-hub-section-title-wrap {
    min-width: 0;
}

.crm-hub-section--deal-board {
    --crm-hub-section-accent: var(--crm-hub-deal-board-accent);
}

.crm-hub-section--sellers {
    --crm-hub-section-accent: var(--crm-hub-sellers-accent);
}

.crm-hub-section--buyers {
    --crm-hub-section-accent: var(--crm-hub-buyers-accent);
}

.crm-hub-section--contacts {
    --crm-hub-section-accent: var(--crm-hub-contacts-accent);
}

.crm-hub-section--reports {
    --crm-hub-section-accent: var(--crm-hub-reports-accent);
}

.crm-hub-section--deal-board .crm-open-workspace {
    background-color: var(--crm-hub-deal-board-btn-soft);
    border-color: var(--crm-hub-deal-board-btn-border);
    color: var(--crm-hub-deal-board-fg);
}

.crm-hub-section--deal-board .crm-open-workspace:hover {
    background-color: var(--crm-hub-deal-board-btn-soft-hover);
    border-color: var(--crm-hub-deal-board-accent);
}

.crm-hub-section--sellers .crm-open-workspace {
    background-color: var(--crm-hub-sellers-soft);
    border-color: var(--crm-hub-sellers-btn-border);
    color: var(--crm-hub-sellers-fg);
}

.crm-hub-section--sellers .crm-open-workspace:hover {
    background-color: var(--crm-hub-sellers-soft-hover);
    border-color: var(--crm-hub-sellers-accent);
}

.crm-hub-section--buyers .crm-open-workspace {
    background-color: var(--crm-hub-buyers-soft);
    border-color: var(--crm-hub-buyers-btn-border);
    color: var(--crm-hub-buyers-fg);
}

.crm-hub-section--buyers .crm-open-workspace:hover {
    background-color: var(--crm-hub-buyers-soft-hover);
    border-color: var(--crm-hub-buyers-accent);
}

.crm-hub-section--contacts .crm-open-workspace {
    background-color: var(--crm-hub-contacts-soft);
    border-color: var(--crm-hub-contacts-btn-border);
    color: var(--crm-hub-contacts-fg);
}

.crm-hub-section--contacts .crm-open-workspace:hover {
    background-color: var(--crm-hub-contacts-soft-hover);
    border-color: var(--crm-hub-contacts-accent);
}

.crm-hub-section--reports .crm-open-workspace {
    background-color: var(--crm-hub-reports-soft);
    border-color: var(--crm-hub-reports-btn-border);
    color: var(--crm-hub-reports-fg);
}

.crm-hub-section--reports .crm-open-workspace:hover {
    background-color: var(--crm-hub-reports-soft-hover);
    border-color: var(--crm-hub-reports-accent);
}

.crm-hub-section .crm-open-workspace:focus {
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--crm-hub-section-accent, var(--color-main));
}

/* CRM Hub — top tabs (same fill as dashboard section buttons; active = bottom border only) */
.crm-tab-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    font-size: 13px;
    line-height: 1.35;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: border-color 0.15s ease, background-color 0.15s ease;
    white-space: nowrap;
    cursor: pointer;
    border-radius: 0.35rem 0.35rem 0 0;
    background-color: var(--crm-tab-bg, var(--color-main-light));
    color: var(--crm-tab-fg, #374151);
}

.crm-tab-item:focus {
    outline: none;
}

.crm-tab-item:focus-visible {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--crm-tab-accent, var(--color-main));
}

.crm-tab-item--active {
    border-bottom-color: var(--crm-tab-accent, var(--color-main));
    font-weight: 600;
}

.crm-tab-item--dashboard {
    --crm-tab-bg: #ffffff;
    --crm-tab-accent: var(--color-main);
    --crm-tab-fg: #1f2937;
}

.crm-tab-item--deal-board {
    --crm-tab-bg: var(--crm-hub-deal-board-btn-soft);
    --crm-tab-accent: var(--crm-hub-deal-board-accent);
    --crm-tab-fg: var(--crm-hub-deal-board-fg);
}

.crm-tab-item--sellers {
    --crm-tab-bg: var(--crm-hub-sellers-soft);
    --crm-tab-accent: var(--crm-hub-sellers-accent);
    --crm-tab-fg: var(--crm-hub-sellers-fg);
}

.crm-tab-item--buyers {
    --crm-tab-bg: var(--crm-hub-buyers-soft);
    --crm-tab-accent: var(--crm-hub-buyers-accent);
    --crm-tab-fg: var(--crm-hub-buyers-fg);
}

.crm-tab-item--contacts {
    --crm-tab-bg: var(--crm-hub-contacts-soft);
    --crm-tab-accent: var(--crm-hub-contacts-accent);
    --crm-tab-fg: var(--crm-hub-contacts-fg);
}

.crm-tab-item--reports {
    --crm-tab-bg: var(--crm-hub-reports-soft);
    --crm-tab-accent: var(--crm-hub-reports-accent);
    --crm-tab-fg: var(--crm-hub-reports-fg);
}

.crm-tab-item--default {
    --crm-tab-bg: var(--color-main-light);
    --crm-tab-accent: var(--color-main);
    --crm-tab-fg: #1f2937;
}

.crm-tab-label {
    min-width: 0;
}

.crm-tab-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.125rem;
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
    opacity: 0.55;
    padding: 0 0.2rem;
    border-radius: 0.2rem;
    cursor: pointer;
    flex-shrink: 0;
}

.crm-tab-close:hover {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.07);
}

/* CRM list workspace: grid fills flex column */
.crm-workspace-grid-wrap {
    flex: 1 1 0;
    min-height: 0;
    min-width: 0;
}

.crm-workspace-grid-wrap .ag-theme-alpine {
    min-height: 0;
    width: 100%;
}

/*
 * CRM Hub root: no hover tint on AG Grid rows/cells (keep zebra, selection, dealboard/calendar/broker states).
 */
#crm-hub-root .ag-theme-alpine {
    --ag-row-hover-color: transparent;
    --ag-font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
        Arial, sans-serif;
    --ag-font-size: 12px;
}

#crm-hub-root .ag-theme-alpine .ag-row.ag-row-hover:not(.ag-row-pinned-bottom)::before,
#crm-hub-root .ag-theme-alpine .ag-row:hover:not(.ag-row-pinned-bottom)::before {
    background-color: transparent !important;
    background-image: none !important;
}

#crm-hub-root .ag-theme-alpine .ag-row:not(.ag-row-odd):not(.ag-row-selected):not(.ag-row-pinned-bottom).ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row:not(.ag-row-odd):not(.ag-row-selected):not(.ag-row-pinned-bottom):hover {
    background-color: var(--ag-background-color) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.ag-row-odd:not(.ag-row-selected):not(.ag-row-pinned-bottom).ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-odd:not(.ag-row-selected):not(.ag-row-pinned-bottom):hover {
    background-color: var(--ag-odd-row-background-color) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row:not(.ag-row-odd):not(.ag-row-selected):not(.ag-row-pinned-bottom).ag-row-hover .ag-cell:not(.crm-dealboard-broker-cell-warn),
#crm-hub-root .ag-theme-alpine .ag-row:not(.ag-row-odd):not(.ag-row-selected):not(.ag-row-pinned-bottom):hover .ag-cell:not(.crm-dealboard-broker-cell-warn) {
    background-color: var(--ag-background-color) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.ag-row-odd:not(.ag-row-selected):not(.ag-row-pinned-bottom).ag-row-hover .ag-cell:not(.crm-dealboard-broker-cell-warn),
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-odd:not(.ag-row-selected):not(.ag-row-pinned-bottom):hover .ag-cell:not(.crm-dealboard-broker-cell-warn) {
    background-color: var(--ag-odd-row-background-color) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected:hover {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected:hover .ag-cell {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing),
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing) .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover .ag-cell {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.ag-row-selected:hover .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing) .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover .ag-cell.crm-dealboard-broker-cell-warn,
#crm-hub-root .ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover .ag-cell.crm-dealboard-broker-cell-warn {
    background-color: var(--crm-alert-bg) !important;
    color: var(--crm-alert-fg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming.ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming:hover {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming.ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-upcoming:hover .ag-cell {
    background-color: var(--crm-grid-selection-bg) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past.ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past:hover {
    background-color: rgba(107, 114, 128, 0.10) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past.ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-cal-row-past:hover .ag-cell {
    background-color: rgba(107, 114, 128, 0.10) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing:hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected.ag-row-hover,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected:hover {
    background-color: color-mix(in srgb, var(--crm-alert-soft-bg) 55%, transparent) !important;
}

#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing:hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected.ag-row-hover .ag-cell,
#crm-hub-root .ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected:hover .ag-cell {
    background-color: color-mix(in srgb, var(--crm-alert-soft-bg) 55%, transparent) !important;
}

/* CRM Seller Details — listing card uses accent fill; keep inputs readable */
.crm-sd-listing-card .crm-hub-section-title {
    border-left-color: var(--crm-hub-reports-accent, #a16207);
}

/* AG Grid: selected row (deal-board mint) */
.ag-theme-alpine .ag-row.ag-row-selected,
.ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover,
.ag-theme-alpine .ag-row.ag-row-selected:hover {
    background-color: var(--crm-grid-selection-bg) !important;
}

.ag-theme-alpine .ag-row.ag-row-selected .ag-cell,
.ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.ag-row-selected:hover .ag-cell {
    background-color: var(--crm-grid-selection-bg) !important;
}

/* Hover — rows that are not checkbox-selected */
.ag-theme-alpine .ag-row.ag-row-hover:not(.ag-row-selected),
.ag-theme-alpine .ag-row:hover:not(.ag-row-selected) {
    background-color: var(--color-main-light) !important;
}

.ag-theme-alpine .ag-row.ag-row-hover:not(.ag-row-selected) .ag-cell:not(.crm-dealboard-broker-cell-warn),
.ag-theme-alpine .ag-row:hover:not(.ag-row-selected) .ag-cell:not(.crm-dealboard-broker-cell-warn) {
    background-color: var(--color-main-light) !important;
}

/* Deal board: focused deal row (click) — same mint as selection; hover must not gray it out */
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing),
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover {
    background-color: var(--crm-grid-selection-bg) !important;
}

.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing) .ag-cell,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover .ag-cell {
    background-color: var(--crm-grid-selection-bg) !important;
}

/* Deal board: broker warning cells stay alert over mint (active / checkbox-selected / hover). */
.ag-theme-alpine .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.ag-row-selected .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.ag-row-selected.ag-row-hover .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.ag-row-selected:hover .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing) .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing).ag-row-hover .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active:not(.crm-ag-row-buyer-missing):hover .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active.ag-row-selected:not(.crm-ag-row-buyer-missing) .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active.ag-row-selected:not(.crm-ag-row-buyer-missing).ag-row-hover .ag-cell.crm-dealboard-broker-cell-warn,
.ag-theme-alpine .ag-row.crm-dealboard-row-active.ag-row-selected:not(.crm-ag-row-buyer-missing):hover .ag-cell.crm-dealboard-broker-cell-warn {
    background-color: var(--crm-alert-bg) !important;
    color: var(--crm-alert-fg) !important;
}

/* Deal board grid: pinned footer (totals + selection counts), stays visible at bottom */
.ag-theme-alpine .ag-row-pinned-bottom.crm-dealboard-grid-footer-row,
.ag-theme-alpine .ag-row-pinned-bottom.crm-dealboard-grid-footer-row .ag-cell {
    background-color: #f1f5f9 !important;
    border-top: 1px solid #cbd5e1 !important;
    font-weight: 500;
}

/* CRM sellers / buyers / contacts list grids: same pinned footer treatment */
.ag-theme-alpine .ag-row-pinned-bottom.crm-ag-list-grid-footer-row,
.ag-theme-alpine .ag-row-pinned-bottom.crm-ag-list-grid-footer-row .ag-cell {
    background-color: #f1f5f9 !important;
    border-top: 1px solid #cbd5e1 !important;
    font-weight: 500;
}

/*
 * Deal board main grid: no hover row tint.
 * AG Grid draws hover via .ag-row-hover::before using --ag-row-hover-color (see ag-grid.css).
 * Global CRM rules above also set --color-main-light on :hover; override both here.
 */
.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom)::before,
.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-hover.ag-full-width-row.ag-row-group:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom)::before {
    background-color: transparent !important;
    background-image: none !important;
}

/* Even rows (no .ag-row-odd): match stripe; odd rows: match --ag-odd-row-background-color */
.ag-theme-alpine.crm-dealboard-main-grid .ag-row:not(.ag-row-odd).ag-row-hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom),
.ag-theme-alpine.crm-dealboard-main-grid .ag-row:not(.ag-row-odd):hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) {
    background-color: var(--ag-background-color) !important;
}

.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-odd.ag-row-hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom),
.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-odd:hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) {
    background-color: var(--ag-odd-row-background-color) !important;
}

.ag-theme-alpine.crm-dealboard-main-grid .ag-row:not(.ag-row-odd).ag-row-hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) .ag-cell:not(.crm-dealboard-broker-cell-warn),
.ag-theme-alpine.crm-dealboard-main-grid .ag-row:not(.ag-row-odd):hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) .ag-cell:not(.crm-dealboard-broker-cell-warn) {
    background-color: var(--ag-background-color) !important;
}

.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-odd.ag-row-hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) .ag-cell:not(.crm-dealboard-broker-cell-warn),
.ag-theme-alpine.crm-dealboard-main-grid .ag-row.ag-row-odd:hover:not(.ag-row-selected):not(.crm-dealboard-row-active):not(.crm-ag-row-buyer-missing):not(.ag-row-pinned-bottom) .ag-cell:not(.crm-dealboard-broker-cell-warn) {
    background-color: var(--ag-odd-row-background-color) !important;
}

/* Read-only deal flags: checkbox appearance without disabled styling */
.ag-theme-alpine .crm-dealboard-bool-readonly-cb {
    cursor: default;
    width: 14px;
    height: 14px;
    margin: 0;
    accent-color: var(--admin-checkbox-accent, #dc2626);
}

/* Deal board: all checkboxes (form + AG Grid selection / flags) — red accent */
.crm-panel[data-crm-workspace="deal-board-details"] input[type="checkbox"] {
    accent-color: var(--admin-checkbox-accent, #dc2626);
}

.crm-panel[data-crm-workspace="deal-board-details"] input[type="checkbox"]:disabled,
.crm-panel[data-crm-workspace="deal-board-details"] input[type="checkbox"]:disabled:checked {
    opacity: 1;
    accent-color: var(--admin-checkbox-accent, #dc2626);
}

.ag-theme-alpine.crm-dealboard-main-grid {
    --ag-checkbox-checked-color: var(--admin-checkbox-accent, #dc2626);
    /* Disable AG Grid’s hover overlay (::before) for this grid */
    --ag-row-hover-color: transparent;
}

.ag-theme-alpine.crm-dealboard-main-grid .ag-checkbox-input-wrapper .ag-checkbox-input {
    accent-color: var(--admin-checkbox-accent, #dc2626);
}

.ag-theme-alpine.crm-dealboard-main-grid .ag-cell input[type="checkbox"] {
    accent-color: var(--admin-checkbox-accent, #dc2626) !important;
}

/* Dealboard calendar: upcoming green tint, past gray tint */
.ag-theme-alpine .ag-row.crm-cal-row-upcoming,
.ag-theme-alpine .ag-row.crm-cal-row-upcoming.ag-row-hover,
.ag-theme-alpine .ag-row.crm-cal-row-upcoming:hover {
    background-color: #ecfdf5 !important;
}
.ag-theme-alpine .ag-row.crm-cal-row-upcoming .ag-cell,
.ag-theme-alpine .ag-row.crm-cal-row-upcoming.ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.crm-cal-row-upcoming:hover .ag-cell {
    background-color: #ecfdf5 !important;
}

.ag-theme-alpine .ag-row.crm-cal-row-past,
.ag-theme-alpine .ag-row.crm-cal-row-past.ag-row-hover,
.ag-theme-alpine .ag-row.crm-cal-row-past:hover {
    background-color: rgba(107, 114, 128, 0.10) !important;
}
.ag-theme-alpine .ag-row.crm-cal-row-past .ag-cell,
.ag-theme-alpine .ag-row.crm-cal-row-past.ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.crm-cal-row-past:hover .ag-cell {
    background-color: rgba(107, 114, 128, 0.10) !important;
}

/* Dealboard / inquiry rows: buyer record deleted — fixed red tint, no hover highlight */
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-hover,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing:hover,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected.ag-row-hover,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected:hover {
    background-color: rgba(254, 202, 202, 0.55) !important;
}

.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing .ag-cell,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing:hover .ag-cell,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected .ag-cell,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected.ag-row-hover .ag-cell,
.ag-theme-alpine .ag-row.crm-ag-row-buyer-missing.ag-row-selected:hover .ag-cell {
    background-color: rgba(254, 202, 202, 0.55) !important;
}

.ag-theme-alpine .ag-row,
.ag-theme-alpine-dark .ag-row {
    --ag-font-family: var(--font-base);
    --ag-font-size: 13px;
    --ag-header-font-size: 12px;
    --ag-header-font-weight: 500;
}

/* Data Room hub folder grid: header typography, always-visible column menu, persistent sort icons */
.dr-hub-folder-grid.ag-theme-alpine {
    --ag-header-font-size: 12px;
    --ag-header-font-weight: 500;
}

.dr-hub-folder-grid .ag-header-cell-menu-button {
    opacity: 1 !important;
}

.dr-hub-folder-grid .ag-sort-indicator-container,
.dr-hub-folder-grid .ag-sort-indicator-icon {
    opacity: 1 !important;
    visibility: visible !important;
}

/* MPSP main folder grid — same header menu/sort visibility as Data Room hub */
.mpsp-folders-grid .ag-header-cell-menu-button {
    opacity: 1 !important;
}

.mpsp-folders-grid .ag-sort-indicator-container,
.mpsp-folders-grid .ag-sort-indicator-icon {
    opacity: 1 !important;
    visibility: visible !important;
}

/* MPSP sidebar: unpinned + collapsed — hover overlay uses position fixed; .mpsp-sidebar--floating is set in JS */
.mpsp-sidebar.mpsp-sidebar--floating {
    z-index: 40;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
}

.mpsp-sidebar-pin.is-pinned {
    color: var(--color-main);
}

/* MPSP sidebar: nav icons on dark sidebar */
.mpsp-sidebar .mpsp-nav-item-inner>i.mpsp-nav-icon {
    flex-shrink: 0;
    font-size: 1.05rem;
    line-height: 1;
}

.mpsp-sidebar .mpsp-nav-item-label {
    min-width: 0;
}

.mpsp-sidebar .mpsp-sidebar-collapse .mpsp-sidebar-icon {
    font-size: 1.05rem;
}

/* MPSP sidebar: unpinned + collapsed strip (not hover-expanded) */
.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) {
    /* max-height: calc(100vh - 100px); */
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-brand {
    justify-content: center;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-brand-label,
.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-collapse-label {
    display: none;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-collapse {
    justify-content: center;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-section-heading {
    display: none;
}

/* Scroll icon list; header (Menu + toggle column) under aside max 100vh - 140px */
.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav {
    max-height: calc(100vh - 140px);
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

/* Flatten sections so vertical spacing is even between every icon (no “jump” at category breaks) */
.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav>div {
    display: contents;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav>div>nav {
    display: contents;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav>*+* {
    margin-top: 0 !important;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav>div>nav>*+* {
    margin-top: 0 !important;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-sidebar-nav button {
    justify-content: center;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-nav-item-label {
    display: none;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-nav-item-inner {
    justify-content: center;
    gap: 0;
}

.mpsp-sidebar.mpsp-sidebar--collapsed:not(.mpsp-sidebar--floating) .mpsp-nav-item-inner>i.mpsp-nav-icon {
    font-size: 1.15rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.88) !important;
}

/* Admin form controls — 13px standard (scoped; Pro worksheet .editable-input keeps its own size) */
.vt-admin input:not(.editable-input):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
.vt-admin select,
.vt-admin textarea {
    font-size: var(--font-size-base);
}

/* Name cells in income statement */
.is-name-cell,
.bs-name-cell {
    color: #333 !important;
    padding-left: 10px !important;
}

/* Name cells in forecasts worksheet */
.fw-name-cell {
    color: #333 !important;
    padding-left: 20px !important;
}

.fw-col-possible,
.fw-col-actual {
    color: #fff !important;
}

.editable-input:not(.editable-transparent) {
    width: 100%;
    border: none;
    outline: none;
    background-color: var(--color-light-blue, #f0f9ff);
    color: blue;
    padding: 0.15rem 6px;
    font-size: 13px;
    border-radius: 6px;
    text-align: right;
    font-weight: normal !important;
}

.fw-total-row .editable-input {
    background-color: var(--color-main-light) !important;
    color: #333 !important;
}

/* Section rows in income statement */
.is-section-row td {
    padding-top: 10px !important;
}

.shadow-result-box {
    background: var(--color-main);
    color: #fff;
    min-height: 0;
    padding: 0.5rem 1.1rem;
    border-radius: 0.45rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    padding: 1.6rem 2.3rem;
    font-weight: 600;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.25;
    margin-top: 2.2rem;
    box-shadow: -6px 10px 10px 0 rgba(0, 0, 0, 0.2);
    margin-left: auto;
    margin-right: auto;
}

/* CRM — standard section cards (listing, preferences, etc.) */
.crm-sd-listing-card {
    background-color: #ffffff !important;
    border-color: #f3f4f6 !important;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

/* CRM Seller Details — comment rows (date uses deal-board token) */
#crm-hub-root [data-crm-sd-comment-list] {
    background: #ffffff !important;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.crm-sd-comment-row {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    border: 1px solid #e2e8e4;
    border-radius: 6px;
    background: #ffffff;
}
.crm-sd-comment-avatar {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}
.crm-sd-comment-content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.crm-sd-comment-author {
    font-size: 12px;
    font-weight: 600;
    color: #111827;
    line-height: 1.25;
}
.crm-sd-comment-date-badge {
    flex-shrink: 0;
    font-size: 10px;
    line-height: 1.2;
    padding: 0.2rem 0.45rem;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}
/* Seller / buyer / contact detail tabs (no type chip): keep legacy styling */
.crm-sd-comment-date-badge:not([data-crm-comment-ui-type]):not([data-crm-comment-type]) {
    background-color: var(--crm-comment-default-bg);
    color: var(--crm-comment-default-fg);
}
/* Default comment type colors — JS applies inline styles; these are fallback only */
.crm-sd-comment-date-badge[data-crm-comment-ui-type="broker"]:not([data-crm-comment-custom-color]),
.crm-sd-comment-type-chip[data-crm-comment-ui-type="broker"]:not([data-crm-comment-custom-color]) {
    background-color: var(--crm-comment-my-bg);
    color: var(--crm-comment-my-fg);
}
.crm-sd-comment-date-badge[data-crm-comment-ui-type="seller"]:not([data-crm-comment-custom-color]),
.crm-sd-comment-type-chip[data-crm-comment-ui-type="seller"]:not([data-crm-comment-custom-color]) {
    background-color: var(--crm-comment-seller-bg);
    color: var(--crm-comment-seller-fg);
}
.crm-sd-comment-date-badge[data-crm-comment-ui-type="buyer"]:not([data-crm-comment-custom-color]),
.crm-sd-comment-type-chip[data-crm-comment-ui-type="buyer"]:not([data-crm-comment-custom-color]) {
    background-color: var(--crm-comment-buyer-bg);
    color: var(--crm-comment-buyer-fg);
}
.crm-sd-comment-date-badge[data-crm-comment-ui-type="other"]:not([data-crm-comment-custom-color]),
.crm-sd-comment-type-chip[data-crm-comment-ui-type="other"]:not([data-crm-comment-custom-color]),
.crm-sd-comment-avatar[data-crm-comment-ui-type="other"]:not([data-crm-comment-custom-color]) {
    background-color: var(--crm-comment-contact-bg);
    color: var(--crm-comment-contact-fg);
}
.crm-sd-comment-body {
    flex: 1;
    min-width: 0;
    font-family: var(--font-base);
    font-size: 13px;
    line-height: 1.45;
    color: rgb(31 41 55);
    white-space: pre-wrap;
    word-break: break-word;
    padding-right: 1.5rem;
}
.crm-sd-comment-body--html {
    white-space: normal;
}
.crm-sd-comment-body--html,
.crm-sd-comment-body--html * {
    font-family: inherit;
    font-size: inherit;
}
.crm-sd-comment-body--html p {
    margin: 0 0 0.5em;
}
.crm-sd-comment-body--html p:last-child {
    margin-bottom: 0;
}
.crm-sd-comment-body--html a {
    color: var(--color-main, #2563eb);
    text-decoration: underline;
    word-break: break-all;
}
.crm-sd-comment-body--html ul,
.crm-sd-comment-body--html ol {
    margin: 0 0 0.5em 1.25em;
    padding: 0;
}
.crm-sd-comment-actions {
    flex-shrink: 0;
    display: inline-flex;
    gap: 0.15rem;
}
.crm-sd-comment-actions button {
    padding: 0.15rem 0.35rem;
    border: 1px solid rgb(229 231 235);
    border-radius: 4px;
    background: #fff;
    color: rgb(75 85 99);
    line-height: 1;
}
.crm-sd-comment-actions button:hover {
    background: rgb(249 250 251);
}

/* Unified comment UI — type toolbar, Add Comment, kebab menu */
.crm-sd-comment-composer-actions {
    width: 100%;
}
.crm-sd-comment-type-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    position: relative;
}
.crm-sd-comment-type-toolbar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.crm-sd-comment-type-menu-wrap {
    margin-left: auto;
}
.crm-sd-comment-type-toolbar-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}
.crm-sd-comment-type-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
.crm-sd-comment-type-btn-group {
    margin-top: 0.25rem;
}
.crm-sd-comment-type-btn {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 0.45rem 0.8rem;
    font-size: 12px;
    font-weight: 600;
    background: #fff;
    color: #374151;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.crm-sd-comment-type-btn:hover {
    background: #f9fafb;
    border-color: #9ca3af;
}
.crm-sd-comment-type-btn--active {
    background: var(--color-main, #19714a);
    border-color: var(--color-main, #19714a);
    color: #fff;
}
.crm-sd-comment-type-btn--active:hover {
    background: var(--color-main-soft, #3a825b);
    border-color: var(--color-main-soft, #3a825b);
    color: #fff;
}
.crm-sd-comment-type-option {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    user-select: none;
    padding: 0.2rem 0.35rem;
    border-radius: 6px;
    border: 1px solid transparent;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.crm-sd-comment-type-option:hover {
    border-color: #e5e7eb;
    background: #f9fafb;
}
.crm-sd-comment-type-cb {
    width: 0.9rem;
    height: 0.9rem;
    flex-shrink: 0;
    accent-color: var(--color-main, #035122);
}
.crm-sd-comment-meta {
    min-width: 5.5rem;
    max-width: 7.5rem;
}
.crm-sd-comment-date {
    font-size: 11px;
    line-height: 1.2;
    color: #9ca3af;
    font-weight: 500;
    white-space: nowrap;
}
.crm-sd-comment-menu-wrap--corner {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}
.crm-sd-comment-type-label {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.2;
}

/* Action Center tab count badges — all workspaces + expanded view */
[data-crm-sd-ac-root] .mpsp-action-tab .crm-dealboard-tab-count,
.crm-ac-expand-card--open [data-crm-sd-ac-root] .mpsp-action-tab .crm-dealboard-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.3125rem;
    border-radius: 0;
    background: var(--color-main);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}
.crm-sd-comment-type-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}
.crm-sd-comment-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.crm-sd-comment-menu-trigger:hover {
    background: #f3f4f6;
    color: #374151;
}
.crm-sd-comment-menu-item {
    border: 0;
    background: transparent;
    cursor: pointer;
}
.crm-sd-add-comment-btn {
    width: fit-content;
}

.crm-copy-preview-body {
    padding-top: 0.25rem;
}
.crm-copy-preview-scroll {
    max-height: min(60vh, 420px);
    overflow-y: auto;
}
.crm-copy-preview-modal .crm-sd-modal-panel {
    max-width: 36rem;
}

/* Attachment PDF / spreadsheet previews — above entity detail popups (z-index 9980+) */
.crm-attachment-preview-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100120;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* CRM Seller Details — lightweight modals (dropdown editor, edit comment) */
.crm-sd-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}
.crm-sd-modal-panel {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 26rem;
    max-height: min(90vh, 520px);
    display: flex;
    flex-direction: column;
    border: 1px solid rgb(229 231 235);
    overflow: hidden;
}
.crm-sd-modal-panel--wide {
    max-width: 32rem;
}
.crm-sd-modal-panel--leave-guard {
    max-width: 36rem;
}
.crm-sd-modal-panel--comment-edit {
    width: 70vw;
    height: 70vh;
    max-width: none;
    max-height: none;
}
.crm-sd-modal-panel--comment-edit .crm-sd-modal-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.crm-sd-modal-panel--comment-edit .crm-sd-modal-textarea {
    flex: 1;
    min-height: 0;
    resize: none;
}
.crm-sd-modal-panel--comment-edit [data-rich-fill="1"] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.crm-sd-modal-panel--comments-viewall {
    width: min(52rem, 92vw);
    max-width: none;
    max-height: min(88vh, 720px);
}
.crm-sd-comments-view-all {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.crm-sd-comments-viewall-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.crm-sd-comments-viewall-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    padding: 0.25rem 0.125rem;
}
.crm-sd-comment-row--viewall {
    padding: 0.875rem 1rem;
    align-items: flex-start;
}
.crm-sd-comment-row--viewall .crm-sd-comment-body {
    font-size: 13px;
    line-height: 1.55;
}
.crm-sd-modal-head--with-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.crm-sd-modal-head--with-actions .crm-sd-modal-title {
    flex: 1;
    min-width: 0;
}
.crm-sd-comments-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    padding: 0.35rem 0.7rem;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    color: #374151;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s;
}
.crm-sd-comments-pdf-btn:hover:not(:disabled) {
    background: #f9fafb;
    border-color: #9ca3af;
    color: #111827;
}
.crm-sd-comments-pdf-btn:disabled {
    opacity: 0.55;
    cursor: wait;
}
.crm-sd-modal-panel--seller-hub-embed {
    width: 90vw;
    height: 90vh;
    max-width: none;
    max-height: none;
    display: flex;
    flex-direction: column;
}
.crm-sd-modal-panel--seller-hub-embed .crm-sd-modal-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.crm-sd-modal-head {
    padding: 0.85rem 1rem 0.5rem;
    border-bottom: 1px solid rgb(243 244 246);
    flex-shrink: 0;
}
.crm-sd-modal-title {
    font-size: 14px;
    font-weight: 600;
    color: rgb(17 24 39);
}
.crm-sd-modal-sub {
    margin-top: 0.25rem;
    font-size: 12px;
    color: rgb(107 114 128);
    line-height: 1.35;
}
.crm-sd-modal-body {
    padding: 0.75rem 1rem;
    flex: 1;
    min-height: 0;
    overflow: auto;
}
.crm-sd-modal-footer {
    padding: 0.65rem 1rem;
    border-top: 1px solid rgb(243 244 246);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    flex-wrap: nowrap;
    background: rgb(249 250 251);
}
.crm-sd-modal-footer button {
    font-size: 13px;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid rgb(209 213 219);
    background: #fff;
    color: rgb(55 65 81);
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
.crm-sd-modal-footer button:hover {
    background: rgb(243 244 246);
}
.crm-sd-modal-backdrop .crm-sd-modal-footer button:hover {
    background: #fff !important;
}
.crm-sd-modal-footer .crm-sd-modal-btn-primary {
    border-color: transparent;
    background: var(--color-main-soft);
    color: #fff;
}
.crm-sd-modal-footer .crm-sd-modal-btn-primary:hover {
    opacity: 1;
    background: var(--color-main-soft);
}
.crm-sd-modal-backdrop .crm-sd-modal-footer .crm-sd-modal-btn-primary:hover {
    opacity: 1 !important;
    background: var(--color-main-soft) !important;
    color: #fff !important;
}
.crm-sd-modal-textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 7.5rem;
    padding: 6px 8px;
    font-family: var(--font-base);
    font-size: 13px;
    line-height: 1.45;
    border: 1px solid rgb(209 213 219);
    border-radius: 0.375rem;
    resize: vertical;
}
.crm-sd-modal-textarea:focus {
    outline: none;
    border-color: var(--color-main);
    box-shadow: 0 0 0 1px var(--color-main);
}

/* Seller details — collapsible section body */
.crm-sd-section-body--collapsed {
    display: none !important;
}

.crm-sd-cal-notes-auto {
    box-sizing: border-box;
    min-height: 2.75rem;
    max-height: 22rem;
    line-height: 1.4;
}

/* CRM forms — hide visible calendar icon on date inputs (picker still opens on input click) */
#crm-hub-root .crm-mmddyy-open-cal {
    display: none !important;
}

/* MPSP print templates — header broker logo: 35% width, natural height (preview + print) */
.is-pl-print-template-body .header,
.is-pl-combo-print-template-body .header,
.kh-print-template-body .header,
.qf-print-template-body .header,
.wcc-print-template-body .header {
    align-items: center;
    overflow: visible;
    max-height: none;
}

.is-pl-print-template-body .header-left,
.is-pl-combo-print-template-body .header-left,
.kh-print-template-body .header-left,
.qf-print-template-body .header-left,
.wcc-print-template-body .header-left {
    flex: 1 1 0;
    min-width: 0;
}

.is-pl-print-template-body .logo,
.is-pl-combo-print-template-body .logo,
.kh-print-template-body .logo,
.qf-print-template-body .logo,
.wcc-print-template-body .logo {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 35%;
    width: 35%;
    max-width: 35%;
    align-self: center;
}

.is-pl-print-template-body .pl-print-broker-logo,
.is-pl-combo-print-template-body .pl-print-broker-logo,
.kh-print-template-body .pl-print-broker-logo,
.qf-print-template-body .pl-print-broker-logo,
.wcc-print-template-body .pl-print-broker-logo {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
}

/* Valutrek Pro — listed worksheet pages: 15px save-status indicator */
.cv-save-status__dot,
.ci-save-status__dot,
.bi-save-status__dot,
.hf-save-status__dot,
.hb-save-status__dot,
.is-save-status__dot,
.bs-save-status__dot,
.mc-save-status__dot,
.qf-save-status__dot,
.dcf-save-status__dot,
.wcc-save-status__dot {
    width: 15px !important;
    height: 15px !important;
}

/* Valutrek Pro — HF-style company selector row */
.vtp-company-row {
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.vtp-company-select,
.fs-company-select,
.fw-company-select,
.kh-company-select,
.mc-company-select,
.qf-company-select,
.dcf-company-select {
    width: auto;
    min-width: 12rem;
    max-width: min(100%, 28rem);
    border: 1px solid var(--color-main, #035122);
    border-radius: 8px;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #fff;
    background-color: var(--color-main, #035122);
    appearance: none;
    cursor: pointer;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.65rem center;
}

.vtp-company-select option,
.fs-company-select option,
.fw-company-select option,
.kh-company-select option,
.mc-company-select option,
.qf-company-select option,
.dcf-company-select option {
    background: #fff;
    color: #1f2937;
    font-weight: 400;
}

.vtp-company-select:focus,
.fs-company-select:focus,
.fw-company-select:focus,
.kh-company-select:focus,
.mc-company-select:focus,
.qf-company-select:focus,
.dcf-company-select:focus {
    outline: none;
    border-color: var(--color-main, #035122);
    box-shadow: 0 0 0 2px rgba(3, 81, 34, 0.25);
}

/* Hide legacy company badges when HF-style select is used */
.fs-company-badge,
.fw-company-badge,
.mc-company-badge,
.qf-company-badge,
.dcf-company-badge,
.kh-company-name {
    display: none !important;
}

/* Valutrek Pro — Save & Next primary button */
.fs-btn-primary,
.fw-btn-primary,
.kh-btn-primary,
.mc-btn-primary,
.qf-btn-primary,
.dcf-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 8px;
    background: var(--color-main, #035122);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.fs-btn-primary:hover,
.fw-btn-primary:hover,
.kh-btn-primary:hover,
.mc-btn-primary:hover,
.qf-btn-primary:hover,
.dcf-btn-primary:hover {
    filter: brightness(1.05);
}

.fs-btn-primary:disabled,
.fw-btn-primary:disabled,
.kh-btn-primary:disabled,
.mc-btn-primary:disabled,
.qf-btn-primary:disabled,
.dcf-btn-primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

