:root{--auth-primary:#4b83b3;--auth-secondary:#172033;--auth-bg:#eef4f8;--auth-border:#dbe5ec;--auth-muted:#758398;--auth-danger:#d9534f;--auth-success:#1b9a70}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;color:#172033}body{font-size:14px}
.auth-page{min-height:100vh;background:linear-gradient(150deg,#f8fbfd 0%,var(--auth-bg) 55%,#e5eff6 100%);display:grid;place-items:center;padding:22px}.auth-shell{width:min(440px,100%)}
.auth-card{background:#fff;border:1px solid var(--auth-border);border-radius:18px;box-shadow:0 24px 60px -34px rgba(24,55,80,.5);overflow:hidden}.auth-brand{display:flex;align-items:center;gap:12px;padding:22px 24px 18px;border-bottom:1px solid #edf2f6}.auth-logo,.auth-mark{width:46px;height:46px;border-radius:13px;object-fit:contain;flex:0 0 auto}.auth-mark{display:grid;place-items:center;background:linear-gradient(145deg,var(--auth-primary),#356b99);color:#fff;font:800 18px "Plus Jakarta Sans"}.auth-brand strong{display:block;font:800 15px "Plus Jakarta Sans"}.auth-brand span{display:block;color:var(--auth-muted);font-size:10px;margin-top:2px}.auth-body{padding:24px}.auth-intro{margin-bottom:20px}.auth-intro h1,.auth-intro h2{font:800 22px "Plus Jakarta Sans";letter-spacing:-.02em;margin:0 0 7px}.auth-intro p{margin:0;color:var(--auth-muted);font-size:12px;line-height:1.65}.auth-alert{padding:11px 12px;border-radius:10px;margin-bottom:16px;font-size:12px;line-height:1.5;background:#eef5fb;color:#356b99;border:1px solid #d6e7f3}.auth-alert.success{background:#ebf8f2;color:#177352;border-color:#ccebdd}.auth-alert.danger{background:#fff1f1;color:#a83939;border-color:#f0cccc}.auth-alert.warning{background:#fff7eb;color:#a96b17;border-color:#f2ddbc}
.auth-group{margin-bottom:15px}.auth-label{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.auth-input-wrap{position:relative}.auth-input{width:100%;height:42px;border:1px solid #cfdae3;border-radius:10px;background:#fff;padding:0 12px;color:#172033;outline:none;font:500 13px Inter}.auth-input:focus{border-color:color-mix(in srgb,var(--auth-primary) 70%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--auth-primary) 13%,transparent)}.auth-input.is-invalid{border-color:#df7777}.auth-error{color:#b84141;font-size:10px;margin-top:5px}.auth-help{display:block;color:var(--auth-muted);font-size:10px;margin-top:5px;line-height:1.5}.auth-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--auth-primary);font-size:16px;padding:0;cursor:pointer;display:grid;place-items:center}.auth-password-toggle:hover{background:#f2f7fb}.auth-password-input{padding-right:46px}
.captcha-row{display:grid;grid-template-columns:auto 1fr 40px;gap:8px;align-items:center}.captcha-chip{height:42px;display:flex;align-items:center;padding:0 12px;border:1px solid #d4e0e8;background:#f5f9fc;border-radius:10px;font-weight:800;color:#315f83;white-space:nowrap}.captcha-refresh{width:40px;height:42px;border:1px solid #bcd4e4;background:#fff;color:var(--auth-primary);border-radius:10px;font-size:18px;cursor:pointer}.captcha-refresh:disabled{opacity:.55}.auth-meta{display:flex;justify-content:flex-end;margin:-2px 0 18px}.auth-link{color:var(--auth-primary);text-decoration:none;font-size:11px;font-weight:700}.auth-link:hover{text-decoration:underline}.auth-actions{display:flex;gap:9px;align-items:center}.auth-btn{min-height:42px;border:1px solid var(--auth-primary);border-radius:10px;padding:0 15px;background:var(--auth-primary);color:#fff;font:700 12px Inter;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.auth-btn.wide{width:100%}.auth-btn.secondary{background:#fff;color:#4c5a6d;border-color:#d3dde5}.auth-btn:hover{filter:brightness(.98)}.auth-back{display:flex;justify-content:center;margin-top:16px}.auth-readonly{background:#f7f9fb;color:#66758a}.auth-summary{border:1px solid #e3ebf1;border-radius:12px;background:#fbfdff;padding:12px 13px;margin-bottom:16px}.auth-summary-row{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:11px}.auth-summary-row span{color:var(--auth-muted)}.auth-summary-row strong{text-align:right}.auth-status{display:inline-flex;align-items:center;gap:5px;background:#ebf8f2;color:#177352;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.auth-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#1b9a70}
@media(max-width:520px){.auth-page{padding:12px}.auth-brand{padding:18px}.auth-body{padding:20px}.captcha-row{grid-template-columns:1fr 74px 40px}.captcha-chip{font-size:12px;padding:0 9px}}

.auth-inline-form{margin:0}.auth-link-button{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}
