.modal{background-color:var(--color-surface);box-shadow:var(--shadow-md);border-radius:var(--radius-md);width:fit-content;min-width:320px;max-width:95%;max-height:90vh;padding:var(--spacing-md);box-sizing:border-box;overflow-y:auto;position:relative;z-index:2001}.modal-sm{width:400px}.modal-md{width:600px}.modal-lg{width:800px}.modal-xl{width:1000px}.modal-full{width:95%}body.modal-open{overflow:hidden;position:fixed;width:100%}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);backdrop-filter:blur(2px);z-index:2000;justify-content:center;align-items:center}.modal-container,.modal-overlay{display:flex;padding:var(--spacing-md)}.modal-container{flex-direction:column;gap:var(--spacing-lg)}.modal-header{align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.modal-header h1,.modal-header h2,.modal-header h3,.modal-header h4,.modal-header h5,.modal-header h6{margin:0;color:var(--color-text)}.modal-body{font-size:1rem;color:var(--color-text);line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.modal-footer button{padding:var(--spacing-xs) var(--spacing-lg);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500}@media (max-width:768px){.modal{width:100%;max-width:100%;padding:var(--spacing-sm);max-height:100vh}.modal-header h2{font-size:1.25rem}.modal-body{font-size:.95rem}}