/* Shared confirmation and request feedback, without changing page layouts. */
.bmw-feedback-layer {
    position: fixed; inset: 0; z-index: 1500; display: flex;
    align-items: center; justify-content: center; padding: 20px;
}
.bmw-feedback-dialog {
    width: 460px; max-width: 100%; max-height: calc(100vh - 40px); overflow: auto;
    padding: 26px; border: 1px solid var(--bmw-dialog-border, #2d5278);
    border-radius: 10px; color: #edf6ff; background: var(--bmw-dialog-surface, #0a1119);
    box-shadow: 0 24px 78px rgba(0,0,0,.5); text-align: left;
}
.bmw-feedback-dialog h2 { margin: 0 0 16px; font-size: 19px; line-height: 1.4; color: inherit; }
.bmw-feedback-dialog p { white-space: pre-wrap; overflow-wrap: anywhere; color: #c1cedb; line-height: 1.7; margin: 0; }
.bmw-feedback-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.bmw-feedback-actions button, .bmw-loading-dismiss {
    border: 1px solid #496078; border-radius: 5px; padding: 9px 20px;
    background: #172331; color: #e6edf4; font-size: 14px; cursor: pointer;
}
.bmw-feedback-actions .bmw-feedback-confirm { background: #1c69b7; border-color: #377dbe; }
.bmw-feedback-actions button:focus-visible, .bmw-loading-dismiss:focus-visible { outline: 2px solid #91caff; outline-offset: 3px; }
.bmw-loading-elapsed { color: #a7b8c9; margin: 12px 0 0; font-size: 12px; }
.bmw-loading-dismiss { margin-top: 15px; }
.bmw-loading-dismiss[hidden] { display: none; }
.bmw-ui-loading-layer.is-uncertain .bmw-ui-loading-spinner,
.bmw-ui-loading-layer.is-uncertain .bmw-ui-loading-track { display: none; }
.bmw-ui-loading-status { white-space: pre-wrap; }
.bmw-request-feedback { margin: 16px 0; padding: 12px 15px; border-left: 3px solid #527896; background: #edf3f8; color: #1d364b; white-space: pre-wrap; overflow-wrap: anywhere; }
.bmw-request-feedback[data-state=error], .bmw-request-feedback[data-state=unknown] { border-color: #b1772b; background: #fff5e5; color: #704713; }
/* Existing task and billing dialogs keep their fields and use the same surface. */
.swal2-popup, .modal-card.bmw-dialog-surface, .modal-content {
    background: var(--bmw-dialog-surface, #0a1119) !important;
    border: 1px solid var(--bmw-dialog-border, #2d5278);
    border-radius: 10px; color: #d9e6f2;
}
.swal2-popup .swal2-title, .swal2-popup .swal2-html-container, .modal-content .modal-title { color: inherit; }
@media (max-width: 480px) { .bmw-feedback-dialog { padding: 21px; } .bmw-feedback-actions button { flex: 1; } }
