/* KP Admin authentication shell: shared by sign in, registration and recovery. */
:root{--auth-navy:#17233b;--auth-blue:#315fba;--auth-ink:#172033;--auth-muted:#667085;--auth-line:#d8dee8;--auth-radius:8px}
body.kp-auth{min-height:100vh;margin:0;background:#f7f8fa;color:var(--auth-ink)}
.kp-auth main{min-height:100vh;display:grid!important;grid-template-columns:minmax(360px,44%) minmax(0,56%);background:#fff}

/* The left panel supplies context without competing with the form. */
.kp-auth-brand{position:relative;padding:42px clamp(34px,6vw,90px);display:flex;flex-direction:column;background:var(--auth-navy);color:#fff;overflow:hidden}
.kp-auth-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:330px;height:330px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.kp-auth-brand-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px}.kp-auth-brand-mark{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:17px;font-weight:700}
.kp-auth .kp-auth-brand-mark,.kp-auth .kp-auth-brand-mark:hover,.kp-auth .kp-auth-brand-mark span{color:#fff!important;text-decoration:none}.kp-auth-brand-mark img{width:42px;height:42px;padding:5px;border-radius:8px;background:#fff;object-fit:contain}
.kp-auth-languages{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.kp-auth-language{margin:0}.kp-auth-language button{min-height:36px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid #52617e;border-radius:6px;background:#22304b;color:#fff;font-size:11px;font-weight:650;box-shadow:none;cursor:pointer}.kp-auth-language button:hover{border-color:#7890b8;background:#2a3a59}.kp-auth-language button:focus{border-color:#9db5df;outline:0}.kp-auth-language button span{color:#a9c4f4;font-size:15px;line-height:1}
.kp-auth-brand-copy{position:relative;z-index:1;margin:auto 0;max-width:510px}.kp-auth-eyebrow{display:block;margin-bottom:18px;color:#a9c4f4;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.kp-auth-brand-copy h2{max-width:480px;margin:0 0 18px;color:#fff;font-size:clamp(32px,4vw,52px);font-weight:650;line-height:1.08;letter-spacing:-1.6px}.kp-auth-brand-copy p{max-width:460px;margin:0;color:#c4cde0;font-size:15px;line-height:1.7}
.kp-auth-points{position:relative;z-index:1;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap;list-style:none;color:#d6ddeb;font-size:11px}.kp-auth-points li{display:flex;align-items:center;gap:7px}.kp-auth-points span{width:19px;height:19px;display:grid;place-items:center;border:1px solid #5f759b;border-radius:50%;color:#a9c4f4;font-size:10px}

/* Existing page markup becomes the quiet form pane. */
.kp-auth main>.container{width:100%;max-width:none;padding:34px clamp(26px,7vw,100px);justify-content:center!important;background:#fff}
.kp-auth main>.container>.row{width:100%;min-height:0!important;height:auto!important;margin:0;display:block}
.kp-auth main>.container>.row>[class*="col-"]{width:100%;max-width:500px;height:auto!important;margin:0 auto!important;display:block!important}
.kp-auth .d-table-cell{display:block!important;vertical-align:initial!important}.kp-auth .text-center.mt-4{margin:0 0 24px!important;text-align:left!important}
.kp-auth .text-center.mt-4 h1{margin:0 0 8px;color:var(--auth-ink);font-size:28px;font-weight:700;letter-spacing:-.7px}.kp-auth .text-center.mt-4{color:var(--auth-muted);font-size:13px}
.kp-auth .card{margin:0;border:1px solid var(--auth-line);border-radius:var(--auth-radius);background:#fff;box-shadow:0 18px 45px rgba(23,32,51,.08);overflow:hidden}.kp-auth .card-body{padding:34px}.kp-auth .m-sm-4{margin:0!important}
.kp-auth .card .text-center:first-child:has(img){display:none}.kp-auth .form-label{margin-bottom:7px;color:#344054;font-size:11px;font-weight:650}.kp-auth .form-control{min-height:44px;padding:10px 12px;border:1px solid #cfd6e1;border-radius:6px!important;background:#fff;color:var(--auth-ink);font-size:13px;box-shadow:none!important}.kp-auth .form-control:focus{border-color:#77859b;outline:0;box-shadow:none!important}
.kp-auth .form-check{font-size:11px}.kp-auth .form-check-input{border-color:#aab4c3;box-shadow:none!important}.kp-auth .form-check-input:checked{border-color:var(--auth-blue);background-color:var(--auth-blue)}.kp-auth a{color:#2855a4;font-weight:600;text-decoration:none}.kp-auth a:hover{text-decoration:underline}
.kp-auth form>.text-center.mt-3 .btn,.kp-auth .btn-primary{width:100%;min-height:44px;border:1px solid #294f99;border-radius:6px!important;background:var(--auth-blue);font-size:12px;font-weight:700;box-shadow:none!important}.kp-auth .btn-primary:hover{background:#294f99;border-color:#294f99}.kp-auth form>.text-center.mt-3:last-child{color:var(--auth-muted);font-size:11px}
.kp-auth .alert{border-radius:6px;font-size:11px}.kp-auth small.text-muted{font-size:10px;line-height:1.5}
.kp-auth .kp-password-field{position:relative}.kp-auth .kp-password-field .form-control{padding-right:44px}.kp-auth .kp-password-toggle{position:absolute;right:6px;top:50%;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:#667085;transform:translateY(-50%);box-shadow:none}.kp-auth .kp-password-toggle:hover{background:#f2f4f7}.kp-auth .kp-password-toggle.is-visible{color:var(--auth-blue)}

@media(max-width:900px){.kp-auth main{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start}.kp-auth-brand{min-height:0;padding:18px 26px;align-self:start}.kp-auth-brand-copy,.kp-auth-points{display:none}.kp-auth main>.container{min-height:calc(100vh - 78px);padding:40px 22px;justify-content:flex-start!important}}
@media(max-width:575px){.kp-auth-brand{padding:16px 18px}.kp-auth-brand-mark img{width:36px;height:36px}.kp-auth-brand-mark span{display:none}.kp-auth-language button{min-height:34px;padding:0 9px}.kp-auth main>.container{padding:28px 14px}.kp-auth .card-body{padding:24px 20px}.kp-auth .text-center.mt-4 h1{font-size:24px}}
