/* CC-02b Wave 1 - extracted from FRONTEND/02_profiles/profile-edit.html */
.form-error {
            color: #ef4444;
            font-size: 0.75rem;
            margin-top: 0.25rem;
        }
        .input-error {
            border-color: #ef4444 !important;
        }
        .input-success {
            border-color: #22c55e !important;
        }
        .loading-spinner {
            display: inline-block;
            width: 1rem;
            height: 1rem;
            border: 0.125rem solid #fff;
            border-radius: 50%;
            border-top-color: transparent;
            animation: spin 0.8s linear infinite;
        }
        .toast {
            position: fixed;
            top: 1rem;
            right: 1rem;
            padding: 1rem 1.5rem;
            border-radius: 0.5rem;
            color: white;
            font-weight: 500;
            z-index: 9999;
            transform: translateX(150%);
            transition: transform 0.3s ease;
        }
        .toast.show {
            transform: translateX(0);
        }
        .toast-success { background: #22c55e; }
        .toast-error { background: #ef4444; }
        .toast-warning { background: #f59e0b; }
        .unsaved-indicator {
            display: none;
            color: #f59e0b;
            font-size: 0.75rem;
        }
        .unsaved-indicator.show {
            display: inline-block;
        }
        .confirm-modal {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }
        .confirm-modal.hidden { display: none; }
