/* /Components/Account/Pages/Login.razor.rz.scp.css */
/* ── Login page layout ──────────────────────────────────────────────────── */
.login-page[b-wnsm6wvhum] {
    display: flex;
    min-height: 100vh;
    background: linear-gradient(145deg, #e4e9f5 0%, #f3f5f9 55%, #edf1f8 100%);
}

/* ── Left panel (brand + quote) ─────────────────────────────────────────── */
.login-left[b-wnsm6wvhum] {
    flex: 1;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
}

.login-left-inner[b-wnsm6wvhum] {
    max-width: 420px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.login-brand[b-wnsm6wvhum] {
    position: absolute;
    top: 2rem;
    left: 2.5rem;
    z-index: 1;
}

.login-logo[b-wnsm6wvhum] {
    height: 60px;
    width: auto;
    opacity: 0.9;
}

/* ── Right panel (form) ─────────────────────────────────────────────────── */
.login-right[b-wnsm6wvhum] {
    flex: 0 0 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 3rem 2.5rem;
    box-shadow: -4px 0 32px rgba(99, 102, 241, 0.07);
}

.login-form-wrapper[b-wnsm6wvhum] {
    width: 100%;
    max-width: 360px;
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.login-header[b-wnsm6wvhum] {
    margin-bottom: 2.25rem;
}

.login-title[b-wnsm6wvhum] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.02em;
}

.login-subtitle[b-wnsm6wvhum] {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Form elements ──────────────────────────────────────────────────────── */
.login-label[b-wnsm6wvhum] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

.login-input[b-wnsm6wvhum] {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    padding: 0 0.875rem;
}

.login-input:focus[b-wnsm6wvhum] {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

.login-check-label[b-wnsm6wvhum] {
    font-size: 0.85rem;
    color: #4b5563;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.login-link[b-wnsm6wvhum] {
    font-size: 0.82rem;
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

.login-link:hover[b-wnsm6wvhum] { text-decoration: underline; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.login-btn[b-wnsm6wvhum] {
    height: 44px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: opacity 0.15s, transform 0.1s;
}

.login-btn:hover[b-wnsm6wvhum] { opacity: 0.9; color: #fff; }
.login-btn:active[b-wnsm6wvhum] { transform: scale(0.99); }

.login-btn-passkey[b-wnsm6wvhum] {
    height: 44px;
    background: #fff;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    font-size: 0.9rem;
    font-weight: 500;
    transition: border-color 0.15s, background 0.15s;
}

.login-btn-passkey:hover[b-wnsm6wvhum] {
    border-color: #6366f1;
    color: #6366f1;
    background: #f5f3ff;
}

/* ── Divider ────────────────────────────────────────────────────────────── */
.login-divider[b-wnsm6wvhum] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0;
    color: #9ca3af;
    font-size: 0.78rem;
}

.login-divider[b-wnsm6wvhum]::before,
.login-divider[b-wnsm6wvhum]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

/* ── Footer link ────────────────────────────────────────────────────────── */
.login-footer-link[b-wnsm6wvhum] {
    text-align: center;
    margin-top: 1.5rem;
    margin-bottom: 0;
}

/* ── Quote card ─────────────────────────────────────────────────────────── */
.quote-card[b-wnsm6wvhum] {
    position: relative;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 1.25rem;
    padding: 2.25rem 2rem 2rem;
    color: #1e293b;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.1), 0 1px 4px rgba(0,0,0,0.06);
    backdrop-filter: blur(12px);
}

.quote-glow[b-wnsm6wvhum] {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

.quote-card[b-wnsm6wvhum]::before {
    content: '\201C';
    position: absolute;
    bottom: -1.5rem;
    right: 1.25rem;
    font-size: 9rem;
    color: rgba(99, 102, 241, 0.06);
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.quote-badge[b-wnsm6wvhum] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #a5b4fc;
    background: rgba(99, 102, 241, 0.15);
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 999px;
    padding: 0.3rem 0.75rem;
    margin-bottom: 1.5rem;
}

.quote-body[b-wnsm6wvhum] { margin: 0; padding: 0; border: none; }

.quote-text[b-wnsm6wvhum] {
    font-size: 1rem;
    font-style: italic;
    line-height: 1.75;
    color: #334155;
    margin-bottom: 1.5rem;
}

.quote-footer[b-wnsm6wvhum] { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }

.quote-author[b-wnsm6wvhum] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #6366f1;
    letter-spacing: 0.04em;
}

.quote-author[b-wnsm6wvhum]::before { content: '\2014\00A0'; opacity: 0.6; }

.quote-tag[b-wnsm6wvhum] {
    font-size: 0.68rem;
    font-weight: 600;
    color: #6ee7b7;
    background: rgba(110, 231, 183, 0.1);
    border: 1px solid rgba(110, 231, 183, 0.25);
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .login-left[b-wnsm6wvhum] { display: none; }
    .login-right[b-wnsm6wvhum] { flex: 1; padding: 2rem 1.5rem; }
}

/* ── Canvas background ────────────────────────────────────────────────────── */
#loginCanvas[b-wnsm6wvhum] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* ── Entrance animation (form panel) ───────────────────────────────── */
@keyframes loginFadeUp-b-wnsm6wvhum {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.login-form-wrapper[b-wnsm6wvhum] {
    animation: loginFadeUp-b-wnsm6wvhum 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.login-brand[b-wnsm6wvhum] {
    animation: loginFadeUp-b-wnsm6wvhum 0.45s 0.05s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.quote-card[b-wnsm6wvhum] {
    animation: loginFadeUp-b-wnsm6wvhum 0.55s 0.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ── Logo brightness: tenant-easycode usa logo a colori, amaweb invertito ── */
.tenant-easycode .login-logo[b-wnsm6wvhum] {
    filter: none;
    opacity: 1;
}

/* ── Tenant: AMAWEB  (#f9b200 · #3c3c3b · #fff) ──────────────────────────── */
.tenant-amaweb .login-left[b-wnsm6wvhum] { background: transparent; }

.tenant-amaweb .login-input:focus[b-wnsm6wvhum] {
    border-color: #f9b200;
    box-shadow: 0 0 0 3px rgba(249, 178, 0, 0.15);
}

.tenant-amaweb .login-btn[b-wnsm6wvhum] {
    background: linear-gradient(135deg, #f9b200, #e6a200);
    color: #3c3c3b;
}
.tenant-amaweb .login-btn:hover[b-wnsm6wvhum] { color: #3c3c3b; }

.tenant-amaweb .login-link[b-wnsm6wvhum]               { color: #3c3c3b; }
.tenant-amaweb .login-btn-passkey:hover[b-wnsm6wvhum]  { border-color: #f9b200; color: #3c3c3b; background: rgba(249,178,0,0.06); }
.tenant-amaweb .quote-badge[b-wnsm6wvhum]              { color: #3c3c3b; background: rgba(249,178,0,0.12); border-color: rgba(249,178,0,0.35); }
.tenant-amaweb .quote-author[b-wnsm6wvhum]             { color: #f9b200; }
.tenant-amaweb .quote-tag[b-wnsm6wvhum]                { color: #3c3c3b; background: rgba(60,60,59,0.07); border-color: rgba(60,60,59,0.18); }
.tenant-amaweb .quote-glow[b-wnsm6wvhum]               { background: radial-gradient(circle, rgba(249,178,0,0.18) 0%, transparent 70%); }

/* ── Tenant: EASYCODE  (#2e7ec9 · #3a4953 · #fff) ───────────────────────── */
.tenant-easycode .login-left[b-wnsm6wvhum] { background: transparent; }

.tenant-easycode .login-input:focus[b-wnsm6wvhum] {
    border-color: #2e7ec9;
    box-shadow: 0 0 0 3px rgba(46, 126, 201, 0.13);
}

.tenant-easycode .login-btn[b-wnsm6wvhum] {
    background: linear-gradient(135deg, #2e7ec9, #2369a8);
}

.tenant-easycode .login-link[b-wnsm6wvhum]               { color: #2e7ec9; }
.tenant-easycode .login-btn-passkey:hover[b-wnsm6wvhum]  { border-color: #2e7ec9; color: #2e7ec9; background: rgba(46,126,201,0.06); }
.tenant-easycode .quote-badge[b-wnsm6wvhum]              { color: #2e7ec9; background: rgba(46,126,201,0.1); border-color: rgba(46,126,201,0.3); }
.tenant-easycode .quote-author[b-wnsm6wvhum]             { color: #2e7ec9; }
.tenant-easycode .quote-tag[b-wnsm6wvhum]                { color: #3a4953; background: rgba(58,73,83,0.07); border-color: rgba(58,73,83,0.18); }
.tenant-easycode .quote-glow[b-wnsm6wvhum]               { background: radial-gradient(circle, rgba(46,126,201,0.15) 0%, transparent 70%); }
/* /Components/Account/Pages/LoginWith2fa.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────────────────── */
.login-page[b-3rc7xy4ypz] {
    display: flex;
    min-height: 100vh;
    background: linear-gradient(145deg, #e4e9f5 0%, #f3f5f9 55%, #edf1f8 100%);
}

/* ── Left panel ──────────────────────────────────────────────────────────── */
.login-left[b-3rc7xy4ypz] {
    flex: 1;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
}

.login-left-inner[b-3rc7xy4ypz] {
    max-width: 420px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.login-brand[b-3rc7xy4ypz] {
    position: absolute;
    top: 2rem;
    left: 2.5rem;
    z-index: 1;
}

.login-logo[b-3rc7xy4ypz] {
    height: 60px;
    width: auto;
    opacity: 0.9;
}

/* ── Right panel ─────────────────────────────────────────────────────────── */
.login-right[b-3rc7xy4ypz] {
    flex: 0 0 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 3rem 2.5rem;
}

.login-form-wrapper[b-3rc7xy4ypz] {
    width: 100%;
    max-width: 360px;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.login-header[b-3rc7xy4ypz] { margin-bottom: 2.25rem; }

.login-title[b-3rc7xy4ypz] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.02em;
}

.login-subtitle[b-3rc7xy4ypz] {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Form elements ───────────────────────────────────────────────────────── */
.login-label[b-3rc7xy4ypz] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

.login-input[b-3rc7xy4ypz] {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    padding: 0 0.875rem;
    letter-spacing: 0.2em;
}

.login-input:focus[b-3rc7xy4ypz] {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

.login-check-label[b-3rc7xy4ypz] {
    font-size: 0.85rem;
    color: #4b5563;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.login-link[b-3rc7xy4ypz] {
    font-size: 0.82rem;
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

.login-link:hover[b-3rc7xy4ypz] { text-decoration: underline; }

/* ── Button ──────────────────────────────────────────────────────────────── */
.login-btn[b-3rc7xy4ypz] {
    height: 44px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: opacity 0.15s, transform 0.1s;
}

.login-btn:hover[b-3rc7xy4ypz] { opacity: 0.9; color: #fff; }
.login-btn:active[b-3rc7xy4ypz] { transform: scale(0.99); }

/* ── Footer link ─────────────────────────────────────────────────────────── */
.login-footer-link[b-3rc7xy4ypz] {
    text-align: center;
    margin-top: 1.5rem;
    margin-bottom: 0;
    font-size: 0.82rem;
    color: #6b7280;
}

/* ── Security card (left panel) ──────────────────────────────────────────── */
.security-card[b-3rc7xy4ypz] {
    position: relative;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 1.25rem;
    padding: 2.25rem 2rem 2rem;
    color: #1e293b;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.1), 0 1px 4px rgba(0,0,0,0.06);
    backdrop-filter: blur(12px);
}

.security-card-glow[b-3rc7xy4ypz] {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

.security-icon[b-3rc7xy4ypz] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

.security-title[b-3rc7xy4ypz] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.75rem;
}

.security-body[b-3rc7xy4ypz] {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.7;
    margin-bottom: 1.75rem;
}

.security-steps[b-3rc7xy4ypz] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.security-step[b-3rc7xy4ypz] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.5;
}

.step-num[b-3rc7xy4ypz] {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(99, 102, 241, 0.12);
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #6366f1;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .login-left[b-3rc7xy4ypz] { display: none; }
    .login-right[b-3rc7xy4ypz] { flex: 1; padding: 2rem 1.5rem; }
}

/* ── Canvas background ───────────────────────────────────────────────────── */
#loginCanvas[b-3rc7xy4ypz] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* ── Entrance animation ──────────────────────────────────────────────────── */
@keyframes loginFadeUp-b-3rc7xy4ypz {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.login-form-wrapper[b-3rc7xy4ypz] { animation: loginFadeUp-b-3rc7xy4ypz 0.5s cubic-bezier(0.22, 1, 0.36, 1) both; }
.login-brand[b-3rc7xy4ypz]        { animation: loginFadeUp-b-3rc7xy4ypz 0.45s 0.05s cubic-bezier(0.22, 1, 0.36, 1) both; }
.security-card[b-3rc7xy4ypz]      { animation: loginFadeUp-b-3rc7xy4ypz 0.55s 0.1s  cubic-bezier(0.22, 1, 0.36, 1) both; }

/* ── Tenant: AMAWEB  (#f9b200 · #3c3c3b · #fff) ──────────────────────────── */
.tenant-amaweb .login-left[b-3rc7xy4ypz] { background: transparent; }

.tenant-amaweb .login-input:focus[b-3rc7xy4ypz] {
    border-color: #f9b200;
    box-shadow: 0 0 0 3px rgba(249, 178, 0, 0.15);
}

.tenant-amaweb .login-btn[b-3rc7xy4ypz] { background: linear-gradient(135deg, #f9b200, #e6a200); color: #3c3c3b; }
.tenant-amaweb .login-btn:hover[b-3rc7xy4ypz] { color: #3c3c3b; }
.tenant-amaweb .login-link[b-3rc7xy4ypz]               { color: #3c3c3b; }
.tenant-amaweb .security-card-glow[b-3rc7xy4ypz]       { background: radial-gradient(circle, rgba(249,178,0,0.18) 0%, transparent 70%); }
.tenant-amaweb .step-num[b-3rc7xy4ypz]                 { background: rgba(249,178,0,0.12); border-color: rgba(249,178,0,0.35); color: #3c3c3b; }
.tenant-amaweb .security-body[b-3rc7xy4ypz]            { color: #3c3c3b; }

/* ── Tenant: EASYCODE  (#2e7ec9 · #3a4953 · #fff) ───────────────────────── */
.tenant-easycode .login-left[b-3rc7xy4ypz]  { background: transparent; }
.tenant-easycode .login-logo[b-3rc7xy4ypz]  { filter: none; opacity: 1; }

.tenant-easycode .login-input:focus[b-3rc7xy4ypz] {
    border-color: #2e7ec9;
    box-shadow: 0 0 0 3px rgba(46, 126, 201, 0.13);
}

.tenant-easycode .login-btn[b-3rc7xy4ypz]   { background: linear-gradient(135deg, #2e7ec9, #2369a8); }
.tenant-easycode .login-link[b-3rc7xy4ypz]  { color: #2e7ec9; }
.tenant-easycode .security-card-glow[b-3rc7xy4ypz] { background: radial-gradient(circle, rgba(46,126,201,0.15) 0%, transparent 70%); }
.tenant-easycode .step-num[b-3rc7xy4ypz]           { background: rgba(46,126,201,0.1); border-color: rgba(46,126,201,0.3); color: #2e7ec9; }
.tenant-easycode .security-body[b-3rc7xy4ypz]      { color: #3a4953; }


/* /Components/Account/Pages/LoginWithRecoveryCode.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────────────────── */
.login-page[b-f6rksepjvo] {
    display: flex;
    min-height: 100vh;
}

/* ── Left panel ──────────────────────────────────────────────────────────── */
.login-left[b-f6rksepjvo] {
    flex: 1;
    background: linear-gradient(145deg, #0f0c29, #302b63, #24243e);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem;
}

.login-left-inner[b-f6rksepjvo] {
    max-width: 420px;
    width: 100%;
}

.login-brand[b-f6rksepjvo] { margin-bottom: 3rem; }

.login-logo[b-f6rksepjvo] {
    height: 40px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

/* ── Right panel ─────────────────────────────────────────────────────────── */
.login-right[b-f6rksepjvo] {
    flex: 0 0 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 3rem 2.5rem;
}

.login-form-wrapper[b-f6rksepjvo] {
    width: 100%;
    max-width: 360px;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.login-header[b-f6rksepjvo] { margin-bottom: 2.25rem; }

.login-title[b-f6rksepjvo] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.02em;
}

.login-subtitle[b-f6rksepjvo] {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Form elements ───────────────────────────────────────────────────────── */
.login-label[b-f6rksepjvo] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

.login-input[b-f6rksepjvo] {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    padding: 0 0.875rem;
    letter-spacing: 0.1em;
    font-family: monospace;
}

.login-input:focus[b-f6rksepjvo] {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

.login-link[b-f6rksepjvo] {
    font-size: 0.82rem;
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

.login-link:hover[b-f6rksepjvo] { text-decoration: underline; }

/* ── Button ──────────────────────────────────────────────────────────────── */
.login-btn[b-f6rksepjvo] {
    height: 44px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: opacity 0.15s, transform 0.1s;
}

.login-btn:hover[b-f6rksepjvo] { opacity: 0.9; color: #fff; }
.login-btn:active[b-f6rksepjvo] { transform: scale(0.99); }

/* ── Footer link ─────────────────────────────────────────────────────────── */
.login-footer-link[b-f6rksepjvo] {
    text-align: center;
    margin-top: 1.5rem;
    margin-bottom: 0;
    font-size: 0.82rem;
    color: #6b7280;
}

/* ── Security card (left panel) ──────────────────────────────────────────── */
.security-card[b-f6rksepjvo] {
    position: relative;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1.25rem;
    padding: 2.25rem 2rem 2rem;
    color: #fff;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.security-card-glow[b-f6rksepjvo] {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.35) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

.security-icon[b-f6rksepjvo] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

.security-title[b-f6rksepjvo] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #e2e8f0;
    margin-bottom: 0.75rem;
}

.security-body[b-f6rksepjvo] {
    font-size: 0.9rem;
    color: #a5b4fc;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.security-note[b-f6rksepjvo] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.82rem;
    color: #fde68a;
    background: rgba(253, 230, 138, 0.08);
    border: 1px solid rgba(253, 230, 138, 0.2);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    line-height: 1.5;
}

.note-icon[b-f6rksepjvo] { flex-shrink: 0; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .login-left[b-f6rksepjvo] { display: none; }
    .login-right[b-f6rksepjvo] { flex: 1; padding: 2rem 1.5rem; }
}
/* /Components/Account/Pages/Manage/MandatoryTwoFactorSetup.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────────────── */
.login-page[b-d17o0fcrka] {
    display: flex;
    min-height: 100vh;
    background: linear-gradient(145deg, #e4e9f5 0%, #f3f5f9 55%, #edf1f8 100%);
}

/* ── Left panel ────────────────────────────────────────────────────────── */
.login-left[b-d17o0fcrka] {
    flex: 1;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.5rem;
    position: relative;
    overflow: hidden;
}

.login-left-inner[b-d17o0fcrka] {
    max-width: 420px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.login-brand[b-d17o0fcrka] {
    position: absolute;
    top: 2rem;
    left: 2.5rem;
    z-index: 1;
}

.login-logo[b-d17o0fcrka] {
    height: 60px;
    width: auto;
    opacity: 0.9;
}

/* ── Right panel ──────────────────────────────────────────────────────── */
.login-right[b-d17o0fcrka] {
    flex: 0 0 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 3rem 2.5rem;
    box-shadow: -4px 0 32px rgba(99, 102, 241, 0.07);
}

.login-form-wrapper[b-d17o0fcrka] {
    width: 100%;
    max-width: 420px;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.login-header[b-d17o0fcrka] { margin-bottom: 2rem; }

.login-title[b-d17o0fcrka] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.02em;
}

.login-subtitle[b-d17o0fcrka] {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Form elements ────────────────────────────────────────────────────── */
.login-label[b-d17o0fcrka] {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

.login-input[b-d17o0fcrka] {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    padding: 0 0.875rem;
    letter-spacing: 0.2em;
}

.login-input:focus[b-d17o0fcrka] {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

/* ── Button ───────────────────────────────────────────────────────────── */
.login-btn[b-d17o0fcrka] {
    height: 44px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: opacity 0.15s, transform 0.1s;
}

.login-btn:hover[b-d17o0fcrka] { opacity: 0.9; color: #fff; }
.login-btn:active[b-d17o0fcrka] { transform: scale(0.99); }

/* ── QR code ──────────────────────────────────────────────────────────── */
.setup-qr[b-d17o0fcrka] {
    display: flex;
    justify-content: center;
}

.setup-qr img[b-d17o0fcrka] {
    width: 180px;
    height: 180px;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

/* ── Manual key ───────────────────────────────────────────────────────── */
.setup-key-info[b-d17o0fcrka] {
    font-size: 0.78rem;
    color: #6b7280;
    margin-bottom: 1.25rem;
}

.setup-key-info kbd[b-d17o0fcrka] {
    font-size: 0.78rem;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 0.15rem 0.4rem;
    color: #374151;
    word-break: break-all;
}

/* ── Security card (left panel) ───────────────────────────────────────── */
.security-card[b-d17o0fcrka] {
    position: relative;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(99, 102, 241, 0.12);
    border-radius: 1.25rem;
    padding: 2.25rem 2rem 2rem;
    color: #1e293b;
    overflow: hidden;
    width: 100%;
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.1), 0 1px 4px rgba(0,0,0,0.06);
    backdrop-filter: blur(12px);
}

.security-card-glow[b-d17o0fcrka] {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.12) 0%, transparent 70%);
    pointer-events: none;
    border-radius: 50%;
}

.security-icon[b-d17o0fcrka] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    display: block;
}

.security-title[b-d17o0fcrka] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.75rem;
}

.security-body[b-d17o0fcrka] {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.7;
    margin-bottom: 1.75rem;
}

.security-steps[b-d17o0fcrka] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.security-step[b-d17o0fcrka] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.5;
}

.step-num[b-d17o0fcrka] {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(99, 102, 241, 0.12);
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #6366f1;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .login-left[b-d17o0fcrka]  { display: none; }
    .login-right[b-d17o0fcrka] { flex: 1; padding: 2rem 1.5rem; }
}

/* ── Entrance animation ───────────────────────────────────────────────── */
@keyframes loginFadeUp-b-d17o0fcrka {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.login-form-wrapper[b-d17o0fcrka] { animation: loginFadeUp-b-d17o0fcrka 0.5s  cubic-bezier(0.22, 1, 0.36, 1) both; }
.login-brand[b-d17o0fcrka]        { animation: loginFadeUp-b-d17o0fcrka 0.45s 0.05s cubic-bezier(0.22, 1, 0.36, 1) both; }
.security-card[b-d17o0fcrka]      { animation: loginFadeUp-b-d17o0fcrka 0.55s 0.1s  cubic-bezier(0.22, 1, 0.36, 1) both; }

/* ── Canvas background ────────────────────────────────────────────────── */
#loginCanvas[b-d17o0fcrka] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* ── Tenant: AMAWEB ───────────────────────────────────────────────────── */
.tenant-amaweb .login-input:focus[b-d17o0fcrka] {
    border-color: #f9b200;
    box-shadow: 0 0 0 3px rgba(249, 178, 0, 0.15);
}
.tenant-amaweb .login-btn[b-d17o0fcrka]              { background: linear-gradient(135deg, #f9b200, #e6a200); color: #3c3c3b; }
.tenant-amaweb .login-btn:hover[b-d17o0fcrka]        { color: #3c3c3b; }
.tenant-amaweb .security-card-glow[b-d17o0fcrka]     { background: radial-gradient(circle, rgba(249,178,0,0.18) 0%, transparent 70%); }
.tenant-amaweb .step-num[b-d17o0fcrka]               { background: rgba(249,178,0,0.12); border-color: rgba(249,178,0,0.35); color: #3c3c3b; }
.tenant-amaweb .security-body[b-d17o0fcrka]          { color: #3c3c3b; }

/* ── Tenant: EASYCODE ─────────────────────────────────────────────────── */
.tenant-easycode .login-logo[b-d17o0fcrka]  { filter: none; opacity: 1; }
.tenant-easycode .login-input:focus[b-d17o0fcrka] {
    border-color: #2e7ec9;
    box-shadow: 0 0 0 3px rgba(46, 126, 201, 0.13);
}
.tenant-easycode .login-btn[b-d17o0fcrka]          { background: linear-gradient(135deg, #2e7ec9, #2369a8); }
.tenant-easycode .security-card-glow[b-d17o0fcrka] { background: radial-gradient(circle, rgba(46,126,201,0.15) 0%, transparent 70%); }
.tenant-easycode .step-num[b-d17o0fcrka]           { background: rgba(46,126,201,0.1); border-color: rgba(46,126,201,0.3); color: #2e7ec9; }
.tenant-easycode .security-body[b-d17o0fcrka]      { color: #3a4953; }
/* /Components/Account/Shared/AccountPageLayout.razor.rz.scp.css */
/* ── Page wrapper ────────────────────────────────────────────────────────── */
.acc-page[b-6zbg01y9tl] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0f4ff 0%, #fafafa 100%);
    padding: 2rem 1rem;
}

.acc-container[b-6zbg01y9tl] {
    width: 100%;
    max-width: 460px;
}

/* ── Brand ───────────────────────────────────────────────────────────────── */
.acc-brand[b-6zbg01y9tl] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.75rem;
    text-decoration: none;
}

.acc-logo[b-6zbg01y9tl] {
    height: 36px;
    width: auto;
}

/* ── Card ────────────────────────────────────────────────────────────────── */
.acc-card[b-6zbg01y9tl] {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 4px 32px rgba(99, 102, 241, 0.08), 0 1px 4px rgba(0,0,0,0.06);
    padding: 2.5rem 2rem;
}

/* ── Footer back link ────────────────────────────────────────────────────── */
.acc-footer[b-6zbg01y9tl] {
    text-align: center;
    margin-top: 1.25rem;
    margin-bottom: 0;
}

.acc-back-link[b-6zbg01y9tl] {
    font-size: 0.82rem;
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

.acc-back-link:hover[b-6zbg01y9tl] { text-decoration: underline; }

/* ── Typography (::deep to pierce @Body boundary) ────────────────────────── */
[b-6zbg01y9tl] .acc-header {
    margin-bottom: 1.75rem;
}

[b-6zbg01y9tl] .acc-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.25rem;
    letter-spacing: -0.02em;
}

[b-6zbg01y9tl] .acc-subtitle {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Info card (icon + message) ──────────────────────────────────────────── */
[b-6zbg01y9tl] .acc-info-icon {
    font-size: 3rem;
    text-align: center;
    display: block;
    margin-bottom: 1rem;
}

[b-6zbg01y9tl] .acc-info-text {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.65;
    text-align: center;
    margin-bottom: 0;
}

[b-6zbg01y9tl] .acc-info-link {
    color: #6366f1;
    font-weight: 500;
    text-decoration: none;
}

[b-6zbg01y9tl] .acc-info-link:hover { text-decoration: underline; }

/* ── Form elements ───────────────────────────────────────────────────────── */
[b-6zbg01y9tl] .acc-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

[b-6zbg01y9tl] .acc-input {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    padding: 0 0.875rem;
    width: 100%;
    display: block;
}

[b-6zbg01y9tl] .acc-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

[b-6zbg01y9tl] .acc-btn {
    width: 100%;
    height: 44px;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: opacity 0.15s, transform 0.1s;
    cursor: pointer;
    margin-top: 0.5rem;
}

[b-6zbg01y9tl] .acc-btn:hover { opacity: 0.9; color: #fff; }
[b-6zbg01y9tl] .acc-btn:active { transform: scale(0.99); }

[b-6zbg01y9tl] .acc-divider {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 1.5rem 0;
}

[b-6zbg01y9tl] .acc-link {
    font-size: 0.82rem;
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

[b-6zbg01y9tl] .acc-link:hover { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .acc-card[b-6zbg01y9tl] { padding: 2rem 1.25rem; }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
/* ── Shell ───────────────────────────────────────────────────────────────── */
.manage-shell[b-ptwut2ifcr] {
    display: flex;
    gap: 0;
    min-height: calc(100vh - 56px);
    align-items: flex-start;
}

/* ── Sidebar ─────────────────────────────────────────────────────────────── */
.manage-sidebar[b-ptwut2ifcr] {
    width: 240px;
    flex-shrink: 0;
    background: #fff;
    border-right: 1px solid #e5e7eb;
    min-height: calc(100vh - 56px);
    padding: 1.5rem 1rem;
    position: sticky;
    top: 56px;
}

.manage-sidebar-header[b-ptwut2ifcr] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0 0.5rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

.manage-sidebar-icon[b-ptwut2ifcr] {
    font-size: 1.1rem;
    color: #6366f1;
}

.manage-sidebar-title[b-ptwut2ifcr] {
    font-size: 0.82rem;
    font-weight: 700;
    color: #374151;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ── Main content ────────────────────────────────────────────────────────── */
.manage-main[b-ptwut2ifcr] {
    flex: 1;
    padding: 2rem 2.5rem;
    min-width: 0;
}

/* ── Page header (::deep to pierce @Body) ────────────────────────────────── */
[b-ptwut2ifcr] .manage-page-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.75rem;
}

[b-ptwut2ifcr] .manage-page-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #ede9fe, #e0e7ff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: #6366f1;
    flex-shrink: 0;
}

[b-ptwut2ifcr] .manage-page-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.1rem;
    letter-spacing: -0.02em;
}

[b-ptwut2ifcr] .manage-page-subtitle {
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 0;
}

/* ── Card ────────────────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    padding: 1.75rem;
    max-width: 560px;
}

/* ── Section title inside card ───────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-section-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #374151;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

/* ── Form elements ───────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
}

[b-ptwut2ifcr] .manage-input {
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #111827;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
}

[b-ptwut2ifcr] .manage-input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    background: #fff;
    outline: none;
}

[b-ptwut2ifcr] .manage-input:disabled {
    background: #f3f4f6;
    color: #6b7280;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-btn {
    height: 42px;
    padding: 0 1.25rem;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    transition: opacity 0.15s, transform 0.1s;
    cursor: pointer;
}

[b-ptwut2ifcr] .manage-btn:hover { opacity: 0.9; color: #fff; }
[b-ptwut2ifcr] .manage-btn:active { transform: scale(0.99); }

[b-ptwut2ifcr] .manage-btn-outline {
    height: 42px;
    padding: 0 1.25rem;
    background: transparent;
    border: 1px solid #6366f1;
    border-radius: 8px;
    color: #6366f1;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

[b-ptwut2ifcr] .manage-btn-outline:hover {
    background: #ede9fe;
    color: #4f46e5;
}

/* ── Danger / Warning icon variants ─────────────────────────────────────── */
[b-ptwut2ifcr] .manage-page-icon--danger {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #dc2626;
}

[b-ptwut2ifcr] .manage-page-icon--warning {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #d97706;
}

/* ── Danger button ───────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-btn--danger {
    height: 42px;
    padding: 0 1.25rem;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    transition: opacity 0.15s, transform 0.1s;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

[b-ptwut2ifcr] .manage-btn--danger:hover { opacity: 0.9; color: #fff; }
[b-ptwut2ifcr] .manage-btn--danger:active { transform: scale(0.99); }

/* ── Small button modifier ───────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-btn-sm {
    height: 34px;
    padding: 0 0.85rem;
    font-size: 0.8rem;
}

/* ── Card danger variant ─────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-card--danger {
    border-color: #fecaca;
}

/* ── Provider list (external logins / passkeys) ──────────────────────────── */
[b-ptwut2ifcr] .manage-provider-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

[b-ptwut2ifcr] .manage-provider-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f9fafb;
    gap: 1rem;
}

[b-ptwut2ifcr] .manage-provider-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

/* ── Manage link ─────────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-link {
    color: #6366f1;
    text-decoration: none;
    font-weight: 500;
}

[b-ptwut2ifcr] .manage-link:hover { text-decoration: underline; }

/* ── Steps list (EnableAuthenticator) ───────────────────────────────────── */
[b-ptwut2ifcr] .manage-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

[b-ptwut2ifcr] .manage-step {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

[b-ptwut2ifcr] .manage-step-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

[b-ptwut2ifcr] .manage-step-text {
    font-size: 0.875rem;
    color: #4b5563;
    line-height: 1.6;
}

/* ── QR code ─────────────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-qr {
    display: inline-block;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
}

[b-ptwut2ifcr] .manage-qr-img {
    width: 180px;
    height: 180px;
    display: block;
}

/* ── Key box ─────────────────────────────────────────────────────────────── */
[b-ptwut2ifcr] .manage-key-box {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.4rem 0.75rem;
}

[b-ptwut2ifcr] .manage-key-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

[b-ptwut2ifcr] .manage-key-value {
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.85rem;
    color: #4f46e5;
    background: transparent;
    border: none;
    padding: 0;
}


/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .manage-shell[b-ptwut2ifcr] {
        flex-direction: column;
    }

    .manage-sidebar[b-ptwut2ifcr] {
        width: 100%;
        min-height: auto;
        position: static;
        border-right: none;
        border-bottom: 1px solid #e5e7eb;
    }

    .manage-main[b-ptwut2ifcr] {
        padding: 1.5rem 1rem;
    }

    [b-ptwut2ifcr] .manage-card {
        max-width: 100%;
    }
}
/* /Components/Account/Shared/ManageNavMenu.razor.rz.scp.css */
/* ── Nav list ─────────────────────────────────────────────────────────────── */
.manage-nav[b-t1v2to8ccz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* ::deep è necessario perché NavLink renderizza il proprio <a> come componente
   figlio: l'attributo di isolamento CSS non viene propagato al suo interno. */
[b-t1v2to8ccz] .manage-nav-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    border-left: 3px solid transparent;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

[b-t1v2to8ccz] .manage-nav-link:hover,
[b-t1v2to8ccz] .manage-nav-link:focus {
    background: #f3f4f6;
    color: #111827;
    text-decoration: none;
}

[b-t1v2to8ccz] .manage-nav-link.active {
    background: linear-gradient(135deg, #ede9fe, #e0e7ff);
    color: #4f46e5;
    font-weight: 600;
    border-left-color: #4f46e5;
    text-decoration: none;
}

[b-t1v2to8ccz] .manage-nav-icon {
    width: 16px;
    text-align: center;
    font-size: 0.85rem;
    color: inherit;
    flex-shrink: 0;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.aw-page-content[b-aczyhqw9zg] {
    padding-top: calc(var(--aw-header-height) + 10px);
    padding-left: 15px;
    padding-right: 15px;
}

#blazor-error-ui[b-aczyhqw9zg] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-aczyhqw9zg] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

[b-aczyhqw9zg] .legacy-frame {
    border: none;
    width: 100%;
    height: calc(100vh - 3.5rem);
    display: block;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ── Navbar container ────────────────────────────────────────────
   crm.css: .navbar { min-height: var(--aw-header-height); }
   Bootstrap 3 .navbar-default: background #f8f8f8, border #e7e7e7
───────────────────────────────────────────────────────────────── */
.aw-navbar[b-b9ia0tow45] {
    min-height: var(--aw-header-height);
    background-color: #f8f8f8;
    border-bottom: 1px solid #e7e7e7;
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
    padding-top: 0;
    padding-bottom: 0;
}

/* ── Brand / Logo ────────────────────────────────────────────────
   crm.css: .navbar .navbar-header .navbar-brand { padding: 2px 10px; height: 50px; }
   Bootstrap 3 default era: padding: 15px 15px; height: 50px
───────────────────────────────────────────────────────────────── */
.aw-navbar .navbar-brand[b-b9ia0tow45] {
    height: var(--aw-header-height);
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    margin-right: 0; /* Bootstrap 5 default è 1rem: rimosso per allinearsi al crm legacy */
}

.aw-navbar .navbar-brand:hover[b-b9ia0tow45] { color: #000; }

/* ── Logo image ──────────────────────────────────────────────────
   crm.css: .navbar .navbar-header .navbar-brand .logo { margin: unset; max-height: 100%; }
   Usiamo height esplicito perché max-height:100% non è affidabile
   su figli flex senza height risolto sul genitore in tutti i browser
───────────────────────────────────────────────────────────────── */
.aw-navbar .navbar-brand .logo[b-b9ia0tow45] {
    height: calc(var(--aw-header-height) - 4px); /* 46px: padding 2px top+bottom */
    width: auto;
    max-width: 180px;
    object-fit: contain;
    margin: unset;
}

/* crm.css @supports block: .navbar-brand > img.logo, .navbar-brand > img */
@supports (-webkit-touch-callout: none) {
    .aw-navbar .navbar-brand .logo[b-b9ia0tow45],
    .aw-navbar .navbar-brand > img.logo[b-b9ia0tow45],
    .aw-navbar .navbar-brand > img[b-b9ia0tow45] {
        height: calc(var(--aw-header-height) - 4px) !important;
        width: auto !important;
        max-width: 180px;
        object-fit: contain;
    }
}

/* ── Nav links ───────────────────────────────────────────────────
   Bootstrap 3 .navbar-nav > li > a: padding-top:10px; padding-bottom:10px; line-height:20px → 40px
   crm.css .navbar-nav a 768px+: margin-top: calc((50px-40px)/2) = 5px; margin-bottom: 5px
   Bootstrap 3 .navbar-default link color: #777; hover: #333
───────────────────────────────────────────────────────────────── */
.aw-navbar .navbar-nav[b-b9ia0tow45] {
    margin-top: 0;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .aw-navbar .navbar-nav[b-b9ia0tow45] {
        /* crm.css: --aw-margin-y: calc((50px - 40px) / 2) = 5px */
        margin-top: calc((var(--aw-header-height) - 40px) / 2);
        margin-bottom: calc((var(--aw-header-height) - 40px) / 2);
    }
}

.aw-navbar .nav-link[b-b9ia0tow45] {
    padding: 10px 15px;
    line-height: 20px;
    color: #777;
    font-size: 0.9rem;
    font-weight: 400;
}

.aw-navbar .nav-link:hover[b-b9ia0tow45],
.aw-navbar .nav-link:focus[b-b9ia0tow45] { color: #333; background-color: transparent; }

.aw-navbar .nav-link.active[b-b9ia0tow45] { color: #333; font-weight: 600; }

/* ── Dropdown ────────────────────────────────────────────────────
   Bootstrap 3 .dropdown-menu: stessa struttura base
───────────────────────────────────────────────────────────────── */
.aw-navbar .dropdown-menu[b-b9ia0tow45] {
    font-size: 0.9rem;
    border-radius: 2px;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
    margin-top: 0;
}

.aw-navbar .dropdown-item[b-b9ia0tow45] { color: #555; padding: 6px 20px; }
.aw-navbar .dropdown-item:hover[b-b9ia0tow45] { background-color: #f5f5f5; color: #333; }


/* -- Right side (search + logout) ---
   Replica .navbar-form.navbar-right del legacy
 */
.aw-navbar-right[b-b9ia0tow45] {
    margin-top: calc((var(--aw-header-height) - 32px) / 2);
    margin-bottom: calc((var(--aw-header-height) - 32px) / 2);
}

.aw-search-group[b-b9ia0tow45] { flex-wrap: nowrap; }

.aw-search-greeting[b-b9ia0tow45] {
    font-size: 0.8rem; color: #555; background-color: #eee;
    border-color: #ccc; white-space: nowrap; padding: 4px 8px;
}

.aw-search-input[b-b9ia0tow45] {
    font-size: 0.85rem; min-width: 180px; max-width: 240px;
    border-color: #ccc; padding: 4px 8px; height: 32px;
}

.aw-btn-logout[b-b9ia0tow45] {
    font-size: 0.85rem; background-color: #fff; border-color: #ccc;
    color: #333; white-space: nowrap; height: 32px; padding: 4px 10px;
}

.aw-btn-logout:hover[b-b9ia0tow45] { background-color: #e6e6e6; border-color: #adadad; }

.aw-btn-profile[b-b9ia0tow45] {
    font-size: 0.9rem; background-color: #fff; border-color: #ccc;
    color: #555; height: 32px; padding: 4px 9px;
    border-right: none;
}

.aw-btn-profile:hover[b-b9ia0tow45] { background-color: #f0f0f0; color: #333; border-color: #adadad; }


/* ── Toggler (mobile) ───────────────────────────────────────────
   Bootstrap 3 .navbar-toggle: margin-top:8px; margin-bottom:8px
───────────────────────────────────────────────────────────────── */
.aw-navbar .navbar-toggler[b-b9ia0tow45] {
    border-color: #ddd;
    margin-top: 8px;
    margin-bottom: 8px;
    padding: 9px 10px;
}

.aw-navbar .navbar-toggler-icon[b-b9ia0tow45] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2885, 85, 85, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.bi-house-door-fill-nav-menu[b-b9ia0tow45],
.bi-plus-square-fill-nav-menu[b-b9ia0tow45],
.bi-list-nested-nav-menu[b-b9ia0tow45],
.bi-lock-nav-menu[b-b9ia0tow45],
.bi-person-nav-menu[b-b9ia0tow45],
.bi-person-badge-nav-menu[b-b9ia0tow45],
.bi-person-fill-nav-menu[b-b9ia0tow45],
.bi-arrow-bar-left-nav-menu[b-b9ia0tow45] { display: none; }

/* ── Account area slim navbar ─────────────────────────────────────────────── */
.aw-account-area-label[b-b9ia0tow45] {
    font-size: 0.8rem;
    color: #555;
    white-space: nowrap;
}

.aw-btn-home[b-b9ia0tow45] {
    font-size: 0.85rem; background-color: #fff; border-color: #ccc;
    color: #333; white-space: nowrap; height: 32px; padding: 4px 10px;
}

.aw-btn-home:hover[b-b9ia0tow45] { background-color: #e6e6e6; border-color: #adadad; color: #333; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-t0ba7vfdjp],
.components-reconnect-repeated-attempt-visible[b-t0ba7vfdjp],
.components-reconnect-failed-visible[b-t0ba7vfdjp],
.components-pause-visible[b-t0ba7vfdjp],
.components-resume-failed-visible[b-t0ba7vfdjp],
.components-rejoining-animation[b-t0ba7vfdjp] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-retrying[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-failed[b-t0ba7vfdjp],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-t0ba7vfdjp] {
    display: block;
}


#components-reconnect-modal[b-t0ba7vfdjp] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-t0ba7vfdjp 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-t0ba7vfdjp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-t0ba7vfdjp 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-t0ba7vfdjp]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-t0ba7vfdjp 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-t0ba7vfdjp {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-t0ba7vfdjp {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-t0ba7vfdjp {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-t0ba7vfdjp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-t0ba7vfdjp] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-t0ba7vfdjp] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-t0ba7vfdjp] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-t0ba7vfdjp] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-t0ba7vfdjp] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-t0ba7vfdjp] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-t0ba7vfdjp 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-t0ba7vfdjp] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-t0ba7vfdjp {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
