/* ADESS Attendance Cloud Login UI V9.5.9 */
:root{
  --adess-navy:#071326;
  --adess-blue:#3157ff;
  --adess-violet:#6a43ff;
  --adess-cyan:#0ec7ff;
  --adess-soft:#edf4ff;
  --adess-muted:#6b7b91;
  --adess-card:rgba(255,255,255,.84);
  --adess-border:rgba(118,143,185,.28);
  --adess-shadow:0 28px 70px rgba(13,31,62,.18);
}
html,body{min-height:100%;height:100%;}
body.adess-login-page,
body:has(.adess-login-shell){
  margin:0!important;
  min-height:100svh!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 18%, rgba(49,87,255,.22), transparent 24rem),
    radial-gradient(circle at 88% 8%, rgba(14,199,255,.22), transparent 20rem),
    radial-gradient(circle at 82% 86%, rgba(106,67,255,.22), transparent 22rem),
    linear-gradient(135deg,#f7fbff 0%,#eef5ff 45%,#f7f3ff 100%)!important;
  color:var(--adess-navy)!important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}
body.adess-login-page::before,
body:has(.adess-login-shell)::before{
  content:"";
  position:fixed;
  inset:-30%;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,.38) 49%, transparent 56% 100%),
    repeating-linear-gradient(135deg, rgba(49,87,255,.07) 0 1px, transparent 1px 28px);
  animation:adessLoginDrift 16s ease-in-out infinite alternate;
  opacity:.8;
}
@keyframes adessLoginDrift{from{transform:translate3d(-1.5rem,-.8rem,0) rotate(-1deg)}to{transform:translate3d(1.2rem,.8rem,0) rotate(1deg)}}
.adess-login-shell{
  position:relative;
  z-index:1;
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:clamp(14px,3vw,28px);
  box-sizing:border-box;
}
.adess-login-wrap{
  width:min(980px,100%);
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(18px,4vw,42px);
  align-items:center;
}
.adess-login-hero{
  padding:clamp(8px,2vw,24px);
}
.adess-login-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#32518a;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(90,120,180,.18);
  border-radius:999px;
  padding:9px 13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  box-shadow:0 10px 30px rgba(23,55,112,.08);
}
.adess-login-kicker::before{content:"";width:9px;height:9px;border-radius:50%;background:#20c997;box-shadow:0 0 0 6px rgba(32,201,151,.14)}
.adess-login-title{
  margin:20px 0 10px;
  font-size:clamp(36px,6.3vw,72px);
  line-height:.94;
  letter-spacing:-.07em;
  font-weight:950;
}
.adess-login-title span{display:block;background:linear-gradient(95deg,var(--adess-navy),#173c8a 55%,var(--adess-violet));-webkit-background-clip:text;background-clip:text;color:transparent;}
.adess-login-subtitle{max-width:520px;color:var(--adess-muted);font-size:clamp(15px,2vw,20px);line-height:1.5;margin:0 0 22px;}
.adess-login-badges{display:flex;flex-wrap:wrap;gap:10px;}
.adess-login-badges span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(95,122,178,.2);background:rgba(255,255,255,.62);border-radius:999px;padding:9px 12px;font-weight:900;color:#1b315c;font-size:12px;}
.adess-login-card{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:430px;
  margin-inline:auto;
  border:1px solid var(--adess-border);
  border-radius:28px;
  background:var(--adess-card);
  box-shadow:var(--adess-shadow);
  backdrop-filter:blur(18px);
  padding:clamp(22px,3.2vw,34px)!important;
  box-sizing:border-box;
}
.adess-login-card::before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:linear-gradient(90deg,var(--adess-blue),var(--adess-violet),var(--adess-cyan));}
.adess-login-card .adess-brand-mini{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.adess-login-card .adess-logo-dot{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--adess-blue),var(--adess-violet));display:grid;place-items:center;color:white;font-weight:950;box-shadow:0 14px 34px rgba(74,70,255,.32)}
.adess-login-card .adess-brand-mini strong{display:block;font-size:20px;letter-spacing:-.04em;}
.adess-login-card .adess-brand-mini small{display:block;color:var(--adess-muted);font-weight:800;margin-top:2px;}
.adess-login-card h1,.adess-login-card h2,.adess-login-card h3{font-size:26px!important;line-height:1.1!important;margin:0 0 8px!important;letter-spacing:-.04em!important;}
.adess-login-card p{color:var(--adess-muted)!important;line-height:1.45!important;margin:0 0 22px!important;}
.adess-login-card label{display:block!important;font-weight:950!important;color:#14213d!important;margin:14px 0 8px!important;font-size:13px!important;}
.adess-login-card input[type="text"],
.adess-login-card input[type="password"],
.adess-login-card input[type="email"]{
  width:100%!important;
  min-height:52px!important;
  border-radius:16px!important;
  border:1px solid rgba(85,115,170,.28)!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
  padding:0 16px!important;
  box-sizing:border-box!important;
  color:var(--adess-navy)!important;
  font-weight:800!important;
  outline:none!important;
}
.adess-login-card input:focus{border-color:rgba(49,87,255,.75)!important;box-shadow:0 0 0 5px rgba(49,87,255,.12)!important;}
.adess-login-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset!important;}
.adess-login-remember-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 18px;}
.adess-remember-label{display:inline-flex!important;align-items:center;gap:9px;margin:0!important;color:#40506d!important;font-size:13px!important;font-weight:900!important;cursor:pointer;}
.adess-remember-label input{width:18px;height:18px;accent-color:var(--adess-blue);}
.adess-forgot-link{color:#3456ff;text-decoration:none;font-size:13px;font-weight:900;}
.adess-login-card button,
.adess-login-card input[type="submit"]{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,var(--adess-blue),var(--adess-violet))!important;
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  box-shadow:0 18px 34px rgba(74,70,255,.32)!important;
  cursor:pointer!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
.adess-login-card button:hover,
.adess-login-card input[type="submit"]:hover{transform:translateY(-1px);box-shadow:0 22px 40px rgba(74,70,255,.38)!important;}
.adess-login-footer-note{text-align:center;color:#75849b;font-size:12px;font-weight:800;margin-top:16px;}
.adess-login-card .error,.adess-login-card .alert,.adess-login-card .message{border-radius:14px!important;padding:12px 14px!important;margin:0 0 14px!important;font-weight:900!important;}
@media (max-width:780px){
  body.adess-login-page,body:has(.adess-login-shell){overflow:auto!important;}
  .adess-login-shell{place-items:start center;padding:14px;}
  .adess-login-wrap{display:block;max-width:430px;}
  .adess-login-hero{padding:4px 4px 14px;}
  .adess-login-title{font-size:42px;margin:12px 0 6px;}
  .adess-login-title span{display:inline;}
  .adess-login-subtitle{font-size:14px;margin-bottom:10px;}
  .adess-login-badges{display:none;}
  .adess-login-card{border-radius:24px;padding:22px!important;}
  .adess-login-card .adess-brand-mini{margin-bottom:14px;}
}
@media (max-height:620px){
  .adess-login-shell{padding:10px;}
  .adess-login-title{font-size:34px;margin:8px 0 4px;}
  .adess-login-subtitle{display:none;}
  .adess-login-card{padding:18px!important;}
  .adess-login-card input[type="text"],.adess-login-card input[type="password"]{min-height:46px!important;}
  .adess-login-card button,.adess-login-card input[type="submit"]{min-height:48px!important;}
}
