/* public/cloud-auth.css: login and registration; also the base sheet of the invites page.
   Requires /assets/css/rd-tokens.css (RedailyInter and the --rd-* tokens), linked first. D8 = no (USER-DECISIONS): the page keeps its look; only colours move to tokens (B §6.6) and focus is neutral (U2/U3).
   Type sizes, spacing and geometry stay as they were. */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-width:300px;background:var(--rd-bg-canvas);color:var(--rd-text);font:14px/1.5 var(--rd-font)}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:var(--rd-focus-ring);outline-offset:var(--rd-focus-offset)}
.auth-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;width:100%;padding:24px 32px}
.auth-header{flex:0 0 auto;line-height:0}
.cloud-brand{display:inline-flex;align-items:center;gap:9px;color:var(--rd-text-strong);text-decoration:none;font:var(--rd-type-wordmark);letter-spacing:var(--rd-track-wordmark)}
.cloud-brand img{display:block;flex-shrink:0;width:28px;height:28px}
.brand-product{display:inline-block;margin-left:9px;color:var(--rd-text-secondary);font-size:12px;font-weight:400;letter-spacing:0}
.auth-stage{display:flex;align-items:center;justify-content:center;flex:1;padding:48px 0 72px}   /* login and registration share this centring */
.auth-card{width:340px;max-width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.auth-card h1{font-size:24px;line-height:30px;letter-spacing:-.3px;font-weight:500;margin:0 0 28px;color:var(--rd-text-strong)}
.intro{color:var(--rd-text-secondary);margin:0 0 20px;font-size:13px;line-height:20px}
.field{position:relative;margin:0 0 16px}
.field label{display:block;font-weight:400;font-size:13px;line-height:18px;margin:0 0 7px}
.field input,.field select{display:block;width:100%;height:42px;padding:0 11px;background:var(--rd-field-bg);border:1px solid var(--rd-border-strong);border-radius:var(--rd-r-control);color:var(--rd-text);transition:border-color var(--rd-dur-fast) var(--rd-ease)}
.field input:hover,.field select:hover{border-color:var(--rd-border-hover)}
.field input:focus,.field select:focus{outline:none;border-color:var(--rd-field-focus-border)}
.field input::placeholder{color:var(--rd-text-tertiary)}
.field input[readonly]{color:var(--rd-text-secondary)}
.field input[aria-invalid=true]{border-color:var(--rd-error)}
.field-hint{display:block;color:var(--rd-text-secondary);font-size:11px;line-height:18px;margin-top:6px}
.password-input{position:relative}
.password-input input{padding-right:83px}
.reveal-password{position:absolute;right:5px;top:5px;height:32px;border:0;border-radius:var(--rd-r-4);background:transparent;color:var(--rd-text-secondary);font-size:11px;font-weight:400;padding:0 7px;transition:color var(--rd-dur-fast) var(--rd-ease)}
.reveal-password:hover{color:var(--rd-text)}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:var(--rd-r-control);padding:10px 16px;text-decoration:none;font-weight:500;font-size:14px;line-height:22px;transition:background-color var(--rd-dur-fast) var(--rd-ease)}
.primary-button{background:var(--rd-accent);color:var(--rd-on-accent)}
.primary-button:hover:not(:disabled){background:var(--rd-accent-hover)}
.primary-button:active:not(:disabled){background:var(--rd-accent-pressed)}
.auth-card>.primary-button,.auth-card form>.primary-button{width:100%;margin-top:4px}
.secondary-button{background:var(--rd-bg-control);color:var(--rd-text)}
.secondary-button:hover:not(:disabled){background:var(--rd-bg-control-hover)}
.secondary-button:active:not(:disabled){background:var(--rd-bg-expanded)}
.text-link{display:inline-block;color:var(--rd-text-secondary);font-size:13px;background:transparent;border:0;padding:0;text-decoration:none;transition:color var(--rd-dur-fast) var(--rd-ease)}
.text-link:hover{color:var(--rd-text);text-decoration:underline}
.auth-note{font-size:12px;line-height:18px;color:var(--rd-text-secondary);margin:24px 0 0}
.auth-card>.text-link{margin-top:20px}
.form-error{padding:0;border:0;border-radius:0;background:transparent;color:var(--rd-error);font-size:12px;line-height:18px;margin:0 0 16px;overflow-wrap:anywhere}
.form-status{font-size:12px;line-height:18px;color:var(--rd-text-secondary);padding:0;margin:0 0 20px}
.form-status:empty{display:none}
.form-status.success{color:var(--rd-success)}
.no-script{margin:24px;text-align:center;color:var(--rd-error)}
.signed-in-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:20px 0}
.signed-in-actions .text-link{text-align:center}
.auth-register h1{margin-bottom:12px}
.auth-register .field{margin-bottom:12px}
.auth-register .field label{font-size:12px;margin-bottom:6px}
.auth-register .field-hint{position:absolute;top:0;right:0;margin:0}
@media(max-width:520px){.auth-layout{padding:20px}.auth-stage{padding:40px 0 64px}.cloud-brand{font-size:17px}}
