/* ===== AUTH POPUP ===== */
.auth-overlay{position:fixed;inset:0;background:rgba(10,20,15,0.55);backdrop-filter:blur(6px);z-index:9999;display:none;align-items:center;justify-content:center;}
.auth-overlay.open{display:flex;}
.auth-popup{background:#fff;border-radius:24px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 24px 60px rgba(39,174,96,0.18),0 4px 24px rgba(0,0,0,0.12);position:relative;animation:authPop 0.32s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes authPop{from{transform:scale(0.82) translateY(30px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
.auth-top{background:linear-gradient(135deg,#1a5c34 0%,#27ae60 60%,#2ecc71 100%);padding:38px 36px 32px;position:relative;overflow:hidden;}
.auth-top-circles{position:absolute;inset:0;pointer-events:none;}
.auth-top-circles span{position:absolute;border-radius:50%;background:rgba(255,255,255,0.07);}
.auth-top-circles span:nth-child(1){width:160px;height:160px;top:-50px;right:-40px;}
.auth-top-circles span:nth-child(2){width:90px;height:90px;bottom:-20px;left:20px;}
.auth-top-circles span:nth-child(3){width:50px;height:50px;top:20px;left:50%;}
.auth-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.auth-logo-icon{width:42px;height:42px;background:rgba(255,255,255,0.18);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.auth-logo-name{color:#fff;font-size:18px;font-weight:800;letter-spacing:.3px;font-family:'Poppins',sans-serif;}
.auth-headline{color:#fff;font-size:22px;font-weight:800;font-family:'Poppins',sans-serif;line-height:1.25;margin-bottom:6px;}
.auth-subline{color:rgba(255,255,255,0.75);font-size:13px;}
.auth-tabs{display:flex;background:rgba(255,255,255,0.15);border-radius:12px;padding:4px;margin-top:20px;gap:4px;}
.auth-tab{flex:1;text-align:center;padding:8px 0;border-radius:9px;font-size:13px;font-weight:600;color:rgba(255,255,255,0.7);cursor:pointer;transition:all 0.2s;}
.auth-tab.active{background:#fff;color:#27ae60;}
.auth-body{padding:28px 36px 32px;}
.auth-form{display:none;}
.auth-form.active{display:block;}
.auth-field{margin-bottom:16px;}
.auth-field label{display:block;font-size:11.5px;font-weight:700;color:#27ae60;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.auth-field-wrap{display:flex;align-items:center;background:#f4fbf7;border:1.5px solid #d4edda;border-radius:12px;overflow:hidden;transition:border-color 0.2s;}
.auth-field-wrap:focus-within{border-color:#27ae60;background:#fff;box-shadow:0 0 0 3px rgba(39,174,96,0.1);}
.auth-field-wrap span{padding:0 14px;font-size:16px;color:#27ae60;}
.auth-field-wrap input{flex:1;border:none;background:none;outline:none;padding:11px 14px 11px 0;font-size:13.5px;color:#1a1a2e;}
.auth-field-wrap input::placeholder{color:#b0c8b8;}
.auth-forgot{text-align:right;font-size:11.5px;color:#27ae60;text-decoration:none;display:block;margin-top:-8px;margin-bottom:16px;font-weight:600;cursor:pointer;}
.auth-btn{width:100%;padding:13px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;font-size:15px;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 16px rgba(39,174,96,0.3);letter-spacing:.3px;}
.auth-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(39,174,96,0.4);}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#ccc;font-size:12px;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:#eee;}
.auth-social{display:flex;gap:10px;}
.auth-social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1.5px solid #eee;border-radius:12px;font-size:12.5px;font-weight:600;color:#444;cursor:pointer;transition:all 0.2s;background:#fff;}
.auth-social-btn:hover{border-color:#27ae60;color:#27ae60;background:#f4fbf7;}
.auth-switch{text-align:center;margin-top:20px;font-size:12.5px;color:#888;}
.auth-switch a{color:#27ae60;font-weight:700;text-decoration:none;cursor:pointer;}
.auth-close{position:absolute;top:16px;right:18px;width:30px;height:30px;background:rgba(255,255,255,0.18);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#fff;transition:background 0.2s;border:none;}
.auth-close:hover{background:rgba(255,255,255,0.32);}

.btn-login{background:rgba(255,255,255,0.15);border:1.5px solid rgba(255,255,255,0.6);padding:8px 22px;border-radius:20px;font-size:13px;cursor:pointer;color:#fff;font-weight:500;transition:all 0.2s;}
.btn-signup{background:#fff;color:#27ae60;border:none;padding:9px 22px;border-radius:20px;font-size:13px;cursor:pointer;font-weight:700;transition:all 0.2s;}

.btn-login,
  .btn-signup {
    padding: 8px 14px;
    font-size: 12px;
  }
  .btn-login,
.btn-signup {
  flex-shrink: 0;
}
.btn-login,
  .btn-signup {
    padding: 7px 12px !important;
    font-size: 11.5px !important;
    border-radius: 14px !important;
  }
.auth-forgot{cursor:pointer;}
.auth-forgot:hover{text-decoration:underline;}



.auth-popup-overlay{
    background:rgba(10,20,15,.72);
}
.auth-popup-overlay{
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    backdrop-filter:blur(4px);
}
.auth-popup-overlay.open{
    display:flex;
}
.auth-popup-box{
    position:relative;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(0,0,0,.28);
    color:#1a1a1a;
}
.auth-popup-close{
    position:absolute;
    right:14px;
    top:14px;
    z-index:3;
    width:34px;
    height:34px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:16px;
    backdrop-filter:blur(8px);
}
.auth-popup-header{
    padding:20px 20px 14px;
}
.auth-popup-brand{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.auth-popup-logo{
    width:38px;
    height:38px;
    border-radius:10px;
    background:rgba(255,255,255,.18);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    color:#fff;
}
.auth-popup-brand-name{
    font-size:16px;
    font-weight:800;
    color:#fff;
}
.auth-popup-tabs{
    display:flex;
    gap:8px;
}
.auth-popup-tab{
    flex:1;
    border:none;
    cursor:pointer;
    padding:9px 12px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    background:rgba(255,255,255,.16);
    color:rgba(255,255,255,.8);
}
.auth-popup-tab.active{
    background:#fff;
    color:var(--ap-btn-color);
}
.auth-popup-body{
    padding:20px;
    background:var(--ap-popup-bg);
}
.auth-pane{
    display:none;
}
.auth-pane.active{
    display:block;
}
.auth-popup-title{
    font-size:var(--ap-headline-size);
    line-height:1.2;
    font-weight:800;
    margin:0 0 6px;
    color:#1a1a1a;
}
.auth-popup-subtitle{
    margin:0 0 16px;
    font-size:13px;
    color:#6b7280;
}
.auth-field{
    margin-bottom:13px;
}
.auth-field label{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    color:var(--ap-label-color);
}
.auth-field input{
    width:100%;
    border:1.5px solid #dfe5ee;
    border-radius:12px;
    padding:12px 14px;
    font-size:var(--ap-input-size);
    outline:none;
    background:#f8fafc;
}
.auth-field input:focus{
    border-color:var(--ap-input-focus);
    box-shadow:0 0 0 3px rgba(39,174,96,.09);
}
.auth-forgot-wrap{
    text-align:right;
    margin:-2px 0 12px;
}
.auth-forgot-wrap a{
    font-size:12px;
    text-decoration:none;
    color:var(--ap-label-color);
    font-weight:700;
}
.auth-main-btn{
    width:100%;
    border:none;
    cursor:pointer;
    border-radius:12px;
    padding:12px 16px;
    font-size:var(--ap-btn-size);
    font-weight:800;
    background:var(--ap-btn-color);
    color:var(--ap-btn-text-color);
    margin-top:4px;
}
.auth-divider{
    position:relative;
    text-align:center;
    margin:18px 0 14px;
}
.auth-divider::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:#e8edf3;
}
.auth-divider span{
    position:relative;
    z-index:1;
    background:var(--ap-popup-bg);
    padding:0 10px;
    font-size:12px;
    color:#7b8794;
    font-weight:700;
}
.auth-social-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.auth-social-btn{
    width:100%;
    border:1.5px solid #e3e8ef;
    background:#fff;
    border-radius:12px;
    padding:11px 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    color:#1f2937;
}
.auth-social-icon{
    font-size:16px;
    line-height:1;
}
@media (max-width: 576px){
    .auth-popup-header{padding:18px 16px 12px;}
    .auth-popup-body{padding:16px;}
}