:root{
  --mhm-navy:#0b3850;
  --mhm-navy-2:#0f536d;
  --mhm-orange:#e95a22;
  --mhm-bg:#f5f8fb;
  --mhm-card:#ffffff;
  --mhm-text:#152631;
  --mhm-muted:#687985;
  --mhm-line:#dce6ec;
  --mhm-danger:#b42318;
  --mhm-success:#087443;
  --mhm-shadow:0 24px 70px rgba(12,44,61,.14);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--mhm-bg)}
body.auth-page{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--mhm-text);background:
 radial-gradient(circle at 10% 12%,rgba(15,83,109,.11),transparent 31%),
 radial-gradient(circle at 90% 88%,rgba(233,90,34,.09),transparent 30%),
 linear-gradient(145deg,#f7fbfd 0%,#f2f6f9 52%,#fff8f4 100%);
 display:flex;align-items:center;justify-content:center;padding:24px;overflow-x:hidden}
.auth-page:before,.auth-page:after{content:"";position:fixed;border-radius:999px;pointer-events:none;filter:blur(2px);opacity:.7;animation:mhmFloat 9s ease-in-out infinite alternate}
.auth-page:before{width:230px;height:230px;left:-95px;top:9%;border:1px solid rgba(15,83,109,.15)}
.auth-page:after{width:300px;height:300px;right:-165px;bottom:2%;border:1px solid rgba(233,90,34,.14);animation-delay:-3s}
@keyframes mhmFloat{from{transform:translateY(-8px) scale(.98)}to{transform:translateY(12px) scale(1.03)}}
.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr);background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.85);box-shadow:var(--mhm-shadow);border-radius:28px;overflow:hidden;backdrop-filter:blur(16px);animation:mhmEnter .48s ease-out both}
@keyframes mhmEnter{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
.auth-brand{padding:54px 50px;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:600px;background:linear-gradient(145deg,var(--mhm-navy) 0%,#0c445c 58%,var(--mhm-navy-2) 100%);color:#fff;isolation:isolate}
.auth-brand:after{content:"";position:absolute;inset:auto -80px -120px auto;width:310px;height:310px;border-radius:50%;background:rgba(255,255,255,.045);z-index:-1}
.brand-lockup{display:flex;align-items:center;gap:15px;margin-bottom:34px}
.brand-logo{width:74px;height:74px;object-fit:contain;border-radius:20px;background:#fff;padding:5px;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.brand-fallback{width:74px;height:74px;border-radius:20px;background:#fff;color:var(--mhm-navy);display:grid;place-items:center;font-size:28px;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.brand-name{font-size:26px;font-weight:800;letter-spacing:-.02em}.brand-tag{font-size:13px;color:rgba(255,255,255,.72);margin-top:2px}
.auth-brand h1{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.045em;margin:0 0 18px;max-width:520px}
.auth-brand p{font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);max-width:520px;margin:0}
.auth-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px}.auth-point{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);border-radius:16px;padding:13px 14px;font-size:13px;color:rgba(255,255,255,.84)}
.auth-main{padding:46px 44px;display:flex;align-items:center;background:rgba(255,255,255,.94)}
.auth-panel{width:100%;max-width:430px;margin:auto}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mhm-navy-2);background:#edf7fa;border:1px solid #d7ecf2;border-radius:999px;padding:7px 10px;margin-bottom:15px}.auth-title{font-size:31px;line-height:1.1;margin:0 0 8px;letter-spacing:-.035em}.auth-subtitle{margin:0 0 24px;color:var(--mhm-muted);font-size:14px;line-height:1.55}
.auth-form{display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:700;color:#334c5a}.input-wrap{position:relative}.input-wrap input,.field select{appearance:none;width:100%;height:50px;border:1px solid var(--mhm-line);border-radius:14px;background:#fff;color:var(--mhm-text);font:inherit;font-size:15px;padding:0 14px;outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}.input-wrap input:focus,.field select:focus{border-color:#66a9bf;box-shadow:0 0 0 4px rgba(15,83,109,.10)}.input-wrap input[type=password],.input-wrap input[data-password]{padding-right:52px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:40px;height:38px;border:0;background:transparent;border-radius:10px;color:#4e6978;display:grid;place-items:center;cursor:pointer;padding:0}.password-toggle:hover{background:#eef5f8;color:var(--mhm-navy)}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.primary-btn{width:100%;height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--mhm-navy),var(--mhm-navy-2));color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(11,56,80,.18);transition:transform .16s,box-shadow .16s}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 13px 26px rgba(11,56,80,.23)}.primary-btn:active{transform:translateY(0)}
.auth-alert{border-radius:13px;padding:11px 13px;font-size:13px;line-height:1.45;margin:0 0 15px}.auth-alert.error{color:#8f251d;background:#fff1ef;border:1px solid #ffd6d1}.auth-alert.success{color:#06603a;background:#ebfaf2;border:1px solid #c8efd9}.auth-switch{text-align:center;color:var(--mhm-muted);font-size:13px;margin:20px 0 0}.auth-switch a{color:var(--mhm-navy-2);font-weight:800;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-note{font-size:12px;color:#80909a;line-height:1.5;margin-top:9px}.auth-footer{text-align:center;color:#8b99a1;font-size:11px;margin-top:23px}.otp-input{text-align:center!important;font-size:26px!important;letter-spacing:.28em!important;font-weight:800!important;padding-left:calc(14px + .28em)!important}.role-select{background-image:linear-gradient(45deg,transparent 50%,#607785 50%),linear-gradient(135deg,#607785 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px!important}
@media(max-width:820px){body.auth-page{padding:0;background:#f5f8fb}.auth-shell{min-height:100vh;width:100%;display:block;border-radius:0;border:0;box-shadow:none;background:#fff}.auth-brand{min-height:auto;padding:25px 22px 24px;border-radius:0 0 28px 28px}.brand-lockup{margin-bottom:18px}.brand-logo,.brand-fallback{width:56px;height:56px;border-radius:15px}.brand-name{font-size:21px}.auth-brand h1{font-size:27px;margin-bottom:10px}.auth-brand p{font-size:13px;line-height:1.55}.auth-points{display:none}.auth-main{padding:28px 20px 34px}.auth-panel{max-width:500px}.auth-title{font-size:27px}.input-wrap input,.field select,.primary-btn{height:52px;font-size:16px}}
@media(max-width:390px){.auth-brand{padding:20px 16px 21px}.auth-main{padding:24px 16px 28px}.auth-title{font-size:25px}.brand-tag{font-size:11px}.brand-logo,.brand-fallback{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
