.pl-passkeys {
    box-sizing: border-box;
    max-width: 960px;
    margin: 20px auto;
    padding: 16px;
}
.pl-passkeys[hidden] { display: none !important; }
.pl-passkeys__button {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid #123d68;
    border-radius: 8px;
    background: #123d68;
    color: #fff;
    font: inherit;
    cursor: pointer;
}
.pl-passkeys__button:disabled { opacity: .65; cursor: wait; }
.pl-passkeys__button:focus-visible {
    outline: 3px solid #e6ad22;
    outline-offset: 3px;
}
.pl-passkeys__status { min-height: 1.5em; }
@media (max-width: 600px) {
    .pl-passkeys { padding: 12px; }
    .pl-passkeys__button { width: 100%; }
}

/* PL_PASSKEY_READABLE_TYPE_V1 */
.pl-passkeys--management,
body.pl-passkeys-screen .ui-dialog {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
}
.pl-passkeys--management :where(div,p,li,dt,dd,label,small,span,td,th,a),
body.pl-passkeys-screen .ui-dialog :where(div,p,li,label,small,span,a) {
    font-size: 18px !important;
    line-height: 1.6 !important;
}
.pl-passkeys--management :where(p,li,label,input,select,textarea,button,h2,h3,h4),
body.pl-passkeys-screen .ui-dialog :where(p,label,input,select,textarea,button) {
    font-family: Arial, Helvetica, sans-serif !important;
}
.pl-passkeys--management h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
}
.pl-passkeys--management :where(h3,h4),
.pl-passkeys--management :where(.wfls-block-header,.wfls-block-header-content),
body.pl-passkeys-screen .ui-dialog .ui-dialog-title {
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}
.pl-passkeys--management :where(input,select,textarea,button),
body.pl-passkeys-screen .ui-dialog :where(input,select,textarea,button) {
    box-sizing: border-box;
    font-size: 18px !important;
    line-height: 1.5 !important;
    min-height: 46px !important;
}
.pl-passkeys--management :where(input[type=text],select,textarea) {
    padding: 10px 12px !important;
    color: #20374d !important;
}
.pl-passkeys--management input::placeholder {
    font-size: 18px !important;
    font-style: normal !important;
    color: #586b7b !important;
    opacity: 1 !important;
}
.pl-passkeys--management :where(button,a.wfls-btn,a[role=button]),
body.pl-passkeys-screen .ui-dialog :where(button,a[role=button]) {
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 9px 14px !important;
    font-size: 18px !important;
}
.pl-passkeys--management :where(input[type=checkbox],input[type=radio]) {
    width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
}
.pl-passkeys--management :where(input,select,textarea,button,a):focus-visible,
body.pl-passkeys-screen .ui-dialog :where(input,button,a):focus-visible {
    outline: 3px solid #b58c32 !important;
    outline-offset: 3px !important;
}
@media (max-width: 600px) {
    .pl-passkeys--management {
        margin: 12px auto;
        padding: 8px;
    }
    .pl-passkeys--management h2 {
        font-size: 25px !important;
    }
    .pl-passkeys--management :where(input[type=text],select,textarea) {
        max-width: 100% !important;
    }
}

/* PL_PASSKEY_GUIDED_ACTIVATION_V1 */
.pl-passkeys--management .pl-passkeys__instructions ol {
    margin: 12px 0 16px;
    padding-left: 28px;
}
.pl-passkeys--management .pl-passkeys__instructions li {
    margin-bottom: 10px;
}
.pl-passkeys--management .wfls-passkey-add-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.pl-passkeys--management .pl-passkeys__device-label {
    display: block;
    flex: 0 0 100%;
    font-weight: 700;
}
.pl-passkeys--management #wfls-passkey-label {
    flex: 1 1 240px;
    width: auto;
    min-width: 0;
}
.pl-passkeys--management #wfls-passkey-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    white-space: normal;
}
.pl-passkeys--management #wfls-passkey-add > i {
    display: none;
}
.pl-passkeys--management .wfls-passkey-information {
    display: none;
}
@media (max-width: 600px) {
    .pl-passkeys--management #wfls-passkey-add {
        width: 100% !important;
        box-sizing: border-box;
    }
}

/* PL_PASSKEY_CREATE_BUTTON_LAYOUT_V1 */
.pl-passkeys--management .wfls-passkey-add-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 10px 12px !important;
}
.pl-passkeys--management .pl-passkeys__device-label {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 0 !important;
}
.pl-passkeys--management #wfls-passkey-label {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.pl-passkeys--management #wfls-passkey-add {
    position: static !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 100px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 20px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.pl-passkeys--management #wfls-passkey-add .pl-passkeys__activation-label {
    display: inline !important;
    white-space: nowrap !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
@media (max-width: 480px) {
    .pl-passkeys--management .wfls-passkey-add-row {
        grid-template-columns: minmax(0, 1fr);
    }
    .pl-passkeys--management #wfls-passkey-add {
        width: 100% !important;
    }
}
