/* ============================================================
 * AgroPoint V7 public authentication
 * Dedicated, responsive login / registration / password flow.
 * ============================================================ */
.ag-auth-page{
  min-height:calc(100vh - 72px);
  display:grid;
  place-items:center;
  padding:clamp(28px,6vw,72px) 18px;
  background:
    radial-gradient(circle at 12% 15%,rgba(99,233,129,.12),transparent 25rem),
    linear-gradient(180deg,#f6faf7 0%,#edf5f0 100%);
}
.ag-auth-shell{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(410px,.78fr);
  min-height:610px;
  overflow:hidden;
  border:1px solid rgba(17,77,62,.11);
  border-radius:24px;
  background:#fff;
  box-shadow:0 26px 72px rgba(11,61,47,.12);
}
.ag-auth-shell.ag-auth-shell-wide{grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);}
.ag-auth-visual{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  padding:clamp(28px,4vw,48px);
  background:#104d3e center/cover no-repeat;
}
.ag-auth-visual::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,48,37,.18),rgba(7,48,37,.88));
}
.ag-auth-visual-copy{max-width:520px;color:#fff;}
.ag-auth-kicker{display:block;margin-bottom:10px;color:#90efa3;font-size:12px;font-weight:700;letter-spacing:.03em;}
.ag-auth-visual h2{margin:0;color:#fff;font-size:clamp(28px,3vw,42px);line-height:1.16;font-weight:700;letter-spacing:-.025em;}
.ag-auth-visual p{margin:14px 0 0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65;}
.ag-auth-benefits{display:grid;gap:8px;margin:20px 0 0;padding:0;list-style:none;}
.ag-auth-benefits li{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.86);font-size:12.5px;line-height:1.4;}
.ag-auth-benefits li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:50%;background:rgba(99,233,129,.16);color:#8df0a0;font-weight:700;}
.ag-auth-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4.5vw,58px);background:#fff;}
.ag-auth-brand{display:inline-flex;align-items:center;width:max-content;margin-bottom:24px;}
.ag-auth-brand img{display:block;max-width:180px;height:52px;object-fit:contain;object-position:left center;}
.ag-auth-heading{margin:0;color:#143b30;font-size:clamp(27px,2.5vw,35px);line-height:1.18;font-weight:700;letter-spacing:-.025em;}
.ag-auth-lead{margin:9px 0 0;color:#70817a;font-size:13.5px;line-height:1.6;}
.ag-auth-lead a,.ag-auth-link{color:#0d8a49;font-weight:700;text-decoration:none;}
.ag-auth-lead a:hover,.ag-auth-link:hover{text-decoration:underline;}
.ag-auth-form{display:grid;gap:15px;margin-top:25px;}
.ag-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ag-auth-field{display:grid;gap:7px;text-align:left;}
.ag-auth-field label{color:#294d42;font-size:12.5px;line-height:1.4;font-weight:700;}
.ag-auth-field input,.ag-auth-field select{
  width:100%;min-height:45px;padding:10px 12px;
  border:1px solid #d7e2dc;border-radius:10px;background:#fff;
  color:#1b3d33;font:400 13.5px/1.4 inherit;outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.ag-auth-field input:focus,.ag-auth-field select:focus{border-color:#57b978;box-shadow:0 0 0 3px rgba(68,190,102,.12);}
.ag-auth-field input::placeholder{color:#9aa7a2;}
.ag-auth-error{margin:0;color:#c9363c;font-size:11.5px;line-height:1.45;}
.ag-auth-status{padding:10px 12px;border:1px solid #cce8d4;border-radius:9px;background:#effaf2;color:#176e43;font-size:12px;line-height:1.5;}
.ag-auth-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.ag-auth-check{display:flex;align-items:flex-start;gap:8px;color:#536960;font-size:12px;line-height:1.45;}
.ag-auth-check input{width:17px;height:17px;margin-top:1px;accent-color:#22b85f;}
.ag-auth-submit{width:100%;min-height:46px;padding:10px 16px;border:0;border-radius:10px;background:#5fe97d;color:#103c31;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 9px 22px rgba(68,195,99,.16);transition:background-color .15s ease,box-shadow .15s ease;}
.ag-auth-submit:hover{background:#50dc6f;box-shadow:0 12px 26px rgba(68,195,99,.22);}
.ag-auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0;color:#91a099;font-size:11px;}
.ag-auth-divider::before,.ag-auth-divider::after{content:"";height:1px;flex:1;background:#e5ece8;}
.ag-auth-google{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;padding:9px 13px;border:1px solid #dbe4df;border-radius:10px;background:#fff;color:#344f46;font-size:12.5px;font-weight:700;text-decoration:none;transition:background-color .15s ease,border-color .15s ease;}
.ag-auth-google:hover{background:#f8faf9;border-color:#cbd8d2;}
.ag-auth-google-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid #dce4e0;color:#4285f4;font:700 13px/1 Arial,sans-serif;}
.ag-auth-code{font-size:21px!important;letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums;}
.ag-auth-success-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border-radius:50%;background:#e9faee;color:#13a353;font-size:28px;font-weight:700;}
@media(max-width:900px){
  .ag-auth-page{padding:24px 14px;}
  .ag-auth-shell,.ag-auth-shell.ag-auth-shell-wide{grid-template-columns:1fr;max-width:620px;min-height:0;}
  .ag-auth-visual{min-height:240px;padding:28px;}
  .ag-auth-card{padding:32px 28px;}
}
@media(max-width:520px){
  .ag-auth-page{padding:14px 10px;}
  .ag-auth-shell{border-radius:17px;}
  .ag-auth-visual{min-height:205px;padding:22px;}
  .ag-auth-visual h2{font-size:27px;}
  .ag-auth-visual p{font-size:12.5px;}
  .ag-auth-card{padding:26px 20px;}
  .ag-auth-grid{grid-template-columns:1fr;}
  .ag-auth-row{align-items:flex-start;flex-direction:column;gap:9px;}
  .ag-auth-brand{margin-bottom:18px;}
}
