.auth-panel{padding:30px;border:1px solid var(--line);border-radius:9px;background:var(--white);min-width:0}.auth-panel h2{font-size:25px;margin-bottom:16px}.auth-panel p{font-size:14px;color:var(--muted)}.auth-form,.connection-form{display:grid;gap:10px;margin-top:23px;max-width:620px}.auth-form label,.connection-form>label{font-size:13px;font-weight:600}.auth-form input,.connection-form select,.connection-form textarea{width:100%;min-width:0;background:var(--white);color:var(--ink);border:1px solid #7a866d;border-radius:6px;padding:11px 13px;min-height:46px;font:inherit}.auth-form input{margin-bottom:9px}.auth-form .button,.connection-form>.button{justify-self:start;margin-top:8px}.auth-alternate{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.auth-alternate .text-button{min-height:44px}.auth-message{margin:18px 0;padding:12px 15px;background:var(--sage);color:var(--forest);font-size:13px;border-radius:5px;overflow-wrap:anywhere}.auth-message.error{background:#f7ebe4;color:var(--error)}.auth-message:focus{outline:2px solid var(--gold);outline-offset:3px}.auth-steps{padding-left:22px;font-size:14px;color:var(--muted)}.auth-steps li{margin-bottom:12px}.auth-secret{display:block;background:var(--paper);border:1px solid var(--line);padding:14px;overflow-wrap:anywhere;font:14px/1.6 monospace;user-select:all;white-space:pre-wrap}.auth-qr{width:220px;max-width:100%;height:auto;background:white;padding:8px;margin:18px 0}.auth-recovery{margin-top:20px}.auth-recovery summary{cursor:pointer;font-size:14px;padding:10px 0;min-height:44px}.auth-recovery p{margin:8px 0}.connection-form{margin-bottom:26px}.connection-form label:not(:first-child){margin-top:10px}.connection-form .help{font-size:12px;color:var(--muted)}.connection-confirm{display:flex;align-items:start;gap:12px;font-weight:400!important}.connection-confirm input{width:19px;height:19px;flex:none;accent-color:var(--forest);margin-top:3px}.connection-list{display:grid;gap:0;border-top:1px solid var(--line);margin-top:24px}.connection-list>div{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.connection-list strong{font-size:14px}.connection-list span,.connection-list small{font-size:12px;color:var(--muted)}.connection-form select{max-width:100%;text-overflow:ellipsis}.connection-form textarea{resize:vertical}.auth-panel .rule-note{font-size:12px;margin-top:18px}.auth-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:20px}.auth-inline-actions .text-button{min-height:44px}.auth-unavailable{padding:18px 0}.auth-unavailable strong{display:block;color:var(--ink);margin-bottom:8px}@media(max-width:650px){.auth-panel{padding:23px 20px}.auth-panel h2{font-size:23px}.auth-form input,.connection-form select,.connection-form textarea{font-size:16px}.auth-form .button,.connection-form>.button{width:100%}.auth-secret{font-size:12px}.connection-form{gap:9px}.auth-panel p{font-size:13px}}
.auth-form .connection-confirm input{width:19px;min-height:19px;margin:3px 0 0;flex:none}
.auth-panel .auth-qr{display:block;width:288px;max-width:100%;height:auto;padding:0;margin:22px 0;background:#fff;border:1px solid var(--line)}
.auth-alternate{display:flex;flex-wrap:wrap;gap:12px 20px}.auth-form #password-help{margin:0 0 8px;font-size:13px}.auth-form button:disabled{opacity:.6;cursor:not-allowed}
.chooser:has(.auth-panel) .chooser-brand{display:block;margin-bottom:36px}
body:has([data-setup]) .paper-panel{margin-top:24px}body:has([data-setup]) h1{margin:24px 0 16px}body:has([data-setup]) .chooser>p{margin-bottom:18px}body:has([data-setup]) code{overflow-wrap:anywhere}form[data-setup]{display:grid;gap:10px;margin:22px 0}form[data-setup] label{font-size:13px;font-weight:600}form[data-setup] input,form[data-setup] select{width:100%;min-width:0;border:1px solid #7a866d;background:var(--white);color:var(--ink);border-radius:6px;padding:11px 13px;min-height:46px;font:inherit}form[data-setup] .button{justify-self:start;max-width:100%;white-space:normal;margin-top:6px}#setup-status,#staff-accounts{overflow-wrap:anywhere}#staff-accounts .button{margin-top:10px}

.portal-privacy { max-width: 48rem; margin: 0 auto; padding: 2rem 1.25rem; }
.portal-privacy h1 { margin-top: 2rem; }
.portal-privacy h2 { margin: 2rem 0 .75rem; }
.portal-privacy p { margin-bottom: 1rem; }
