/* Opt-in parts-list dialogs, including those appended directly to body.
   Keep primary/destructive colours from the shared application button theme. */
.parts-list-modal {
    color: #202c3c;
    font: 15px/1.5 Inter, system-ui, sans-serif;
    letter-spacing: normal;
}
.parts-list-modal :is(.modal-title, h1, h2, h3, h4, h5, h6, .btn, input, select, textarea) {
    font-family: Inter, system-ui, sans-serif !important;
}
.parts-list-modal .modal-content {
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px #202c3c26 !important;
    background: #fff;
}
.parts-list-modal :is(.modal-header, .modal-footer) {
    background: #fff !important;
    border-color: #eaecf0 !important;
}
.parts-list-modal .modal-title {
    color: #202c3c !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    letter-spacing: -.2px;
    text-transform: none !important;
    overflow-wrap: anywhere;
}
.parts-list-modal .modal-header .btn-close {
    flex-shrink: 0;
    /* Old coloured headers paired a white close icon with the global white surface. */
    filter: none !important;
}
.parts-list-modal .modal-title > i { color: #687586 !important; }
.parts-list-modal .modal-body { background: #fff !important; }
.parts-list-modal .modal-footer { gap: 8px; }
.parts-list-modal .btn {
    text-transform: none !important;
    letter-spacing: 0;
}
.parts-list-modal .btn:is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary,
    .btn-outline-success, .btn-info, .btn-outline-info, .btn-warning, .btn-outline-warning, .btn-dark, .btn-outline-dark,
    .cx-notes-cancel) {
    --app-btn-bg: #edf0f3;
    --app-btn-hover: #e1e6eb;
    --app-btn-active: #d3dbe3;
    --app-btn-ink: #475569;
    --app-btn-border: transparent;
    background-color: var(--app-btn-bg) !important;
    color: var(--app-btn-ink) !important;
    border-color: transparent !important;
}
.parts-list-modal .btn:is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary,
    .btn-outline-success, .btn-info, .btn-outline-info, .btn-warning, .btn-outline-warning, .btn-dark, .btn-outline-dark,
    .cx-notes-cancel):hover { background-color: var(--app-btn-hover) !important; }
.parts-list-modal .btn:is(.btn-secondary, .btn-outline-secondary, .btn-outline-primary,
    .btn-outline-success, .btn-info, .btn-outline-info, .btn-warning, .btn-outline-warning, .btn-dark, .btn-outline-dark,
    .cx-notes-cancel):active { background-color: var(--app-btn-active) !important; }
/* Supplier-quote filters toggle these filled classes when selected. */
.parts-list-modal .btn:is(.btn-info, .btn-warning, .btn-dark) {
    --app-btn-bg: #d3dbe3;
    --app-btn-hover: #c5cfda;
    font-weight: 600;
}
.parts-list-modal :is(.btn, .btn-close, a, input, select, textarea):focus-visible {
    outline: 2px solid #547da5 !important;
    outline-offset: 3px;
}
.parts-list-modal :is(.form-control, .form-select) {
    color: #202c3c;
    border-color: #dce3eb;
    border-radius: 7px;
}
.parts-list-modal .form-label { color: #475467; font-weight: 500; }
.parts-list-modal .modal-body .form-check {
    background: transparent;
    border: 0;
    opacity: 1;
    transform: none;
    padding: 6px 0 !important;
}
.parts-list-modal .modal-body .form-check-label { font-weight: 400; }
.parts-list-modal .badge { border: 0 !important; }
/* Section titles and tables remain quiet; preserve row feedback and validation. */
.parts-list-modal .modal-section { border: 0 !important; }
.parts-list-modal .modal-section-header {
    background: #f9fafb !important;
    color: #475467 !important;
    border-bottom: 1px solid #eaecf0;
}
.parts-list-modal .modal-section-badge {
    background: #edf0f3 !important;
    color: #475569 !important;
    border: 0 !important;
}
.parts-list-modal .card { border-color: #eaecf0; box-shadow: none; }
.parts-list-modal .card-header {
    background: #f9fafb !important;
    color: #475467 !important;
    border-bottom-color: #eaecf0;
}
.parts-list-modal :is(.table, .modal-table) { font-size: 14px !important; }
.parts-list-modal :is(.table, .modal-table) thead th {
    background: #f9fafb !important;
    color: #687586 !important;
    font: 600 12px/1.4 Inter, system-ui, sans-serif;
    vertical-align: middle;
    border: 0 !important;
    border-bottom: 1px solid #dfe4eb !important;
}
.parts-list-modal :is(.table, .modal-table) tbody > tr > :is(td, th) {
    vertical-align: middle;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom-color: #eaecf0;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 575.98px) {
    .parts-list-modal .modal-footer { flex-wrap: wrap; }
    .parts-list-modal :is(.form-control, .form-select) { font-size: 16px; }
    .parts-list-modal .modal-fullscreen-sm-down .modal-content { border-radius: 0 !important; }
}
