.modal-backdrop{background:var(--color-modal-backdrop);z-index:calc(var(--z-modal) + 1);padding:var(--space-4);animation:modal-fade-in var(--duration-modal-enter) var(--ease-modal) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop--closing{animation:modal-fade-out var(--duration-modal-exit) var(--ease-modal) both}.modal{background:var(--color-surface);border:var(--border-width-default) solid var(--color-border);border-color:var(--color-border);border-radius:var(--radius-lg);transform-origin:50%;width:100%;max-height:90vh;animation:modal-enter var(--duration-modal-enter) var(--ease-modal) both;flex-direction:column;display:flex}.modal--closing{pointer-events:none;animation:modal-exit var(--duration-modal-exit) var(--ease-modal) both}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-enter{0%{opacity:0;transform:translateY(var(--space-2)) scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(var(--space-1)) scale(.985)}}.modal--sm{max-width:400px}.modal--md{max-width:560px}.modal--lg{max-width:800px}.modal--xl{max-width:1120px}.modal__header{padding:var(--space-5) var(--space-6);border-bottom:var(--border-width-default) solid var(--color-border-strong);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--font-size-dialog-title);font-weight:var(--fw-semibold);color:var(--color-text)}.modal__close{width:var(--control-height);height:var(--control-height);border:var(--border-width-default) solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);appearance:none;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}@media (hover:hover){.modal__close:not(:disabled):hover{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text)}}.modal__close:not(:disabled):active{background:var(--color-bg-subtle);color:var(--color-text)}.modal__close:disabled{cursor:not-allowed;opacity:.55}.modal__body{padding:var(--space-6);flex:1;overflow-y:auto}.modal__body--stacked{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.modal__form{display:contents}.modal__footer{padding:var(--space-4) var(--space-6);border-top:var(--border-width-default) solid var(--color-border-strong);justify-content:flex-end;gap:var(--space-3);display:flex}@media (width<=640px){.modal-backdrop{padding:var(--space-2);align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);max-height:calc(100dvh - 1rem)}.modal--sm,.modal--md,.modal--lg,.modal--xl{max-width:none}.modal__header,.modal__body{padding:var(--space-4)}.modal__footer{padding:var(--space-3-5) var(--space-4) var(--space-4);flex-direction:column-reverse;align-items:stretch}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation-duration:var(--duration-modal-reduced)}.modal{animation-name:modal-fade-in}.modal--closing{animation-name:modal-fade-out}}@media (width>=641px){:is(.modal--lg .modal__body--stacked:has(>.field),.modal--xl .modal__body--stacked:has(>.field)){grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.modal--lg .modal__body--stacked>:not(.field),.modal--xl .modal__body--stacked>:not(.field){grid-column:1/-1}.modal__body--stacked>.field:has(textarea){grid-column:1/-1}}.modal__body--stacked>.field{min-width:0}.modal__footer{flex-wrap:wrap}
