/* Toni framework styles */

/* Toast container - bottom center, stacks from bottom */
.toni-toast-container {
    position: fixed;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    pointer-events: none;
}

/* Individual toast */
.toni-toast {
    padding: 0.75rem 1.5rem;
    border-radius: var(--toni-toast-radius, 8px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    color: #fff;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.875rem;
    line-height: 1.4;
    pointer-events: auto;
    animation: toni-toast-in 0.2s ease-out;
}

@keyframes toni-toast-in {
    from {
        opacity: 0;
        transform: translateY(0.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.toni-toast--info {
    background: var(--toni-toast-info-bg, #17a2b8);
}

.toni-toast--success {
    background: var(--toni-toast-success-bg, #28a745);
}

.toni-toast--warning {
    background: var(--toni-toast-warning-bg, #ffc107);
    color: var(--toni-toast-warning-text, #333);
}

.toni-toast--error {
    background: var(--toni-toast-error-bg, #dc3545);
}

/* Disconnect message container - top center */
.toni-disconnect-container {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    pointer-events: none;
}

/* Disconnect toast */
.toni-disconnect-toast {
    padding: 0.75rem 1.5rem;
    border-radius: var(--toni-toast-radius, 8px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    background: var(--toni-disconnect-bg, #f59e0b);
    color: var(--toni-disconnect-text, #1f2937);
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.875rem;
    line-height: 1.4;
    pointer-events: auto;
    animation: toni-disconnect-in 0.2s ease-out;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

@keyframes toni-disconnect-in {
    from {
        opacity: 0;
        transform: translateY(-0.5rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.toni-disconnect-retry {
    background: var(--toni-disconnect-btn-bg, rgba(0, 0, 0, 0.15));
    border: none;
    border-radius: 4px;
    padding: 0.375rem 0.75rem;
    color: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s;
}

.toni-disconnect-retry:hover {
    background: var(--toni-disconnect-btn-hover-bg, rgba(0, 0, 0, 0.25));
}

/* Progress bar - thin bar at top of viewport */
.toni-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: var(--toni-progress-height, 3px);
    background: var(--toni-progress-bg, #3b82f6);
    z-index: 10000;
}

.toni-progress--hidden {
    opacity: 0;
    transition: opacity 0.2s;
}

/* Password reveal toggle - hidden icon state */
.toni-eye--hidden {
    display: none;
}
