/* Admin-only CIS theme. Reference: nencercis/assets/css/{base,style,responsive}.css.
   Keep these tokens separate from the public site's tenant brand colors. */
/* Asset revision: full release 2026-10-06; refresh stale CDN variants. */
.erp-module-parity {
    --primary-color: #015e70;
    --primary-hover: #00708c;
    --primary-rgb: 1, 94, 112;
    --secondary-color: #bb9a77;
    --secondary-hover: #a27b51;
    --secondary-rgb: 187, 154, 119;
    --nencer-primary: var(--primary-color);
    --nencer-primary-dark: var(--primary-hover);
    --bs-primary: var(--primary-color);
    --bs-primary-rgb: var(--primary-rgb);
    --bs-link-color: var(--primary-color);
    --bs-link-hover-color: var(--primary-hover);
    --bs-link-color-rgb: var(--primary-rgb);
    --bs-link-hover-color-rgb: 0, 112, 140;
    --bs-body-font-size: 14px;
    --size-theme: 14px;
    --page-background: #f0f0f0;
    --app-header-height: 36px;
    --admin-toolbar-height: 52px;
    --nencer-control-height: 32px;
    --admin-shell-max-width: none;
    --admin-modal-header-bg: #fff;
}
.erp-module-parity { background: var(--page-background); color: #343a40; font-size: 14px; font-weight: 400; }
/* One fixed height for every admin page toolbar, including narrow screens.
   Keep actions on one row; overflow stays inside the strip instead of growing it. */
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header, .layout-fullwidth-header, .section-buttons) {
    box-sizing: border-box !important;
    height: var(--admin-toolbar-height) !important;
    min-height: var(--admin-toolbar-height) !important;
    max-height: var(--admin-toolbar-height) !important;
    flex-shrink: 0;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
}
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header) > * {
    flex-shrink: 0;
    white-space: nowrap;
}
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header) :is(button, a) {
    white-space: nowrap;
}
.erp-module-parity .admin-standard-page,
.erp-module-parity .main.admin-standard-page,
.erp-module-parity .lp-admin-page,
.erp-module-parity .pm-shell,
.erp-module-parity .ticket-manager {
    background: var(--page-background) !important; color: #212529; display: block;
    box-sizing: border-box; margin: 0 !important; padding: 0 10px 10px !important;
    max-width: none !important; min-height: calc(100dvh - var(--app-header-height)); width: 100%;
}
/* The full-width green action strip replaces the marketing-style page hero. */
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) {
    align-items: center !important; background: var(--primary-color) !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    color: #fff; display: flex !important; gap: 8px !important;
    justify-content: space-between !important; margin: 0 -10px 10px !important;
    padding: 5px 10px !important;
    position: relative; width: calc(100% + 20px) !important;
}
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading)::after { display: none !important; }
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child { min-width: 0; }
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child > span,
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child > .text-muted,
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) p { display: none !important; }
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(h1, h2, h3, h4, h5) {
    color: #fff !important; font-size: 16.1px !important; font-weight: 700 !important;
    letter-spacing: normal !important; line-height: 1.4 !important; margin: 0 !important;
}
.erp-module-parity :is(.admin-standard-actions, .pm-header__actions, .ticket-actions) {
    display: flex !important; align-items: center; justify-content: flex-end;
    flex-wrap: nowrap !important; gap: 5px !important; width: auto !important; flex-shrink: 0;
}
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(.btn-primary, .button-theme_primary) {
    --bs-btn-bg: var(--secondary-color); --bs-btn-border-color: var(--secondary-color);
    --bs-btn-hover-bg: var(--secondary-hover); --bs-btn-hover-border-color: var(--secondary-hover);
    --bs-btn-active-bg: var(--secondary-hover); --bs-btn-active-border-color: var(--secondary-hover);
    background-color: var(--secondary-color); color: #fff;
}
.erp-module-parity :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(.btn-outline-secondary, .btn-outline-primary, .btn-outline-success) {
    color: #fff; border-color: rgba(255,255,255,.65);
}
.erp-module-parity :is(.admin-standard-card, .lp-admin-card) {
    background: #fff !important; border: 1px solid #bfc6ca !important;
    border-radius: 0 !important; box-shadow: none !important;
}
/* The existing module layouts and validation remain responsible for form semantics. */
/* Horizontal defaults must yield to fields that reserve space for icons or actions. */
.erp-module-parity :where(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    padding-left: 4px;
    padding-right: 4px;
}
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    border: 1px solid #9f9f9f; border-radius: 4px !important; background-color: #fff;
    color: #212529; font-size: 14px !important; font-weight: 500; padding-top: 4px; padding-bottom: 4px;
    line-height: 22px; box-shadow: none;
}
.erp-module-parity :is(input.form-control, input.theme-input, select, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    height: 32px !important; min-height: 32px !important;
}
.erp-module-parity :is(select.form-select, select.theme-input) { padding-right: 30px; background-position: right 8px center; }
.erp-module-parity select[multiple], .erp-module-parity select[size]:not([size="1"]) { height: auto !important; min-height: 96px !important; }
.erp-module-parity textarea.form-control { min-height: 80px; }
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])):focus {
    border-color: #adb5bd !important; box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .15);
}
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"]))[required] { background-color: #ffffe1 !important; }
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])):disabled { background-color: #e5e7eb !important; cursor: not-allowed; }
.erp-module-parity :is(.form-control, .form-select)[readonly] { background-color: #e9ecef; }
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])).invalid,
.erp-module-parity :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])).is-invalid { border-color: var(--bs-danger) !important; }
.erp-module-parity :is(.form-label, .theme-label) { color: #000; font-size: 14px; font-weight: 500; }
.erp-module-parity .form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); }
.erp-module-parity .form-check-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .15); }
.erp-module-parity .btn {
    --bs-btn-font-size: 14px; --bs-btn-font-weight: 500; --bs-btn-border-radius: 4px;
    --bs-btn-padding-y: 4px; --bs-btn-padding-x: 14px; --bs-btn-line-height: 22px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    height: 32px; min-height: 32px; font-weight: 500;
}
.erp-module-parity :is(.btn-sm, .btn-group-sm > .btn) { --nencer-control-height: 28px; --bs-btn-font-size: 13px; --bs-btn-padding-y: 2px; --bs-btn-padding-x: 8px; min-height: 28px; }
.erp-module-parity :is(.btn-lg, .btn-group-lg > .btn) { --nencer-control-height: 38px; --bs-btn-font-size: 14px; --bs-btn-padding-y: 7px; --bs-btn-padding-x: 16px; min-height: 38px; }
.erp-module-parity .btn-primary {
    --bs-btn-bg: var(--primary-color); --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-hover); --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-active-bg: var(--primary-hover); --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-disabled-bg: var(--primary-color); --bs-btn-disabled-border-color: var(--primary-color);
    --bs-btn-focus-shadow-rgb: var(--primary-rgb);
}
.erp-module-parity .btn-outline-primary {
    --bs-btn-color: var(--primary-color); --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color); --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: var(--primary-hover); --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-disabled-color: var(--primary-color); --bs-btn-disabled-border-color: var(--primary-color);
}
.erp-module-parity .section-buttons { background-color: var(--primary-color); }
.erp-module-parity .layout-fullwidth { background: var(--page-background); padding: 0 10px 10px; }
.erp-module-parity .layout-fullwidth-header { background: var(--primary-color) !important; padding: 5px 10px; margin-bottom: 10px; }
.erp-module-parity .layout-fullwidth-header .cpanel-highlight_right__content { display: flex; align-items: center !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px; min-height: 32px; }
.erp-module-parity .layout-fullwidth-header .cpanel-highlight_right__content > * { flex-shrink: 0; white-space: nowrap; }
.erp-module-parity .layout-fullwidth-header .cpanel-highlight_right__title,
.erp-module-parity .layout-fullwidth-header .cpanel-highlight_right__title span { color: #fff !important; font-size: 16.1px !important; }
.erp-module-parity .layout-fullwidth-header .cpanel-highlight_right__title small { display: none; }
.erp-module-parity .layout-fullwidth-header .box-form { gap: 5px; flex-wrap: nowrap !important; }
.erp-module-parity .layout-fullwidth-header .button-theme { min-height: 32px; height: 32px; padding: 4px 14px; border-radius: 4px; font-weight: 500; }
.erp-module-parity .layout-fullwidth-header .button-theme_secondary { background: var(--secondary-color) !important; border-color: var(--secondary-color) !important; }
.erp-module-parity .layout-fullwidth .box-item_wrapper { padding: 8px; border-color: #bfc6ca; box-shadow: none; }
.erp-module-parity .layout-fullwidth-table { margin-top: 8px; }
.erp-module-parity .section-heading { background: #d9dada; padding: 8px 10px; }
.erp-module-parity .section-heading .heading-title { font-size: 16.1px; font-weight: 700; color: #000; }
.erp-module-parity .table > thead > tr > th {
    background: #d9dada; color: #000; font-size: 12px; font-weight: 700;
    padding: 4px 6px; letter-spacing: normal; text-transform: none; vertical-align: middle;
}
.erp-module-parity .table > tbody > tr > td { color: #212529; font-size: 13px; padding: 6px; vertical-align: middle; }
.erp-module-parity .table > tbody > tr.active > td { background-color: var(--primary-color); color: #fff; }
.erp-module-parity .pagination { gap: 3px; }
.erp-module-parity .pagination .page-link {
    border: 1px solid #9e9e9e; border-radius: 0; color: #000; font-size: 13px;
    min-width: 26px; height: 32px; padding: 4px 8px; box-shadow: none;
}
.erp-module-parity .pagination .active .page-link { background: #ffffe1; border-color: #d79920; color: #000; }
.erp-module-parity .pagination .disabled .page-link { background: #e1e1e1; opacity: .6; }
/* Landing page editor chrome; the rendered landing preview keeps its template styles. */
.erp-module-parity .lpd-page { background: var(--page-background); padding: 0 10px 10px; }
.erp-module-parity .lpd-header { background: var(--primary-color); color: #fff; margin: 0 -10px 10px; padding: 5px 10px; }
.erp-module-parity .lpd-header h1 { color: #fff; font-size: 16.1px; margin: 0; }
.erp-module-parity .lpd-header > div > span { display: none; }
.erp-module-parity .lpd-header > div > a:not(.btn) { color: #fff; }
.erp-module-parity .lpd-header .btn-outline-secondary { color: #fff; border-color: #fff; }
.erp-module-parity .lpd-header .btn-primary { background: var(--secondary-color); border-color: var(--secondary-color); }
.erp-module-parity .pm-button { border-radius: 4px; font-size: 14px; font-weight: 500; height: 32px; min-height: 32px; padding: 4px 14px; }
.erp-module-parity .pm-header .pm-button--primary { background: var(--secondary-color); border-color: var(--secondary-color); color: #fff; }
.erp-module-parity .pm-header .pm-button--ghost { background: #fff; border-color: #9f9f9f; color: #212529; }

/* Quotes and contracts share the Task toolbar, list rail and summary/detail layout. */
.erp-module-parity .crm-document-page .button-theme {
    border-radius: 4px; font-size: 14px; font-weight: 400;
    height: 32px; min-height: 32px; padding: 4px 9px;
}
.erp-module-parity .crm-document-page .crm-work-header .button-theme_light {
    background: #fff; border-color: #9f9f9f; color: #212529 !important;
}
.erp-module-parity .crm-document-page .crm-work-header .button-theme_light:hover { background: #f0f0f0; }
.erp-module-parity .crm-document-page .stock-import-sidebar { top: 72px; }
.erp-module-parity .crm-document-page .crm-document-content { display: grid; gap: 8px; min-width: 0; }
.erp-module-parity .crm-document-page .crm-document-summary { padding: 10px 12px; min-width: 0; }
.crm-document-heading { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; }
.crm-document-title { flex: 1; min-width: 220px; }
.crm-document-name { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.crm-document-name h2 { color: #173e58; font-size: 17px; font-weight: 700; line-height: 24px; margin: 0; overflow-wrap: anywhere; }
.crm-document-title p { color: #7890a1; font-size: 12px; margin: 2px 0 0; overflow-wrap: anywhere; }
.crm-document-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.crm-document-meta, .crm-document-metrics {
    border-top: 1px solid #e4e9ed; display: flex; flex-wrap: wrap;
    gap: 6px 24px; margin-top: 8px; padding-top: 8px;
}
.crm-document-meta > span, .crm-document-metrics > span { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.crm-document-meta small, .crm-document-metrics small { color: #6c757d; font-size: 12px; }
.crm-document-meta strong, .crm-document-metrics strong { color: #164d69; font-size: 13px; overflow-wrap: anywhere; }
.erp-module-parity .crm-document-page .crm-document-summary > section[aria-label="Workflow chứng từ"] {
    background: transparent !important; border-top: 1px solid #e4e9ed;
    border-bottom: 0 !important; margin-top: 8px; padding: 8px 0 0 !important;
}
.erp-module-parity .crm-document-page .crm-campaign-workspace-panel { min-height: 300px; min-width: 0; }
.erp-module-parity .crm-document-page :is(.crm-detail-panel, .crm-contract-dashboard-scroll, .crm-quote-overview__panel) {
    border-color: #bfc6ca; border-radius: 0; box-shadow: none;
}
.erp-module-parity .crm-document-page .crm-campaign-body-scroll .crm-detail-panel { border: 0; }
.erp-module-parity .crm-document-page .crm-campaign-body-scroll .crm-detail-panel__body { padding: 0; }
.erp-module-parity .crm-document-page .crm-contract-detail-grid { gap: 8px 24px; }
.erp-module-parity .crm-document-page :is(.crm-contract-detail-grid span, .crm-contract-section-title) {
    color: #6c757d; font-size: 12px; font-weight: 400; text-transform: none;
}
.erp-module-parity .crm-document-page .crm-contract-detail-grid strong { color: #164d69; font-size: 13px; }
.erp-module-parity .crm-document-page .crm-contract-appendix-toolbar { border-top: 1px solid #e4e9ed; padding-top: 8px; }
.erp-module-parity .crm-document-page .crm-work-row.is-active { box-shadow: none !important; }
.erp-module-parity.crm-document-form { background: #fff; font-family: Arial, sans-serif; }

/* Route-scoped font tokens also cover the navigation and layout-owned dialogs. */
body:has(.crm-document-page) {
    --font-theme: Arial, sans-serif;
    --bs-font-sans-serif: Arial, sans-serif;
    --bs-body-font-family: Arial, sans-serif;
    font-family: Arial, sans-serif;
}
.crm-contract-page :is(.medical-examination-wrapper, .crm-quote-print-code, .crm-quote-print-document) { font-family: Arial, sans-serif; }
.erp-module-parity .crm-quote-page .crm-quote-inline-grid { gap: 16px; }
.erp-module-parity .crm-quote-page .crm-quote-field { display: flex; flex-direction: column; gap: 6px; }
.erp-module-parity .crm-quote-page .crm-quote-field > .theme-label { display: block; line-height: 20px; margin: 0; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-view { display: grid; gap: 12px; min-width: 0; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-heading { background: transparent; border: 0; min-height: 0; padding: 2px 0; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-heading h2 { color: #173e58; font-size: 17px; font-weight: 700; line-height: 24px; margin: 0; }
.erp-module-parity .crm-contract-page .crm-contract-metric-grid { gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.erp-module-parity .crm-contract-page .crm-task-metric { background: #fff; border: 1px solid #bfc6ca; border-radius: 0; min-width: 0; padding: 12px; }
.erp-module-parity .crm-contract-page .crm-task-metric strong { font-size: 24px; overflow-wrap: anywhere; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-panel { margin: 0; min-width: 0; padding: 12px; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-panel h3 { color: #173e58; font-size: 14px; font-weight: 700; line-height: 20px; margin: 0 0 12px; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-table { max-height: 420px; min-height: 0; overflow: auto; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-table table { min-width: 740px; }
.erp-module-parity .crm-contract-page .crm-contract-dashboard-table th { white-space: nowrap; }
@media (min-width: 1600px) {
    .erp-module-parity .crm-contract-page .crm-contract-metric-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .crm-document-title { flex-basis: 100%; min-width: 0; }
    .crm-document-actions { justify-content: flex-start; }
    .erp-module-parity .crm-document-page .crm-document-summary { padding: 10px; }
    .erp-module-parity .crm-document-page .crm-contract-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .erp-module-parity .crm-document-page .crm-quote-inline-grid { grid-template-columns: minmax(0, 1fr); }
    .erp-module-parity .crm-document-page :is(.crm-quote-field--wide, .crm-quote-field--full) { grid-column: 1; }
    .erp-module-parity .crm-document-page .crm-quote-editor-toolbar { align-items: stretch; flex-direction: column; }
    .erp-module-parity .crm-document-page .crm-quote-product-add { flex-wrap: wrap; gap: 5px; width: 100%; }
    .erp-module-parity .crm-document-page .crm-quote-product-search { flex: 0 0 100%; min-width: 0; width: 100%; }
    .erp-module-parity .crm-contract-page .crm-contract-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .erp-module-parity.crm-document-form > [class*="col-"] { flex: 0 0 100%; max-width: 100%; }
}
