/* Модальные операции, подтверждения и документы */

.registration-modal-backdrop { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 24px; overflow-y: auto; background: rgba(20,34,47,.58); }
.registration-modal { width: 100%; max-width: 640px; max-height: calc(100vh - 48px); overflow-y: auto; border-radius: 8px; background: #fff; box-shadow: 0 18px 60px rgba(0,0,0,.28); }
.registration-modal:focus { outline: 0; }
.registration-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 19px 21px; border-bottom: 1px solid #e3e9ee; }
.registration-modal > header h3 { margin: 0; color: var(--registration-text); font-size: 19px; }
.registration-modal-close { width: 34px; height: 34px; border: 0; border-radius: 50%; color: #60717e; background: #eef2f5; font-size: 23px; line-height: 1; }
.registration-modal-body { padding: 20px 21px; }
.registration-modal-note { display: flex; gap: 8px; margin: 0 21px 18px; padding: 10px 12px; border-left: 3px solid var(--registration-primary); color: #496173; background: #f1f7fb; font-size: 11px; line-height: 1.45; }
.registration-modal > form > footer,
.registration-modal > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 21px; border-top: 1px solid #e3e9ee; background: #f8fafc; }
.registration-modal-error { margin: 0 21px 15px; padding: 10px 12px; border: 1px solid #dca5a5; border-radius: 4px; color: #792222; background: #fce7e7; font-size: 11px; }
.registration-confirm { max-width: 520px; }
.registration-confirm__body { padding: 20px 21px; }
.registration-confirm__body p { margin: 0 0 15px; color: #475866; font-size: 13px; line-height: 1.5; }
.registration-document-modal { max-width: 1080px; }
.registration-document-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); min-height: 520px; }
.registration-document-settings { padding: 20px; border-right: 1px solid #e3e9ee; background: #f8fafc; }
.registration-document-settings label { display: block; margin: 0 0 13px; color: #536371; font-size: 11px; font-weight: 600; }
.registration-document-settings label > span { display: block; margin-bottom: 5px; }
.registration-document-preview-wrap { padding: 22px; overflow: auto; background: #e9eef2; }
.registration-document-preview { min-height: 470px; padding: 36px 42px; color: #1f2b34; background: #fff; box-shadow: 0 3px 14px rgba(0,0,0,.11); font-family: Georgia, serif; }
.registration-document-preview h2 { margin: 16px 0 22px; font-size: 20px; text-align: center; }
.registration-document-preview__requisites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin-bottom: 18px; font-size: 12px; }
.registration-document-preview table { width: 100%; margin: 15px 0; border-collapse: collapse; font-size: 11px; }
.registration-document-preview th,
.registration-document-preview td { padding: 7px; border: 1px solid #7d878e; text-align: left; overflow-wrap: anywhere; }
.registration-document-disclaimer { margin-top: 25px; padding-top: 10px; border-top: 1px solid #b9c0c5; color: #606970; font-family: Arial, sans-serif; font-size: 9px; }
.registration-document-placeholder { display: flex; align-items: center; justify-content: center; min-height: 470px; padding: 30px; color: #64727d; background: #fff; text-align: center; }
.registration-document-placeholder .glyphicon { color: #a8b6c1; font-size: 34px; }
.registration-document-placeholder h4 { margin: 12px 0 6px; }
.registration-document-placeholder p { margin: 0; font-size: 12px; }
.registration-document-generate { width: 100%; margin-top: 8px; }
.registration-document-brand { color: #52616d; font-size: 10px; text-align: right; text-transform: uppercase; }
.registration-document-signature { margin-top: 30px; font-size: 11px; line-height: 1.8; }
.registration-confirm-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@page { margin: 12mm; }

@media print {
    body.registration-page { background: #fff; }
    body.registration-page > * { display: none !important; }
    body.registration-page #registrationApp,
    body.registration-page .registration-document-backdrop,
    body.registration-page .registration-document-modal,
    body.registration-page .registration-document-layout,
    body.registration-page .registration-document-preview-wrap,
    body.registration-page #registrationPrintableDocument { display: block !important; }
    body.registration-page #registrationApp { padding: 0; }
    body.registration-page .registration-appbar,
    body.registration-page .registration-viewport,
    body.registration-page .registration-document-modal > header,
    body.registration-page .registration-document-settings,
    body.registration-page .registration-document-modal > footer { display: none !important; }
    body.registration-page .registration-document-backdrop { position: static; padding: 0; background: #fff; }
    body.registration-page .registration-document-modal { max-width: none; max-height: none; overflow: visible; box-shadow: none; }
    body.registration-page .registration-document-preview-wrap { padding: 0; background: #fff; }
    body.registration-page .registration-document-preview { min-height: 0; padding: 0; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    body.registration-page .registration-document-preview table { page-break-inside: auto; }
    body.registration-page .registration-document-preview tr { page-break-inside: avoid; page-break-after: auto; }
    body.registration-page .registration-document-preview thead { display: table-header-group; }
    body.registration-page .registration-document-disclaimer { page-break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
    .registration-spin { animation: none; }
    .registration-button,
    .registration-toast-enter-active,
    .registration-toast-leave-active { transition: none; }
}
