:root{--green:#0b4b3f;--green2:#103f36;--gold:#d5aa27;--ink:#17211e;--line:#d6dcda;--bg:#e4e6e6}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Georgia,"Times New Roman",serif;color:var(--ink)}
body.hifadhi-login-body{background:linear-gradient(135deg,#e9eaea,#dfe1e1)}
.h-login-stage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:26px}
.h-login-shell{width:min(960px,94vw);min-height:580px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 15px 38px rgba(0,0,0,.16)}
.h-login-info{background:linear-gradient(150deg,var(--green2),var(--green));color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px 46px}
.h-info-inner{width:100%;max-width:400px}
.h-seal{height:152px;display:flex;align-items:center;justify-content:center}
.h-seal img{width:148px;height:148px;object-fit:contain;display:block;filter:drop-shadow(0 4px 7px rgba(0,0,0,.14))}
.h-login-info h1{font-size:39px;line-height:1.02;letter-spacing:1.4px;margin:8px 0 9px}
.h-login-info h1 span{color:var(--gold)}
.h-gold-rule{width:82px;height:3px;background:var(--gold);margin:0 auto 13px}
.h-login-info h2{font-size:20px;line-height:1.3;margin:0 auto;font-weight:600;max-width:350px}
.h-support{margin-top:42px;font-size:16px;line-height:1.45}
.h-support h3{font-size:17px;margin:0 0 18px}
.h-support p{margin:15px 0}
.h-support b{display:block;margin-bottom:3px}
.h-support a{display:block;color:#f0c532;text-decoration:none}
.h-login-form-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:34px 52px}
.h-form-inner{width:100%;max-width:400px}
.h-judiciary-title{text-align:center;color:#153b33;font-size:31px;font-weight:700;margin:0 0 12px}
.h-form-logo{text-align:center;height:114px;display:flex;align-items:center;justify-content:center;margin:0 0 3px}
.h-form-logo img{width:220px;max-width:100%;height:104px;object-fit:contain;display:block;margin:0 auto}
.h-form-inner>h2{text-align:center;color:var(--green);font-size:23px;letter-spacing:.7px;margin:4px 0 2px}
.h-login-label{text-align:center;margin:0 0 20px;font-size:16px}
form>label{display:block;font-weight:700;font-size:16px;margin:15px 0 8px}
form>label span{color:#c62828}
.h-form-inner input[type=email],.h-password input{width:100%;height:48px;border:1px solid #cbd2d0;border-radius:5px;padding:0 13px;font-family:Arial,sans-serif;font-size:14px;outline:none;background:#fff}
.h-form-inner input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,75,63,.10)}
.h-password{position:relative}
.h-password input{padding-right:46px}
.h-password button{position:absolute;right:3px;top:3px;width:42px;height:42px;border:0;background:transparent;font-size:17px;cursor:pointer;color:#111}
.h-options{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:19px 0 24px;font-size:14px}
.h-options a{color:var(--green);text-decoration:none}
.h-options a:hover{text-decoration:underline}
.h-remember{font-family:Arial,sans-serif;display:flex;align-items:center;gap:7px}
.h-submit{width:100%;height:48px;border:0;border-radius:5px;background:var(--green);color:#fff;font:700 16px Georgia,"Times New Roman",serif;cursor:pointer}
.h-submit:hover{background:#083e34}
.h-alert{background:#fff1f0;color:#9e2018;border:1px solid #efc8c4;border-radius:5px;padding:10px 12px;font-family:Arial,sans-serif;font-size:13px;margin:12px 0}
@media(max-width:760px){
  .h-login-stage{padding:14px;align-items:flex-start}
  .h-login-shell{grid-template-columns:1fr;min-height:auto}
  .h-login-info{padding:26px 22px}
  .h-seal{height:118px}.h-seal img{width:112px;height:112px}
  .h-login-info h1{font-size:30px;margin-top:10px}.h-login-info h2{font-size:17px}
  .h-support{margin-top:24px;font-size:14px}.h-support h3{margin-bottom:11px}.h-support p{margin:9px 0}
  .h-login-form-panel{padding:28px 24px 32px}.h-judiciary-title{font-size:27px}
  .h-form-logo{height:96px}.h-form-logo img{width:190px;height:90px}
  .h-form-inner>h2{font-size:21px}.h-options{font-size:13px}
}
@media(max-width:400px){.h-options{align-items:flex-start;flex-direction:column;margin-bottom:20px}}
