/* Public workspace authentication overlay */
.auth-view.auth-view { position: fixed; inset: 0; z-index: 80; min-height: 0; background: rgba(23, 33, 43, .28); }
.auth-panel.auth-panel { position: relative; box-shadow: 0 18px 48px rgba(24, 48, 61, .2); }
.auth-close-button { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; padding: 0; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #657482; cursor: pointer; }
.auth-close-button:hover { border-color: #dbe3e8; color: #17212b; background: #f4f7f8; }
.auth-providers { display:grid; gap:12px; margin:20px 0; }.auth-providers.hidden { display:none; }.auth-provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.auth-provider-button { min-width:0; min-height:40px; padding:8px 10px; border:1px solid #cbd6dc; border-radius:6px; background:#fff; color:#17212b; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; }.auth-provider-button:hover { border-color:#087f78; background:#f2f8f7; }.auth-provider-button:focus-visible { outline:2px solid #72bdb8; outline-offset:2px; }.auth-provider-button.hidden { display:none; }.account-oauth-provider-grid { margin-top:14px; }.oauth-identity-list { display:grid; gap:8px; }.oauth-identity-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:36px; color:#46545e; font-size:13px; }.oauth-identity-row button { border:0; background:transparent; color:#087f78; font:inherit; cursor:pointer; }.oauth-identity-row button:hover { text-decoration:underline; }
.auth-brand { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }.auth-brand .brand-mark { flex: 0 0 auto; }.auth-brand .eyebrow { margin: 0; }
.oauth-identity-row { justify-content: flex-start; gap: 18px; }
.auth-providers { margin:16px 0 12px; }
.auth-divider { display:flex; align-items:center; gap:10px; margin:0; color:#82909a; font-size:12px; line-height:14px; }
.auth-divider::before,.auth-divider::after { content:""; flex:1; border-top:1px solid #dbe3e8; }
#oauthProviders.hidden + .auth-divider { display:none; }
.auth-panel form { margin-top:5px; }
.auth-providers:not(.hidden) + .auth-divider + #authForm { margin-top:12px; }
.auth-panel label.hidden { display:none; }
@media (max-width: 480px) {
	.auth-view.auth-view { padding:8px; }
	.auth-panel.auth-panel { padding:18px 24px; }
	.auth-providers { margin-top:12px; }
}
.auth-provider-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.auth-provider-button[data-oauth-provider="google"]::before,.auth-provider-button[data-oauth-link="google"]::before { content:""; width:18px; height:18px; flex:0 0 18px; background:url('/oauth-icons/google.svg') center/contain no-repeat; }
.auth-provider-button[data-oauth-provider="apple"]::before,.auth-provider-button[data-oauth-link="apple"]::before { content:""; width:18px; height:18px; flex:0 0 18px; background:url('/oauth-icons/apple.svg') center/contain no-repeat; }
.auth-provider-button[data-oauth-provider="github"]::before,.auth-provider-button[data-oauth-link="github"]::before { content:""; width:18px; height:18px; flex:0 0 18px; background:url('/oauth-icons/github.svg') center/contain no-repeat; }
.auth-provider-button[data-oauth-provider="microsoft"]::before,.auth-provider-button[data-oauth-link="microsoft"]::before { content:""; width:18px; height:18px; flex:0 0 18px; background:url('/oauth-icons/microsoft.svg') center/contain no-repeat; }
.profile-picture-heading { margin-bottom:18px; }.profile-picture-heading h2 { margin:0; }.profile-picture-heading p { margin:7px 0 0; color:#657482; font-size:13px; line-height:1.5; }.profile-picture-control { position:relative; display:block; width:max-content; }.avatar-settings-preview,.profile-picture-empty { display:block; width:128px; height:128px; flex:0 0 128px; border:1px solid #dbe3e8; border-radius:50%; background:#f5f7f8 url('/default-user-avatar.svg?v=2') center/cover no-repeat; object-fit:cover; }.avatar-settings-preview[hidden] { display:none; }.profile-picture-empty[aria-hidden="true"] { display:block; }.profile-picture-control:has(.avatar-settings-preview:not([hidden])) .profile-picture-empty { display:none; }.profile-picture-actions { position:absolute; right:8px; bottom:-1px; z-index:2; }.avatar-edit-button { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:6px 10px; border:1px solid #cbd6dc; border-radius:6px; background:#fff; color:#273743; font:600 13px/1.2 inherit; cursor:pointer; box-shadow:0 2px 7px rgba(24,48,61,.12); }.avatar-edit-button:hover,.avatar-edit-button[aria-expanded="true"] { border-color:#087f78; background:#f2f8f7; }.avatar-edit-button:focus-visible,.avatar-edit-menu button:focus-visible { outline:2px solid #72bdb8; outline-offset:2px; }.avatar-edit-menu { position:absolute; right:0; top:calc(100% + 7px); z-index:10; display:grid; min-width:160px; padding:5px; border:1px solid #dbe3e8; border-radius:7px; background:#fff; box-shadow:0 10px 24px rgba(24,48,61,.14); }.avatar-edit-menu.hidden { display:none; }.avatar-edit-menu button { padding:9px 11px; border:0; border-radius:4px; background:transparent; color:#46545e; font:inherit; text-align:left; cursor:pointer; }.avatar-edit-menu button:hover { background:#f2f8f7; color:#087f78; }
.password-visibility::before, .password-visibility::after { content:none; }
.auth-verification-workflow { display:grid; gap:12px; margin-top:18px; }.auth-verification-workflow.hidden { display:none; }.auth-verification-workflow .auth-link-button { justify-self:center; }
.password-visibility img { display:block; flex:0 0 18px; width:18px; height:18px; object-fit:contain; }
.auth-view { display:grid; min-height:100vh; place-items:center; padding:24px; background:#f4f7f8; }.auth-panel { width:min(420px,100%); padding:32px; border:1px solid #dbe3e8; border-radius:8px; background:#fff; box-shadow:0 12px 32px rgba(24,48,61,.1); }.auth-panel h1 { margin:0; color:#17212b; font-size:28px; }.auth-panel>p:not(.eyebrow) { margin:10px 0 0; color:#657482; font-size:14px; line-height:1.6; }.auth-panel form { display:grid; gap:14px; margin:24px 0 10px; }.auth-panel label { display:grid; gap:6px; color:#46545e; font-size:13px; font-weight:600; }.auth-panel input { min-width:0; padding:9px 10px; border:1px solid #cbd6dc; border-radius:6px; }.password-control { position:relative; display:block; }.password-control input { width:100%; box-sizing:border-box; padding-right:40px; }.password-visibility { position:absolute; top:50%; right:10px; width:24px; height:24px; padding:0; transform:translateY(-50%); border:0; background:transparent; color:#46545e; cursor:pointer; font-size:0; }.password-visibility::before { content:""; position:absolute; top:7px; left:3px; width:16px; height:10px; border:1.5px solid currentColor; border-radius:80% 20%; transform:rotate(45deg); }.password-visibility::after { content:""; position:absolute; top:10px; left:10px; width:4px; height:4px; border-radius:50%; background:currentColor; }.password-visibility:hover { color:#087f78; }.password-visibility:focus-visible { outline:2px solid #72bdb8; outline-offset:2px; border-radius:4px; }.auth-panel #authMessage { min-height:20px; margin:0; color:#657482; font-size:13px; }.auth-consent { margin:6px 0 0; color:#657482; font-size:12px; line-height:1.5; }.auth-consent a { color:#17212b; text-decoration:underline; }.auth-panel .btn-primary { width:100%; }.auth-panel .btn-secondary { margin-top:8px; }.auth-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }.auth-panel .auth-link-button { display:block; width:max-content; margin:0; padding:3px 0; border:0; background:transparent; color:#087f78; font:inherit; font-size:13px; cursor:pointer; }.auth-panel .auth-link-button:hover { color:#065f5a; text-decoration:underline; }.auth-panel .auth-link-button:focus-visible { outline:2px solid #72bdb8; outline-offset:3px; }.app-shell.hidden { display:none; }
.password-control { position:relative; display:block; }.password-control input { width:100%; box-sizing:border-box; padding-right:40px; }.password-visibility { position:absolute; top:50%; right:10px; display:grid; place-items:center; width:24px; height:24px; padding:0; transform:translateY(-50%); border:0; background:transparent; color:#46545e; cursor:pointer; }.password-visibility img { display:block; width:24px; height:24px; }.password-visibility:hover { opacity:.72; }.password-visibility:focus-visible { outline:2px solid #72bdb8; outline-offset:2px; border-radius:4px; }.auth-consent { margin:6px 0 0; color:#657482; font-size:12px; line-height:1.5; }.auth-consent a { color:#17212b; text-decoration:underline; }.auth-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; }.auth-panel .auth-link-button { display:block; width:max-content; margin:0; padding:3px 0; border:0; background:transparent; color:#087f78; font:inherit; font-size:13px; cursor:pointer; }.auth-panel .auth-link-button:hover { color:#065f5a; text-decoration:underline; }.auth-panel .auth-link-button:focus-visible { outline:2px solid #72bdb8; outline-offset:3px; }.auth-view.hidden { display: none; }
.legal-body { min-height:100vh; margin:0; padding:24px; box-sizing:border-box; background:#f4f7f8; color:#17212b; font-family:inherit; }.legal-page { width:min(680px,100%); margin:0 auto; padding:40px; border:1px solid #dbe3e8; border-radius:8px; background:#fff; box-shadow:0 12px 32px rgba(24,48,61,.1); }.legal-page h1 { margin:14px 0 8px; font-size:30px; }.legal-page h2 { margin:28px 0 8px; font-size:17px; }.legal-page p { color:#657482; font-size:14px; line-height:1.7; }.legal-page .legal-updated { margin:0; font-size:12px; }.legal-back { display:inline-block; margin-top:24px; color:#087f78; font-size:14px; }.legal-back:hover { color:#065f5a; }