/* v10.93.0 standalone login styles: the login page no longer downloads the full application CSS. */
:root{--ink:#14201d;--muted:#66736f;--line:#dfe7e3;--paper:#fff;--brand:#0a8f68;--brand-dark:#087454;--brand-soft:#e3f5ee;--danger:#b63a3a;--surface:#fff;--surface-muted:#f5f8f6;--input-border:#cdd9d4;--focus-ring:rgba(10,143,104,.12)}
*{box-sizing:border-box}
body{margin:0;min-width:320px;color:var(--ink);background:#f4f7f5;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
button,input{font:inherit}
[hidden]{display:none!important}
.staff-login-page{min-height:100dvh;background:linear-gradient(145deg,#f4fff8,#edf5fb)}
.staff-login-shell{display:grid;place-items:center;min-height:100dvh;padding:24px}
.staff-login-card{display:grid;gap:16px;width:min(460px,100%);padding:34px;border:1px solid #cfe2d7;border-radius:26px;background:#fff;box-shadow:0 24px 80px rgba(12,48,32,.13)}
.staff-login-card>img{width:150px;max-height:68px;object-fit:contain;object-position:left center}
.staff-login-card h1,.staff-login-card p{margin:0}.staff-login-card h1{font-size:clamp(30px,5vw,42px);letter-spacing:-.035em}
.staff-login-card form{display:grid;gap:14px}.staff-login-card form>.button,.staff-login-card>a.button{justify-content:center;width:100%}
.eyebrow{margin:0;color:var(--brand);font-size:11px;font-weight:800;letter-spacing:.14em}.meta,.staff-login-note{color:var(--muted);font-size:12px;line-height:1.55}
.field{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:700}.field input{width:100%;border:1px solid var(--input-border);border-radius:11px;padding:11px 12px;color:var(--ink);background:#fff;font-weight:500;outline:none}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}
.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.password-control:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--focus-ring)}.password-control input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.password-toggle{min-width:66px;border:0;border-left:1px solid var(--line);background:var(--surface-muted);color:var(--brand);font-weight:750;cursor:pointer}
.button{display:inline-flex;align-items:center;min-height:45px;padding:0 18px;border:0;border-radius:13px;cursor:pointer;font-weight:750;text-decoration:none}.button:disabled{cursor:not-allowed;opacity:.42}.button-primary{background:var(--brand);color:#fff}.button-primary:hover:not(:disabled){background:var(--brand-dark)}.button-secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.form-error{color:var(--danger);font-weight:700}
.portal-entry-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid #e5eee9;
}

.portal-entry-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #cfe2d7;
  border-radius: 12px;
  color: #17624a;
  background: #f7fcf9;
  font-weight: 700;
  text-decoration: none;
}

.portal-entry-links a:hover,
.portal-entry-links a:focus-visible {
  border-color: #2aa876;
  background: #edf9f2;
}

.admin-login-page {
  background: linear-gradient(145deg, #f3f8ff, #f4fff8);
}

.admin-login-page .staff-login-card {
  border-color: #cddced;
}

@media (max-width: 520px) {
  .portal-entry-links { grid-template-columns: 1fr; }
  .staff-login-shell { padding: 14px; }
  .staff-login-card { padding: 22px 18px; border-radius: 20px; }
}
