/* I LOVE EMI: approved blue / gold responsive visual system. Layout only; no auth/business logic changes. */
:root{--approved-navy:#071d48;--approved-blue:#0755cc;--approved-gold:#eab548}
.login-gate:has(.login-card:not(.hidden)){background:radial-gradient(ellipse at 85% 10%,#d8ecff 0%,transparent 48%),linear-gradient(130deg,#e5f3ff,#fff9e9 54%,#d7ecff);gap:0;padding:32px 5vw;overflow:auto}
.login-gate:has(.login-card:not(.hidden))::before{display:none!important}
.approved-login-hero{display:none;width:min(52vw,690px);height:min(74vh,650px);min-height:480px;position:relative;background:linear-gradient(148deg,#052052 8%,#00459e 55%,#031940 100%);border:3px solid #dba53a;border-radius:26px 0 0 26px;box-shadow:0 22px 70px #163b7740;overflow:hidden}
.login-gate:has(.login-card:not(.hidden)) .approved-login-hero{display:block}
.approved-login-hero-inner{height:100%;padding:34px 38px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;position:relative;z-index:1}
.approved-login-hero-inner>img:first-child{width:155px;max-height:95px;object-fit:contain}
.approved-login-hero-inner strong{font-size:clamp(26px,3vw,45px);line-height:1.08;color:#ffdd7a;text-shadow:0 3px 12px #0005;margin:15px 0}
.approved-login-hero-inner span{font-size:14px;color:#e9f4ff;letter-spacing:.025em}
.approved-login-hero-inner .approved-login-shop{margin-top:auto;width:min(100%,490px);height:42%;object-fit:contain;filter:drop-shadow(0 12px 16px #0005)}
.login-gate:has(.login-card:not(.hidden)) .login-card{width:min(410px,42vw);height:min(74vh,650px);min-height:480px;box-sizing:border-box;border-radius:0 26px 26px 0;border:1px solid #e1eaf7;box-shadow:0 22px 70px #163b7725;padding:42px 34px 28px;display:flex;flex-direction:column;justify-content:center}
.login-card .login-brand{text-align:center}.login-card .login-brand img{width:115px;height:90px;object-fit:contain}
.approved-login-heading{text-align:center;font-size:27px;color:#08295e;margin:4px 0 0}
.login-card>p{text-align:center;color:#60718d!important;margin:5px 0 16px!important}
.login-card input{border:1px solid #cbdaf0!important;background:#f8fbff;border-radius:10px!important}
.login-card button[type=submit]{background:linear-gradient(100deg,#075ad6,#003c9d)!important;color:white!important;box-shadow:0 7px 20px #0a4da72a}
.login-card .login-register{margin-top:20px!important}
.login-card .login-close{top:15px;right:15px}
/* Approved palette applied to existing real, interactive components. */
body:not(.mobile-app) aside{background:#061d48!important}
body:not(.mobile-app) aside nav a:hover,body:not(.mobile-app) aside nav a.active{border-left-color:#e6b34b}
body:not(.mobile-app) .management-head h2,body:not(.mobile-app) .gst-dashboard-heading h3{color:#092b66}
body:not(.mobile-app) .gst-dashboard,body:not(.mobile-app) .management-page article{border-radius:16px}
@media(max-width:900px){.login-gate:has(.login-card:not(.hidden)){padding:20px}.login-gate:has(.login-card:not(.hidden)) .approved-login-hero{width:46vw;min-height:500px}.login-gate:has(.login-card:not(.hidden)) .login-card{width:48vw;min-height:500px;padding:34px 20px}}
@media(max-width:650px){.login-gate:has(.login-card:not(.hidden)){display:flex;flex-direction:column;justify-content:flex-start;padding:18px 14px;gap:0}.login-gate:has(.login-card:not(.hidden)) .approved-login-hero{width:min(100%,430px);height:195px;min-height:0;border-radius:22px 22px 0 0;border-bottom:0}.approved-login-hero-inner{padding:10px 16px}.approved-login-hero-inner>img:first-child{height:40px;width:95px}.approved-login-hero-inner strong{font-size:24px;margin:5px 0}.approved-login-hero-inner span{font-size:11px}.approved-login-hero-inner .approved-login-shop{display:none}.login-gate:has(.login-card:not(.hidden)) .login-card{width:min(100%,430px);height:auto;min-height:0;border-radius:0 0 22px 22px;padding:24px 24px 26px}.login-card .login-brand img{height:55px;width:95px}.approved-login-heading{font-size:23px}}
