:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#172033;background:#f5f6fb;font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 50% 0,#e8e5ff 0,transparent 60%);display:grid;place-items:center;padding:48px 24px;padding-top:max(48px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}
a{color:#4f46e5;text-decoration:none}a:hover{text-decoration:underline}
button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}
:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}
.login-layout{width:100%;max-width:420px}
.login-language{position:absolute;right:24px;top:24px}.language-switcher select{min-height:40px;border:1px solid #dcdced;border-radius:10px;background:#fff;color:#4f46e5;padding:7px 10px;font:600 12px system-ui}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-brand{display:flex;justify-content:center;align-items:center;gap:11px;color:#172033;font-size:30px;letter-spacing:-1.4px;font-weight:800;text-decoration:none!important;margin-bottom:40px}
.login-brand img{border-radius:12px}.brand-dot{color:#4f46e5}
.login-heading{text-align:center;margin-bottom:24px}.login-eyebrow{color:#777291;letter-spacing:1.6px;font-size:10px;font-weight:750}
h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin:10px 0}p{line-height:1.6}
.login-heading p{color:#64748b;font-size:14px;margin:0}
.login-card{padding:30px;background:#fff;border:1px solid #e7e8f2;border-radius:22px;box-shadow:0 8px 32px #22206005}
.login-field{margin-bottom:20px}.login-field label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;color:#374256}
.login-field input{display:block;width:100%;min-width:0;height:52px;border:1px solid #dce0eb;border-radius:12px;background:#fcfcfe;color:#172033;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}
.login-field input::placeholder{color:#929aaa;font-size:14px}.login-field input:focus{outline:0;border-color:#818cf8;box-shadow:0 0 0 3px #e9e7ff;background:#fff}
.password-wrap{position:relative}.password-wrap input{padding-right:91px}.password-wrap button{position:absolute;right:5px;top:4px;height:44px;min-width:78px;border:0;border-radius:9px;background:transparent;color:#4f46e5;font-size:12px;font-weight:700;padding:0 8px}.password-wrap button:hover{background:#f0eeff}
.login-forgot{text-align:right;margin:-6px 0 24px;font-size:12px;font-weight:650}.login-forgot a{display:inline-flex;align-items:center;min-height:32px}
.login-submit{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:52px;border:0;border-radius:12px;background:#4f46e5;color:white;padding:12px 18px;font-size:15px;font-weight:700;box-shadow:0 4px 12px #4f46e522}.login-submit:hover:not(:disabled){background:#4338ca}.login-submit>span:last-child{font-size:23px;font-weight:400}
.login-error,.connection-notice,.login-submit-status{border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.6;margin:0 0 20px}.login-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.connection-notice{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.login-submit-status{margin:14px 0 0;background:#eef2ff;color:#3730a3}
.caps-warning{font-size:12px;color:#92400e;margin:8px 0 0}.login-hint{font-size:12px;color:#64748b}
.login-signup{text-align:center;font-size:13px;color:#64748b;margin:22px 0}.login-signup a{font-weight:700}
.login-install-help{background:#eeecfa;border:1px solid #e2dff5;border-radius:13px;font-size:12px;color:#64748b}
.login-install-help summary{cursor:pointer;padding:14px 16px;min-height:46px;color:#514a78;font-weight:650}.login-install-help p{padding:0 16px 14px;margin:0}.login-install-help .app-install-button{margin:0 16px 16px}
.app-install-button{min-height:44px;border:0;border-radius:10px;background:#4f46e5;color:white;font-weight:650;padding:10px 14px}
.login-footer{text-align:center;color:#969dae;font-size:10px;margin:24px 0 0}
.app-install-panel{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(380px,calc(100% - 32px));z-index:1050;padding:20px;background:white;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 50px #17203326;font-size:14px}.app-install-panel p{color:#64748b;font-size:13px}.app-install-panel button{min-height:44px;border:0;border-radius:10px;padding:10px 14px;font-weight:650}.app-install-panel .install-confirm{background:#4f46e5;color:#fff}
@media(max-width:480px){body{padding:32px 20px;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));display:block}.login-layout{margin:0 auto}.login-brand{justify-content:flex-start;font-size:28px;margin-bottom:36px}.login-heading{text-align:left;margin-bottom:24px}h1{font-size:32px}.login-card{padding:24px 20px;border-radius:19px}.login-heading p{font-size:13px}.login-signup{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
