94 lines
1.5 KiB
Sass
94 lines
1.5 KiB
Sass
.modal-overlay
|
|
position: fixed
|
|
top: 0
|
|
left: 0
|
|
right: 0
|
|
bottom: 0
|
|
background: rgba(0, 0, 0, 0.5)
|
|
display: flex
|
|
align-items: center
|
|
justify-content: center
|
|
z-index: 1000
|
|
padding: 2rem
|
|
backdrop-filter: blur(4px)
|
|
|
|
.modal
|
|
background: var(--bg-alt)
|
|
border-radius: var(--radius-lg)
|
|
border: 1px solid var(--border)
|
|
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2)
|
|
width: 100%
|
|
max-height: 90vh
|
|
overflow: hidden
|
|
display: flex
|
|
flex-direction: column
|
|
animation: modalIn 0.2s ease-out
|
|
|
|
&--sm
|
|
max-width: 400px
|
|
|
|
&--md
|
|
max-width: 500px
|
|
|
|
&--lg
|
|
max-width: 700px
|
|
|
|
&--xl
|
|
max-width: 900px
|
|
|
|
.modal-header
|
|
display: flex
|
|
align-items: center
|
|
justify-content: space-between
|
|
padding: 1.5rem 1.5rem 0
|
|
flex-shrink: 0
|
|
|
|
.modal-title
|
|
font-size: 1.3rem
|
|
font-weight: 600
|
|
color: var(--text)
|
|
margin: 0
|
|
|
|
.modal-close
|
|
margin-left: auto
|
|
|
|
.modal-content
|
|
padding: 1.5rem
|
|
overflow-y: auto
|
|
flex: 1
|
|
|
|
.modal-actions
|
|
display: flex
|
|
gap: 0.75rem
|
|
margin-top: 1.5rem
|
|
|
|
&--left
|
|
justify-content: flex-start
|
|
|
|
&--center
|
|
justify-content: center
|
|
|
|
&--right
|
|
justify-content: flex-end
|
|
|
|
@keyframes modalIn
|
|
from
|
|
opacity: 0
|
|
transform: scale(0.95) translateY(-10px)
|
|
to
|
|
opacity: 1
|
|
transform: scale(1) translateY(0)
|
|
|
|
@media (max-width: 768px)
|
|
.modal-overlay
|
|
padding: 1rem
|
|
|
|
.modal
|
|
max-width: none
|
|
margin: 0
|
|
|
|
.modal-header
|
|
padding: 1rem 1rem 0
|
|
|
|
.modal-content
|
|
padding: 1rem |