/* =====================================================================
   CRM DESIGN SYSTEM — COMPACT PROFESSIONAL DENSITY
   ---------------------------------------------------------------------
   This file intentionally loads after site.css and is the final visual
   authority for the application shell, forms, tables and modal workflows.
   Change the tokens below to retheme the complete CRM without editing
   individual Razor views.
   ===================================================================== */

:root {
    /* Brand */
    --crm-ui-primary: #0f8b87;
    --crm-ui-primary-rgb: 15, 139, 135;
    --crm-ui-primary-hover: #0b7774;
    --crm-ui-primary-soft: rgba(var(--crm-ui-primary-rgb), .09);

    /* Application surfaces */
    --crm-ui-sidebar-bg: #13283b;
    --crm-ui-sidebar-bg-deep: #0f2132;
    --crm-ui-sidebar-text: rgba(255, 255, 255, .86);
    --crm-ui-sidebar-muted: rgba(255, 255, 255, .52);
    --crm-ui-sidebar-hover: rgba(255, 255, 255, .07);
    --crm-ui-sidebar-active: rgba(var(--crm-ui-primary-rgb), .34);
    --crm-ui-topbar-bg: var(--crm-ui-primary);
    --crm-ui-page-bg: #f4f7fb;
    --crm-ui-surface: #ffffff;
    --crm-ui-surface-soft: #f8fafc;
    --crm-ui-surface-muted: #f1f5f9;

    /* Text and borders */
    --crm-ui-text: #172033;
    --crm-ui-text-muted: #64748b;
    --crm-ui-text-faint: #94a3b8;
    --crm-ui-border: #dfe6ef;
    --crm-ui-border-strong: #cbd6e3;

    /* Density */
    --crm-ui-font-size: 13px;
    --crm-ui-font-size-sm: 11.5px;
    --crm-ui-font-size-xs: 10.5px;
    --crm-ui-control-height: 33px;
    --crm-ui-button-height: 32px;
    --crm-ui-table-head-height: 35px;
    --crm-ui-table-row-height: 41px;
    --crm-ui-table-cell-y: 7px;
    --crm-ui-table-cell-x: 11px;
    --crm-ui-card-header-height: 41px;
    --crm-ui-page-gap: 12px;
    --crm-ui-form-gap-x: 12px;
    --crm-ui-form-gap-y: 10px;
    --crm-ui-content-padding-x: 14px;

    /* Geometry */
    --crm-ui-radius-xs: 4px;
    --crm-ui-radius-sm: 6px;
    --crm-ui-radius-md: 8px;
    --crm-ui-radius-lg: 10px;
    --crm-ui-radius-xl: 12px;

    /* Shadows */
    --crm-ui-shadow-xs: 0 1px 2px rgba(15, 23, 42, .035);
    --crm-ui-shadow-sm: 0 2px 8px rgba(15, 23, 42, .045);
    --crm-ui-shadow-md: 0 10px 28px rgba(15, 23, 42, .075);

    /* Shell */
    --crm-sidebar-width: 15.5rem;
    --crm-sidebar-collapsed-width: 4.5rem;
    --crm-topbar-height: 3.45rem;

    /* Backward-compatible variables already used in site.css */
    --crm-primary: var(--crm-ui-primary);
    --crm-primary-rgb: var(--crm-ui-primary-rgb);
    --crm-sidebar-bg: var(--crm-ui-sidebar-bg);
    --crm-sidebar-text: var(--crm-ui-sidebar-text);
    --crm-sidebar-muted: var(--crm-ui-sidebar-muted);
    --crm-sidebar-hover: var(--crm-ui-sidebar-hover);
    --crm-sidebar-active: var(--crm-ui-sidebar-active);
    --crm-page-bg: var(--crm-ui-page-bg);
    --crm-surface: var(--crm-ui-surface);
    --crm-border: var(--crm-ui-border);
    --crm-text: var(--crm-ui-text);

    /* Existing form/table token aliases */
    --crm-form-control-height: var(--crm-ui-control-height);
    --crm-form-control-radius: var(--crm-ui-radius-sm);
    --crm-form-control-font: var(--crm-ui-font-size);
    --crm-form-label-font: 11.75px;
    --crm-form-gap-x: var(--crm-ui-form-gap-x);
    --crm-form-gap-y: var(--crm-ui-form-gap-y);
    --crm-form-card-radius: var(--crm-ui-radius-lg);
    --crm-form-card-radius-premium: var(--crm-ui-radius-lg);
    --crm-form-card-border: var(--crm-ui-border);
    --crm-form-card-shadow: var(--crm-ui-shadow-sm);
    --crm-form-body-pad: 12px;
    --crm-input-radius: var(--crm-ui-radius-sm);
    --crm-input-border: var(--crm-ui-border-strong);
    --crm-table-cell-y: var(--crm-ui-table-cell-y);
    --crm-table-cell-x: var(--crm-ui-table-cell-x);
    --crm-table-font-size: 12.75px;
    --crm-table-radius: var(--crm-ui-radius-lg);
    --crm-table-head-bg: #f3f6fa;
    --crm-table-head-text: #506078;
    --crm-table-border: var(--crm-ui-border);
    --crm-table-row-bg: var(--crm-ui-surface);
    --crm-table-row-hover: #f7fafc;
    --crm-table-footer-bg: #fbfcfe;
    --crm-person-avatar-size: 1.65rem;
}

[data-bs-theme="dark"] {
    --crm-ui-page-bg: #0f1722;
    --crm-ui-surface: #172231;
    --crm-ui-surface-soft: #1c2939;
    --crm-ui-surface-muted: #223143;
    --crm-ui-text: #edf2f7;
    --crm-ui-text-muted: #a8b4c4;
    --crm-ui-text-faint: #7f8da0;
    --crm-ui-border: rgba(255, 255, 255, .085);
    --crm-ui-border-strong: rgba(255, 255, 255, .14);
    --crm-ui-shadow-xs: 0 1px 2px rgba(0, 0, 0, .16);
    --crm-ui-shadow-sm: 0 3px 12px rgba(0, 0, 0, .18);
    --crm-ui-shadow-md: 0 14px 32px rgba(0, 0, 0, .25);
    --crm-page-bg: var(--crm-ui-page-bg);
    --crm-surface: var(--crm-ui-surface);
    --crm-border: var(--crm-ui-border);
    --crm-text: var(--crm-ui-text);
    --crm-form-card-border: var(--crm-ui-border);
    --crm-input-border: var(--crm-ui-border-strong);
    --crm-table-head-bg: rgba(255, 255, 255, .035);
    --crm-table-head-text: #aeb9c8;
    --crm-table-border: var(--crm-ui-border);
    --crm-table-row-bg: var(--crm-ui-surface);
    --crm-table-row-hover: rgba(255, 255, 255, .035);
    --crm-table-footer-bg: var(--crm-ui-surface-soft);
}

/* ---------------------------------------------------------------------
   Base typography and application shell
   --------------------------------------------------------------------- */
html {
    font-size: 16px;
}

body {
    color: var(--crm-ui-text);
    background: var(--crm-ui-page-bg);
    font-size: var(--crm-ui-font-size);
    line-height: 1.42;
    letter-spacing: -.002em;
}

.page-body {
    padding: .72rem 0 1.25rem !important;
}

.page-body > .container-fluid,
.crm-breadcrumb-bar > .container-fluid {
    padding-left: var(--crm-ui-content-padding-x) !important;
    padding-right: var(--crm-ui-content-padding-x) !important;
}

.crm-breadcrumb-bar {
    min-height: 2.15rem !important;
    height: 2.15rem;
    background: var(--crm-ui-surface) !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    box-shadow: none !important;
}

.crm-breadcrumb-bar .breadcrumb {
    min-height: 2.15rem;
    margin: 0;
    align-items: center;
    font-size: 11.75px;
}

.crm-topbar {
    height: var(--crm-topbar-height) !important;
    min-height: var(--crm-topbar-height) !important;
    color: #fff;
    background: var(--crm-ui-topbar-bg) !important;
    border-bottom: 0 !important;
    box-shadow: 0 1px 8px rgba(15, 23, 42, .12) !important;
}

.crm-topbar-title,
.crm-topbar .crm-product-title,
.crm-topbar .crm-user-summary,
.crm-topbar .crm-user-summary .text-secondary,
.crm-topbar .crm-topbar-icon,
.crm-topbar a {
    color: #fff !important;
}

.crm-topbar .crm-topbar-icon {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    border-radius: var(--crm-ui-radius-sm);
}

.crm-topbar .crm-topbar-icon:hover,
.crm-topbar .crm-user-trigger:hover {
    background: rgba(255, 255, 255, .12) !important;
}

.crm-topbar-title {
    font-size: .95rem !important;
    font-weight: 750 !important;
}

.crm-topbar .crm-user-trigger {
    min-height: 2.35rem;
    padding: .2rem .38rem;
}

.crm-sidebar {
    background: linear-gradient(180deg, var(--crm-ui-sidebar-bg), var(--crm-ui-sidebar-bg-deep)) !important;
    border-right-color: rgba(255, 255, 255, .055) !important;
}

.crm-sidebar-brand {
    min-height: var(--crm-topbar-height) !important;
    height: var(--crm-topbar-height) !important;
    padding: .55rem .75rem !important;
}

.crm-logo-mark {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: .58rem !important;
    background: linear-gradient(145deg, var(--crm-ui-primary), #27aaa5) !important;
    box-shadow: 0 .3rem .75rem rgba(var(--crm-ui-primary-rgb), .25) !important;
}

.crm-logo-text {
    font-size: 1.1rem !important;
}

.crm-sidebar-scroll {
    padding: .55rem .52rem .8rem !important;
}

.crm-nav-link {
    min-height: 2.28rem !important;
    padding: .43rem .58rem !important;
    border-radius: var(--crm-ui-radius-sm) !important;
    font-size: 12.5px;
}

.crm-nav-link .nav-link-icon {
    width: 1.55rem !important;
    min-width: 1.55rem !important;
    margin-right: .32rem !important;
    font-size: 1rem !important;
}

.crm-nav-link .nav-link-title {
    font-weight: 620 !important;
}

.crm-submenu {
    margin: .12rem 0 .28rem .95rem !important;
    padding-left: .42rem !important;
}

.crm-submenu .crm-nav-link {
    min-height: 2.12rem !important;
    font-size: 12px !important;
}

.crm-sidebar-footer {
    min-height: 2.5rem !important;
    padding: .45rem .75rem !important;
    font-size: 10.5px;
}

/* ---------------------------------------------------------------------
   Page headers, cards, buttons and badges
   --------------------------------------------------------------------- */
.crm-page-header,
.crm-form-page-head {
    margin-bottom: .65rem !important;
}

.crm-page-header .page-title,
.crm-form-page-head .page-title,
.page-title {
    color: var(--crm-ui-text);
    font-size: 1.05rem !important;
    font-weight: 750 !important;
    letter-spacing: -.02em;
    line-height: 1.2;
}

.crm-page-header .text-secondary,
.crm-form-page-head .text-secondary {
    margin-top: .12rem;
    font-size: 11.5px !important;
}

.card {
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: var(--crm-ui-radius-lg) !important;
    background: var(--crm-ui-surface);
    box-shadow: var(--crm-ui-shadow-xs) !important;
}

.card-header {
    min-height: var(--crm-ui-card-header-height);
    padding: .55rem .75rem !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    background: color-mix(in srgb, var(--crm-ui-surface) 96%, var(--crm-ui-primary) 4%);
}

.card-title {
    margin: 0;
    color: var(--crm-ui-text);
    font-size: .82rem !important;
    font-weight: 750 !important;
    letter-spacing: -.01em;
}

.card-body {
    padding: .75rem !important;
}

.btn {
    min-height: var(--crm-ui-button-height);
    padding: .33rem .68rem;
    border-radius: var(--crm-ui-radius-sm);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
}

.btn-sm,
.btn-group-sm > .btn {
    min-height: 28px;
    padding: .27rem .52rem;
    font-size: 11.5px;
}

.btn-icon {
    width: var(--crm-ui-button-height);
    min-width: var(--crm-ui-button-height);
    padding-inline: 0;
}

.btn-primary {
    background: var(--crm-ui-primary) !important;
    border-color: var(--crm-ui-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--crm-ui-primary-hover) !important;
    border-color: var(--crm-ui-primary-hover) !important;
}

.badge {
    padding: .28em .52em;
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .005em;
}

.alert {
    padding: .55rem .72rem;
    border-radius: var(--crm-ui-radius-md);
    font-size: 12px;
}

/* ---------------------------------------------------------------------
   Forms — shared compact professional system
   --------------------------------------------------------------------- */
main form.crm-entry-form,
main form.crm-ui-form,
.modal form.crm-ui-form,
.modal form.crm-modal-form,
.modal form[data-master-form],
.modal form[data-workflow-form] {
    --bs-gutter-x: var(--crm-ui-form-gap-x);
    --bs-gutter-y: var(--crm-ui-form-gap-y);
}

.crm-entry-form,
.crm-ui-form {
    max-width: 1540px !important;
    margin-inline: auto;
}

.crm-entry-form > .row,
.crm-entry-form .row.g-3,
.crm-entry-form .row.g-4,
.crm-entry-form .card-body.row,
.crm-ui-form > .row,
.crm-ui-form .row.g-3,
.crm-ui-form .row.g-4,
.crm-ui-form .card-body.row {
    --bs-gutter-x: var(--crm-ui-form-gap-x) !important;
    --bs-gutter-y: var(--crm-ui-form-gap-y) !important;
    --tblr-gutter-x: var(--crm-ui-form-gap-x) !important;
    --tblr-gutter-y: var(--crm-ui-form-gap-y) !important;
}

.crm-entry-form .card,
.crm-ui-form .card,
.crm-form-card-ui {
    margin-bottom: var(--crm-ui-page-gap) !important;
    border-radius: var(--crm-ui-radius-lg) !important;
    box-shadow: var(--crm-ui-shadow-sm) !important;
}

.crm-entry-form .card:hover,
.crm-ui-form .card:hover {
    border-color: color-mix(in srgb, var(--crm-ui-border) 72%, var(--crm-ui-primary) 28%) !important;
}

.crm-entry-form .card-header,
.crm-ui-form .card-header,
.crm-form-card-ui > .card-header {
    min-height: 40px !important;
    padding: .5rem .72rem !important;
}

.crm-entry-form .card-body,
.crm-ui-form .card-body,
.crm-form-card-ui > .card-body {
    padding: .72rem !important;
}

.crm-entry-form .form-label,
.crm-ui-form .form-label,
.modal .form-label,
main .form-label {
    margin-bottom: .2rem !important;
    color: var(--crm-ui-text);
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

main .form-control,
main .form-select,
.modal .form-control,
.modal .form-select,
.crm-entry-form .choices__inner,
.crm-ui-form .choices__inner,
.modal .choices__inner {
    min-height: var(--crm-ui-control-height) !important;
    height: var(--crm-ui-control-height);
    padding: .28rem .58rem !important;
    border: 1px solid var(--crm-ui-border-strong) !important;
    border-radius: var(--crm-ui-radius-sm) !important;
    color: var(--crm-ui-text);
    background-color: var(--crm-ui-surface) !important;
    font-size: 12.5px !important;
    box-shadow: none !important;
}

main .form-control::placeholder,
.modal .form-control::placeholder {
    color: var(--crm-ui-text-faint);
}

main .form-control:focus,
main .form-select:focus,
.modal .form-control:focus,
.modal .form-select:focus,
.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
    border-color: var(--crm-ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--crm-ui-primary-rgb), .1) !important;
}

main textarea.form-control,
.modal textarea.form-control {
    height: auto;
    min-height: 74px !important;
    padding: .45rem .58rem !important;
    line-height: 1.4;
    resize: vertical;
}

main textarea[rows="2"].form-control,
.modal textarea[rows="2"].form-control {
    min-height: 60px !important;
}

main textarea[rows="3"].form-control,
.modal textarea[rows="3"].form-control {
    min-height: 74px !important;
}

main textarea[rows="4"].form-control,
.modal textarea[rows="4"].form-control {
    min-height: 92px !important;
}

main textarea[rows="5"].form-control,
.modal textarea[rows="5"].form-control {
    min-height: 108px !important;
}

.form-hint,
.form-text,
.crm-entry-form .text-secondary.small,
.crm-ui-form .text-secondary.small {
    margin-top: .16rem;
    color: var(--crm-ui-text-muted) !important;
    font-size: 10.75px !important;
    line-height: 1.35;
}

.form-check {
    min-height: 1.35rem;
}

.form-check-input {
    margin-top: .17rem;
}

.form-switch .form-check-input {
    width: 1.82rem;
    height: 1rem;
}

.crm-form-aside,
.crm-ui-form-aside {
    align-self: flex-start;
}

@media (min-width: 1200px) {
    .crm-form-aside,
    .crm-ui-form-aside {
        position: sticky;
        top: calc(var(--crm-topbar-height) + 2.85rem);
    }
}

.crm-ui-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
    padding-top: .65rem;
    border-top: 1px solid var(--crm-ui-border);
}

/* Choices.js compact alignment */
.choices {
    margin-bottom: 0 !important;
}

.choices__inner {
    display: flex;
    align-items: center;
}

.choices__list--single {
    padding: 0 1.15rem 0 0 !important;
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: var(--crm-ui-radius-md) !important;
    background: var(--crm-ui-surface) !important;
    box-shadow: var(--crm-ui-shadow-md) !important;
    font-size: 12.5px;
}

.choices__input {
    min-height: 31px !important;
    padding: .35rem .5rem !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    background: var(--crm-ui-surface) !important;
}

.choices__item--choice {
    padding: .42rem .6rem !important;
}

.choices__item--choice.is-highlighted {
    background: var(--crm-ui-primary-soft) !important;
}

/* ---------------------------------------------------------------------
   Tables — common professional data-grid system
   --------------------------------------------------------------------- */
.crm-table-shell,
.crm-ui-table-shell,
.card.crm-master-card,
.card:has(> .table-responsive) {
    overflow: hidden;
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: var(--crm-ui-radius-lg) !important;
    background: var(--crm-ui-surface);
    box-shadow: var(--crm-ui-shadow-sm) !important;
}

.table-responsive,
.crm-ui-table-wrap {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--crm-ui-border-strong) 70%, transparent) transparent;
}

.crm-ui-table-scroll {
    max-height: 36rem;
    overflow: auto;
}

main table.table,
.table.crm-pro-table,
.table.crm-grid-table,
.table.crm-data-table,
.table.crm-ui-table {
    width: 100%;
    margin: 0 !important;
    color: var(--crm-ui-text);
    background: var(--crm-ui-surface);
    font-size: 12.5px !important;
    line-height: 1.28;
    border-collapse: separate;
    border-spacing: 0;
    --tblr-table-border-color: var(--crm-ui-border);
}

main table.table > :not(caption) > * > *,
.table.crm-pro-table > :not(caption) > * > *,
.table.crm-grid-table > :not(caption) > * > *,
.table.crm-ui-table > :not(caption) > * > * {
    padding: var(--crm-ui-table-cell-y) var(--crm-ui-table-cell-x) !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
}

main table.table thead th,
.table.crm-pro-table thead th,
.table.crm-grid-table thead th,
.table.crm-ui-table thead th {
    height: var(--crm-ui-table-head-height);
    padding-top: .38rem !important;
    padding-bottom: .38rem !important;
    color: #526177;
    background: #f3f6fa !important;
    border-bottom: 1px solid var(--crm-ui-border-strong) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: .045em;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: nowrap;
}

[data-bs-theme="dark"] main table.table thead th,
[data-bs-theme="dark"] .table.crm-pro-table thead th,
[data-bs-theme="dark"] .table.crm-grid-table thead th,
[data-bs-theme="dark"] .table.crm-ui-table thead th {
    color: #b0bac8;
    background: rgba(255, 255, 255, .04) !important;
}

main table.table tbody tr,
.table.crm-pro-table tbody tr,
.table.crm-grid-table tbody tr,
.table.crm-ui-table tbody tr {
    min-height: var(--crm-ui-table-row-height);
    background: var(--crm-ui-surface);
    transition: background .12s ease;
}

main table.table tbody tr:hover,
.table.crm-pro-table tbody tr:hover,
.table.crm-grid-table tbody tr:hover,
.table.crm-ui-table tbody tr:hover {
    background: color-mix(in srgb, var(--crm-ui-surface) 96%, var(--crm-ui-primary) 4%) !important;
}

main table.table tbody tr:last-child > td,
.table.crm-pro-table tbody tr:last-child > td,
.table.crm-grid-table tbody tr:last-child > td,
.table.crm-ui-table tbody tr:last-child > td {
    border-bottom: 0 !important;
}

main table.table td,
.table.crm-pro-table td,
.table.crm-grid-table td,
.table.crm-ui-table td {
    min-height: var(--crm-ui-table-row-height);
}

main table.table td .fw-semibold,
.table.crm-ui-table td .fw-semibold {
    font-weight: 700 !important;
}

main table.table .small,
.table.crm-ui-table .small,
.table.crm-grid-table .small {
    font-size: 10.75px !important;
    line-height: 1.25;
}

.crm-actions-column,
.crm-actions-cell,
main table.table th:last-child,
main table.table td:last-child {
    width: 1%;
    white-space: nowrap;
}

.crm-actions-cell > .btn-list,
.crm-actions-cell > .d-flex,
main table.table td:last-child > .btn-list,
main table.table td:last-child > .d-flex {
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    gap: .28rem !important;
}

main table.table td:last-child .btn,
.crm-actions-cell .btn {
    min-height: 28px;
    padding: .25rem .48rem;
    font-size: 11px;
}

.crm-table-primary {
    color: var(--crm-ui-primary);
    font-weight: 750;
}

.crm-table-secondary {
    display: block;
    margin-top: .12rem;
    color: var(--crm-ui-text-muted);
    font-size: 10.75px;
}

.crm-pro-table-footer,
.crm-grid-footer,
.crm-ui-table-footer {
    min-height: 42px;
    padding: .42rem .68rem !important;
    border-top: 1px solid var(--crm-ui-border) !important;
    background: #fbfcfe !important;
    color: var(--crm-ui-text-muted);
    font-size: 11.25px !important;
}

[data-bs-theme="dark"] .crm-pro-table-footer,
[data-bs-theme="dark"] .crm-grid-footer,
[data-bs-theme="dark"] .crm-ui-table-footer {
    background: var(--crm-ui-surface-soft) !important;
}

.crm-pro-table-footer .btn,
.crm-grid-footer .btn,
.crm-ui-table-footer .btn {
    min-width: 28px;
    min-height: 28px;
    padding: .2rem .38rem;
}

.crm-sortable-th::after {
    font-family: "tabler-icons" !important;
    content: "\ea62" !important;
    right: .42rem !important;
    color: var(--crm-ui-text-faint);
    font-size: .72rem !important;
    opacity: .62 !important;
}

.crm-sortable-th[data-sort-dir="asc"]::after {
    content: "\ea5f" !important;
    color: var(--crm-ui-primary);
    opacity: 1 !important;
}

.crm-sortable-th[data-sort-dir="desc"]::after {
    content: "\ea5c" !important;
    color: var(--crm-ui-primary);
    opacity: 1 !important;
}

/* Filter/search toolbars */
.crm-grid-toolbar,
.crm-grid-toolbar-main,
.crm-ui-toolbar {
    min-height: 46px;
    padding: .42rem .62rem !important;
    gap: .42rem !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    background: var(--crm-ui-surface) !important;
}

.crm-grid-toolbar .form-control,
.crm-grid-toolbar .form-select,
.crm-grid-toolbar-main .form-control,
.crm-grid-toolbar-main .form-select,
.crm-ui-toolbar .form-control,
.crm-ui-toolbar .form-select {
    min-height: 31px !important;
    height: 31px;
    font-size: 12px !important;
}

/* Person chips / avatars */
.crm-person {
    gap: .42rem !important;
}

.crm-person-avatar {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50%;
    border: 1px solid var(--crm-ui-border);
    box-shadow: 0 0 0 2px var(--crm-ui-surface);
}

.crm-person-name {
    font-size: 11.75px;
    font-weight: 700 !important;
}

.crm-person-meta {
    margin-top: 0 !important;
    font-size: 10px !important;
}

/* ---------------------------------------------------------------------
   Modals
   --------------------------------------------------------------------- */
.modal-content {
    overflow: hidden;
    border: 1px solid var(--crm-ui-border) !important;
    border-radius: var(--crm-ui-radius-xl) !important;
    background: var(--crm-ui-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22) !important;
}

.modal-header {
    min-height: 50px;
    padding: .68rem .85rem !important;
    border-bottom: 1px solid var(--crm-ui-border) !important;
    background: color-mix(in srgb, var(--crm-ui-surface) 96%, var(--crm-ui-primary) 4%);
}

.modal-title {
    font-size: .9rem;
    font-weight: 750;
}

.modal-body {
    padding: .8rem .85rem !important;
}

.modal-footer {
    min-height: 49px;
    padding: .55rem .85rem !important;
    gap: .4rem;
    border-top: 1px solid var(--crm-ui-border) !important;
    background: color-mix(in srgb, var(--crm-ui-surface) 98%, var(--crm-ui-page-bg) 2%);
}

/* ---------------------------------------------------------------------
   Dashboard density alignment
   --------------------------------------------------------------------- */
.crm-dashboard {
    --crm-dashboard-card-bg: var(--crm-ui-surface);
    --crm-dashboard-border: var(--crm-ui-border);
    --crm-dashboard-muted: var(--crm-ui-text-muted);
    --crm-dashboard-radius: var(--crm-ui-radius-lg);
    --crm-dashboard-shadow: var(--crm-ui-shadow-sm);
}

.crm-dashboard-hero {
    padding: .75rem .85rem !important;
    margin-bottom: .75rem !important;
}

.crm-kpi-card {
    min-height: 5.25rem !important;
    padding: .62rem !important;
}

.crm-kpi-icon {
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
}

.crm-kpi-value {
    font-size: 1.25rem !important;
}

.crm-dashboard-card-header {
    min-height: 43px !important;
    padding: .52rem .68rem !important;
}

.crm-dashboard-table thead th {
    height: 34px;
}

.crm-dashboard-table tbody td {
    padding: .48rem .62rem !important;
}

/* ---------------------------------------------------------------------
   Responsive behavior
   --------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    :root {
        --crm-ui-content-padding-x: 12px;
    }

    .crm-form-aside,
    .crm-ui-form-aside {
        position: static;
    }
}

@media (max-width: 991.98px) {
    :root {
        --crm-sidebar-width: 15.25rem;
        --crm-ui-form-gap-x: 10px;
        --crm-ui-form-gap-y: 9px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --crm-ui-font-size: 12.75px;
        --crm-ui-control-height: 34px;
        --crm-ui-content-padding-x: 9px;
        --crm-ui-table-cell-y: 7px;
        --crm-ui-table-cell-x: 9px;
    }

    .page-body {
        padding-top: .55rem !important;
    }

    .card-body,
    .crm-entry-form .card-body,
    .crm-ui-form .card-body {
        padding: .65rem !important;
    }

    .crm-page-header {
        align-items: flex-start !important;
        flex-direction: column;
        gap: .4rem;
    }

    .crm-ui-table-scroll {
        max-height: none;
    }

    main table.table {
        min-width: 660px;
    }
}

@media print {
    .crm-sidebar,
    .crm-topbar,
    .crm-breadcrumb-bar,
    .crm-pro-table-footer,
    .crm-ui-table-footer,
    .btn,
    .dropdown-menu {
        display: none !important;
    }

    .page-wrapper {
        margin-left: 0 !important;
    }

    .card,
    .crm-table-shell,
    .crm-ui-table-shell {
        box-shadow: none !important;
    }
}

/* =====================================================================
   RC17 FINAL PROFESSIONAL UI OVERRIDES
   The selectors below are deliberately last so they win over legacy
   patches accumulated during earlier stabilization releases.
   ===================================================================== */

body.crm-design-system {
    --crm-ui-control-height: 32px;
    --crm-ui-button-height: 31px;
    --crm-ui-table-head-height: 34px;
    --crm-ui-table-row-height: 40px;
    --crm-ui-card-header-height: 40px;
    --crm-ui-table-cell-y: 6px;
    --crm-ui-table-cell-x: 10px;
    --crm-ui-form-gap-x: 12px;
    --crm-ui-form-gap-y: 9px;
}

/* Consistent page title block */
.crm-ui-page-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap;
    gap: .55rem .85rem !important;
    min-height: 2.85rem;
    margin: 0 0 .65rem !important;
    padding: .05rem 0 !important;
}

.crm-ui-page-heading h1,
.crm-ui-page-heading h2,
.crm-ui-page-heading .page-title {
    margin: 0 !important;
    color: var(--crm-ui-text) !important;
    font-size: 1.05rem !important;
    font-weight: 760 !important;
    letter-spacing: -.022em;
    line-height: 1.18;
}

.crm-ui-page-heading .text-secondary {
    margin-top: .1rem !important;
    color: var(--crm-ui-text-muted) !important;
    font-size: 11.25px !important;
    line-height: 1.3;
}

.crm-ui-page-heading > .d-flex:last-child,
.crm-ui-page-heading > div:last-child:not(:first-child) {
    flex: 0 0 auto;
}

/* Filter/search bars */
.crm-ui-filter-form {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem !important;
    width: 100%;
}

.crm-ui-filter-form .form-control,
.crm-ui-filter-form .form-select,
.crm-ui-filter-form .choices {
    flex: 1 1 13rem;
    min-width: 9rem;
    max-width: 30rem;
}

.crm-ui-filter-form .btn {
    flex: 0 0 auto;
}

/* Form canvas */
.crm-entry-form,
.crm-ui-form {
    width: 100%;
    max-width: var(--crm-ui-form-max, 1540px) !important;
}

.crm-entry-form .row > [class*="col-"],
.crm-ui-form .row > [class*="col-"] {
    min-width: 0;
}

.crm-entry-form .card,
.crm-ui-form .card,
.crm-form-card-ui {
    overflow: hidden;
    border-color: var(--crm-ui-border) !important;
    background: var(--crm-ui-surface) !important;
}

.crm-entry-form .card-header,
.crm-ui-form .card-header,
.crm-form-card-ui > .card-header {
    background: linear-gradient(180deg, var(--crm-ui-surface), var(--crm-ui-surface-soft)) !important;
}

.crm-entry-form .card-title,
.crm-ui-form .card-title,
.crm-form-card-ui .card-title {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: 12.75px !important;
    font-weight: 760 !important;
}

.crm-entry-form .required::after,
.crm-ui-form .required::after {
    content: " *";
    color: #d63939;
}

main .form-control,
main .form-select,
.modal .form-control,
.modal .form-select,
.choices__inner {
    transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}

main input.form-control:not([type="file"]),
main select.form-select,
.modal input.form-control:not([type="file"]),
.modal select.form-select {
    line-height: 1.2;
}

main input[type="file"].form-control,
.modal input[type="file"].form-control {
    height: auto !important;
    min-height: var(--crm-ui-control-height) !important;
    padding: .24rem .34rem !important;
}

main input[type="file"].form-control::file-selector-button,
.modal input[type="file"].form-control::file-selector-button {
    margin: -.24rem .5rem -.24rem -.34rem;
    padding: .38rem .6rem;
    border: 0;
    border-right: 1px solid var(--crm-ui-border);
    color: var(--crm-ui-text);
    background: var(--crm-ui-surface-muted);
    font-size: 11.5px;
    font-weight: 650;
}

.crm-ui-form-actions {
    min-height: 43px;
    margin-top: 0;
    padding: .52rem .72rem !important;
    background: var(--crm-ui-surface-soft);
}

/* Searchable selects stay exactly aligned with normal controls */
.choices,
.choices__inner,
.choices__list--single {
    min-width: 0;
}

.choices__inner {
    height: var(--crm-ui-control-height) !important;
    min-height: var(--crm-ui-control-height) !important;
    padding: .23rem .55rem !important;
}

.choices__list--single {
    display: flex;
    align-items: center;
    min-height: calc(var(--crm-ui-control-height) - 12px);
    padding: 0 1.25rem 0 0 !important;
}

.choices[data-type*="select-one"]::after {
    right: .72rem !important;
    margin-top: -2px !important;
    border-width: 4px !important;
}

/* Professional tables */
.crm-ui-table-shell,
.card.crm-master-card,
.card:has(> .table-responsive) {
    border-radius: var(--crm-ui-radius-lg) !important;
}

.crm-ui-table-wrap {
    background: var(--crm-ui-surface);
}

.table.crm-ui-table,
.table.crm-pro-table,
.table.crm-grid-table,
.table.crm-data-table {
    table-layout: auto;
}

.table.crm-ui-table thead th,
.table.crm-pro-table thead th,
.table.crm-grid-table thead th,
.table.crm-data-table thead th {
    position: static !important;
    vertical-align: middle !important;
}

.table.crm-ui-table tbody td,
.table.crm-pro-table tbody td,
.table.crm-grid-table tbody td,
.table.crm-data-table tbody td {
    height: var(--crm-ui-table-row-height);
}

.table.crm-ui-table tbody tr:nth-child(even):not(:hover),
.table.crm-pro-table tbody tr:nth-child(even):not(:hover),
.table.crm-grid-table tbody tr:nth-child(even):not(:hover),
.table.crm-data-table tbody tr:nth-child(even):not(:hover) {
    background: rgba(15, 23, 42, .008);
}

[data-bs-theme="dark"] .table.crm-ui-table tbody tr:nth-child(even):not(:hover),
[data-bs-theme="dark"] .table.crm-pro-table tbody tr:nth-child(even):not(:hover),
[data-bs-theme="dark"] .table.crm-grid-table tbody tr:nth-child(even):not(:hover),
[data-bs-theme="dark"] .table.crm-data-table tbody tr:nth-child(even):not(:hover) {
    background: rgba(255, 255, 255, .012);
}

.crm-table-primary {
    color: var(--crm-ui-primary) !important;
    font-size: 12.25px;
    font-weight: 760 !important;
    text-decoration: none !important;
}

.crm-table-primary:hover {
    color: var(--crm-ui-primary-hover) !important;
}

.crm-empty-cell {
    height: 4.5rem !important;
    padding: .85rem !important;
    color: var(--crm-ui-text-muted) !important;
    text-align: center !important;
    background: var(--crm-ui-surface) !important;
}

.crm-actions-column,
.crm-actions-cell {
    width: 1%;
    min-width: max-content;
    white-space: nowrap !important;
    text-align: right !important;
}

.crm-row-actions {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap !important;
    gap: .28rem !important;
    max-width: 100%;
}

.crm-row-actions > form {
    display: inline-flex;
    margin: 0;
}

.crm-row-actions .btn-list {
    flex-wrap: nowrap !important;
    gap: .28rem !important;
}

.crm-actions-cell .btn,
.crm-row-actions .btn {
    min-height: 27px !important;
    padding: .23rem .45rem !important;
    border-radius: 5px !important;
    font-size: 10.75px !important;
}

.crm-actions-cell .btn-icon,
.crm-row-actions .btn-icon {
    width: 27px !important;
    min-width: 27px !important;
    padding-inline: 0 !important;
}

.crm-pro-table-footer {
    min-height: 39px !important;
    padding: .35rem .62rem !important;
}

.crm-pro-table-footer .form-select {
    width: 4.25rem !important;
    min-width: 4.25rem !important;
    height: 28px !important;
    min-height: 28px !important;
    padding-block: .1rem !important;
    font-size: 10.75px !important;
}

/* Sorting exists only where explicitly enabled by data attributes. */
.crm-sortable-th {
    padding-right: 1.45rem !important;
}

.crm-sortable-th::after {
    right: .42rem !important;
    font-size: .62rem !important;
    opacity: .45 !important;
}

/* Compact statuses and people */
.table .badge {
    min-width: 0;
    padding: .26em .52em;
    font-size: 10px;
}

.crm-person-avatar {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
}

.crm-person-name {
    font-size: 11.5px !important;
}

.crm-person-meta {
    font-size: 9.75px !important;
}

/* Master-entry modal forms use the same design language. */
.modal .row.g-3,
.modal .row.g-2 {
    --bs-gutter-x: .7rem !important;
    --bs-gutter-y: .6rem !important;
    --tblr-gutter-x: .7rem !important;
    --tblr-gutter-y: .6rem !important;
}

.modal-dialog:not(.modal-sm) {
    max-width: min(48rem, calc(100vw - 1.5rem));
}

.modal-dialog.modal-lg {
    max-width: min(64rem, calc(100vw - 1.5rem));
}

/* Login/auth screens inherit the same controls without the application shell. */
.crm-auth-body .form-control,
.crm-auth-body .form-select {
    min-height: 36px !important;
    border-radius: var(--crm-ui-radius-sm) !important;
}

@media (max-width: 991.98px) {
    .crm-ui-page-heading {
        align-items: flex-start !important;
    }

    .crm-ui-filter-form .form-control,
    .crm-ui-filter-form .form-select,
    .crm-ui-filter-form .choices {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    body.crm-design-system {
        --crm-ui-content-padding-x: 8px;
        --crm-ui-form-gap-x: 8px;
        --crm-ui-form-gap-y: 8px;
    }

    .crm-ui-page-heading {
        flex-direction: column;
        min-height: auto;
    }

    .crm-ui-page-heading > div:last-child:not(:first-child),
    .crm-ui-page-heading > a.btn,
    .crm-ui-page-heading > button.btn {
        width: 100%;
    }

    .crm-ui-page-heading > a.btn,
    .crm-ui-page-heading > button.btn,
    .crm-ui-page-heading > div:last-child:not(:first-child) .btn {
        justify-content: center;
    }

    .crm-row-actions {
        gap: .2rem !important;
    }
}

/* Action overflow and compact list toolbars */
.crm-more-actions .dropdown-menu {
    min-width: 10.5rem;
    padding: .28rem;
    border-color: var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-md);
    box-shadow: var(--crm-ui-shadow-md);
}

.crm-more-actions .dropdown-item {
    display: flex;
    align-items: center;
    min-height: 30px;
    padding: .38rem .55rem;
    border-radius: 5px;
    color: var(--crm-ui-text);
    font-size: 11.5px;
    font-weight: 620;
}

.crm-more-actions form .dropdown-item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.crm-ui-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .45rem;
    min-height: 43px;
    padding: .4rem .6rem !important;
    border-bottom: 1px solid var(--crm-ui-border);
    background: var(--crm-ui-surface-soft) !important;
}

.crm-ui-toolbar .crm-ui-filter-form,
.crm-ui-toolbar form[method="get"] {
    flex: 1 1 auto;
}

/* ---------------------------------------------------------------------
   RC18 — Live developer availability and utilization
   --------------------------------------------------------------------- */
:root {
    --crm-availability-free: #1f9d65;
    --crm-availability-free-rgb: 31, 157, 101;
    --crm-availability-busy: #e5484d;
    --crm-availability-busy-rgb: 229, 72, 77;
    --crm-availability-risk: #d97706;
    --crm-availability-card-bg: var(--crm-ui-surface);
    --crm-availability-card-border: var(--crm-ui-border);
    --crm-availability-card-radius: var(--crm-ui-radius-md);
}

.crm-developer-availability-header {
    flex-wrap: wrap;
}

.crm-developer-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
}

.crm-availability-count {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    min-height: 25px;
    padding: .24rem .48rem;
    border: 1px solid var(--crm-ui-border);
    border-radius: 999px;
    color: var(--crm-ui-text-muted);
    background: var(--crm-ui-surface-soft);
    font-size: 10.75px;
    font-weight: 650;
    white-space: nowrap;
}

.crm-availability-count strong {
    color: var(--crm-ui-text);
    font-size: 11.5px;
}

.crm-availability-count.is-free {
    color: var(--crm-availability-free);
    border-color: rgba(var(--crm-availability-free-rgb), .22);
    background: rgba(var(--crm-availability-free-rgb), .07);
}

.crm-availability-count.is-busy {
    color: var(--crm-availability-busy);
    border-color: rgba(var(--crm-availability-busy-rgb), .22);
    background: rgba(var(--crm-availability-busy-rgb), .065);
}

.crm-availability-count.is-risk {
    color: var(--crm-availability-risk);
    border-color: rgba(217, 119, 6, .22);
    background: rgba(217, 119, 6, .065);
}

.crm-developer-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .45rem;
    min-height: 39px;
    padding: .35rem .65rem;
    border-top: 1px solid var(--crm-ui-border);
    border-bottom: 1px solid var(--crm-ui-border);
    background: var(--crm-ui-surface-soft);
}

.crm-developer-toolbar .btn {
    min-height: 27px !important;
    height: 27px !important;
    padding: .2rem .52rem !important;
    font-size: 10.75px !important;
}

.crm-developer-toolbar .btn.active {
    color: #fff !important;
    border-color: var(--crm-ui-primary) !important;
    background: var(--crm-ui-primary) !important;
}

.crm-developer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    padding: .65rem;
    background: color-mix(in srgb, var(--crm-ui-page-bg) 58%, var(--crm-ui-surface) 42%);
}

.crm-developer-empty {
    grid-column: 1 / -1;
    min-height: 9rem;
    border: 1px dashed var(--crm-ui-border-strong);
    border-radius: var(--crm-ui-radius-md);
    background: var(--crm-ui-surface);
}

.crm-developer-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 188px;
    padding: .66rem;
    overflow: hidden;
    border: 1px solid var(--crm-availability-card-border);
    border-radius: var(--crm-availability-card-radius);
    background: var(--crm-availability-card-bg);
    box-shadow: var(--crm-ui-shadow-xs);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.crm-developer-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--crm-availability-free);
}

.crm-developer-card.is-busy::before {
    background: var(--crm-availability-busy);
}

.crm-developer-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--crm-ui-primary) 30%, var(--crm-ui-border) 70%);
    box-shadow: var(--crm-ui-shadow-sm);
}

.crm-developer-card[hidden] {
    display: none !important;
}

.crm-developer-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .55rem;
    min-width: 0;
    padding-left: .15rem;
}

.crm-developer-card .crm-person {
    min-width: 0;
}

.crm-developer-card .crm-person-avatar {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
}

.crm-developer-card .crm-person-name {
    max-width: 12rem;
    font-size: 12.25px;
    font-weight: 750;
}

.crm-developer-card .crm-person-meta {
    max-width: 14rem;
    color: var(--crm-ui-text-muted);
    font-size: 9.75px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-availability-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 24px;
    padding: .2rem .43rem;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

.crm-availability-badge.is-free {
    color: var(--crm-availability-free);
    background: rgba(var(--crm-availability-free-rgb), .09);
}

.crm-availability-badge.is-busy {
    color: var(--crm-availability-busy);
    background: rgba(var(--crm-availability-busy-rgb), .09);
}

.crm-availability-badge.is-busy i {
    animation: crm-availability-pulse 1.25s ease-in-out infinite;
}

@keyframes crm-availability-pulse {
    0%, 100% { opacity: .55; transform: scale(.88); }
    50% { opacity: 1; transform: scale(1); }
}

.crm-developer-current-task,
.crm-developer-free-state {
    min-height: 83px;
    margin-top: .58rem;
    margin-left: .15rem;
    padding: .52rem .56rem;
    border: 1px solid var(--crm-ui-border);
    border-radius: var(--crm-ui-radius-sm);
    background: var(--crm-ui-surface-soft);
}

.crm-developer-current-task {
    display: flex;
    flex-direction: column;
    gap: .14rem;
}

.crm-developer-task-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
}

.crm-developer-task-top .btn-link {
    max-width: 9rem;
    color: var(--crm-ui-primary) !important;
    font-size: 10.75px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-live-duration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 23px;
    padding: .18rem .38rem;
    border-radius: 999px;
    color: var(--crm-availability-busy);
    background: rgba(var(--crm-availability-busy-rgb), .09);
    font-size: 10.5px;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    letter-spacing: .02em;
}

.crm-developer-task-title,
.crm-developer-task-project,
.crm-developer-task-structure {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.crm-developer-task-title {
    color: var(--crm-ui-text);
    font-size: 11.25px;
}

.crm-developer-task-project {
    color: var(--crm-ui-text-muted);
    font-size: 10.25px;
    font-weight: 650;
}

.crm-developer-task-structure {
    color: var(--crm-ui-text-faint);
    font-size: 9.5px;
}

.crm-developer-free-state {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
    color: var(--crm-ui-text-muted);
    background: rgba(var(--crm-availability-free-rgb), .045);
    border-color: rgba(var(--crm-availability-free-rgb), .16);
}

.crm-free-icon {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--crm-availability-free);
    background: rgba(var(--crm-availability-free-rgb), .1);
    font-size: 1rem;
}

.crm-developer-free-state strong,
.crm-developer-free-state small {
    display: block;
}

.crm-developer-free-state strong {
    color: var(--crm-ui-text);
    font-size: 11.25px;
}

.crm-developer-free-state small {
    margin-top: .1rem;
    color: var(--crm-ui-text-muted);
    font-size: 9.6px;
    line-height: 1.35;
}

.crm-developer-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .25rem;
    margin-top: auto;
    padding-top: .55rem;
}

.crm-developer-stats > span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    min-width: 0;
    min-height: 27px;
    padding: .22rem .28rem;
    border-radius: var(--crm-ui-radius-xs);
    color: var(--crm-ui-text-muted);
    background: var(--crm-ui-surface-muted);
    font-size: 9.35px;
    white-space: nowrap;
}

.crm-developer-stats i {
    color: var(--crm-ui-primary);
    font-size: 10.5px;
}

.crm-developer-stats strong {
    color: var(--crm-ui-text);
    font-size: 10.25px;
}

@media (max-width: 1399.98px) {
    .crm-developer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .crm-developer-summary {
        justify-content: flex-start;
    }

    .crm-developer-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .crm-developer-grid {
        grid-template-columns: 1fr;
        padding: .5rem;
    }

    .crm-developer-card {
        min-height: 180px;
    }
}

/* RC26 - Work order follow-up board */
.crm-workorder-grid { font-size: 12.5px; }
.crm-workorder-grid thead th { white-space: nowrap; }
.crm-workorder-grid td { vertical-align: top; padding-top: .55rem; padding-bottom: .55rem; }
.crm-grid-textarea { min-height: 54px !important; resize: vertical; line-height: 1.3; }


/* Compact global data tables and icon-only row actions */
main table.table > :not(caption) > * > *,
.table.crm-pro-table > :not(caption) > * > *,
.table.crm-grid-table > :not(caption) > * > *,
.table.crm-ui-table > :not(caption) > * > * {
    padding-top: .34rem !important;
    padding-bottom: .34rem !important;
}
main table.table tbody td,
.table.crm-pro-table tbody td,
.table.crm-grid-table tbody td,
.table.crm-ui-table tbody td {
    height: 34px !important;
}
main table.table thead th,
.table.crm-pro-table thead th,
.table.crm-grid-table thead th,
.table.crm-ui-table thead th {
    height: 32px !important;
}
.crm-actions-cell { width: 1%; white-space: nowrap; text-align: right; }
.crm-actions-cell .btn { margin-left: .18rem; }
.crm-actions-cell .crm-table-action-icon {
    width: 28px; height: 28px; min-width: 28px !important; min-height: 28px !important;
    padding: 0 !important; display: inline-flex; align-items: center; justify-content: center;
}
.crm-actions-cell .crm-table-action-icon .ti { font-size: 15px; margin: 0 !important; }
.crm-customer-price { min-width: 110px; }
\n\n/* V10: critical workflow actions must stay explicit and discoverable. */\n.crm-actions-cell [data-crm-primary-action],\n.crm-actions-cell [data-crm-keep-label] {\n    white-space: nowrap;\n}\n.crm-actions-cell [data-crm-primary-action] {\n    font-weight: 700;\n}\n.crm-more-actions .dropdown-item {\n    display: flex;\n    align-items: center;\n    gap: .15rem;\n}\n