/* Approved TSW authentication layout. */
.startup-status.app{min-height:100vh;height:auto;justify-content:center;padding:24px}
.startup-content{width:100%;max-width:440px;margin:auto;line-height:1.6}
.startup-content h1{font-size:26px;line-height:1.25}.startup-content p{margin:16px 0;color:var(--muted)}
.startup-content .button{display:inline-flex;text-decoration:none;min-height:44px;padding:10px 18px}
.auth-root.app{height:auto;min-height:100dvh;overflow:auto;container:preview / inline-size}
.auth-root .auth-topbar{justify-content:flex-end}
.auth-root .auth-main{min-height:min(740px,calc(100dvh - 100px))}
.auth-root .auth-passkey-hint{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px}
.auth-root .auth-passkey-hint:empty{display:none}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;flex-shrink:0}
.auth-topbar>span{font-size:11px;color:var(--muted)}
.auth-topbar .icon-button{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.auth-main{flex:1;display:flex;flex-direction:column;justify-content:center;width:min(100%,440px);margin:0 auto;padding:20px 24px 40px;outline:none}
.auth-brand{margin-bottom:40px;gap:16px}
.auth-brand .brand-full{display:flex}
.auth-brand .brand-overline{font-size:14px}
.auth-brand .brand-title{font-size:38px}
.auth-brand .brand-mark{width:36px;height:36px;gap:4px}
.auth-panel h1{font-size:30px;letter-spacing:-1px;line-height:1.2;font-weight:600}
.auth-intro{font-size:14px;line-height:1.65;color:var(--muted);margin:10px 0 26px}
.auth-form{display:grid;gap:18px}
.auth-field{display:grid;gap:8px;font-size:13px;font-weight:550}
.auth-field>input,.auth-secret{width:100%;min-height:48px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.auth-field>input{font-size:16px;padding:12px 14px}
.auth-secret{display:flex;align-items:center;overflow:visible}
.auth-secret input{min-width:0;width:100%;min-height:46px;border:0;background:transparent;padding:12px 14px;font-size:16px;border-radius:10px}
.auth-secret button{flex:none;font-size:12px;padding:10px 14px;min-height:44px;color:var(--muted);border-radius:8px;margin-right:2px}
.auth-secret:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.auth-secret input:focus-visible{outline:none}
.auth-field small{font-size:12px;color:var(--muted);font-weight:400}
.auth-panel .button{min-height:48px;border-radius:10px;font-size:14px;text-decoration:none}
.auth-panel .primary{margin-top:2px}
.auth-divider{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted);margin:22px 0}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.auth-passkey-icon{width:19px;height:19px;flex:none}
.auth-help{margin-top:25px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}
.auth-help button,.auth-help a{color:var(--ink);font-size:12px;text-underline-offset:4px;text-decoration:underline;padding:4px}
.auth-help p{margin-top:9px}
.auth-invited-user{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:14px;margin-bottom:22px}
.auth-user-avatar{width:36px;height:36px;display:grid;place-items:center;background:var(--slate);color:var(--yellow);border-radius:10px;font-size:17px;font-weight:600;flex:none}
.auth-invited-user small{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}
.auth-invited-user strong{font-size:14px;font-weight:600}
.auth-message{font-size:13px;line-height:1.6;color:var(--focus);margin:18px 0 0}
.auth-message:empty{display:none}
.auth-note{text-align:center;padding:0 20px 24px;font-size:11px;color:var(--muted);flex-shrink:0}
.auth-success-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--yellow);background:var(--slate);margin-bottom:22px;font-size:24px}
@container preview (max-width:600px){.auth-topbar{padding:16px 20px}.auth-main{padding:20px 24px 32px}.auth-brand{margin-bottom:30px}.auth-panel h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.auth-root button{transition:none}}
