.auth-page{--auth-green:var(--green);--auth-line:var(--line);--auth-muted:var(--muted);min-height:100vh;padding:58px 28px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);color:#253528;box-sizing:border-box}
.auth-shell{width:100%;max-width:1090px;display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius-xl);overflow:hidden;background:var(--white);box-shadow:0 14px 40px #27462909;border:1px solid var(--line)}
.auth-story{background:var(--cream);padding:42px 46px 29px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-brand{display:block;position:relative;z-index:1;margin-bottom:37px}
.auth-brand img{width:210px;height:auto;max-height:102px;object-fit:contain;object-position:left center}
.auth-story .eyebrow{color:var(--muted);letter-spacing:.14em;font-size:var(--fs-xs);font-weight:500;text-transform:uppercase}
.auth-story-text h2{font-size:var(--fs-display);letter-spacing:-.045em;line-height:1.17;font-weight:600;margin:15px 0 19px}
.auth-story-text p{font-size:var(--fs-sm);line-height:1.8;color:var(--muted);max-width:350px}
.auth-story-image{margin-top:22px;display:flex;align-items:center;justify-content:center;position:relative;flex:1;min-height:260px}
.auth-story-image:before{content:'';display:none;width:295px;height:295px;background:var(--cream);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.auth-story-image img{height:260px;max-width:100%;width:260px;object-fit:cover;position:relative;z-index:1;border-radius:50%;border:6px solid var(--background)}
.auth-story-caption{font-size:var(--fs-xs);color:var(--muted);text-align:center;margin-top:25px}
.auth-card{padding:55px 48px 30px;display:flex;flex-direction:column;min-width:0}
.auth-card-heading .eyebrow{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;margin-bottom:13px}
.auth-card-heading h1{font-size:var(--fs-2xl);letter-spacing:-.04em;line-height:1.2;font-weight:600;margin:0 0 15px}
.auth-card-heading p{font-size:var(--fs-xs);line-height:1.75;color:var(--auth-muted);margin:0 0 30px}
.auth-mobile-brand{display:none}
.auth-fields{display:flex;flex-direction:column;gap:19px}
.auth-page .field{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-xs);font-weight:500}
.auth-page .field input{min-height:45px;font:inherit;font-weight:400;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:10px 12px;color:#263728;background:var(--white);box-sizing:border-box;width:100%}
.auth-page .field .required{color:var(--muted);font-size:var(--fs-xs)}
.auth-password-input{display:flex;align-items:center;position:relative}
.auth-page .auth-password-input input{padding-right:104px}
.auth-password-toggle{position:absolute;right:6px;top:3px;bottom:3px;display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:8px;font:inherit;font-size:var(--fs-xs);font-weight:400;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}
.auth-password-toggle .icon{width:17px;height:17px}
.auth-form-options{display:flex;justify-content:space-between;align-items:center;gap:17px;margin:18px 0 24px;font-size:var(--fs-xs)}
.auth-checkbox{display:flex;align-items:center;gap:8px;color:var(--auth-muted);line-height:1.6;cursor:pointer}
.auth-checkbox input{width:15px;height:15px;accent-color:var(--auth-green)}
.auth-form-options a{color:var(--muted);text-decoration:none;white-space:nowrap}
.auth-form-options a:hover,.auth-back-link:hover{ text-decoration:underline}
.auth-page .btn{min-height:44px;padding:11px 16px;border-radius:var(--radius-md);font-size:var(--fs-xs);display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;box-sizing:border-box;cursor:pointer;font-weight:500;font-family:inherit}
.auth-page .btn-primary{background:var(--auth-green);color:var(--white);border:1px solid var(--auth-green);box-shadow:none}
.auth-page .btn-primary:hover{background:var(--green-hover)}
.auth-page .btn-secondary{background:var(--white);border:1px solid var(--line-strong);color:var(--muted);box-shadow:none}
.auth-page .btn-secondary:hover{background:var(--cream)}
.auth-submit{width:100%;margin-top:22px}
.auth-form-options+.auth-form-error+.auth-submit{margin-top:0}
.auth-page .btn:disabled{cursor:wait;opacity:.6}
.auth-page .icon{width:19px;height:19px;flex-shrink:0}
.auth-page input:focus{outline:2px solid var(--green-300);outline-offset:2px;border-color:var(--green-300)}
.auth-page button:focus-visible,.auth-page a:focus-visible{outline:3px solid var(--green-300);outline-offset:3px}
.auth-divider{position:relative;display:flex;align-items:center;gap:15px;text-align:center;margin:31px 0 13px;font-size:var(--fs-xs);color:var(--muted)}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.auth-preview-copy{font-size:var(--fs-xs);color:var(--auth-muted);line-height:1.75;margin:0 0 3px}
.auth-footnote{display:block;font-size:var(--fs-xs);color:var(--muted);line-height:1.75;margin-top:17px}
.auth-form-error{padding:13px 15px;background:var(--danger-bg);border:1px solid #eddbd4;color:#963e35;border-radius:var(--radius-md);font-size:var(--fs-xs);line-height:1.65;margin:18px 0 0}
.auth-form-error[hidden]{display:none}
.auth-preview-result{margin-top:18px}
.auth-preview-label{padding:12px 14px;border:1px solid var(--line-strong);background:var(--cream);border-radius:var(--radius-md);font-size:var(--fs-xs);line-height:1.6;color:var(--muted);margin:0 0 24px}
.auth-page .notice{border:1px solid var(--line-strong);background:var(--cream);border-radius:var(--radius-md);padding:14px 15px;font-size:var(--fs-xs);line-height:1.65;color:var(--muted);display:flex;gap:9px;align-items:flex-start;margin:18px 0}
.auth-page .notice>.icon{margin-top:2px}
.auth-page .notice.warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-text)}
.auth-back-link{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);text-decoration:none;font-size:var(--fs-xs);margin-top:27px;min-height:34px}
.auth-back-link .icon{width:16px;height:16px}
.auth-account-link{margin:22px 0 0;color:var(--muted);font-size:var(--fs-xs);line-height:1.7;text-align:center}
.auth-account-link a{color:var(--green);font-weight:500;text-underline-offset:3px}
.auth-registration-status{margin:18px 0 0;padding:13px 15px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--cream);color:var(--muted);font-size:var(--fs-xs);line-height:1.65}
.auth-registration-status[hidden]{display:none}
.auth-registration-fields .field>small{font-weight:400;color:var(--muted)}
.auth-result-icon{width:63px;height:63px;border-radius:50%;background:var(--cream);color:var(--muted);display:grid;place-items:center;margin-bottom:25px}
.auth-result-icon .icon{width:30px;height:30px}
.auth-contact{margin-top:auto;padding-top:37px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap}
.auth-contact a{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--muted);line-height:1.5}
.auth-contact .icon{width:14px;height:14px}
.auth-contact .auth-work-link{color:var(--muted)}
.auth-footer{padding:23px 0 0;font-size:var(--fs-xs);color:var(--muted);text-align:center}
@media(max-width:1050px){.auth-page{padding:35px 25px 22px}.auth-story{padding:37px 33px 27px}.auth-card{padding:44px 32px 28px}.auth-story-text h2{font-size:var(--fs-3xl)}.auth-card-heading h1{font-size:var(--fs-2xl)}.auth-form-options{gap:10px;font-size:var(--fs-xs)}.auth-story-image img{height:220px;width:220px}.auth-story-image:before{width:265px;height:265px}}
@media(max-width:760px){.auth-page{padding:30px 20px 19px}.auth-shell{grid-template-columns:1fr;max-width:510px}.auth-story{display:none}.auth-mobile-brand{display:block;margin-bottom:35px}.auth-mobile-brand img{width:170px;height:auto;max-height:88px;object-fit:contain;object-position:left center}.auth-card{padding:33px 32px 28px;min-height:600px}.auth-card-heading h1{font-size:var(--fs-2xl)}.auth-card-heading p{font-size:var(--fs-xs)}.auth-contact{padding-top:34px;margin-top:28px}.auth-form-options{font-size:var(--fs-xs)}.auth-footer{font-size:var(--fs-xs)}}
@media(max-width:420px){.auth-page{padding:18px 13px 16px;justify-content:flex-start}.auth-shell{border-radius:var(--radius-lg)}.auth-card{padding:26px 23px 24px;min-height:0}.auth-mobile-brand{margin-bottom:31px}.auth-mobile-brand img{width:148px;max-height:70px}.auth-card-heading h1{font-size:var(--fs-2xl)}.auth-card-heading .eyebrow{font-size:var(--fs-xs)}.auth-card-heading p{font-size:var(--fs-xs);line-height:1.7;margin-bottom:24px}.auth-page .field{font-size:var(--fs-xs)}.auth-page .field input{font-size:var(--fs-md);min-height:46px}.auth-fields{gap:17px}.auth-form-options{align-items:flex-start;font-size:var(--fs-xs);gap:12px;margin:17px 0 23px}.auth-checkbox{gap:6px}.auth-checkbox input{width:14px;height:14px;margin-top:3px}.auth-password-toggle{font-size:var(--fs-xs);padding:7px;gap:5px}.auth-page .auth-password-input input{padding-right:96px}.auth-page .btn{font-size:var(--fs-xs);min-height:44px}.auth-preview-copy{font-size:var(--fs-xs)}.auth-footnote{font-size:var(--fs-xs);line-height:1.7}.auth-divider{font-size:var(--fs-xs);margin-top:26px}.auth-back-link{font-size:var(--fs-xs)}.auth-form-error{font-size:var(--fs-xs);padding:11px 12px}.auth-preview-label{font-size:var(--fs-xs)}.auth-page .notice{font-size:var(--fs-xs);padding:12px}.auth-contact{font-size:var(--fs-xs);gap:14px;padding-top:24px;margin-top:24px}.auth-footer{font-size:var(--fs-xs);padding-top:20px}}
@media(prefers-reduced-motion:reduce){.auth-page *{animation:none!important;transition:none!important}}
.auth-invite-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;min-width:0}
.auth-invite-fields>.field.full{grid-column:1 / -1}.auth-invite-fields .field{min-width:0}.auth-invite-fields input{min-width:0;width:100%;box-sizing:border-box}
.auth-invite-fields input[readonly]{color:var(--muted);background:var(--cream)}
.auth-invite-passwords{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:480px){.auth-invite-fields{grid-template-columns:1fr;gap:16px}.auth-invite-fields>.field{grid-column:1 / -1}}
