:root{
  --green:#075e3b;
  --green-dark:#03492d;
  --green-deep:#023b26;
  --yellow:#f5c518;
  --text:#17211d;
  --muted:#667085;
  --line:#e4e7ec;
  --surface:#fff;
  --bg:#f6f8f7;
  --danger:#b42318;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
body{min-height:100vh;padding:10px 10px 0}
.auth-shell{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(520px,45%) minmax(0,55%);overflow:hidden;border-radius:14px 14px 0 0;background:#fff;box-shadow:0 8px 30px rgba(16,24,40,.06)}
.auth-brand{position:relative;min-height:760px;overflow:hidden;background:var(--green-dark);color:#fff}
.auth-brand-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  /* Focal point of the ORIGINAL photo: center the four-column portico,
     not the geometric center of the full building frontage. */
  object-position:46% 50%;
  user-select:none;
  pointer-events:none;
}
.auth-brand-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,45,31,.20) 0%,rgba(2,55,37,.08) 42%,rgba(2,57,38,.36) 67%,rgba(1,56,37,.92) 100%)}
.auth-brand-content{position:relative;z-index:1;height:100%;min-height:760px;display:flex;flex-direction:column;justify-content:space-between;padding:34px 44px 30px;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.auth-brand-heading{text-align:center;max-width:540px;margin:0 auto}
.auth-logo{width:78px;height:90px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}
.auth-brand h1{margin:10px 0 3px;font-size:34px;line-height:1.08;letter-spacing:-.025em}
.auth-subtitle{margin:0;color:#ffe05b;font-size:18px;font-weight:750}
.brand-rule{display:flex;justify-content:center;gap:0;margin:14px auto 15px}.brand-rule span{display:block;width:38px;height:3px}.brand-rule span:nth-child(1){background:#16814f}.brand-rule span:nth-child(2){background:var(--yellow)}.brand-rule span:nth-child(3){background:rgba(255,255,255,.55)}
.auth-tagline{font-size:14px;line-height:1.5;margin:0}
.auth-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
.benefit{display:flex;align-items:flex-start;gap:10px;min-width:0}.benefit-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);font-size:20px;font-weight:800}.benefit strong{display:block;font-size:13px;margin:1px 0 4px}.benefit small{display:block;font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.92)}
.auth-main{position:relative;display:flex;justify-content:center;align-items:center;padding:88px 40px 40px;background:radial-gradient(circle at 65% 15%,#fff 0,#f8faf9 45%,#f4f7f5 100%)}
.auth-clock{position:absolute;top:18px;right:24px;display:flex;align-items:center;gap:14px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.86);color:#475467;font-size:12px;box-shadow:0 2px 8px rgba(16,24,40,.03)}
.clock-separator{width:1px;height:20px;background:var(--line)}.clock-time{color:#1d2939;font-variant-numeric:tabular-nums}
.login-column{width:min(100%,500px)}
.login-card,.destination-card{background:#fff;border:1px solid #edf0ee;border-radius:18px;box-shadow:0 12px 32px rgba(16,24,40,.06)}
.login-card{padding:30px 32px}
.login-lock{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:#e8f5ee;color:var(--green);font-size:25px;font-weight:800}
.login-card h2{text-align:center;margin:0;font-size:27px;letter-spacing:-.025em;color:#075332}
.login-intro{text-align:center;color:#475467;font-size:13px;margin:8px 0 24px}
.message{margin:0 0 16px;padding:11px 13px;border-radius:9px;font-size:12.5px;line-height:1.45}.message-error{background:#feeceb;color:#b42318}.message-success{background:#eaf6ef;color:#067647}.message-info{background:#eff8ff;color:#175cd3}
.login-form label:not(.remember-row){display:block;font-size:12.5px;font-weight:750;margin:16px 0 7px}
.input-wrap{position:relative}.input-wrap input{width:100%;height:48px;padding:0 45px;border:1px solid #d7dde3;border-radius:9px;background:#fff;color:#101828;font-size:14px;outline:none;transition:.15s}.input-wrap input:focus{border-color:#48a078;box-shadow:0 0 0 3px rgba(7,94,59,.10)}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#667085;z-index:1}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;color:#667085;cursor:pointer;border-radius:7px}.password-toggle:hover{background:#f2f4f7}
.remember-row{display:flex;align-items:center;gap:8px;margin:16px 0 0;font-size:12.5px;color:#344054;cursor:pointer}.remember-row input{width:16px;height:16px;accent-color:var(--green)}
.login-button{width:100%;height:47px;margin-top:20px;border:0;border-radius:8px;background:linear-gradient(180deg,#0a7448,#056039);color:#fff;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 5px 12px rgba(7,94,59,.15)}.login-button:hover{filter:brightness(.96)}
.security-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px;border-radius:10px;background:linear-gradient(90deg,#eef7f2,#f5f8f6);color:#1d2939}.security-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#dff2e7;color:var(--green);font-weight:900}.security-note strong{font-size:12px;color:#075332}.security-note p{margin:3px 0 0;font-size:10.5px;line-height:1.5;color:#344054}
.destination-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:17px 20px}.destination-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef6ff;color:#1570ef;font-size:20px}.destination-card small{display:block;color:#475467;font-size:11px;margin-bottom:5px}.destination-card strong{display:block;font-size:13px}.destination-card p{margin:3px 0 0;color:#667085;font-size:10.5px}.destination-arrow{font-size:26px;color:#667085}.destination-neutral{grid-template-columns:42px minmax(0,1fr)}
.auth-footer{min-height:50px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:12px;padding:0 30px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#075e3b,#03492d);color:#fff;font-size:11px}.auth-footer span:nth-child(2),.auth-footer span:nth-child(3){text-align:center}.auth-footer span:last-child{text-align:right}
@media(max-width:1100px){
  .auth-shell{grid-template-columns:42% 58%}.auth-brand-content{padding-left:26px;padding-right:26px}.auth-benefits{grid-template-columns:1fr}.benefit small{font-size:10px}.auth-main{padding-left:28px;padding-right:28px}
}
@media(max-width:820px){
  body{padding:0}.auth-shell{display:block;border-radius:0;min-height:auto}.auth-brand{min-height:390px}.auth-brand-content{min-height:390px;padding:22px 22px 20px}.auth-brand-photo{object-position:50% 48%}.auth-logo{width:56px;height:65px}.auth-brand h1{font-size:27px}.auth-subtitle{font-size:15px}.auth-tagline{font-size:12px}.auth-benefits{grid-template-columns:repeat(3,1fr);gap:8px}.benefit{display:block;text-align:center}.benefit-icon{margin:0 auto 6px}.benefit small{display:none}.auth-main{padding:78px 16px 28px}.auth-clock{left:16px;right:16px;top:16px;justify-content:center}.login-card{padding:24px 20px}.auth-footer{grid-template-columns:1fr 1fr;padding:12px 18px;gap:8px;border-radius:0}.auth-footer span,.auth-footer span:nth-child(2),.auth-footer span:nth-child(3),.auth-footer span:last-child{text-align:center}}
@media(max-width:480px){
  .auth-brand{min-height:350px}.auth-brand-content{min-height:350px}.auth-brand-heading{margin-top:0}.auth-benefits{grid-template-columns:repeat(3,1fr)}.benefit strong{font-size:10.5px}.benefit-icon{width:36px;height:36px;font-size:17px}.login-card h2{font-size:23px}.auth-footer{grid-template-columns:1fr;font-size:10.5px}
}


/* =========================================================
   AUTH visual corrective patch v0.5.1
   ========================================================= */
.auth-icon{
  display:block;
  flex:0 0 auto;
}

.benefit-icon,
.login-lock,
.input-icon,
.security-icon,
.destination-icon{
  line-height:0;
}

.input-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
}

.password-toggle{
  display:grid;
  place-items:center;
}

.login-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.destination-arrow{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  color:#667085;
  line-height:0;
}

/* Keep the photo focal point stable on common desktop sizes. */
@media(min-width:1101px){
  .auth-brand-photo{object-position:46% 50%}
}

@media(min-width:821px) and (max-width:1100px){
  .auth-brand-photo{object-position:45% 50%}
}

@media(max-width:820px){
  .auth-brand-photo{object-position:46% 48%}
}

.password-toggle.is-visible{
  color:var(--green);
  background:#eef7f2;
}


/* v0.5.4 — administrative login intent */
.message-info{
  border:1px solid #b2ddff;
}


/* =========================================================
   Master Application Navigation v0.7.7
   ========================================================= */
.back-to-app-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  margin-top:10px;
  padding:0 14px;
  border:1px solid #d6dfdb;
  border-radius:8px;
  background:#f8faf9;
  color:#344054;
  text-decoration:none;
  font-size:12.5px;
  font-weight:700;
  transition:.18s ease;
}
.back-to-app-button:hover{
  border-color:#9fc8b2;
  background:#eef7f2;
  color:#075e3b;
}

/* AUTH self-update reauthentication notice v0.11.7 */
.update-reauth-notice{display:flex;flex-direction:column;gap:4px}
.update-reauth-notice strong{font-size:12px}
.update-reauth-notice span{font-size:10.5px;line-height:1.5}
