:root{
    --znm-login-orange:#ff6b35;
    --znm-login-orange-hover:#e65a28;
    --znm-login-ink:#ffffff;
    --znm-login-muted:rgba(255,255,255,.74);
    --znm-login-glass-top:rgba(255,255,255,.17);
    --znm-login-glass-bottom:rgba(255,255,255,.09);
    --znm-login-border:rgba(255,255,255,.24);
    --znm-login-shadow:0 24px 70px rgba(2,8,23,.42);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body.znm-login-body{
    margin:0;
    min-height:100vh;
    min-height:100dvh;
    overflow-x:hidden;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--znm-login-ink);
    background:
        radial-gradient(circle at 18% 15%,rgba(50,111,226,.78) 0,rgba(50,111,226,.28) 28%,transparent 48%),
        radial-gradient(circle at 82% 13%,rgba(112,138,194,.44) 0,rgba(112,138,194,.16) 28%,transparent 48%),
        radial-gradient(circle at 51% 92%,rgba(29,78,168,.28) 0,transparent 46%),
        linear-gradient(135deg,#0d1d43 0%,#24498f 43%,#1a294d 72%,#111a31 100%);
    background-attachment:fixed;
}
body.znm-login-body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(115deg,rgba(255,255,255,.035),transparent 35%,rgba(255,255,255,.025) 64%,transparent),
        radial-gradient(circle at 50% -10%,rgba(255,255,255,.12),transparent 34%);
    mix-blend-mode:screen;
}
.znm-login-shell{
    position:relative;
    z-index:1;
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2rem 1rem;
}
.znm-login-wrap{
    width:min(440px,100%);
    margin:0 auto;
    text-align:center;
}
.znm-login-logo{
    display:block;
    width:min(180px,52vw);
    height:auto;
    max-height:150px;
    object-fit:contain;
    margin:0 auto 1.55rem;
    filter:drop-shadow(0 9px 18px rgba(0,0,0,.38));
}
.znm-login-card{
    width:100%;
    padding:2.45rem 2.5rem 2rem;
    text-align:left;
    color:#fff;
    background:linear-gradient(145deg,var(--znm-login-glass-top),var(--znm-login-glass-bottom));
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    backdrop-filter:blur(18px) saturate(125%);
    border:1px solid var(--znm-login-border);
    border-radius:20px;
    box-shadow:var(--znm-login-shadow),inset 0 1px 0 rgba(255,255,255,.08);
}
.znm-login-title{
    margin:0 0 1.45rem;
    color:#fff;
    text-align:center;
    font-size:clamp(1.5rem,4.5vw,1.85rem);
    font-weight:800;
    line-height:1.18;
    letter-spacing:.005em;
    text-shadow:0 2px 12px rgba(7,18,45,.24);
}
.znm-login-title.znm-login-title-service{margin-bottom:.65rem;font-size:clamp(1.42rem,4.2vw,1.78rem)}
.znm-login-note{
    max-width:340px;
    margin:0 auto 1.55rem;
    color:var(--znm-login-muted);
    text-align:center;
    font-size:.9rem;
    line-height:1.5;
}
.znm-login-card .mb-3{margin-bottom:1rem!important}
.znm-login-card .mb-4{margin-bottom:1.5rem!important}
.znm-login-card .form-label{
    display:block;
    margin-bottom:.45rem;
    color:rgba(255,255,255,.68);
    font-size:.82rem;
    font-weight:600;
}
.znm-login-input{
    display:block;
    width:100%;
    min-height:48px;
    padding:.72rem .85rem!important;
    color:#fff!important;
    background:rgba(4,15,42,.58)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:10px!important;
    box-shadow:inset 0 1px 1px rgba(0,0,0,.12)!important;
}
.znm-login-input::placeholder{color:rgba(255,255,255,.38)}
.znm-login-input:hover{border-color:rgba(255,255,255,.21)!important}
.znm-login-input:focus{
    color:#fff!important;
    background:rgba(3,12,34,.76)!important;
    border-color:var(--znm-login-orange)!important;
    box-shadow:0 0 0 .2rem rgba(255,107,53,.23)!important;
}
.znm-login-input:-webkit-autofill,
.znm-login-input:-webkit-autofill:hover,
.znm-login-input:-webkit-autofill:focus{
    -webkit-text-fill-color:#fff;
    -webkit-box-shadow:0 0 0 1000px #172b58 inset!important;
    caret-color:#fff;
    transition:background-color 9999s ease-out 0s;
}
.znm-login-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:.72rem 1rem!important;
    color:#fff!important;
    background:var(--znm-login-orange)!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:0 8px 22px rgba(255,107,53,.17)!important;
    font-weight:750!important;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease!important;
}
.znm-login-button:hover,.znm-login-button:focus-visible{
    color:#fff!important;
    background:var(--znm-login-orange-hover)!important;
    transform:translateY(-2px);
    box-shadow:0 11px 25px rgba(255,107,53,.34)!important;
}
.znm-login-back{
    display:flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    margin:1.15rem auto 0;
    padding:.4rem .65rem;
    color:rgba(255,255,255,.86);
    text-decoration:none;
    font-size:.86rem;
    border-radius:.55rem;
    transition:background-color .18s ease,color .18s ease;
}
.znm-login-back:hover,.znm-login-back:focus-visible{color:#fff;background:rgba(255,255,255,.10)}
.znm-login-card .alert{
    margin-bottom:1.15rem;
    color:#fff;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    font-size:.86rem;
    box-shadow:none;
}
.znm-login-card .alert-danger{background:rgba(127,29,29,.74)}
.znm-login-card .alert-info{background:rgba(8,81,109,.74)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .znm-login-card{background:rgba(48,74,137,.96)}
}
@media(max-width:575.98px){
    .znm-login-shell{padding:1.25rem .75rem}
    .znm-login-logo{width:min(155px,48vw);margin-bottom:1rem}
    .znm-login-card{padding:1.65rem 1.35rem 1.35rem;border-radius:17px}
    .znm-login-title{margin-bottom:1.15rem}
}
@media(max-height:690px){
    .znm-login-shell{align-items:flex-start;padding-top:1.15rem;padding-bottom:1.15rem}
    .znm-login-logo{width:132px;max-height:90px;margin-bottom:.7rem}
    .znm-login-card{padding-top:1.35rem;padding-bottom:1.15rem}
    .znm-login-title{font-size:1.35rem;margin-bottom:1rem}
    .znm-login-note{margin-bottom:1rem}
}
@media(prefers-reduced-motion:reduce){
    .znm-login-button,.znm-login-back{transition:none}
    .znm-login-button:hover{transform:none}
}
.znm-login-methods{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.35rem;
    margin:0 0 1.35rem;
    padding:.3rem;
    border:1px solid rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(4,15,42,.34);
}
.znm-login-methods a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:.45rem .65rem;
    border-radius:8px;
    color:rgba(255,255,255,.72);
    text-decoration:none;
    font-size:.84rem;
    font-weight:700;
}
.znm-login-methods a:hover,.znm-login-methods a:focus-visible{color:#fff;background:rgba(255,255,255,.08)}
.znm-login-methods a.active{color:#fff;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.znm-login-secondary-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.55rem 1.1rem;
    margin:1rem 0 0;
}
.znm-login-secondary-links a{color:rgba(255,255,255,.82);font-size:.84rem;text-decoration:none}
.znm-login-secondary-links a:hover,.znm-login-secondary-links a:focus-visible{color:#fff;text-decoration:underline}
.znm-login-card .form-text{font-size:.76rem}
