html,body{max-width:100%;overflow-x:clip}.auth-page{place-items:center;max-width:100%;min-height:100vh;padding:32px 16px;display:grid;position:relative;overflow-x:clip}.auth-beam{pointer-events:none;background:radial-gradient(ellipse 60% 50% at 8% 0%, color-mix(in srgb, var(--door-accent,#8eb69b) 24%, transparent), transparent 70%);animation:24s ease-in-out infinite alternate breathe;position:absolute;inset:0}@keyframes breathe{0%{opacity:.7}to{opacity:1}}.auth-ghost{color:var(--muted);opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:20vw;font-weight:800;line-height:.8;position:absolute;bottom:-2vw;left:-2vw}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-hero);width:min(480px,100%);transition:border-color .4s var(--ease);gap:20px;padding:clamp(24px,5vw,40px);display:grid;position:relative}.auth-card[data-tinted]{border-color:color-mix(in srgb, var(--door-accent) 45%, var(--line))}.auth-brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:12px;margin-bottom:4px;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.auth-brand svg{flex-shrink:0;width:34px;height:26px}.auth-card h1{font-size:var(--t-xl);margin:0}.auth-card p{color:var(--muted);margin:0}.auth-lead{font-size:var(--t-md)}.doors{border:0;grid-template-columns:repeat(5,1fr);gap:6px;min-width:0;margin:0;padding:0;display:grid}.doors legend{color:var(--muted);font-size:var(--t-sm);padding:0 0 8px}.door{min-width:0;position:relative}.door input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.door span{border-radius:var(--r-pill);border:1px solid var(--line);min-height:44px;font-size:var(--t-sm);text-align:center;transition:background .24s var(--ease), color .24s var(--ease), border-color .24s var(--ease);place-items:center;padding:0 6px;font-weight:500;display:grid}.door input:focus-visible+span{outline:2px solid var(--door-accent,var(--accent));outline-offset:3px}.door input:checked+span{background:var(--chip-bg);color:var(--chip-fg);border-color:var(--chip-bg)}.door[data-door=client]{--chip-bg:#e7e0c6;--chip-fg:#4a3f2e}.door[data-door=team]{--chip-bg:#253745;--chip-fg:#ccd0cf}.door[data-door=partner]{--chip-bg:#522b5b;--chip-fg:#fbe4d8}.door[data-door=admin]{--chip-bg:#3e3e45;--chip-fg:#f2f2f5}.door[data-door=workspace]{--chip-bg:#235347;--chip-fg:#daf1de}.door-blurb{min-height:1.55em;font-size:var(--t-sm);color:var(--muted);margin-top:8px}@media (width<=420px){.doors{grid-template-columns:repeat(2,1fr)}}[data-door-theme=client]{--door-accent:#cdc29b;--door-on:#4a3f2e}[data-door-theme=team]{--door-accent:#ccd0cf;--door-on:#06141b}[data-door-theme=partner]{--door-accent:#dfb6b2;--door-on:#190019}[data-door-theme=admin],[data-door-theme=workspace]{--door-accent:#8eb69b;--door-on:#051f20}.form{gap:16px;display:grid}.field{gap:6px;min-width:0;display:grid}.field label,.field .label{font-size:var(--t-sm);font-weight:500}.field input,.field select{border-radius:var(--r-input);border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--text);font:inherit;font-size:var(--t-md);padding:0 14px}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--door-accent,var(--accent));outline-offset:2px}.field input[aria-invalid=true]{border-color:#ffa586}.field .help{font-size:var(--t-sm);color:var(--muted)}.field .err{font-size:var(--t-sm);color:#ffa586;align-items:flex-start;gap:6px;display:flex}.pw{position:relative}.pw input{padding-right:76px}.pw button{border-radius:var(--r-pill);min-height:36px;color:var(--muted);font:500 var(--t-sm)/1 var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0 12px;position:absolute;top:6px;right:6px}.pw button:hover{color:var(--text)}.check{font-size:var(--t-sm);align-items:flex-start;gap:12px;display:flex}.check input{width:22px;height:22px;accent-color:var(--door-accent,var(--accent));flex:none;margin:2px 0 0}.check label{padding-top:1px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pillars{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.pillars legend{font-size:var(--t-sm);padding:0 0 8px;font-weight:500}.btn-primary{border-radius:var(--r-pill);background:var(--door-accent,var(--accent));min-height:48px;color:var(--door-on,var(--on-accent));font:600 var(--t-md)/1 var(--font-ui);cursor:pointer;transition:transform .24s var(--ease), opacity .24s;border:0;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;display:inline-flex}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:progress}.btn-ghost{border-radius:var(--r-pill);border:1px solid var(--line);min-height:44px;color:var(--text);font:500 var(--t-sm)/1 var(--font-ui);cursor:pointer;background:0 0;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.btn-ghost:hover{border-color:var(--muted)}.link{color:var(--text);text-underline-offset:3px}.link:hover{color:var(--door-accent,var(--accent))}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.alert{border-radius:var(--r-input);font-size:var(--t-sm);color:#ffa586;border:1px solid #ffa586;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.alert svg{flex:none;margin-top:2px}.notice{border-radius:var(--r-input);border:1px solid var(--line);background:var(--bg);font-size:var(--t-md);padding:14px 16px}.meter{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.meter i{background:var(--line);border-radius:2px;height:4px;transition:background .24s}.meter[data-level="1"] i:nth-child(-n+1){background:#ffa586}.meter[data-level="2"] i:nth-child(-n+2){background:#f8d299}.meter[data-level="3"] i:nth-child(-n+3),.meter[data-level="4"] i{background:var(--accent)}.qr{border-radius:var(--r-panel);border:1px solid var(--line);justify-self:center;width:min(220px,100%);overflow:hidden}.qr svg{width:100%;height:auto;display:block}.key{font-size:var(--t-md);letter-spacing:.12em;word-break:break-all;border-radius:var(--r-input);background:var(--bg);border:1px solid var(--line);-webkit-user-select:all;user-select:all;padding:12px 14px}.codes{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.codes li{border-radius:var(--r-input);background:var(--bg);border:1px solid var(--line);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all;padding:10px 12px}.code-input{text-align:center;letter-spacing:.4em;font-size:var(--t-lg)!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.turnstile{min-height:65px}@media (prefers-reduced-motion:reduce){.auth-beam{animation:none}.btn-primary,.door span{transition:none}.spinner{animation-duration:1.6s}}.auth-head{gap:8px;display:grid}.link-button{text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;justify-self:start;min-height:44px;padding:0}.btn{border-radius:var(--r-pill);border:1px solid var(--line);min-height:48px;color:var(--text);font:500 var(--t-md)/1 var(--font-ui);transition:border-color .24s var(--ease);background:0 0;justify-content:center;align-items:center;padding:0 24px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}*,:before,:after{box-sizing:border-box}body{font-size:var(--t-md);margin:0}
