/* CVIndex sign-in layout, scoped to Geekjob and using its visual palette. */
.gj-auth{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:500px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #d4d4d8;background:#fff;color:#09090b;overflow:auto;box-shadow:0 24px 90px #09090b26}
.gj-auth::backdrop{background:#09090b99;backdrop-filter:blur(3px)}
.gj-auth [hidden]{display:none!important}.gj-auth button{cursor:pointer}.gj-auth button:disabled{opacity:.5;cursor:wait}.gj-auth :focus-visible{outline:2px solid #7c3aed;outline-offset:3px}
.gj-auth .auth-top{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;border-bottom:1px solid #e4e4e7;background:#fafafa;font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em}
.gj-auth .auth-top button{font:28px Arial;background:none;border:0;padding:0 5px}
.gj-auth .auth-body{padding:26px 30px}.gj-auth h2{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-1px;margin:0 0 12px}
.gj-auth .auth-description,.gj-auth .auth-hint{font-size:12px;line-height:1.7;color:#52525b;margin:12px 0 18px}.gj-auth .auth-hint strong{overflow-wrap:anywhere}
.gj-auth .auth-role{width:100%;text-align:left;padding:17px;margin-top:12px;border:1px solid #e4e4e7;background:#fafafa}.gj-auth .auth-role:hover{border-color:#09090b}.gj-auth .auth-role strong,.gj-auth .auth-role span{display:block}.gj-auth .auth-role span{font-size:12px;color:#52525b;margin-top:7px;line-height:1.6}
.gj-auth .auth-role-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px;font-size:12px}
.gj-auth .auth-oauth{display:grid;gap:10px}.gj-auth .auth-provider{display:flex;align-items:center;gap:14px;border:1px solid #d4d4d8;background:#fff;padding:12px 16px;font-size:13px;font-weight:600}.gj-auth .auth-provider:hover{background:#fafafa;border-color:#09090b}.gj-auth .auth-provider>span:last-child{margin-left:auto;font-size:18px}.gj-auth .auth-provider-mark{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:#ede9fe;font:700 13px 'IBM Plex Mono',monospace}
.gj-auth .auth-divider{display:flex;align-items:center;gap:14px;color:#71717a;margin:22px 0 18px;font-size:11px}.gj-auth .auth-divider:before,.gj-auth .auth-divider:after{content:'';flex:1;height:1px;background:#e4e4e7}
.gj-auth .auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e4e4e7}.gj-auth .auth-tabs button{border:0;background:transparent;padding:12px 8px;font:10px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#52525b}.gj-auth .auth-tabs button+button{border-left:1px solid #e4e4e7}.gj-auth .auth-tabs button[aria-selected=true]{background:#ede9fe;color:#09090b}
.gj-auth label{display:block;font-size:12px;font-weight:600;margin-top:17px}.gj-auth input{width:100%;border:1px solid #d4d4d8;background:#fafafa;padding:12px;margin-top:8px;font-size:14px;line-height:1.5;color:#09090b}.gj-auth .auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;margin-top:22px;padding:14px 18px;border:1px solid #09090b;background:#09090b;color:white;font-size:12px;font-weight:600}
.gj-auth .auth-link{padding:0;border:0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px}.gj-auth .auth-actions{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px}
.gj-auth .auth-error{margin:16px 0 0;padding:11px 13px;border:1px solid #e3a3a3;background:#fdf1f1;color:#8a2a2a;font-size:12px;line-height:1.6}.gj-auth .auth-code{font:22px 'IBM Plex Mono',monospace;letter-spacing:.4em;text-align:center}
.gj-auth .auth-password-field{position:relative;margin-top:8px}.gj-auth .auth-password-field input{margin:0;padding-right:48px}.gj-auth .auth-password-field button{position:absolute;top:1px;right:1px;bottom:1px;width:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#52525b}.gj-auth .auth-password-slash{display:none}.gj-auth [aria-pressed=true] .auth-password-slash{display:block}
body.gj-auth-open{overflow:hidden}@media(max-width:480px){.gj-auth .auth-body{padding:22px}.gj-auth h2{font-size:26px}}
