/* 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-brand { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }.auth-brand .brand-mark { flex: 0 0 auto; }.auth-brand .eyebrow { margin: 0; }
.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; }