Files
michaelschiemer/resources/css/components/csrf-status.css
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

158 lines
3.4 KiB
CSS

/**
* CSRF Status Message Styling
*
* Provides consistent styling for CSRF auto-refresh status messages
* that appear in the top-right corner of the page.
*/
/* Base status message styling */
#csrf-status-message {
position: fixed;
top: 20px;
right: 20px;
padding: 12px 16px;
border-radius: 6px;
font-size: 14px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
z-index: 10000;
max-width: 320px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
transform: translateX(0);
opacity: 1;
line-height: 1.4;
word-wrap: break-word;
}
/* Status message variants */
#csrf-status-message.csrf-status-info {
background: #e3f2fd;
color: #1976d2;
border-left: 4px solid #2196f3;
}
#csrf-status-message.csrf-status-success {
background: #e8f5e8;
color: #2e7d32;
border-left: 4px solid #4caf50;
}
#csrf-status-message.csrf-status-warning {
background: #fff3e0;
color: #f57c00;
border-left: 4px solid #ff9800;
}
#csrf-status-message.csrf-status-error {
background: #ffebee;
color: #d32f2f;
border-left: 4px solid #f44336;
}
/* Animation states */
#csrf-status-message.csrf-entering {
opacity: 0;
transform: translateX(100%);
}
#csrf-status-message.csrf-leaving {
opacity: 0;
transform: translateX(100%);
}
/* Responsive adjustments */
@media (max-width: 768px) {
#csrf-status-message {
left: 20px;
right: 20px;
max-width: none;
font-size: 13px;
padding: 10px 14px;
}
}
@media (max-width: 480px) {
#csrf-status-message {
top: 10px;
left: 10px;
right: 10px;
font-size: 12px;
padding: 8px 12px;
}
}
/* Dark mode support */
@media (prefers-color-scheme: dark) {
#csrf-status-message.csrf-status-info {
background: #1e3a8a;
color: #bfdbfe;
border-left-color: #3b82f6;
}
#csrf-status-message.csrf-status-success {
background: #166534;
color: #bbf7d0;
border-left-color: #22c55e;
}
#csrf-status-message.csrf-status-warning {
background: #92400e;
color: #fde68a;
border-left-color: #f59e0b;
}
#csrf-status-message.csrf-status-error {
background: #991b1b;
color: #fecaca;
border-left-color: #ef4444;
}
#csrf-status-message {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
#csrf-status-message {
border: 2px solid currentColor;
font-weight: 600;
}
#csrf-status-message.csrf-status-info {
background: #000;
color: #00f;
border-color: #00f;
}
#csrf-status-message.csrf-status-success {
background: #000;
color: #0f0;
border-color: #0f0;
}
#csrf-status-message.csrf-status-warning {
background: #000;
color: #ff0;
border-color: #ff0;
}
#csrf-status-message.csrf-status-error {
background: #000;
color: #f00;
border-color: #f00;
}
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
#csrf-status-message {
transition: opacity 0.1s ease;
transform: none;
}
#csrf-status-message.csrf-entering,
#csrf-status-message.csrf-leaving {
transform: none;
}
}