.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;z-index:99999;padding:1rem}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99998}.modal-container{position:relative;width:90%;background:#fff;border-radius:12px;z-index:99999;padding:1.5rem 1rem;box-shadow:0 10px 30px #0000001a;overflow:hidden;max-height:calc(100vh - 4rem)}.modal-container.no-padding{padding:0;overflow:hidden;background:#000}.modal-content{position:relative;width:100%;height:100%}.modal-body{margin-bottom:1.5rem;font-size:clamp(.875rem,2vw,1rem)}.modal-body.no-padding{margin:0}.close-button{position:absolute;right:8px;top:8px;width:36px;height:36px;border-radius:50%;border:none;background:#fff;color:#666;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:100000;box-shadow:0 2px 8px #00000026}.close-button.on-dark{background:#00000080;color:#fff;box-shadow:none}.close-button:hover{background:#f8f8f8;transform:scale(1.1)}.close-button.on-dark:hover{background:#000000b3}.modal-title{color:#333;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600;line-height:1.2;margin-bottom:.5rem;word-break:break-word}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media(min-width:640px){.modal-overlay{padding:2rem}.modal-container:not(.no-padding){padding:2rem}}@media(max-width:480px){.modal-overlay{padding:.5rem}.modal-container:not(.no-padding){width:95%;padding:1.25rem 1rem}.modal-footer{flex-direction:column;gap:.75rem}}@media(max-height:600px){.modal-container:not(.no-padding){max-height:calc(100vh - 2rem);padding:1rem}}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}@supports (overflow: overlay){.modal-container:not(.no-padding){overflow-y:overlay}}@media(prefers-reduced-motion:reduce){.modal-container,.close-button{transition:none}}
