/* auth/passwords/email — extracted from blade inline styles */
.fp-wrapper {
        min-height: 80vh;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 40px 16px;
        font-family: 'Inter', sans-serif;
        position: relative;
        overflow: hidden;
    }
    .fp-bg-orb {
        position: absolute;
        border-radius: 50%;
        filter: blur(80px);
        opacity: 0.18;
        pointer-events: none;
        animation: orbFloat 8s ease-in-out infinite;
    }
    .fp-bg-orb-1 {
        width: 400px; height: 400px;
        background: radial-gradient(circle, #14b8a6, #14b8a6);
        top: -80px; left: -100px;
    }
    .fp-bg-orb-2 {
        width: 300px; height: 300px;
        background: radial-gradient(circle, #0d9488, #0f766e);
        bottom: -60px; right: -60px;
        animation-delay: -4s;
    }
    @keyframes orbFloat {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-30px) scale(1.05); }
    }
    .fp-card {
        background: rgba(255,255,255,0.97);
        border-radius: 24px;
        box-shadow: 0 25px 60px rgba(20,184,166,0.13), 0 8px 32px rgba(0,0,0,0.08);
        padding: 48px 44px;
        width: 100%;
        max-width: 440px;
        position: relative;
        z-index: 1;
        border: 1px solid rgba(20,184,166,0.1);
        animation: cardIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    }
    @keyframes cardIn {
        from { opacity: 0; transform: translateY(30px) scale(0.97); }
        to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    .fp-icon-wrap {
        width: 72px; height: 72px;
        border-radius: 20px;
        background: linear-gradient(135deg, #14b8a6 0%, #14b8a6 100%);
        display: flex; align-items: center; justify-content: center;
        margin: 0 auto 20px;
        box-shadow: 0 12px 32px rgba(20,184,166,0.35);
        animation: iconPulse 3s ease-in-out infinite;
    }
    @keyframes iconPulse {
        0%, 100% { box-shadow: 0 12px 32px rgba(20,184,166,0.35); }
        50% { box-shadow: 0 16px 48px rgba(139,92,246,0.5); }
    }
    .fp-icon-wrap svg {
        width: 34px; height: 34px;
        stroke: #fff; fill: none;
        stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
    }
    .fp-title {
        font-size: 1.65rem;
        font-weight: 700;
        color: #1e1b4b;
        text-align: center;
        margin: 0 0 8px;
        letter-spacing: -0.5px;
    }
    .fp-subtitle {
        font-size: 0.9rem;
        color: #6b7280;
        text-align: center;
        margin: 0 0 32px;
        line-height: 1.55;
    }
    .fp-alert-success {
        background: linear-gradient(135deg, #d1fae5, #a7f3d0);
        border: 1px solid #6ee7b7;
        border-radius: 12px;
        color: #065f46;
        padding: 14px 16px;
        margin-bottom: 24px;
        font-size: 0.875rem;
        font-weight: 500;
        display: flex; align-items: center; gap: 10px;
        animation: fadeIn 0.4s ease;
    }
    .fp-alert-success svg { flex-shrink: 0; width: 18px; height: 18px; stroke: #059669; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

    .fp-form-group { margin-bottom: 20px; }
    .fp-label {
        display: block;
        font-size: 0.83rem;
        font-weight: 600;
        color: #374151;
        margin-bottom: 8px;
        letter-spacing: 0.3px;
    }
    .fp-input-wrap { position: relative; }
    .fp-input-icon {
        position: absolute;
        left: 14px; top: 50%; transform: translateY(-50%);
        pointer-events: none;
    }
    .fp-input-icon svg {
        width: 18px; height: 18px; stroke: #9ca3af; fill: none;
        stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
        transition: stroke 0.2s;
    }
    .fp-input {
        width: 100%;
        padding: 13px 16px 13px 44px;
        border: 1.5px solid #e5e7eb;
        border-radius: 12px;
        font-family: 'Inter', sans-serif;
        font-size: 0.925rem;
        color: #1f2937;
        background: #f9fafb;
        transition: all 0.2s ease;
        outline: none;
        box-sizing: border-box;
    }
    .fp-input:focus {
        border-color: #14b8a6;
        background: #fff;
        box-shadow: 0 0 0 4px rgba(20,184,166,0.12);
    }
    .fp-input-wrap:focus-within .fp-input-icon svg { stroke: #14b8a6; }
    button.fp-btn[type="submit"] {
        width: 100%;
        padding: 14px;
        background: linear-gradient(135deg, #14b8a6 0%, #14b8a6 100%);
        color: #fff;
        font-family: 'Inter', sans-serif;
        font-size: 0.95rem;
        font-weight: 600;
        border: none;
        border-radius: 12px;
        cursor: pointer;
        letter-spacing: 0.3px;
        display: flex; align-items: center; justify-content: center; gap: 10px;
        box-shadow: 0 6px 24px rgba(20,184,166,0.35);
        transition: all 0.2s ease;
        margin-top: 4px;
        position: relative;
        text-transform: none; /* Override global style uppercase */
        float: none; /* Override global float: left */
        height: auto; /* Override global height: 55px */
    }
    button.fp-btn[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(20,184,166,0.45); background: linear-gradient(135deg, #0d9488 0%, #0d9488 100%); }
    button.fp-btn[type="submit"]:active { transform: translateY(0); }
    button.fp-btn[type="submit"] svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .fp-divider {
        text-align: center;
        color: #9ca3af;
        margin: 24px 0;
        font-size: 0.8rem;
        position: relative;
    }
    .fp-divider::before, .fp-divider::after {
        content: '';
        position: absolute;
        top: 50%;
        width: 42%;
        height: 1px;
        background: #e5e7eb;
    }
    .fp-divider::before { left: 0; }
    .fp-divider::after { right: 0; }
    .fp-links { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
    .fp-link {
        display: inline-flex; align-items: center; gap: 5px;
        font-size: 0.85rem;
        font-weight: 500;
        color: #14b8a6;
        text-decoration: none;
        padding: 8px 16px;
        border-radius: 8px;
        border: 1.5px solid rgba(20,184,166,0.2);
        transition: all 0.2s ease;
    }
    .fp-link:hover { background: rgba(20,184,166,0.06); border-color: rgba(20,184,166,0.4); color: #0d9488; text-decoration: none; }
    .fp-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .fp-step-badge-wrap { text-align: center; }
    .fp-step-badge {
        display: inline-flex; align-items: center; gap: 6px;
        background: rgba(20,184,166,0.08);
        border-radius: 20px;
        padding: 5px 14px;
        font-size: 0.75rem;
        font-weight: 600;
        color: #14b8a6;
        margin: 0 auto 16px;
        letter-spacing: 0.5px;
    }

@keyframes spin { to { transform: rotate(360deg); } }
    .fp-input.has-error { border-color: #ef4444 !important; background: #fff5f5 !important; }

