SmartDoc / static /styles /notification.css
chabane
Update the UI and main
180dc07
:root {
--error-color: #ef4444;
--error-bg: rgba(239, 68, 68, 0.1);
--error-border: rgba(239, 68, 68, 0.3);
--warning-color: #f59e0b;
--warning-bg: rgba(245, 158, 11, 0.1);
--warning-border: rgba(245, 158, 11, 0.3);
--success-color: #10b981;
--success-bg: rgba(16, 185, 129, 0.1);
--success-border: rgba(16, 185, 129, 0.3);
--info-color: #3b82f6;
--info-bg: rgba(59, 130, 246, 0.1);
--info-border: rgba(59, 130, 246, 0.3);
}
.notification-container {
position: fixed;
top: 20px;
right: 20px;
width: 100%;
max-width: 400px;
z-index: 1000;
display: flex;
flex-direction: column-reverse;
gap: 10px;
overflow: hidden;
}
.notification {
position: relative;
display: flex;
align-items: center;
padding: 16px;
border-radius: var(--border-radius);
box-shadow: var(--shadow);
animation: slideIn 0.3s ease forwards;
transform: translateX(120%);
opacity: 0;
}
@keyframes slideIn {
to {
transform: translateX(0);
opacity: 1;
}
}
@keyframes slideOut {
from {
transform: translateX(0);
opacity: 1;
}
to {
transform: translateX(120%);
opacity: 0;
}
}
.notification.hide {
animation: slideOut 0.3s ease forwards;
}
.notification-icon {
flex-shrink: 0;
width: 24px;
height: 24px;
margin-right: 12px;
display: flex;
align-items: center;
justify-content: center;
}
.notification-content {
flex-grow: 1;
}
.notification-title {
font-weight: 600;
margin-bottom: 4px;
font-size: 1rem;
text-transform: capitalize;
}
.notification-message {
font-size: 0.875rem;
margin: 0;
}
.notification-close {
position: absolute;
width: 20px;
height: 20px;
top: 0;
right: 0;
cursor: pointer;
opacity: 0.7;
transition: opacity 0.2s ease;
background: none;
border: none;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.notification-close:hover {
opacity: 1;
}
.notification-error {
background-color: var(--error-bg);
border-left: 4px solid var(--error-color);
}
.notification-error .notification-icon,
.notification-error .notification-title {
color: var(--error-color);
}
.notification-warning {
background-color: var(--warning-bg);
border-left: 4px solid var(--warning-color);
}
.notification-warning .notification-icon,
.notification-warning .notification-title {
color: var(--warning-color);
}
.notification-success {
background-color: var(--success-bg);
border-left: 4px solid var(--success-color);
}
.notification-success .notification-icon,
.notification-success .notification-title {
color: var(--success-color);
}
.notification-info {
background-color: var(--info-bg);
border-left: 4px solid var(--info-color);
}
.notification-info .notification-icon,
.notification-info .notification-title {
color: var(--info-color);
}
/* Responsive Styles */
@media (max-width: 768px) {
.notification-container {
top: 10px;
right: 10px;
left: 10px;
width: auto;
}
}