/* Notifications */
.notification {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 9999;
    padding: 0.8rem 1.2rem;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    font-size: 0.95rem;
    max-width: 400px;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

.notification-info { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.notification-success { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.notification-warning { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }
.notification-error { background: #ffebee; color: #c62828; border: 1px solid #ef9a9a; }

/* Server selector */
.server-selector {
    min-width: 20rem;
    width: auto;
    background-color: var(--nav-background-color) !important;
    color: var(--nav-font-color);
    border-width: 0;
    height: 4rem;
    text-align: center;
}

/* Logo in sidebar */
.logo-img {
    width: 100%;
    height: auto;
}

/* Blazor error UI */
#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

.blazor-error-boundary {
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}
