:root{--auth-navy:#0b2345;--auth-blue:#1c6bff;--auth-text:#152238;--auth-muted:#65758b;--auth-line:#dce3ec;--auth-bg:#f4f7fb;--auth-danger:#b42318;--auth-success:#087f5b}
*{box-sizing:border-box}html,body{min-height:100%}body.auth-page,body:has(.login-page),body:has(.recovery-container),body:has(.reset-container),body:has(.register-container){margin:0;background:var(--auth-bg);color:var(--auth-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.auth-shell,.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%)}
.auth-card,.login-card,.recovery-container,.reset-container,.register-container{width:min(460px,100%);margin:0 auto;background:#fff;border:1px solid var(--auth-line);border-radius:10px;box-shadow:0 8px 28px rgba(10,34,69,.06);overflow:hidden}
.login-header,.recovery-header,.reset-header,.auth-card-header{padding:30px 30px 18px;text-align:left;border-bottom:1px solid #edf1f5}.login-header img,.recovery-header img,.reset-header img,.auth-card-header img{display:block;width:auto;max-width:150px;max-height:52px;margin:0 0 22px}.login-header h1,.recovery-header h2,.reset-header h2,.register-container h2,.auth-card-header h1{margin:0;color:var(--auth-navy);font-size:25px;line-height:1.15;letter-spacing:-.025em;font-weight:800}.login-header p,.recovery-header p,.auth-card-header p{margin:7px 0 0;color:var(--auth-muted);font-size:13px;line-height:1.55}
.login-body,.auth-card-body{padding:24px 30px 30px}.recovery-container,.reset-container,.register-container{padding:30px}.recovery-container .recovery-header,.reset-container .reset-header{padding:0 0 20px;margin-bottom:22px}.register-container h2{margin-bottom:22px}
.form-group{margin-bottom:17px}.form-group label{display:block;margin:0 0 7px;color:#334155;font-size:12px;font-weight:750}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input,.form-group input,.auth-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.input-wrapper input{padding-right:42px}.input-wrapper input:focus,.form-group input:focus,.auth-input:focus{border-color:var(--auth-blue);box-shadow:0 0 0 3px rgba(28,107,255,.10)}
.toggle-password{position:absolute;right:12px;border:0;background:transparent;color:#77869a;padding:4px;cursor:pointer}.toggle-password svg{width:18px;height:18px}.checkbox-group{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 22px}.checkbox-group label{display:flex;align-items:center;gap:8px;margin:0;color:#526176;font-size:12px;font-weight:600}.checkbox-group input{width:auto;accent-color:var(--auth-blue)}
.btn-login,.recovery-container .btn,.reset-container .btn,.register-container .btn,.auth-btn{width:100%;min-height:44px;padding:10px 14px;border:1px solid #175ed9;border-radius:6px;background:var(--auth-blue);color:#fff;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .08s}.btn-login:hover,.recovery-container .btn:hover,.reset-container .btn:hover,.register-container .btn:hover,.auth-btn:hover{background:#1559d6}.btn-login:active,.auth-btn:active{transform:translateY(1px)}
.forgot-link,.register-link a,.back-link a,.auth-link{color:#1f5ed8;text-decoration:none;font-size:12px;font-weight:700}.forgot-link:hover,.register-link a:hover,.back-link a:hover,.auth-link:hover{text-decoration:underline}.register-link,.back-link{text-align:center;margin-top:18px;color:#6b7a8e;font-size:12px}.back-link{margin-top:12px}
.error,.recovery-container .error,.reset-container .error,.register-container .error{margin:0 0 18px;padding:10px 12px;border:1px solid #f3c7c3;border-left:3px solid var(--auth-danger);border-radius:6px;background:#fff7f6;color:#9f2018;font-size:12px;line-height:1.5}.message,.success,.recovery-container .message,.reset-container .success,.register-container .success{margin:0 0 18px;padding:10px 12px;border:1px solid #bfe8d2;border-left:3px solid var(--auth-success);border-radius:6px;background:#f4fbf7;color:#08724f;font-size:12px;line-height:1.5}.error ul{margin:0;padding-left:18px}.info-blocked{border-color:#f0d79d;border-left-color:#d49a16;background:#fffbef;color:#815d08}
.login-global-notice{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:5;padding:9px 12px;border:1px solid #bfe8d2;border-radius:6px;background:#f4fbf7;color:#08724f;font-size:12px;font-weight:700}.loading-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:authSpin .65s linear infinite}.btn-login.loading .btn-text{display:none}.btn-login.loading .loading-spinner{display:inline-block}@keyframes authSpin{to{transform:rotate(360deg)}}
.auth-security-note{display:flex;gap:9px;align-items:flex-start;margin-top:20px;padding-top:16px;border-top:1px solid #edf1f5;color:#77869a;font-size:10px;line-height:1.5}.auth-security-note svg{width:15px;min-width:15px;margin-top:1px;color:#466b9f}
@media(max-width:560px){.auth-shell,.login-page{padding:18px 12px}.login-header,.login-body,.recovery-container,.reset-container,.register-container{padding-left:22px;padding-right:22px}.checkbox-group{align-items:flex-start;flex-direction:column}.login-header h1,.recovery-header h2,.reset-header h2,.register-container h2{font-size:22px}}
