*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0;padding:0}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f7f9fc;--surface:#fff;--text:#142033;--muted:#64748b;--accent:#0b63ce;--accent-dark:#084fa5;--navy:#092453;--border:#dce5f0;--border-strong:#b8c7d8;--danger:#c6283d;--danger-bg:#fff2f4;--danger-border:#f2bdc5;--shadow:0 12px 35px #132a4b14, 0 2px 8px #132a4b0a;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{width:100%;min-height:100dvh;color:var(--text);background:var(--bg);overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.login-page{width:100%;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:linear-gradient(#f9fbfe 0%,#f5f8fc 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:radial-gradient(#0b63ce1f 0%,#0b63ce0d 35%,#0000 70%);width:900px;height:700px;position:absolute;top:-300px;left:50%;transform:translate(-50%)}.login-container{z-index:1;width:100%;max-width:390px;animation:.45s both fadeUp;position:relative}.login-brand{text-align:center;margin-bottom:26px}.gentra-logo{object-fit:contain;width:125px;height:125px;margin:0 auto 9px;display:block}.login-brand h1{color:var(--navy);letter-spacing:4px;margin:0;font-size:34px;font-weight:800;line-height:1}.login-brand p{max-width:320px;color:var(--muted);letter-spacing:.4px;margin:10px auto 0;font-size:12px;font-weight:500;line-height:1.5}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:15px;padding:30px 30px 23px}.login-card h2{color:var(--text);margin:0 0 6px;font-size:20px;font-weight:750;line-height:1.25}.login-description{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.45}.field-wrap{width:100%;margin-bottom:18px}.field-wrap label{color:#314056;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.field-wrap label span{color:var(--danger)}.field-wrap input{width:100%;height:46px;color:var(--text);border:1.5px solid var(--border-strong);background:#fff;border-radius:10px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s;display:block}.field-wrap input::placeholder{color:#9aa6b5}.field-wrap input:hover:not(:disabled){border-color:#8fa6bf}.field-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0b63ce21}.field-wrap input:disabled{color:#64748b;cursor:not-allowed;background:#f3f6f9}.password-block{animation:.22s both fadeUp}.password-input-wrap{width:100%;position:relative}.password-input-wrap input{width:100%;padding-right:50px}.password-eye{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-eye:hover:not(:disabled){color:var(--accent);background:#0b63ce12}.password-eye:active:not(:disabled){background:#0b63ce1f}.password-eye:focus-visible{outline-offset:1px;outline:2px solid #0b63ce59}.password-eye:disabled{opacity:.45;cursor:wait}.password-eye svg{pointer-events:none;width:21px;height:21px;display:block}.login-error{width:100%;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:9px;margin:0 0 16px;padding:11px 13px;font-size:12.5px;font-weight:550;line-height:1.45;animation:.2s both fadeUp}.btn-login{color:#fff;background:var(--accent);letter-spacing:.35px;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:47px;padding:12px 16px;font-size:13px;font-weight:750;transition:background .15s,transform 80ms,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 5px 16px #0b63ce40}.btn-login:hover:not(:disabled){background:var(--accent-dark);box-shadow:0 7px 20px #0b63ce4a}.btn-login:active:not(:disabled){transform:scale(.985)}.btn-login:disabled{opacity:.58;cursor:wait}.btn-back{color:var(--accent);cursor:pointer;background:0 0;border:0;margin:14px auto 0;padding:5px 10px;font-size:12px;font-weight:650;display:block}.btn-back:hover{text-decoration:underline}.powered{color:#94a0af;text-align:center;margin:21px 0 0;font-size:10.5px;font-weight:500}.spinner{border:2px solid #ffffff6b;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.login-page{padding-left:16px;padding-right:16px}.login-container{max-width:390px}.login-brand{margin-bottom:20px}.gentra-logo{width:108px;height:108px}.login-brand h1{letter-spacing:3.5px;font-size:30px}.login-brand p{max-width:280px;font-size:11px}.login-card{padding:25px 22px 21px}.login-card h2{font-size:19px}}@media (width<=360px){.login-page{padding-left:12px;padding-right:12px}.login-card{padding-left:18px;padding-right:18px}.gentra-logo{width:96px;height:96px}.login-brand h1{font-size:27px}}@media (height<=680px){.login-page{align-items:flex-start;overflow-y:auto}.login-brand{margin-bottom:15px}.gentra-logo{width:88px;height:88px}.login-brand h1{font-size:27px}.login-card{padding-top:23px;padding-bottom:20px}}
