/* v1.0.21 — Standalone attendance login and WordPress-core password recovery. */
body.ams-attendance-login-page { margin:0 !important; background:#f4f7f4 !important; color:#152c20; font:400 16px/1.55 'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif; }
body.ams-attendance-login-page *,body.ams-attendance-login-page *::before,body.ams-attendance-login-page *::after { box-sizing:border-box; }
.ams-attendance-login-page a { color:#27652d; }
.ams-login-layout { min-height:100svh; display:grid; grid-template-columns:minmax(320px,0.96fr) minmax(360px,1.04fr); }
.ams-login-intro { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:36px; overflow:hidden; padding:44px clamp(28px,5vw,90px); color:#fff; background:linear-gradient(150deg,#123b27 0%,#216342 65%,#2e7549 100%); }
.ams-login-intro::before { content:""; position:absolute; height:480px; width:480px; border:1px solid rgba(255,255,255,.13); border-radius:50%; right:-210px; bottom:-180px; box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 145px rgba(255,255,255,.02); pointer-events:none; }
.ams-login-identity { position:relative; z-index:1; display:flex; align-items:center; gap:10px; font-size:15px; font-weight:600; letter-spacing:.01em; }
.ams-login-brandmark { display:inline-grid; place-items:center; width:34px; height:34px; background:#fff; color:#276a3e; border-radius:11px; font-size:15px; }
.ams-login-hero { position:relative; z-index:1; max-width:610px; padding:36px 0; }
.ams-login-eyebrow,.ams-login-kicker { font-size:12px; font-weight:650; letter-spacing:.15em; }
.ams-login-eyebrow { color:#b6e5c8; }
.ams-login-hero h1 { font-size:clamp(32px,3.7vw,56px); line-height:1.14; letter-spacing:-.035em; font-weight:600; margin:18px 0; color:#fff; }
.ams-login-hero p { color:#d7e9df; max-width:510px; font-size:16px; line-height:1.8; }
.ams-login-features { display:flex; flex-wrap:wrap; gap:9px; margin-top:32px; }
.ams-login-features span { padding:8px 14px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); border-radius:999px; font-size:13px; }
.ams-login-copyright { position:relative; z-index:1; font-size:12px; color:#b9d6c7; }
.ams-login-panel { min-width:0; padding:50px 28px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; }
.ams-login-form-card { width:min(100%,445px); margin:auto 0; }
.ams-login-logo { display:block; width:auto; max-width:min(100%,240px); max-height:94px; object-fit:contain; object-position:left center; margin:0 0 35px; }
.ams-login-kicker { color:#2d744a; }
.ams-login-form-card h2 { color:#172c20; font-weight:600; font-size:clamp(25px,2.5vw,32px); letter-spacing:-.025em; line-height:1.22; margin:10px 0 10px; }
.ams-login-description { font-size:15px; color:#637569; margin:0 0 30px; }
#amsAttendanceLoginForm { margin:0; padding:0; border:0; background:none; box-shadow:none; }
#amsAttendanceLoginForm p { margin:0 0 18px; }
#amsAttendanceLoginForm label { display:block; margin-bottom:7px; font-size:14px; color:#38483f; font-weight:500; }
#amsAttendanceLoginForm input[type="text"],#amsAttendanceLoginForm input[type="password"] { display:block; width:100%; height:52px; background:#fff; border:1px solid #cbd8cf; border-radius:11px; box-shadow:0 1px 2px rgba(0,0,0,.025); padding:0 15px; font-family:inherit; font-weight:400; font-size:15px; line-height:1.4; color:#162c1c; }
#amsAttendanceLoginForm input:focus-visible { outline:3px solid rgba(49,116,57,.17); border-color:#397e48; }
#amsAttendanceLoginForm .ams-password-field { position:relative; }
#amsAttendanceLoginForm .ams-password-field input { padding-right:68px; }
#amsAttendanceLoginForm .ams-password-toggle { position:absolute; bottom:11px; right:11px; height:29px; border:0; background:transparent; color:#306843; font-family:inherit; font-weight:500; font-size:13px; line-height:1; cursor:pointer; padding:0 7px; }
#amsAttendanceLoginForm .login-remember label { display:flex; align-items:center; gap:8px; font-weight:400; color:#485c4d; cursor:pointer; }
#amsAttendanceLoginForm input[type="checkbox"] { accent-color:#2e6d40; width:17px; height:17px; margin:0; }
#amsAttendanceLoginForm .login-submit { margin-bottom:0; }
#amsAttendanceLoginForm .button-primary,.ams-login-primary-link { display:flex; justify-content:center; align-items:center; width:100%; min-height:52px; background:#2b6b3b; border:1px solid #2b6b3b; border-radius:11px; color:#fff !important; font-family:inherit; font-weight:550; font-size:15px; line-height:1.25; text-decoration:none; cursor:pointer; transition:background .15s ease,transform .15s ease; }
#amsAttendanceLoginForm .button-primary:hover,.ams-login-primary-link:hover { background:#20562e; }
.ams-login-forgot { display:inline-block; margin-top:18px; font-size:14px; font-weight:500; text-decoration:none; }
.ams-login-forgot:hover { text-decoration:underline; }
.ams-login-help { padding:18px 0 0; margin-top:23px; border-top:1px solid #e0e9e2; color:#6b7b70; font-size:13px; }
.ams-login-panel-footer { text-align:center; color:#91a096; font-size:12px; }
.ams-login-error { border:1px solid #f2c1c1; border-radius:10px; background:#fff0f0; padding:12px 14px; margin-bottom:18px; color:#9e2424; font-size:14px; }
.ams-login-secondary-link { display:inline-block; margin-top:20px; font-size:14px; text-decoration:none; }
.ams-login-sso { margin-top:19px; }
.ams-login-sso .att-ms365-login-btn { min-height:50px; border-radius:11px !important; background:#fff !important; color:#254d35 !important; border:1px solid #cdded1 !important; font-size:14px !important; font-weight:500 !important; }
.ams-login-sso .att-ms365-icon { background:#eaf1fc !important; }
@media(max-width:900px) { .ams-login-layout { grid-template-columns:1fr; } .ams-login-intro { min-height:230px; padding:30px 32px; gap:10px; } .ams-login-hero { padding:10px 0; } .ams-login-hero h1 { font-size:30px; margin:6px 0; } .ams-login-hero p { font-size:14px; margin:0; } .ams-login-features,.ams-login-copyright { display:none; } .ams-login-panel { padding:40px 24px 35px; } }
@media(max-width:560px) { .ams-login-intro { padding:23px 23px 27px; min-height:190px; } .ams-login-hero h1 { font-size:25px; } .ams-login-hero p { font-size:13px; line-height:1.55; } .ams-login-panel { padding:32px 20px; } .ams-login-logo { max-height:76px; margin-bottom:23px; } .ams-login-form-card h2 { font-size:25px; } .ams-login-description { margin-bottom:22px; } }
/* Branded WordPress-core lost-password, reset-password and login pages. */
body.login { background:#f2f6f3 !important; color:#253b2c; }
body.login #login { max-width:450px; }
body.login .att-login-pagehead,body.login #login form { box-shadow:0 12px 35px rgba(20,56,31,.07) !important; }
body.login .att-login-pagehead { border-top:4px solid #2b6b3b; }
body.login #login form { border-bottom-color:#d8e6db !important; }
body.login #login form .input { border-radius:11px !important; background:#fff !important; }
body.login #login form .button-primary { border-radius:11px !important; background:#2b6b3b !important; }
body.login .ams-core-login-back { max-width:450px; margin:18px auto 32px; text-align:center; font-size:14px; }
body.login .ams-core-login-back a { color:#2d6841; text-decoration:none; font-weight:500; }
body.login .ams-core-login-back a:hover { text-decoration:underline; }

/* v1.0.23: app-like login on phones and narrow tablet screens. */
@media (max-width:900px) {
  body.ams-attendance-login-page { background:#f4f7f4 !important; }
  .ams-login-layout { display:flex !important; flex-direction:column !important; min-height:100svh; }
  .ams-login-intro { display:none !important; } /* Keep the logo in the form, not a separate header. */
  .ams-login-panel { flex:1; justify-content:center; padding:clamp(22px,5vh,52px) 20px !important; }
  .ams-login-form-card { margin:0 auto; width:min(100%,420px); border:1px solid #e1e9e2; border-radius:24px; background:#fff; padding:28px 24px; box-shadow:0 18px 48px rgba(13,49,24,.08); }
  .ams-login-logo { max-width:min(100%,214px); max-height:90px; margin:0 auto 26px; object-position:center; }
  .ams-login-form-card h2 { font-size:24px; text-align:center; margin:0 0 24px; font-weight:600; }
  .ams-login-description,.ams-login-kicker,.ams-login-help,.ams-login-panel-footer { display:none !important; }
  .ams-login-forgot { display:block; text-align:center; margin-top:16px; }
}
@media (max-width:480px) {
 .ams-login-panel { padding:16px 16px !important; }
 .ams-login-form-card { padding:24px 20px; border-radius:22px; }
 #amsAttendanceLoginForm input[type=text],#amsAttendanceLoginForm input[type=password] { min-height:52px; font-size:16px; }
 #amsAttendanceLoginForm p { margin-bottom:16px; }
 .ams-login-sso { margin-top:14px; }
}
