:root{--ink:#151515;--muted:#6f6a66;--paper:#fffdfa;--soft:#f9f4ee;--peach:#ffab65;--peachDeep:#e8751d;--peach2:#ffd9bd;--line:#eadfd5}
*{box-sizing:border-box}body.portal-login{margin:0;min-height:100vh;font-family:"DM Sans",sans-serif;color:var(--ink);background:
radial-gradient(900px 420px at 10% -10%,rgba(255,171,101,.28),transparent 60%),
radial-gradient(700px 380px at 100% 0%,rgba(232,117,29,.12),transparent 55%),
linear-gradient(180deg,#fffdfa 0%,#f6f1eb 100%)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px}
.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px 24px;box-shadow:0 22px 60px rgba(34,23,14,.1)}
.login-card--signup{width:min(540px,100%)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;outline:none;background:#fffdfa}
.field select:focus{border-color:#ef9a55;box-shadow:0 0 0 3px rgba(255,171,101,.14)}
.tiny-note{margin:0 0 14px;font-size:11px;color:var(--muted);line-height:1.5}
.parvesh-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.login-logo{display:block;margin:0 auto 6px;text-align:center;text-decoration:none}
.login-logo img{display:block;height:58px;width:auto;max-width:min(280px,78vw);margin:0 auto;object-fit:contain;object-position:center}
.login-portal-label{margin:0 0 18px;text-align:center;font:800 11px Manrope;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.login-brand .mark{width:42px;height:42px;border-radius:50%;background:var(--peach);display:grid;place-items:center;font:800 16px Manrope;color:var(--peachDeep)}
.login-brand strong{display:block;font:800 15px Manrope}
.login-brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.login-card h1{font:800 28px/1.05 Manrope;letter-spacing:-.04em;margin:0 0 8px}
.login-card .lead{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.55}
.login-alert{border-radius:11px;padding:11px 12px;font-size:12px;margin-bottom:14px}
.login-alert.err{background:#fff0ef;border:1px solid #f0c4c2;color:#a84040}
.login-alert.ok{background:#eef8f2;border:1px solid #c7e6d4;color:#287653}
.field{display:grid;gap:6px;margin-bottom:12px}
.field label{font:800 10px Manrope;letter-spacing:.08em;text-transform:uppercase;color:#716963}
.field input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;outline:none;background:#fffdfa}
.field input:focus{border-color:#ef9a55;box-shadow:0 0 0 3px rgba(255,171,101,.14)}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 16px;font-size:12px;color:var(--muted)}
.row label{display:flex;align-items:center;gap:7px;cursor:pointer}
.btn-login{width:100%;border:0;border-radius:11px;padding:13px 16px;background:var(--peachDeep);color:#fff;font-weight:800;font-size:14px;cursor:pointer}
.btn-login:hover{filter:brightness(.95);color:#fff}
.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
a.btn-login{display:block;text-align:center;text-decoration:none;box-sizing:border-box;color:#fff}
.btn-login--ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-login--ghost:hover{background:var(--soft);filter:none;color:var(--ink)}
.btn-login--signin{margin-top:8px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-login--signin:hover{background:var(--soft);filter:none;color:var(--ink)}
.switch{margin-top:16px;text-align:center;font-size:12px;color:var(--muted)}
.switch a{color:var(--peachDeep);font-weight:800}
.back{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;color:#5f5852}
@media(max-width:480px){
  .login-shell{padding:18px 12px}
  .login-card{padding:22px 16px 18px;border-radius:16px}
  .login-card h1{font-size:24px}
  .field-grid{grid-template-columns:1fr}
}

/* Admin login — split layout */
body.portal-login--admin{
  background:#121110;
  min-height:100vh;
}
.admin-login{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(280px,1.05fr) minmax(320px,0.95fr);
}
.admin-login-brand{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:32px;
  padding:40px 44px;
  color:#fff;
  background:
    radial-gradient(700px 420px at 20% 0%,rgba(255,171,101,.22),transparent 55%),
    linear-gradient(160deg,#1a1614 0%,#2a231e 48%,#3d2e22 100%);
}
.admin-login-logo{
  display:inline-flex;
  align-self:flex-start;
  background:#fff8f1;
  border-radius:14px;
  padding:12px 16px;
  line-height:0;
}
.admin-login-logo img{
  display:block;
  height:48px;
  width:auto;
  max-width:min(240px,70vw);
  object-fit:contain;
}
.admin-login-eyebrow{
  display:inline-block;
  font:700 11px/1 Manrope;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#ffc08c;
  margin-bottom:12px;
}
.admin-login-brand-copy h2{
  margin:0 0 12px;
  font:700 clamp(28px,3.5vw,40px)/1.12 Manrope;
  letter-spacing:-.03em;
}
.admin-login-brand-copy p{
  margin:0 0 22px;
  color:#d8d0c8;
  font-size:15px;
  line-height:1.6;
  max-width:38ch;
}
.admin-login-points{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.admin-login-points li{
  position:relative;
  padding-left:22px;
  color:#eee5dd;
  font-size:14px;
  line-height:1.45;
}
.admin-login-points li:before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--peach);
}
.admin-login-brand-foot{
  display:grid;
  gap:4px;
  font-size:13px;
  color:#a8a29e;
}
.admin-login-brand-foot strong{
  color:#fff;
  font-size:14px;
}
.admin-login-panel{
  display:grid;
  place-items:center;
  padding:36px 24px;
  background:
    radial-gradient(600px 320px at 90% 0%,rgba(255,171,101,.18),transparent 55%),
    linear-gradient(180deg,#fffdfa 0%,#f3eee7 100%);
}
.login-card--admin{
  width:min(420px,100%);
  border-radius:20px;
  padding:32px 28px 28px;
  box-shadow:0 22px 60px rgba(34,23,14,.12);
}
.admin-login-mobile-logo{display:none;text-align:center;margin-bottom:8px}
.admin-login-mobile-logo a{
  display:inline-flex;
  background:#fff8f1;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 14px;
  line-height:0;
}
.admin-login-mobile-logo img{
  display:block;
  height:44px;
  width:auto;
  max-width:200px;
  object-fit:contain;
}
.login-card--admin h1{
  font:700 30px/1.1 Manrope;
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.login-card--admin .lead{font-size:14px;margin-bottom:20px}
.login-card--admin .btn-login{
  background:var(--peachDeep);
  color:#fff;
  font-size:15px;
  padding:14px 16px;
  border-radius:12px;
}
@media(max-width:900px){
  .admin-login{grid-template-columns:1fr}
  .admin-login-brand{display:none}
  .admin-login-mobile-logo{display:block}
  .admin-login-panel{min-height:100vh;padding:24px 16px}
}

