.slpk-manager { max-width: 720px; padding: 20px; margin: 20px 0; border: 1px solid #8886; border-radius: 12px; }
.slpk-manager label, .slpk-flow label { display: block; margin: 12px 0; }
.slpk-manager input[type=password], .slpk-manager input[type=text], .slpk-flow input { display: block; box-sizing: border-box; width: 100%; max-width: 440px; padding: 10px; }
.slpk-manager button, .slpk-flow button, .slpk-login { padding: 10px 14px; margin: 6px 6px 6px 0; cursor: pointer; border-radius: 6px; }
.slpk-manager button:disabled, .slpk-flow button:disabled, .slpk-login:disabled { opacity: .6; cursor: not-allowed; }
.slpk-flow:not(:empty) { border: 1px solid #8886; border-radius: 8px; padding: 12px; margin: 12px 0; }
.slpk-flow input { color: #111; background: #fff; }
.slpk-status, .slpk-inline-status { overflow-wrap: anywhere; }
.slpk-codes { background: #f2f6fa; color: #18232b; padding: 16px; border-radius: 8px; }
.slpk-codes pre { white-space: pre-wrap; overflow-wrap: anywhere; user-select: all; font-size: 14px; }
.slpk-manager [hidden] { display: none !important; }
#secure-login-popup .secure-login-content { max-height: 90vh; overflow-y: auto; }
.slpk-login { display: block; width: 100%; font-weight: 600; }
.slpk-password-fallback { margin-top: 16px; text-align: left; }
.slpk-password-fallback > summary { padding: 10px 0; cursor: pointer; }
.slpk-password-fallback > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.slpk-password-fallback[open] > summary { margin-bottom: 10px; }
.slpk-options-item { position: relative; }
.slpk-options-item > .slpk-options-toggle { appearance: none; font: inherit; font-weight: 600; color: var(--slpk-menu-text, #1f2937); background: var(--slpk-menu-bg, #f3f4f6); border: 0; border-radius: 8px; padding: 10px 16px; cursor: pointer; }
.slpk-options-item > .slpk-options-toggle::after { content: ''; display: inline-block; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: 0 0 3px 12px; }
.slpk-options-item > .slpk-options-toggle:hover, .slpk-options-item > .slpk-options-toggle:focus-visible { background: var(--slpk-menu-hover, #e5e7eb); color: var(--slpk-menu-hover-text, #111827); }
.slpk-options-item > .slpk-options-list { display: none !important; position: absolute; top: calc(100% + 6px); right: 0; min-width: 190px; z-index: 10001; list-style: none; margin: 0; padding: 6px; border-radius: 10px; background: var(--slpk-submenu-bg, #fff); color: var(--slpk-submenu-text, #1f2937); box-shadow: 0 8px 28px #0003; }
.slpk-options-item[data-open] > .slpk-options-list { display: block !important; }
.slpk-options-list > li { display: block; margin: 0; padding: 0; }
.slpk-options-list > li[hidden] { display: none !important; }
.slpk-options-list a { padding: 12px 14px !important; color: var(--slpk-submenu-text, #1f2937) !important; background: transparent; border-radius: 6px; text-decoration: none; white-space: nowrap; display: block; font: inherit; }
.slpk-options-list a:hover, .slpk-options-list a:focus-visible { background: var(--slpk-submenu-hover, #f3f4f6); color: var(--slpk-submenu-hover-text, #111827) !important; }
.slpk-create-dialog { box-sizing: border-box; width: min(var(--slpk-width, 520px), calc(100vw - 32px)); max-height: 90vh; max-height: 90dvh; overflow-y: auto; padding: 32px; margin: auto; border: 1px solid var(--slpk-border, #d1d5db); border-radius: var(--slpk-radius, 20px); background: var(--slpk-popup-bg, #fff); color: var(--slpk-popup-text, #1f2937); box-shadow: 0 24px 80px #0004; font: 400 16px/1.5 system-ui, sans-serif; text-align: left; }
.slpk-create-dialog *, .slpk-create-dialog *::before, .slpk-create-dialog *::after { box-sizing: border-box; }
.slpk-create-dialog:not([open]) { display: none !important; }
.slpk-create-dialog::backdrop { background: var(--slpk-overlay, #111827); opacity: var(--slpk-overlay-opacity, .65); }
.slpk-create-dialog .slpk-create-header { margin-bottom: 24px; padding-right: 16px; }
.slpk-create-dialog .slpk-create-symbol { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--slpk-border, #d1d5db); border-radius: 14px; margin-bottom: 18px; font-size: 30px; color: var(--slpk-accent, #234e52); }
.slpk-create-dialog h2 { font: 650 28px/1.2 system-ui, sans-serif; color: inherit; margin: 0 0 10px; letter-spacing: -.5px; }
.slpk-create-dialog p { font: inherit; margin: 10px 0; color: var(--slpk-muted, #4b5563); }
.slpk-create-dialog .slpk-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 8px; }
.slpk-create-dialog .slpk-manager { padding: 0; border: 0; margin: 0; }
.slpk-create-dialog .slpk-manager label { display: block; font-size: 14px; font-weight: 600; margin: 18px 0 8px; color: inherit; }
.slpk-create-dialog .slpk-manager input, .slpk-create-dialog .slpk-flow input { width: 100%; max-width: none; min-height: 46px; margin-top: 7px; padding: 12px 14px; border-radius: 9px; font: 400 16px/1.4 system-ui, sans-serif; background: var(--slpk-input-bg, #f9fafb); color: var(--slpk-input-text, #111827); border: 1px solid var(--slpk-border, #d1d5db); box-shadow: none; }
.slpk-create-dialog input::placeholder { color: var(--slpk-input-text, #111827); opacity: .65; }
.slpk-create-dialog .slpk-field-hint, .slpk-create-dialog .slpk-privacy-note { font-size: 13px; line-height: 1.5; }
.slpk-create-dialog .slpk-manager button { border: 0; border-radius: 9px; padding: 12px 16px; background: var(--slpk-accent, #234e52); color: var(--slpk-accent-text, #fff); font: 600 15px/1.4 system-ui, sans-serif; min-height: 44px; }
.slpk-create-dialog .slpk-manager button:hover { background: var(--slpk-accent-hover, #183b3e); }
.slpk-create-dialog .slpk-actions button { width: 100%; margin: 16px 0 6px; }
.slpk-create-dialog .slpk-create-close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; font: 400 28px/1 system-ui, sans-serif; cursor: pointer; }
.slpk-create-dialog .slpk-create-footer { display: flex; justify-content: flex-end; border-top: 1px solid var(--slpk-border, #d1d5db); margin-top: 22px; padding-top: 16px; }
.slpk-create-dialog .slpk-create-done { padding: 10px 20px; margin: 0; min-height: 44px; border: 1px solid var(--slpk-border, #d1d5db); border-radius: 9px; background: transparent; color: inherit; font: 600 14px/1.4 system-ui, sans-serif; cursor: pointer; }
.slpk-create-dialog :is(button, input, a):focus-visible, .slpk-options-item :is(button, a):focus-visible { outline: 3px solid var(--slpk-accent, #234e52); outline-offset: 3px; }
.slpk-create-dialog .slpk-status:not(:empty), .slpk-create-dialog .slpk-flow:not(:empty) { border: 1px solid var(--slpk-border, #d1d5db); border-radius: 9px; padding: 12px; margin: 14px 0; }
.slpk-create-dialog .slpk-codes { background: var(--slpk-input-bg, #f9fafb); color: var(--slpk-input-text, #111827); border: 1px solid var(--slpk-border, #d1d5db); margin-top: 16px; }
.slpk-create-dialog .slpk-codes h3 { font: 600 17px/1.4 system-ui, sans-serif; margin: 0 0 10px; color: inherit; }
.slpk-create-dialog .slpk-codes p, .slpk-create-dialog .slpk-codes pre { color: inherit; background: transparent; }
.slpk-create-dialog button:disabled { opacity: .5; cursor: wait; }
.slpk-options-shortcode { display: inline-block !important; visibility: visible !important; opacity: 1 !important; vertical-align: middle; }
.slpk-options-item[data-slpk-duplicate] { display: none !important; }
.slpk-options-shortcode > .slpk-options-toggle { display: inline-block !important; visibility: visible !important; opacity: 1 !important; }
.slpk-options-shortcode > .slpk-options-list { left: 0; right: auto; }
.slpk-options-list .arch-pwa-install { display: block; width: 100%; margin: 0; border: 0; border-radius: 6px; padding: 12px 14px; text-align: left; background: transparent; color: var(--slpk-submenu-text, #1f2937); font: inherit; white-space: nowrap; cursor: pointer; }
.slpk-options-list .arch-pwa-install[hidden] { display: none !important; }
.slpk-options-list .arch-pwa-install:hover, .slpk-options-list .arch-pwa-install:focus-visible { background: var(--slpk-submenu-hover, #f3f4f6); color: var(--slpk-submenu-hover-text, #111827); }
@media (max-width: 480px) { .slpk-create-dialog { padding: 24px 20px; } .slpk-create-dialog h2 { font-size: 25px; } }

.slpk-app-enrol{box-sizing:border-box;max-width:440px;width:calc(100% - 32px);border:0;border-radius:16px;padding:24px;color:#17364b;background:white}.slpk-app-enrol::backdrop{background:#0009}.slpk-app-enrol label{display:block;margin:14px 0}.slpk-app-enrol input{box-sizing:border-box;display:block;width:100%;padding:10px}.slpk-app-enrol button{margin:8px 8px 0 0;padding:10px 14px}.slpk-app-enrol h2{font-size:22px}

/* Compact login, with password fields revealed only on request. */
#login-form-container .slpk-inline-status:empty,
#login-form-container .slpk-flow:empty { display: none; }
#login-form-container [hidden] { display: none !important; }
#login-form-container .slpk-password-fallback { margin-top: 8px; }
#login-form-container .slpk-password-fallback > summary {
    display: block; list-style: none; box-sizing: border-box; text-align: center;
    padding: 10px 14px; min-height: 44px; border: 1px solid currentColor;
    border-radius: 7px; font: inherit; font-weight: 600; cursor: pointer;
}
#login-form-container .slpk-password-fallback > summary::-webkit-details-marker { display: none; }
#login-form-container .slpk-password-fallback:not([open]) > form { display: none !important; }
#login-form-container .slpk-native-enable { display: block; width: 100%; margin: 8px 0; padding: 10px 14px; min-height: 44px; border-radius: 7px; cursor: pointer; }
#login-form-container .slpk-inline-status { font-size: 14px; line-height: 1.4; margin: 8px 0; }
#login-form-container h2 { margin-top: 0; margin-bottom: 12px; }
#secure-login-popup .secure-login-content {
    box-sizing: border-box;
    max-height: calc(var(--slpk-visible-height, 100dvh) - 24px) !important;
    overflow-y: auto !important; overscroll-behavior: contain;
}
.slpk-app-enrol {
    max-height: calc(var(--slpk-visible-height, 100dvh) - 24px);
    overflow-y: auto; overscroll-behavior: contain; padding: 20px;
}
.slpk-app-enrol input { min-height: 44px; font-size: 16px; }
.slpk-app-enrol h2 { margin: 0 0 10px; }
.slpk-app-enrol p { font-size: 14px; line-height: 1.4; margin: 8px 0; }
@media (max-width: 600px), (max-height: 600px) {
    #secure-login-popup .secure-login-content {
        position: fixed !important;
        top: calc(var(--slpk-viewport-top, 0px) + 12px) !important;
        left: 12px !important; right: 12px !important;
        width: calc(100% - 24px) !important; max-width: 440px;
        margin: 0 auto !important; transform: none !important;
        padding: 20px !important;
    }
    #secure-login-popup .secure-login-content .close-popup { top: 8px; right: 12px; }
    #login-form-container .form-group { margin-bottom: 10px; }
    .slpk-create-dialog { padding: 20px; max-height: calc(var(--slpk-visible-height, 100dvh) - 24px); }
    .slpk-create-dialog .slpk-create-header { margin-bottom: 12px; }
    .slpk-create-dialog .slpk-create-symbol { display: none; }
}
/* Readable compact controls, independent of oversized theme form rules. */
#secure-login-popup .secure-login-content {
 width:min(420px,calc(100% - 24px))!important; padding:24px!important;
 top:calc(var(--slpk-viewport-top,0px) + 12px)!important; left:0!important; right:0!important;
 margin:0 auto!important; position:fixed!important; transform:none!important;
 background:#fff!important; color:#17364b!important; border-radius:16px!important;
 backdrop-filter:none!important; line-height:1.4!important;
}
#secure-login-popup .secure-login-content h2 {font:600 24px/1.2 system-ui!important;margin:0 40px 16px 0!important;color:#17364b!important;}
#secure-login-popup #login-form-container .form-group {margin:10px 0!important;padding:0!important;}
#secure-login-popup #login-form-container input:not([type=hidden]) {box-sizing:border-box!important;width:100%!important;height:46px!important;min-height:46px!important;padding:10px 12px!important;margin:0!important;font:16px/1.4 system-ui!important;color:#17364b!important;background:#f5f7f9!important;border:1px solid #bdcbd4!important;border-radius:8px!important;box-shadow:none!important;}
#secure-login-popup #login-form-container input::placeholder {color:#536775!important;opacity:1!important;}
#secure-login-popup #login-form-container button, #secure-login-popup #login-form-container summary {box-sizing:border-box!important;width:100%!important;min-height:44px!important;margin:8px 0!important;padding:10px 12px!important;font:600 16px/1.4 system-ui!important;border:0!important;border-radius:8px!important;background:#17364b!important;color:#fff!important;box-shadow:none!important;}
#secure-login-popup #login-form-container summary {background:#eef2f5!important;color:#17364b!important;}
#secure-login-popup #login-form-container .forgot-password-link,#secure-login-popup #login-form-container .register-link {font:14px/1.4 system-ui!important;color:#17364b!important;margin:4px!important;}
#secure-login-popup #login-form-container .slpk-inline-status {font:14px/1.4 system-ui!important;color:#3f5665!important;margin:8px 0!important;}
#secure-login-popup #login-form-container.slpk-native-ready > .slpk-inline-status:not(#aegis-biometric-status) {display:none!important;}
#secure-login-popup .close-popup {position:absolute!important;top:8px!important;right:8px!important;left:auto!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;font:28px/1 system-ui!important;background:transparent!important;color:#17364b!important;border:0!important;box-shadow:none!important;cursor:pointer!important;}
#secure-login-popup .close-popup::before,#secure-login-popup .close-popup::after,#secure-login-popup #login-form-container button::before,#secure-login-popup #login-form-container button::after {content:none!important;display:none!important;}
#secure-login-popup #secure-login-alert:empty {display:none!important;}
#secure-login-popup #login-form-container [hidden] {display:none!important;}
