.form-note{border-radius:var(--radius-md);padding:12px 16px;font-size:.9rem;margin-bottom:1.1rem;}
.form-note-error{background:#FDEBEB;border:1px solid #F3B5B5;color:#9B1C1C;}
.form-note-success{background:#E9F5EC;border:1px solid #B5DCC0;color:#1F6E37;}

.ks-pass-row{position:relative;}
.ks-pass-row .form-control{padding-right:2.6rem;}
.ks-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--gray);cursor:pointer;font-size:1rem;line-height:1;padding:6px;}
.ks-eye.on{color:var(--maroon);}

.ks-terms-label{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--gray);cursor:pointer;}
.ks-terms-label input{accent-color:var(--maroon);margin-top:3px;width:16px;height:16px;flex-shrink:0;}
.ks-terms-label a{color:var(--maroon);font-weight:600;}
.ks-terms-label a:hover{color:var(--gold-dark);}

.ks-gender{display:flex;gap:12px;flex-wrap:wrap;}
.ks-gender-card{position:relative;flex-direction:column;width:84px;padding:12px 8px;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--white);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s;text-align:center;}
.ks-gender-card:hover{border-color:var(--gold);}
.ks-gender-card.active{border-color:var(--maroon);background:var(--cream-soft);box-shadow:0 0 0 4px rgba(122,31,61,.10);}
.ks-gender-card .kg-ic{font-size:1.6rem;line-height:1;color:var(--maroon);}
.ks-gender-card .kg-txt{font-size:.82rem;font-weight:600;color:var(--ink);}
.ks-gender-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.ks-gender-card:focus-within{outline:3px solid var(--gold);outline-offset:2px;}

.ks-terms{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;margin:1rem 0;}
.ks-terms .ks-terms-label{justify-content:flex-start;}

.otp-group{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:1.4rem 0 .4rem;}
.otp-box{width:52px;height:58px;text-align:center;font-size:1.5rem;font-weight:600;border:2px solid var(--border);border-radius:12px;background:var(--white);color:var(--ink);transition:border-color .2s,box-shadow .2s;}
.otp-box:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.18);outline:none;}
@media (max-width:480px){.otp-group{gap:6px;}.otp-box{width:42px;height:50px;font-size:1.2rem;}}
@media (max-width:360px){.otp-box{width:38px;height:46px;}}