/* Tulip Tower V48.36 — resident password recovery / password visibility / anti-spam UI */
.password-wrap-v4836{position:relative;display:block;width:100%}
.password-wrap-v4836>input{width:100%;padding-right:48px!important}
.password-toggle-v4836{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#647b8e;display:grid;place-items:center;cursor:pointer;padding:0;z-index:2;transition:background .16s ease,color .16s ease}
.password-toggle-v4836:hover,.password-toggle-v4836:focus-visible{background:rgba(19,68,103,.08);color:#123f61;outline:none}
.password-toggle-v4836 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-toggle-v4836.is-visible{color:#174d73;background:rgba(23,77,115,.08)}
.auth-login-meta-v4836{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;font-size:13.5px;line-height:1.45}
.auth-login-meta-v4836 label{display:flex;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;margin:0!important;color:#5e7080}
.auth-login-meta-v4836 input[type=checkbox]{width:auto!important;margin:0}
.auth-login-meta-v4836 a{color:#174d73;text-decoration:none;font-weight:700;white-space:nowrap}
.auth-login-meta-v4836 a:hover{text-decoration:underline}
.resident-honeypot-v4836{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

.resident-auth-page-v4836 .inner-main{min-height:calc(100svh - 160px)}
.resident-auth-v4836{min-height:calc(100svh - 120px);padding:112px 20px 70px;background:radial-gradient(circle at 15% 8%,rgba(213,228,238,.78),transparent 33%),linear-gradient(180deg,#f8fafb 0%,#eef3f6 100%);display:grid;place-items:start center}
.resident-auth-v4836__shell{width:min(100%,560px)}
.resident-auth-v4836__back{display:inline-flex;align-items:center;gap:8px;min-height:42px;color:#5b7082;text-decoration:none;font-size:14px;font-weight:700;margin-bottom:18px}
.resident-auth-v4836__back:hover{color:#163f60}
.resident-auth-v4836__card{background:rgba(255,255,255,.96);border:1px solid rgba(20,61,92,.1);border-radius:24px;padding:36px;box-shadow:0 24px 70px rgba(22,49,70,.11)}
.resident-auth-v4836__icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:#edf4f8;color:#174b72;margin-bottom:20px}
.resident-auth-v4836__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.resident-auth-v4836__eyebrow{display:block;color:#9b7b48;font-size:11.5px;line-height:1.2;font-weight:800;letter-spacing:.14em;margin-bottom:9px}
.resident-auth-v4836 h1{margin:0;color:#112f49;font-size:clamp(30px,4vw,40px);line-height:1.15;font-weight:760;letter-spacing:-.025em}
.resident-auth-v4836__card>p{margin:14px 0 24px;color:#657889;font-size:15px;line-height:1.65}
.resident-auth-v4836__form{display:grid;gap:16px}
.resident-auth-v4836__form label{display:grid;gap:8px;color:#2b475d;font-size:13.5px;font-weight:750}
.resident-auth-v4836__form input{height:48px;border:1px solid #d5e0e7;border-radius:12px;background:#fff;padding:0 14px;color:#16364f;font:inherit;font-size:15px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}
.resident-auth-v4836__form input:focus{border-color:#6e9ab8;box-shadow:0 0 0 3px rgba(66,126,166,.11)}
.resident-auth-v4836__submit{min-height:50px;border:0;border-radius:12px;background:#123f62;color:#fff;font-size:14px;font-weight:800;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform .16s ease,background .16s ease}
.resident-auth-v4836__submit:hover{background:#0d3554;transform:translateY(-1px)}
.resident-auth-v4836__alert{border-radius:12px;padding:12px 14px;margin:0 0 18px;font-size:13.5px;line-height:1.55}
.resident-auth-v4836__alert.is-success{background:#edf8f2;border:1px solid #cfe8da;color:#286044}
.resident-auth-v4836__alert.is-error{background:#fff2f2;border:1px solid #f0d3d3;color:#8a3f3f}
.resident-auth-v4836__foot{margin-top:20px;padding-top:18px;border-top:1px solid #e8edf1;display:flex;justify-content:center;gap:7px;flex-wrap:wrap;color:#708191;font-size:13.5px}
.resident-auth-v4836__foot a{color:#174d73;font-weight:800;text-decoration:none}

@media(max-width:767.98px){
  .auth-login-meta-v4836{font-size:14px;gap:10px}
  .resident-auth-v4836{padding:86px 14px 42px;min-height:calc(100svh - 80px)}
  .resident-auth-v4836__card{padding:24px 18px;border-radius:20px}
  .resident-auth-v4836__icon{width:50px;height:50px;border-radius:15px;margin-bottom:16px}
  .resident-auth-v4836 h1{font-size:31px}
  .resident-auth-v4836__card>p{font-size:15.5px;line-height:1.6;margin-bottom:21px}
  .resident-auth-v4836__form label{font-size:14px}
  .resident-auth-v4836__form input{height:50px;font-size:16px}
  .resident-auth-v4836__submit{min-height:52px;font-size:15px}
  .password-toggle-v4836{width:38px;height:38px;right:7px}
}
@media(max-width:390px){
  .auth-login-meta-v4836{align-items:flex-start;flex-direction:column;gap:7px}
  .resident-auth-v4836{padding-inline:12px}
  .resident-auth-v4836__card{padding:22px 15px}
}

/* V48.39 — modal close button geometry polish */
.modal .dialog-head > .close{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  aspect-ratio:1/1;
  flex:0 0 40px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  border:1px solid rgba(20,65,91,.13)!important;
  background:#edf3f5!important;
  color:#173f57!important;
  font-family:Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.modal .dialog-head > .close:hover{
  background:#e4edf1!important;
  border-color:rgba(20,65,91,.22)!important;
  box-shadow:0 5px 14px rgba(18,61,84,.12);
  transform:rotate(90deg);
}
.modal .dialog-head > .close:focus-visible{
  outline:2px solid rgba(36,105,141,.35)!important;
  outline-offset:2px;
}
@media (max-width:767px){
  .modal .dialog-head > .close{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex-basis:38px!important;
    font-size:24px!important;
  }
}
