.auth-overlay{
 position:fixed;inset:0;z-index:3000;
 display:none;align-items:center;justify-content:center;
 padding:18px;background:rgba(15,23,42,.58);
 backdrop-filter:blur(3px)
}
.auth-overlay.open{display:flex}
.auth-card{
 width:min(430px,100%);max-height:92vh;overflow:auto;
 background:#fff;border-radius:22px;
 box-shadow:0 24px 80px rgba(0,0,0,.24)
}
.auth-head{
 display:flex;align-items:center;justify-content:space-between;
 padding:18px 20px 10px
}
.auth-brand{display:flex;align-items:center;gap:10px}
.auth-brand img{
 width:42px;height:42px;border-radius:10px;object-fit:cover
}
.auth-brand strong{display:block;color:#173b2d}
.auth-brand small{display:block;color:#718078;font-size:11px}
.auth-close{
 border:0;background:#f2f5f3;width:36px;height:36px;
 border-radius:50%;font-size:24px;cursor:pointer
}
.auth-tabs{
 display:grid;grid-template-columns:1fr 1fr;
 margin:8px 20px 16px;padding:4px;
 background:#f3f6f4;border-radius:12px
}
.auth-tab{
 border:0;background:transparent;padding:10px;
 border-radius:9px;font-weight:800;color:#66736d;cursor:pointer
}
.auth-tab.active{background:#fff;color:#0f6b45;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.auth-body{padding:0 20px 22px}
.auth-title{margin:0 0 5px;color:#173b2d;font-size:22px}
.auth-subtitle{margin:0 0 18px;color:#718078;font-size:13px;line-height:1.5}
.auth-field{margin-bottom:12px}
.auth-field label{
 display:block;margin-bottom:6px;font-size:12px;
 font-weight:800;color:#34483f
}
.auth-field input{
 width:100%;box-sizing:border-box;border:1px solid #d8e1dc;
 border-radius:11px;padding:12px 13px;font-size:14px;outline:none
}
.auth-field input:focus{border-color:#0f6b45}
.auth-password-wrap{position:relative}
.auth-password-wrap input{padding-right:78px}
.auth-password-toggle{
 position:absolute;right:10px;top:50%;
 transform:translateY(-50%);
 border:0;background:transparent;
 color:#0f6b45;font-size:12px;
 font-weight:850;cursor:pointer;padding:6px
}
.auth-submit{
 width:100%;border:0;border-radius:12px;padding:13px;
 background:#0f6b45;color:#fff;font-weight:900;cursor:pointer
}
.auth-submit:disabled{opacity:.6;cursor:not-allowed}
.auth-message{
 min-height:18px;margin:10px 0 0;
 color:#c0392b;font-size:12px;line-height:1.45
}
.auth-switch{
 margin-top:16px;text-align:center;
 color:#718078;font-size:12px
}
.auth-switch button{
 border:0;background:none;color:#0f6b45;
 font-weight:900;cursor:pointer
}
@media(max-width:600px){
 .auth-overlay{align-items:flex-end;padding:0}
 .auth-card{
  width:100%;max-height:92vh;
  border-radius:22px 22px 0 0
 }
}
