/* Soft-UI geometry adapted from the supplied Neumorphism reference. */
.ibc-access-wrap .ibc-auth-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@property --ibc-login-light { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes ibc-login-orbit { to { --ibc-login-light: 360deg; } }
.ibc-auth-card {
    --neu-bg: #e0e5ec;
    --neu-ink: #0b2b40;
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 420px;
    padding: 50px 40px;
    border: 1px solid #d2dce5;
    border-radius: 30px;
    background: var(--neu-bg);
    color: var(--neu-ink);
    box-shadow: 20px 20px 60px #bec3cf, -20px -20px 60px #fff;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: 0;
}
.ibc-auth-card::before {
    content: '';
    position: absolute;
    inset: -2px;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(from var(--ibc-login-light), transparent 0deg 220deg, #b4e8ef 270deg, #087f8c 310deg, #459ad4 335deg, transparent 360deg);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    animation: ibc-login-orbit 6s linear infinite;
}
.ibc-auth-card *, .ibc-auth-card *::before, .ibc-auth-card *::after { box-sizing: border-box; letter-spacing: 0; }
.ibc-auth-brand { display: block; text-align: center; margin: 0 auto 28px; }
.ibc-auth-brand img { display: block; width: 196px; max-width: 100%; height: 106px; object-fit: contain; margin: auto; }
.ibc-auth-card .ibc-login-brand { margin-bottom: 28px; }
.ibc-auth-card .ibc-login-brand h1, .ibc-auth-card h2 { font-size: 26px; line-height: 1.25; color: var(--neu-ink); margin: 14px 0 8px; text-align: center; }
.ibc-auth-card .ibc-login-brand p { color: #52617b; font-size: 15px; line-height: 1.5; }
.ibc-auth-card .ibc-login-brand h1, .ibc-auth-card .ibc-login-brand h1 span { color: #0b2b40; font-family: inherit; }
.ibc-auth-card .ibc-login-footer p { color: #52617b; }
.ibc-auth-card :is(input,button,label) { font-family: inherit; }
.ibc-auth-card .ibc-login-field label { text-transform: none; letter-spacing: 0; font-weight: 500; }
.ibc-auth-card a { color: #075e78; }
.ibc-auth-card label { color: #465573; font-size: 14px; line-height: 1.5; }
.ibc-auth-card input:is([type=text],[type=email],[type=password],[type=number],[type=tel]), .ibc-auth-card input.input {
    display: block; width: 100%; min-width: 0; height: 60px; margin: 6px 0 0;
    padding: 16px 20px; border: 1px solid transparent; border-radius: 15px;
    background: var(--neu-bg); color: var(--neu-ink); font-size: 16px; line-height: 1.5;
    box-shadow: inset 8px 8px 16px #bec3cf, inset -8px -8px 16px #fff;
}
.ibc-auth-card input::placeholder { color: #586783; opacity: 1; }
.ibc-auth-card input:focus { outline: 2px solid #087f8c; outline-offset: 2px; box-shadow: inset 4px 4px 8px #bec3cf, inset -4px -4px 8px #fff; }
.ibc-auth-card :is(button,a,input):focus-visible { outline: 2px solid #087f8c; outline-offset: 3px; }
.ibc-auth-card :is(.form-group,.ibc-login-field) { margin-bottom: 24px; }
.ibc-auth-card :is(button[type=submit],input[type=submit],.ibc-login-btn) {
    display: block; float: none; width: 100%; min-height: 52px; height: auto;
    padding: 14px 18px; border: 0; border-radius: 15px; background: var(--neu-bg);
    color: var(--neu-ink); font-size: 16px; font-weight: 700; line-height: 1.5;
    box-shadow: 8px 8px 16px #bec3cf, -8px -8px 16px #fff; white-space: normal; cursor: pointer;
}
.ibc-auth-card :is(button[type=submit],input[type=submit],.ibc-login-btn,.btn-login,.button-primary):is(:hover,:focus,:focus-visible,:active) {
    background: #08263b !important;
    border-color: #08263b !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none;
}
.ibc-auth-card :is(button[type=submit],.ibc-login-btn,.btn-login,.button-primary):is(:hover,:focus,:focus-visible,:active) :is(span,i) { color: #fff !important; }
.ibc-auth-card .wp-hide-pw { color: #08263b !important; }
.ibc-auth-card :is(button[type=submit],input[type=submit]):active { box-shadow: inset 4px 4px 8px #bec3cf, inset -4px -4px 8px #fff; }
.ibc-auth-card :is(button,input):disabled { opacity: .6; cursor: wait; }
.ibc-auth-card :is(.ibc-login-remember,.form-tools) { font-size: 13px; margin: 8px 0 28px; }
.ibc-auth-card .ibc-login-remember { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.ibc-auth-card .ibc-login-remember label { font-size: 13px; }
.ibc-auth-card .ibc-login-footer { border: 0; margin-top: 28px; text-align: center; font-size: 13px; }
.ibc-auth-card .ibc-login-icon { display: none; }
.ibc-login-wrap.ibc-access-wrap { background: #e0e5ec; padding: 60px 24px; min-height: 80vh; }
body.login { background: #e0e5ec; }
body.login #login.ibc-auth-card { width: calc(100% - 32px); max-width: 420px; margin: 48px auto; padding: 40px; }
body.login #login.ibc-auth-card > h1 { display: none; }
body.login #login.ibc-auth-card form { padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
body.login #login.ibc-auth-card form > p { margin-bottom: 24px; }
body.login #login.ibc-auth-card .forgetmenot { float: none; margin: 16px 0 24px; }
body.login #login.ibc-auth-card .submit { clear: both; }
body.login #login.ibc-auth-card .wp-hide-pw { top: 10px; right: 8px; }
body.login #login.ibc-auth-card #user_pass { padding-right: 48px; }
body.login #login.ibc-auth-card :is(#nav,#backtoblog) { padding: 0; line-height: 1.5; }
#login-register-form .modal-dialog, #reset-password-form .modal-dialog { max-width: 420px; }
.modal-content.ibc-auth-card .modal-header { padding: 0 0 24px; border: 0; background: transparent !important; }
.modal-content.ibc-auth-card :is(.login-form-wrap,.form-group-field,.login-register-tabs,.login-register-tabs li,.login-register-tabs button) { background: transparent !important; border-color: transparent; }
.modal-content.ibc-auth-card .close { background: transparent !important; color: #465573; }
.modal-content.ibc-auth-card .nav-tabs .nav-link { color: #52617b !important; }
.modal-content.ibc-auth-card .nav-tabs .nav-link.active { color: #0b2b40 !important; border-bottom: 2px solid #087f8c; }
.modal-content.ibc-auth-card .btn-facebook-login { background: transparent; color: #0b2b40; border: 1px solid #b3c1ce; border-radius: 15px; padding: 14px 12px; white-space: normal; }
.modal-content.ibc-auth-card .modal-body { padding: 0; }
.ibc-auth-card .form-group-field::after { display: none; }
.ibc-auth-card :is(.login-form-wrap,.form-group-field) { background: transparent; border: 0; }
.login-form-page-wrap.ibc-auth-card { margin: 40px auto; }
.ibc-auth-card .login-register-tabs { margin-bottom: 24px; }
.ibc-auth-card .nav-tabs { border: 0; gap: 12px; }
.ibc-auth-card .nav-tabs .nav-link { background: transparent; color: #52617b; border: 0; padding: 8px 0; }
.ibc-auth-card .nav-tabs .nav-link.active { color: #0b2b40; border-bottom: 2px solid #087f8c; }
.ibc-auth-card .form-tools .d-flex { flex-wrap: wrap; gap: 12px; }
.ibc-auth-admin { display: block; text-align: center; margin-top: 24px; font-size: 13px; }
.ibc-auth-card #wfls-prompt-overlay { border-radius: 24px; background: #e0e5ec; z-index: 20; }
.ibc-auth-card #wfls-prompt-wrapper { padding: 24px 12px; color: #0b2b40; width: 100%; }
.ibc-auth-card #wfls-prompt-wrapper .ibc-auth-brand { margin-bottom: 22px; }
.ibc-auth-card #wfls-token { text-align: center; font-size: 24px; }
.ibc-auth-card #wfls-prompt-wrapper p { margin: 0 0 24px; }
.ibc-auth-card .ibc-login-error, .ibc-auth-card #login_error { background: #fff4f3; color: #8b2727; padding: 12px; border-left: 3px solid #a83737; font-size: 14px; }
@media (max-width: 480px) {
    .ibc-auth-card, body.login #login.ibc-auth-card { padding: 32px 24px; width: calc(100% - 32px); margin: 24px auto; }
    .ibc-login-wrap.ibc-access-wrap { padding: 24px 0; }
    .modal-content.ibc-auth-card { width: 100%; }
    .ibc-auth-brand img { width: 170px; height: 92px; }
}
@media (prefers-reduced-motion: reduce) { .ibc-auth-card::before { animation: none; } }

/* The second step is a single card, not an overlay over visible credentials. */
body.login .language-switcher { display: none !important; }
.ibc-auth-card.ibc-auth-code > :is(.ibc-auth-brand,.ibc-login-brand,.ibc-login-footer,.ibc-auth-admin,#nav,#backtoblog,.privacy-policy-page-link,.message:not(.error):not(.notice-error):not(#login_error),.success) { display: none !important; }
.ibc-auth-card.ibc-auth-code form > :not(#wfls-prompt-overlay):not(#login_error):not(.error):not(.notice-error) { display: none !important; }
.ibc-auth-card.ibc-auth-code #wfls-prompt-overlay {
    position: static !important;
    display: block !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
.ibc-auth-card.ibc-auth-code #wfls-prompt-wrapper {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Raised notices stay in document flow: no fields are covered or errors timed out. */
.ibc-auth-card .ibc-auth-notice {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 0 24px !important;
    padding: 18px 20px !important;
    border: 1px solid #c7d3df !important;
    border-radius: 16px !important;
    background: #e8eef3 !important;
    color: #10243d !important;
    box-shadow: 7px 7px 16px #bec3cf, -7px -7px 16px #fff !important;
    font-family: inherit;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left;
    overflow-wrap: anywhere;
}
.ibc-auth-card .ibc-auth-notice :is(p,ul) { margin: 0; padding: 0; }
.ibc-auth-card .ibc-auth-notice li { margin-left: 18px; }
.ibc-auth-card .ibc-auth-notice a { color: #075e78 !important; text-decoration: underline; }
.ibc-auth-card .ibc-auth-notice :is(strong,b) { color: inherit; }
.ibc-auth-card .ibc-auth-notice:empty { display: none; }
.ibc-2fa-deadline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0 0!important;color:#38586b;font:13px/1.4 Arial,sans-serif!important;letter-spacing:0}
.ibc-2fa-deadline .dashicons{width:18px;height:18px;font-size:18px;color:#007f8b}
.ibc-2fa-deadline strong{min-width:5ch;font:700 15px/1.4 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#0c3747}
