149 lines
2.8 KiB
CSS
149 lines
2.8 KiB
CSS
/**
|
|
* AniWorld - Notification Styles
|
|
*
|
|
* Toast notifications, alerts, and messages.
|
|
*/
|
|
|
|
/* Toast container */
|
|
.toast-container {
|
|
position: fixed;
|
|
top: var(--spacing-xl);
|
|
right: var(--spacing-xl);
|
|
z-index: 1100;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-sm);
|
|
}
|
|
|
|
/* Toast base */
|
|
.toast {
|
|
background-color: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--border-radius-lg);
|
|
padding: var(--spacing-md) var(--spacing-lg);
|
|
box-shadow: var(--shadow-elevated);
|
|
min-width: 300px;
|
|
animation: slideIn var(--transition-duration) var(--transition-easing);
|
|
}
|
|
|
|
/* Toast variants */
|
|
.toast.success {
|
|
border-left: 4px solid var(--color-success);
|
|
}
|
|
|
|
.toast.error {
|
|
border-left: 4px solid var(--color-error);
|
|
}
|
|
|
|
.toast.warning {
|
|
border-left: 4px solid var(--color-warning);
|
|
}
|
|
|
|
.toast.info {
|
|
border-left: 4px solid var(--color-accent);
|
|
}
|
|
|
|
/* Status panel */
|
|
.status-panel {
|
|
position: fixed;
|
|
bottom: var(--spacing-xl);
|
|
right: var(--spacing-xl);
|
|
width: 400px;
|
|
background-color: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--border-radius-lg);
|
|
box-shadow: var(--shadow-elevated);
|
|
z-index: 1000;
|
|
transition: all var(--transition-duration) var(--transition-easing);
|
|
}
|
|
|
|
.status-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: var(--spacing-md) var(--spacing-lg);
|
|
border-bottom: 1px solid var(--color-border);
|
|
}
|
|
|
|
.status-header h3 {
|
|
margin: 0;
|
|
font-size: var(--font-size-subtitle);
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.status-content {
|
|
padding: var(--spacing-lg);
|
|
}
|
|
|
|
.status-message {
|
|
margin-bottom: var(--spacing-md);
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
/* Status indicator */
|
|
.status-indicator {
|
|
display: inline-block;
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background-color: var(--color-error);
|
|
margin-right: var(--spacing-xs);
|
|
}
|
|
|
|
.status-indicator.connected {
|
|
background-color: var(--color-success);
|
|
}
|
|
|
|
/* Download controls */
|
|
.download-controls {
|
|
display: flex;
|
|
gap: var(--spacing-sm);
|
|
margin-top: var(--spacing-md);
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Empty state */
|
|
.empty-state {
|
|
text-align: center;
|
|
padding: var(--spacing-xxl);
|
|
color: var(--color-text-tertiary);
|
|
}
|
|
|
|
.empty-state i {
|
|
font-size: 3rem;
|
|
margin-bottom: var(--spacing-md);
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.empty-state p {
|
|
margin: 0;
|
|
font-size: var(--font-size-subtitle);
|
|
}
|
|
|
|
.empty-state small {
|
|
display: block;
|
|
margin-top: var(--spacing-sm);
|
|
font-size: var(--font-size-small);
|
|
opacity: 0.7;
|
|
}
|
|
|
|
/* Responsive adjustments */
|
|
@media (max-width: 768px) {
|
|
.status-panel {
|
|
bottom: var(--spacing-md);
|
|
right: var(--spacing-md);
|
|
left: var(--spacing-md);
|
|
width: auto;
|
|
}
|
|
|
|
.toast-container {
|
|
top: var(--spacing-md);
|
|
right: var(--spacing-md);
|
|
left: var(--spacing-md);
|
|
}
|
|
|
|
.toast {
|
|
min-width: auto;
|
|
}
|
|
}
|