.migration-container { max-width: 1100px; }
.migration-container h2, #cutoverDialog h2 { font-size: 1.2rem; margin-bottom: 0.75rem; }
.migration-container h3 { font-size: 1rem; }
.migration-container code { font-size: 0.8rem; overflow-wrap: anywhere; }
.migration-container label, #cutoverDialog label { display: flex; flex-direction: column; gap: 0.4rem; font-weight: 500; font-size: 0.9rem; min-width: 0; }
.migration-container input, .migration-container select, .migration-container textarea, #cutoverDialog input, #cutoverDialog textarea { min-width: 0; width: 100%; padding: 0.65rem; border: 1px solid var(--gray-300); border-radius: 4px; background: white; color: var(--gray-900); font: inherit; }
.migration-selector { display: flex; align-items: flex-end; gap: 1rem; margin-block: 1.5rem; }
.migration-selector label { flex: 1; }
.migration-selector button { flex-shrink: 0; }
.migration-notice { border-left: 3px solid #0284c7; background: #eff6ff; margin-block: 1rem; padding: 1rem; overflow-wrap: anywhere; }
.migration-warning { border-color: #a16207; background: #fefce8; }
.migration-error { color: #991b1b; background: #fef2f2; border-color: #dc2626; padding: 0.75rem; }
.migration-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; padding-block: 1rem; border-block: 1px solid var(--gray-200); }
.migration-facts dt, .migration-plan-facts span { color: var(--gray-600); font-size: 0.85rem; }
.migration-facts dd { margin: 0.25rem 0 0; overflow-wrap: anywhere; font-size: 1rem; }
.migration-timestamp { color: var(--gray-600); font-size: 0.85rem; margin-block: 0.75rem; }
.migration-blockers { margin: 1rem 0; padding: 1rem 1rem 1rem 2rem; background: #fef2f2; color: #991b1b; }
#migrationForm, .migration-receipt, .migration-cutover { border-top: 2px solid var(--gray-200); margin-top: 1.5rem; padding-top: 1.5rem; }
#migrationFields { border: 0; padding: 0; min-width: 0; display: grid; gap: 1rem; }
.migration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.migration-plan-facts { display: flex; flex-direction: column; gap: 0.4rem; justify-content: center; }
.migration-container label.migration-checkbox, #cutoverDialog label.migration-checkbox { flex-direction: row; align-items: flex-start; font-weight: 400; }
.migration-container input[type="checkbox"], #cutoverDialog input[type="checkbox"] { width: 1.15rem; height: 1.15rem; flex-shrink: 0; margin-top: 0.15rem; }
#stageMigration { justify-self: start; }
.migration-container .row-actions { flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.migration-container button:disabled { opacity: 0.55; cursor: not-allowed; }
.migration-receipt { outline-offset: 4px; }
#cutoverDialog { width: min(620px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; border: 1px solid var(--gray-300); border-radius: 8px; padding: 1.25rem; }
#cutoverDialog::backdrop { background: rgb(0 0 0 / 45%); }
#cutoverForm { display: grid; gap: 1rem; }
#cutoverTarget { overflow-wrap: anywhere; }
.migration-cutover .surface-header, #cutoverDialog .surface-header { flex-wrap: wrap; gap: 0.75rem; }
[hidden] { display: none !important; }
@media (max-width: 800px) {
  .header-content, .header-nav { flex-wrap: wrap; gap: 1rem; }
  .header-nav { flex: 1 0 100%; min-width: 0; }
  .migration-container .dashboard-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .migration-selector { flex-direction: column; align-items: stretch; }
  .migration-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .migration-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) { .migration-facts { grid-template-columns: 1fr; } }
