.auth-locked{overflow:hidden}.auth-gate{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#081522 0%,#10273a 55%,#0b1d2c 100%);display:none;align-items:center;justify-content:center;padding:24px}.auth-gate.show{display:flex}.auth-shell{width:min(930px,100%);min-height:560px;background:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 90px rgba(0,0,0,.35)}.auth-brand-panel{padding:54px;background:linear-gradient(145deg,#0d1726,#122b3f);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-brand{font-size:30px;font-weight:800}.auth-brand span{color:#30d993}.auth-brand-panel h2{font-size:32px;line-height:1.15;margin:30px 0 14px}.auth-brand-panel p{color:#a9b8c8;line-height:1.65;font-size:14px}.auth-security{display:grid;gap:12px;margin-top:30px}.auth-security div{font-size:12px;color:#c5d2de}.auth-security b{color:#30d993;margin-right:8px}.auth-form-panel{padding:50px 48px;display:flex;flex-direction:column;justify-content:center}.auth-form-panel h1{font-size:27px;margin-bottom:8px}.auth-sub{color:#667085;font-size:13px;margin-bottom:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2f5f8;padding:4px;border-radius:10px;margin-bottom:22px}.auth-tabs button{border:0;background:transparent;padding:10px;border-radius:8px;font-weight:700;color:#667085;cursor:pointer}.auth-tabs button.active{background:#fff;color:#0c8755;box-shadow:0 2px 8px rgba(16,24,40,.08)}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:11px;font-weight:700;margin-bottom:7px;color:#344054}.auth-field input{width:100%;height:44px;border:1px solid #dce3ea;border-radius:9px;padding:0 12px;outline:none}.auth-field input:focus{border-color:#16a36a;box-shadow:0 0 0 3px rgba(22,163,106,.1)}.auth-submit{width:100%;height:46px;border:0;border-radius:10px;background:linear-gradient(135deg,#18aa70,#108d5b);color:#fff;font-weight:750;cursor:pointer;margin-top:6px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-message{min-height:20px;margin:12px 0 0;font-size:12px}.auth-message.error{color:#c62828}.auth-message.success{color:#0c8755}.auth-note{font-size:10.5px;color:#98a2b3;line-height:1.5;margin-top:15px;text-align:center}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{padding:36px 25px}}
.auth-forgot{display:block;margin:12px auto 0;border:0;background:transparent;color:#168c60;font-weight:700;cursor:pointer}.auth-forgot:hover{text-decoration:underline}.admin-only{display:none}

.auth-inline-panel{margin:12px 0;display:grid;gap:10px}.auth-inline-panel[hidden]{display:none!important}.auth-inline-panel input{width:100%;padding:12px;border:1px solid #cad5d1;border-radius:8px;box-sizing:border-box}.auth-inline-panel .auth-submit{margin:0}

/* Professional login refinements */
.auth-shell { box-shadow: 0 30px 95px rgba(2, 12, 24, .3); }
.auth-form-panel h1 { letter-spacing: -.7px; }
.auth-field input { transition: border-color .15s ease, box-shadow .15s ease; }
.auth-tabs button, .auth-submit { transition: background .15s ease, transform .15s ease, box-shadow .15s ease; }
.auth-submit:not(:disabled):hover { box-shadow: 0 8px 20px rgba(22,163,106,.2); transform: translateY(-1px); }
.auth-submit:focus-visible, .auth-tabs button:focus-visible, .auth-forgot:focus-visible { outline: 3px solid rgba(22,163,106,.4); outline-offset: 3px; }
@media (max-width: 760px) { .auth-gate { padding: 14px; } .auth-shell { border-radius: 17px; min-height: auto; max-height: 95vh; overflow-y: auto; } .auth-form-panel { padding: 33px 22px; } }

/* Fail closed: login overlay visible until server confirms session. */
.auth-gate{display:flex}
.auth-gate:not(.show){display:none}
html:not(.veliqano-auth-ready) .auth-gate{display:flex!important}
html:not(.veliqano-auth-ready) body{overflow:hidden}
