@import '_content/Rejuvicon.ClientCommon/Rejuvicon.ClientCommon.z7iqguoevi.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.AddressDetails/Rejuvicon.CommonWebAppModuleClient.AddressDetails.yorgexcm2l.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.Forms/Rejuvicon.CommonWebAppModuleClient.Forms.qwzf5knl11.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.MedicalNotes/Rejuvicon.CommonWebAppModuleClient.MedicalNotes.cbnaf1uwhn.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.Patients/Rejuvicon.CommonWebAppModuleClient.Patients.dreujzna60.bundle.scp.css';
@import '_content/Rejuvicon.CommonWebAppModuleClient.TreatmentPlans/Rejuvicon.CommonWebAppModuleClient.TreatmentPlans.5day84riuw.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Appointments/Rejuvicon.WebAppModuleClient.Appointments.slj10959n9.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Inventory/Rejuvicon.WebAppModuleClient.Inventory.t166u473ri.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Patients/Rejuvicon.WebAppModuleClient.Patients.fj4swsfk9h.bundle.scp.css';
@import '_content/Rejuvicon.WebAppModuleClient.Settings/Rejuvicon.WebAppModuleClient.Settings.8ja1a1hnbv.bundle.scp.css';

/* /Components/Pages/Login.razor.rz.scp.css */
/* Vertically centre the End-slot toggle: the flat variant pads the end with a
   1rem top offset for the floating label, which leaves the eye icon sitting
   high. Match Radzen's selector depth so this override wins. */
.rjv-auth-field[b-txwvhubfrw]  .rz-form-field.rz-variant-flat .rz-form-field-content .rz-form-field-end {
    padding-top: 0;
}

/* Show/hide password toggle, sitting in the form field's End slot */
.login-input-toggle[b-txwvhubfrw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    color: var(--rjv-muted);
    background: transparent;
    border: 0;
    border-radius: var(--rjv-radius-sm);
    cursor: pointer;
}

    .login-input-toggle:hover[b-txwvhubfrw] {
        color: var(--rjv-slate-deep);
        background: rgba(43, 58, 72, 0.06);
    }

    .login-input-toggle:focus-visible[b-txwvhubfrw] {
        outline: 2px solid var(--rjv-slate);
        outline-offset: 1px;
    }

/* Remember me + Forgot password row */
.login-row[b-txwvhubfrw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0.25rem 0 1.25rem;
    font-size: 0.85rem;
}

.login-remember[b-txwvhubfrw] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--rjv-ink);
    cursor: pointer;
    user-select: none;
}

.login-checkbox[b-txwvhubfrw] {
    width: 14px;
    height: 14px;
    accent-color: var(--rjv-coral);
    cursor: pointer;
}

/* Links */
.login-link[b-txwvhubfrw] {
    color: var(--rjv-slate-deep);
    text-decoration: none;
    font-weight: 500;
}

    .login-link:hover[b-txwvhubfrw] {
        text-decoration: underline;
    }

.login-link--muted[b-txwvhubfrw] {
    color: var(--rjv-muted);
}

.pin-login-user[b-txwvhubfrw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    margin-bottom: 1.25rem;
    color: var(--rjv-ink);
}

    .pin-login-user span[b-txwvhubfrw] {
        color: var(--rjv-muted);
        font-size: 0.9rem;
    }

.pin-entry[b-txwvhubfrw] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    margin-bottom: 0.75rem;
}

.pin-entry-input[b-txwvhubfrw] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: text;
}

.pin-entry-mask[b-txwvhubfrw] {
    min-width: 10rem;
    min-height: 2rem;
    color: var(--rjv-ink);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.65rem;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

.pin-number-pad[b-txwvhubfrw] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    max-width: 18rem;
    margin: 0 auto 1.25rem;
}

.pin-number-key[b-txwvhubfrw] {
    min-height: 3.5rem;
    color: var(--rjv-ink);
    font: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    background: var(--rjv-white);
    border: 1px solid var(--rjv-line);
    border-radius: var(--rjv-radius-md);
    cursor: pointer;
    touch-action: manipulation;
}

    .pin-number-key:hover[b-txwvhubfrw] {
        background: rgba(43, 58, 72, 0.06);
    }

    .pin-number-key:focus-visible[b-txwvhubfrw] {
        outline: 2px solid var(--rjv-slate);
        outline-offset: 2px;
    }

.pin-number-key--clear[b-txwvhubfrw] {
    font-size: 0.9rem;
}

.pin-login-sign-out-form[b-txwvhubfrw] {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}

.pin-login-sign-out[b-txwvhubfrw] {
    min-width: 10rem;
    padding: 0.7rem 1.5rem;
    color: var(--rjv-slate-deep);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    background: var(--rjv-white);
    border: 1px solid var(--rjv-line);
    border-radius: 999px;
    cursor: pointer;
}

    .pin-login-sign-out:hover[b-txwvhubfrw] {
        background: rgba(43, 58, 72, 0.06);
    }

    .pin-login-sign-out:active[b-txwvhubfrw] {
        transform: translateY(1px);
    }

    .pin-login-sign-out:focus-visible[b-txwvhubfrw] {
        outline: 2px solid var(--rjv-slate);
        outline-offset: 3px;
    }

.pin-expiry-countdown[b-txwvhubfrw] {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 1;
    padding: 0.45rem 0.65rem;
    color: var(--rjv-muted);
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    background: var(--rjv-white);
    border: 1px solid var(--rjv-line);
    border-radius: var(--rjv-radius-sm);
}

