@charset "UTF-8";.modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--tls-space-4);background:var(--tls-overlay-bg, rgba(0, 0, 0, .7))}.modal{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - var(--tls-space-8));background:var(--tls-bg-card);border-radius:var(--tls-radius-xl);box-shadow:none;overflow:hidden}.modal--sm{max-width:340px}.modal--md{max-width:480px}.modal--lg{max-width:640px}.modal--xl{max-width:800px}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tls-space-3);padding:var(--tls-space-3) var(--tls-space-4);border-bottom:1px solid var(--tls-border-primary)}.modal__title{margin:0;font-size:var(--tls-text-base);font-weight:var(--tls-font-semibold);color:var(--tls-text-primary)}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--tls-text-muted);cursor:pointer;border-radius:var(--tls-radius-md);transition:color var(--tls-duration-fast) var(--tls-ease-out),background var(--tls-duration-fast) var(--tls-ease-out),box-shadow var(--tls-duration-fast) var(--tls-ease-out);user-select:none}.modal__close svg{display:block;width:18px;height:18px}@media(pointer:coarse){.modal__close{width:44px;height:44px}}.modal__close:hover{color:var(--tls-text-primary);background:var(--tls-bg-hover);box-shadow:var(--tls-shadow-xs)}.modal__close:focus-visible{outline:none;box-shadow:var(--tls-shadow-focus)}.modal__body{flex:1;padding:var(--tls-space-4);overflow-y:auto}.modal__footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--tls-space-3);padding:var(--tls-space-3) var(--tls-space-4);border-top:1px solid var(--tls-border-primary);background:var(--tls-bg-secondary);border-radius:0 0 var(--tls-radius-xl) var(--tls-radius-xl)}.modal__footer .btn,.modal__footer button{max-width:100%}.modal-enter-active,.modal-leave-active{transition:opacity var(--tls-duration-fast) var(--tls-ease-out)}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform var(--tls-duration-fast) var(--tls-ease-out);will-change:transform}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{transform:scale(.96) translate3d(0,-8px,0)}
