110 lines
No EOL
2.4 KiB
CSS
110 lines
No EOL
2.4 KiB
CSS
/* Modals overlay */
|
|
.modal {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(15, 23, 42, 0.4);
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 2000;
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
animation: modalFadeIn 0.2s ease-out forwards;
|
|
}
|
|
|
|
.modal.hidden { display: none !important; }
|
|
|
|
/* Modal Content Card */
|
|
.modal-content {
|
|
background: var(--bg-card);
|
|
padding: 30px;
|
|
border-radius: var(--radius-lg);
|
|
width: 92%;
|
|
max-width: 440px;
|
|
position: relative;
|
|
box-shadow: var(--shadow-lg);
|
|
max-height: 85vh;
|
|
overflow-y: auto;
|
|
border: 1px solid var(--border);
|
|
animation: modalScaleUp 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
|
|
}
|
|
|
|
/* Close Button */
|
|
.close-modal {
|
|
position: absolute;
|
|
top: 16px;
|
|
right: 18px;
|
|
font-size: 1.6rem;
|
|
cursor: pointer;
|
|
color: var(--text-muted);
|
|
transition: var(--transition);
|
|
width: 32px;
|
|
height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
.close-modal:hover {
|
|
color: var(--text-main);
|
|
background-color: var(--border);
|
|
}
|
|
|
|
.modal-content h3 {
|
|
font-size: 1.3rem;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
color: var(--text-main);
|
|
}
|
|
|
|
.modal-content h4 {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
margin: 16px 0 8px 0;
|
|
color: var(--text-main);
|
|
}
|
|
|
|
|
|
/* Color picker specific */
|
|
.form-group input[type="color"] {
|
|
width: 50px;
|
|
height: 40px;
|
|
padding: 0;
|
|
border: 1px solid var(--border);
|
|
border-radius: var(--radius-sm);
|
|
cursor: pointer;
|
|
background: none;
|
|
}
|
|
|
|
/* Animations */
|
|
@keyframes modalFadeIn {
|
|
from { opacity: 0; }
|
|
to { opacity: 1; }
|
|
}
|
|
|
|
@keyframes modalScaleUp {
|
|
from { transform: scale(0.96); opacity: 0; }
|
|
to { transform: scale(1); opacity: 1; }
|
|
}
|
|
|
|
/* Mobile Modals */
|
|
@media (max-width: 768px) {
|
|
.modal {
|
|
align-items: flex-end; /* Anchor at the bottom on mobile */
|
|
}
|
|
.modal-content {
|
|
width: 100%;
|
|
max-width: none;
|
|
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
|
|
padding: 24px;
|
|
max-height: 80vh;
|
|
animation: modalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
}
|
|
@keyframes modalSlideUp {
|
|
from { transform: translateY(100%); }
|
|
to { transform: translateY(0); }
|
|
}
|
|
} |