@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes modalContentIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalContentOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(10px)}}.modal-open{overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1002;padding:var(--space-6);background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out modalOverlayIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);outline:none;flex-direction:column;width:100%;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) modalContentIn;display:flex;position:relative;overflow:hidden}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal-close-btn{top:var(--space-4);right:var(--space-4);z-index:10;cursor:pointer;color:var(--color-gray-400);border-radius:var(--radius-sm);width:36px;height:36px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.75rem;line-height:1;display:flex;position:absolute}.modal-close-btn:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.modal-body{padding:var(--space-8);flex:1;overflow-y:auto}.modal-body--no-padding{padding:0}.modal-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);padding-right:var(--space-8)}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-gray-900);margin:0}.modal-content{color:var(--color-gray-700);font-size:var(--text-sm);line-height:var(--leading-relaxed)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.modal-overlay{padding:var(--space-3);align-items:center}.modal-container{border-radius:var(--radius-xl);max-width:100%;max-height:90vh}.modal-body{padding:var(--space-5)}}
