/* Loaded in <head>: Vue removes side-effect <style> tags from its templates. */
.crm-module { min-width: 0; padding-bottom: 32px; }
.crm-module *, .crm-module *::before, .crm-module *::after { box-sizing: border-box; }
.crm-module h4 { margin-bottom: 20px; line-height: 1.4; overflow-wrap: anywhere; }
.crm-module h5 { margin-bottom: 18px; line-height: 1.45; overflow-wrap: anywhere; }
.crm-module p, .crm-module .form-text, .crm-module .alert { line-height: 1.65; overflow-wrap: anywhere; }
.crm-module .card { min-width: 0; border: 1px solid #e5e9f0; border-radius: 12px; }
.crm-module .card-body, .crm-module .sc-card { padding: 24px !important; }
.crm-module .accounting-register-card .card-body { padding: 0 !important; }
.crm-module .sc-card { margin-bottom: 24px; }
.crm-module .card > form { min-width: 0; margin: 0; }
.crm-module .sc-card > form + p { margin-top: 20px; }
.crm-module .sc-card > h5:first-child { margin-top: 0; }
.crm-module .btn {
    min-height: 44px; max-width: 100%; padding: 10px 18px;
    line-height: 1.45; white-space: normal; overflow-wrap: anywhere;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    text-align: center; vertical-align: middle;
}
.crm-module .btn.btn-sm { padding: 8px 12px; }
.crm-module .btn-icon { padding: 8px; min-width: 44px; }
.crm-module .gap-2 { gap: 12px !important; }
.crm-module .gap-3 { gap: 16px !important; }
.crm-module .sc-actions, .crm-module .procurement-actions {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 12px 16px; margin: 24px 0;
}
.crm-module .sc-actions > *, .crm-module .procurement-actions > * { min-width: 0; max-width: 100%; }
.crm-module .sc-actions > .btn, .crm-module .procurement-actions > .btn,
.crm-module .d-flex.gap-2 > .btn, .crm-module .d-flex.gap-3 > .btn { margin: 0 !important; }
.crm-module .sc-card > .sc-actions:last-child,
.crm-module .sc-card > form > .sc-actions:last-child { margin-bottom: 0; }
.crm-module .sc-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.crm-module .sc-form > *, .crm-module .row > * { min-width: 0; }
.crm-module .sc-form label, .crm-module .sc-card form > label:not(.form-check) {
    display: block; margin-bottom: 8px; line-height: 1.5; overflow-wrap: anywhere;
}
.crm-module .sc-wide { grid-column: 1 / -1; }
.crm-module .form-control, .crm-module .form-select { max-width: 100%; min-width: 0; min-height: 44px; }
.crm-module .form-control[type=file] { height: auto; line-height: 1.6; }
.crm-module textarea.form-control { min-height: 104px; resize: vertical; }
.crm-module select[multiple] { min-height: 180px; padding: 8px; }
.crm-module select[multiple] option { padding: 8px 10px; }
.crm-module label.form-check { display: flex; align-items: flex-start; gap: 10px; padding-left: 0; line-height: 1.55; }
.crm-module label.form-check.border { padding: 16px !important; }
.crm-module label.form-check .form-check-input { float: none; flex: 0 0 auto; margin: 4px 0 0; }
.crm-module label.form-check .form-check-label { min-width: 0; overflow-wrap: anywhere; }
.crm-module .sc-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 16px; margin-bottom: 24px; }
.crm-module .sc-kpis > div { min-width: 0; padding: 20px; border: 1px solid #e2e7ef; border-radius: 12px; background: #fff; line-height: 1.55; overflow-wrap: anywhere; }
.crm-module .sc-kpis strong { color: #43536b; font-size: 1.15rem; margin-top: 8px; font-variant-numeric: tabular-nums; }
.crm-module .sc-table { width: 100%; min-width: 760px; margin-bottom: 0; }
.crm-module .sc-table th { background: #f6f8fb; font-size: 12px; line-height: 1.5; white-space: normal; }
.crm-module .sc-table td, .crm-module .sc-table th { padding: 16px !important; vertical-align: top; overflow-wrap: anywhere; }
.crm-module .sc-table td { line-height: 1.6; }
.crm-module .sc-contracts-table { min-width: 0; }
.crm-module .sc-empty { color: #7b8798; }
.crm-module .table-responsive { max-width: 100%; overscroll-behavior-x: contain; }
.crm-module .sc-history { white-space: pre-wrap; overflow-wrap: anywhere; }
.crm-module details > summary { padding-top: 14px; padding-bottom: 14px; line-height: 1.5; }
.crm-module .max-chat-actions .btn { white-space: normal; }
.crm-module .task-search-panel > summary { cursor: pointer; padding: 0; font-weight: 600; color: #43536b; }
.crm-module .task-search-panel[open] > summary { margin-bottom: 24px; }
.crm-module .task-scope-nav, .crm-module .task-filter-nav { gap: 10px; margin: 18px 0; }
.crm-module .task-filter-nav .btn { box-shadow: none; }
.crm-module .register-actions { gap: 10px; }
.crm-module-layout .layout-navbar { height: auto; min-height: 64px; padding-top: 12px; padding-bottom: 12px; }
.crm-module-layout .layout-navbar nav[aria-label=breadcrumb] { min-width: 0; overflow: visible; }
.crm-module-layout .adaptiveBreadcrumb { display: flex; flex-wrap: wrap; overflow: visible !important; white-space: normal !important; gap: 6px 0; }
.crm-module-layout .adaptiveBreadcrumb .breadcrumb-item { flex-shrink: 1; min-width: 0; white-space: normal !important; overflow-wrap: anywhere; }
@media (max-width: 991.98px) {
    .crm-module .sc-form { grid-template-columns: minmax(0, 1fr); }
    .crm-module .sc-kpis { gap: 12px; }
}
@media (max-width: 767.98px) {
    .crm-module .sc-contracts-table, .crm-module .sc-contracts-table tbody,
    .crm-module .sc-contracts-table tr, .crm-module .sc-contracts-table td { display: block; width: 100%; }
    .crm-module .sc-contracts-table thead { display: none; }
    .crm-module .sc-contracts-table td { padding: 12px 0 !important; border: 0; }
    .crm-module .sc-contracts-table td[data-label]::before {
        content: attr(data-label); display: block; margin-bottom: 4px;
        color: #7b8798; font-size: 12px; font-weight: 600;
    }
    .crm-module .sc-contracts-table tr + tr { border-top: 1px solid #e5e9f0; margin-top: 16px; padding-top: 8px; }
    .crm-module .sc-contracts-table .sc-empty { padding: 4px 0 !important; }
}
@media (max-width: 575.98px) {
    .crm-module .card-body, .crm-module .sc-card { padding: 18px !important; }
    .crm-module .accounting-register-card .card-body { padding: 0 !important; }
    .crm-module .sc-card { margin-bottom: 18px; }
    .crm-module .sc-actions, .crm-module .procurement-actions { align-items: stretch; flex-direction: column; gap: 12px; margin: 20px 0; }
    .crm-module .sc-actions > *, .crm-module .procurement-actions > * { width: 100%; }
    .crm-module .d-flex.flex-wrap.gap-2 > .btn,
    .crm-module .d-flex.flex-wrap.gap-3 > .btn { flex: 1 1 100%; width: 100%; }
    .crm-module .sc-form { gap: 18px; }
    .crm-module .sc-kpis { grid-template-columns: minmax(0, 1fr); }
    .crm-module .sc-kpis > div { padding: 16px; }
    .crm-module .sc-table td, .crm-module .sc-table th { padding: 12px !important; }
    .crm-module-layout .layout-navbar .breadcrumb-item { font-size: 12px; }
    .crm-module .task-scope-nav, .crm-module .task-filter-nav { display: grid; align-items: stretch; gap: 10px; margin: 16px 0; }
    .crm-module .task-scope-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .crm-module .task-filter-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .crm-module .task-scope-nav > .btn, .crm-module .task-filter-nav > .btn { width: 100%; padding: 9px 8px; font-size: 12px; }
    .crm-module .task-search-panel[open] > summary { margin-bottom: 20px; }
}
