.modal-backdrop{z-index:var(--z-modal);background:var(--surface-backdrop);padding:var(--foundation-space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modalBackdropFadeIn var(--foundation-duration-normal)var(--foundation-ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-modal);box-shadow:var(--shadow-strong);width:100%;max-height:90vh;animation:modalScaleIn var(--foundation-duration-normal)var(--foundation-ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal--sm{max-width:400px}.modal--md{max-width:500px}.modal--lg{max-width:800px}.modal--xl{max-width:1000px}.modal--2xl{max-width:1200px}.modal--3xl{max-width:1400px}.modal--full{max-width:calc(100vw - var(--foundation-space-8));max-height:calc(100vh - var(--foundation-space-8))}.modal__header{justify-content:space-between;align-items:center;gap:var(--foundation-space-4);padding:var(--space-modal-padding-md);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.modal__title{flex:1;margin:0}.modal__close-btn{flex-shrink:0}.modal__content{padding:var(--space-modal-content-padding);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}.modal__actions{justify-content:flex-end;align-items:center;gap:var(--space-modal-gap-md);padding-top:var(--foundation-space-6);flex-shrink:0;margin-top:auto;display:flex}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-modal-gap-md);padding:var(--space-modal-footer-padding);border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex}.modal:not(:has(.modal__header)) .modal__content{padding-top:var(--space-modal-padding-md)}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-backdrop--closing{animation:modalBackdropFadeOut var(--foundation-duration-fast)var(--foundation-ease-in)}.modal--closing{animation:modalScaleOut var(--foundation-duration-fast)var(--foundation-ease-in)}@keyframes modalBackdropFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(-20px)}}@media (max-width:768px){.modal-backdrop{padding:var(--foundation-space-2)}.modal--sm,.modal--md,.modal--lg,.modal--xl,.modal--2xl,.modal--3xl{max-width:100%;max-height:95vh}.modal__header,.modal__content{padding:var(--foundation-space-4)}.modal__footer,.modal__actions{gap:var(--foundation-space-2);padding:var(--foundation-space-4)}}@media (max-width:640px){.modal__footer,.modal__actions{flex-direction:column-reverse;align-items:stretch}.modal__footer>*,.modal__actions>*{width:100%}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal,.modal-backdrop--closing,.modal--closing{animation:none!important}}.modal,.modal__content:focus{outline:none}.modal__content::-webkit-scrollbar{width:8px}.modal__content::-webkit-scrollbar-track{background:0 0}.modal__content::-webkit-scrollbar-thumb{background:var(--surface-sunken);border-radius:var(--radius-lg)}.modal__content::-webkit-scrollbar-thumb:hover{background:var(--surface-deep)}
