*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#16a34a;--green-d:#14532d;--green-l:#dcfce7;--green-xl:#f0fdf4;
  --text:#0f172a;--text2:#334155;--text3:#64748b;
  --border:#e2e8f0;--bg:#f8fafc;
  --r:10px;--r-lg:16px;
  --red-l:#fee2e2;--red-d:#991b1b;
}
body{
  font-family:'Inter',sans-serif;color:var(--text);
  background:linear-gradient(135deg,#052e16 0%,#14532d 45%,#166534 100%);
  min-height:100vh;
}
.bn{font-family:'Hind Siliguri','Inter',sans-serif}
a{color:inherit;text-decoration:none}

.auth-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:30px 16px;position:relative;
}
.auth-box{
  background:#fff;border-radius:var(--r-lg);padding:36px 32px;width:100%;max-width:420px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.auth-logo{display:block;text-align:center;font-size:22px;font-weight:800;color:var(--green);margin-bottom:6px}
.auth-sub{text-align:center;font-size:14px;color:var(--text3);margin-bottom:22px}

.auth-error{
  background:var(--red-l);color:var(--red-d);border-radius:var(--r);
  padding:10px 14px;font-size:13px;margin-bottom:16px;
}
.auth-success{
  background:var(--green-xl);color:var(--green-d);border-radius:var(--r);
  padding:10px 14px;font-size:13px;margin-bottom:16px;
}

.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:5px}
.form-group input,.form-group select{
  width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--r);
  font-size:15px;background:#fff;transition:.2s;
}
.form-group input:focus,.form-group select:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.12);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px}
.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}
.auth-link{color:var(--green);font-weight:600}

.auth-btn{
  width:100%;padding:12px;background:var(--green);color:#fff;border:none;
  border-radius:var(--r);font-size:16px;font-weight:700;cursor:pointer;transition:.15s;
}
.auth-btn:hover{background:var(--green-d)}

.auth-switch{text-align:center;font-size:14px;color:var(--text3);margin-top:18px}
.auth-switch a{color:var(--green);font-weight:600}
.auth-demo-note{
  text-align:center;font-size:12px;color:var(--text3);margin-top:10px;
  background:var(--bg);border-radius:var(--r);padding:8px;
}

.plan-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:5px}
.plan-opt{
  padding:10px 6px;border:2px solid var(--border);border-radius:var(--r);
  text-align:center;cursor:pointer;transition:.15s;font-size:13px;display:block;
}
.plan-opt .price{font-weight:800;font-size:15px;color:var(--text);display:block;margin-top:2px}
.plan-opt:hover{border-color:var(--green)}
.plan-opt.selected{border-color:var(--green);background:var(--green-xl)}

.trial-note{
  background:var(--green-xl);border:1px solid var(--green-l);border-radius:var(--r);
  padding:10px 14px;font-size:13px;color:var(--green-d);margin-bottom:16px;
}

.auth-lang{
  position:absolute;top:20px;right:20px;
  padding:6px 14px;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r);
  font-size:13px;font-weight:600;color:#fff;transition:.15s;
}
.auth-lang:hover{background:rgba(255,255,255,.1)}

@media(max-width:480px){
  .form-row{grid-template-columns:1fr}
  .auth-box{padding:28px 22px}
}
