*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f3fa;color:#282044}a{color:#623cb1}.auth-grid{min-height:100vh;display:grid;grid-template-columns:minmax(300px,44%) 1fr}.auth-brand{background:linear-gradient(145deg,#372061,#6845aa);color:#fff;padding:clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between}.auth-brand h1{font-size:clamp(35px,4vw,64px);letter-spacing:-2px;line-height:1.08}.auth-brand p{max-width:400px;line-height:1.7;color:#e1d8f4}.brand-chip{display:inline-flex;gap:10px;align-items:center;font-size:20px;font-weight:800}.brand-chip span{display:grid;place-items:center;background:#ffcb39;color:#372061;width:43px;height:43px;border-radius:14px}.auth-main{display:grid;place-items:center;padding:35px}.auth-card{width:min(100%,470px);background:white;border:1px solid #eee9f5;border-radius:24px;padding:clamp(26px,5vw,46px);box-shadow:0 22px 65px #35235d12}.auth-card h2{font-size:30px;letter-spacing:-.7px;margin:0 0 10px}.muted{color:#7c7591;line-height:1.55}.field{margin:22px 0}.field label{display:block;font-weight:700;font-size:14px;margin-bottom:9px}.field input{width:100%;height:52px;border:1px solid #ddd6e8;border-radius:12px;padding:0 15px;font:inherit;background:#fff}.field input:focus{outline:3px solid #e2d4ff;border-color:#7148b5}.pass-wrap{position:relative}.pass-wrap input{padding-right:58px}.pass-wrap button{position:absolute;right:7px;top:7px;height:38px;width:43px;border:0;background:#f5f0ff;border-radius:9px;cursor:pointer}.primary-btn{width:100%;border:0;border-radius:12px;background:#633eaa;color:#fff;height:52px;font:inherit;font-weight:800;cursor:pointer}.primary-btn:hover{background:#4a278e}.auth-links{margin-top:20px;display:flex;justify-content:space-between;gap:12px;font-size:14px}.alert{padding:13px 16px;border-radius:12px;margin:18px 0;background:#f1eaff;color:#503381}.alert.error{background:#fff0f1;color:#9c2534}.alert ul{margin:0;padding-left:20px}@media(max-width:780px){.auth-grid{grid-template-columns:1fr}.auth-brand{padding:25px;min-height:170px}.auth-brand h1{font-size:27px;letter-spacing:-1px;margin:20px 0 0}.auth-brand p{display:none}.auth-main{padding:20px}.auth-card{padding:25px}}
/* Kidz City authentication rules - consistent links and icon visibility */
.auth-grid a,.auth-grid a:link,.auth-grid a:visited,.auth-grid a:hover,.auth-grid a:focus,.auth-grid a:active{text-decoration:none!important}
.auth-grid a:hover{color:#48248f}
.pass-wrap input{padding-right:66px}
.pass-wrap button{display:grid;place-items:center;right:7px;top:7px;width:42px;height:38px;padding:7px;color:#603ba6;line-height:1}
.pass-wrap button svg{width:22px;height:22px;display:block}
.pass-wrap button svg[hidden]{display:none!important}
.pass-wrap button:focus-visible{outline:3px solid #b29adf;outline-offset:2px}

/* V3 branding */
.brand-chip{background:transparent;color:inherit;padding:0;text-decoration:none!important;display:inline-flex;align-items:center;width:fit-content}.kc-brand-logo--auth{width:190px;max-width:55vw;max-height:118px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 10px rgba(20,10,40,.12))}.auth-grid a,.auth-grid a:hover{text-decoration:none!important}

.kc-remember{display:inline-flex;align-items:center;gap:10px;margin:0 0 19px;cursor:pointer;color:#352455;font-size:14px;font-weight:650}.kc-remember input{width:18px;height:18px;accent-color:#633eaa;cursor:pointer}.kc-remember input:focus-visible{outline:3px solid #c4a4fa;outline-offset:2px}
