.workspace-app .online-invite-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;margin-bottom:28px;background:var(--sys-soft);border:1px solid var(--line);border-radius:12px}
.workspace-app .online-invite-banner h2{font-size:1.2rem;margin:0 0 6px}.workspace-app .online-invite-banner p{font-size:.875rem;color:var(--fg-muted);margin:0}.workspace-app .online-invite-banner .btn{flex:none}
.online-collection{max-width:1160px}.online-session-heading,.online-session-footer{display:flex;justify-content:space-between;gap:28px;align-items:center}.online-session-heading h2{font-size:1.5rem;margin:8px 0}.online-response-stat{text-align:right;flex:none}.online-response-stat strong{display:block;font-size:2.5rem;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.online-response-stat span{font-size:.875rem;color:var(--fg-muted)}
.online-share-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:center;border-block:1px solid var(--line-soft);padding:28px 0;margin:24px 0}.online-qr{background:white;padding:12px;border:1px solid var(--line);border-radius:8px;aspect-ratio:1}.online-qr svg{display:block;width:100%;height:auto}.online-share-content h3{font-size:1rem;line-height:1.5;margin:0 0 14px}.online-link{width:100%;font-size:.875rem;margin-bottom:16px}.online-preview-link{display:inline-block;margin-top:20px;font-size:.875rem}.online-session-footer p{max-width:430px;margin:0}.online-session-footer .btn-row{flex:none}.online-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.online-field{display:flex;flex-direction:column;gap:9px;font-size:.875rem}.online-field input,.online-field select{width:100%;font:inherit;min-height:44px}.online-session-form h2{font-size:1.3rem;margin-bottom:24px}.online-session-form>.btn{margin-top:12px}.online-new-session>summary{font-size:.875rem;cursor:pointer;padding:16px 0}.online-signin{max-width:620px}.online-signin h2{font-size:1.5rem}.online-error h2{font-size:1.5rem}.online-language{font:inherit;font-size:.875rem;padding:8px 28px 8px 12px;background-color:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:7px;min-height:42px}
/* A participant sees the questionnaire without the organiser workspace. */
body.participant-app{background:var(--surface);color:var(--fg);font-family:var(--sans);line-height:1.55}.participant-app>.app-header,.participant-app>.app-footer,.participant-app>.skip-link{display:none}.participant-app main{margin:0;padding:0}.participant-app main>.wrap{max-width:760px;width:100%;margin:0 auto;padding:0 28px 48px;animation:none}.participant-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-soft)}.participant-brand{font:2.5rem/1 var(--brand-serif);color:var(--brand);letter-spacing:-.045em}.participant-content{padding-top:30px}.participant-content h1{font-size:2rem;line-height:1.3;letter-spacing:-.035em;max-width:none;margin:18px 0}.participant-context{display:flex;justify-content:space-between;gap:16px;color:var(--fg-muted);font-size:.875rem;margin-bottom:28px}.participant-intro{font-size:1.125rem;line-height:1.6;color:var(--fg-muted)}.participant-time{font-size:.9375rem;font-weight:500;margin:24px 0}.participant-privacy{background:var(--surface-2);border-left:2px solid var(--brand);padding:18px;font-size:.9375rem;color:var(--fg-muted)}.participant-start{display:grid;gap:20px;margin-top:28px}.participant-next{justify-self:start;min-width:180px}.participant-progress{display:grid;gap:10px;font-size:.8125rem;color:var(--fg-muted);margin-bottom:26px}.participant-progress progress{appearance:none;width:100%;height:4px;border:none;border-radius:4px;background:var(--surface-3)}.participant-progress progress::-webkit-progress-bar{background:var(--surface-3);border-radius:4px}.participant-progress progress::-webkit-progress-value{background:var(--brand);border-radius:4px}.participant-progress progress::-moz-progress-bar{background:var(--brand)}.participant-question-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8125rem;color:var(--fg-muted)}.participant-content .participant-question{font-size:1.625rem;margin-top:18px}.participant-guidance{font-size:.9375rem;line-height:1.6;color:var(--fg-muted);margin-bottom:24px}.participant-options{display:grid;gap:10px}.participant-option{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:15px 18px;min-height:64px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font:1rem/1.4 var(--sans);color:var(--fg);cursor:pointer}.participant-option:hover{border-color:var(--brand)}.participant-option.selected{background:var(--sys-soft);border-color:var(--brand)}.participant-option-mark{display:grid;place-items:center;flex:none;width:26px;height:26px;font-size:.875rem;border:1px solid var(--line);border-radius:50%;color:var(--fg-muted)}.participant-option.selected .participant-option-mark{background:var(--brand);border-color:var(--brand);color:var(--theme-on-accent,#fff)}.participant-nav{display:flex;justify-content:space-between;gap:18px;margin:28px 0 18px}.participant-nav>.btn{min-width:120px;min-height:46px}.participant-save-note{font-size:.8125rem;line-height:1.55;text-align:center;color:var(--fg-muted);margin-top:24px}.participant-error{padding:16px;background:var(--surface-2);border-left:3px solid var(--bad);font-size:.9375rem}.participant-finish{padding:45px 0;text-align:center}.participant-success{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;border-radius:50%;background:var(--sys-soft);color:var(--brand);font-size:1.5rem}.participant-loading{padding:48px 0;text-align:center}.participant-app .btn{font-size:.9375rem}.participant-app .online-field input{font-size:1rem;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg)}
@media(max-width:760px){.workspace-app .online-invite-banner,.online-session-heading,.online-session-footer{align-items:flex-start;flex-direction:column}.online-share-grid{grid-template-columns:1fr;gap:24px}.online-qr{width:220px;justify-self:center}.online-form-grid{grid-template-columns:1fr}.online-response-stat{display:flex;align-items:baseline;text-align:left;gap:12px}.online-session-footer .btn-row{flex-wrap:wrap}.participant-app main>.wrap{padding:0 20px 32px}.participant-header{padding:18px 0}.participant-content{padding-top:22px}.participant-content h1{font-size:1.625rem}.participant-content .participant-question{font-size:1.375rem}.participant-context{flex-direction:column;gap:4px;margin-bottom:22px}.participant-option{padding:14px;min-height:62px}.participant-question-label{font-size:.75rem}.participant-brand{font-size:2.2rem}}
@media(prefers-reduced-motion:no-preference){.participant-option{transition:border-color 120ms ease,background-color 120ms ease}}
/* The survey has its own reading surface, independent of the landing typography. */
body.participant-app{--surface:#fff;--surface-2:#f3f5f8;--surface-3:#e4e9ef;--fg:#222a32;--fg-muted:#59646f;--line:#dce2e8;--line-soft:#e5e9ee;--brand:var(--theme-primary,#0000f2);--sys:var(--brand);--beh:var(--theme-print-behaviour,#007d79);--sys-soft:color-mix(in srgb,var(--brand) 5%,white);--bg:#fff;color-scheme:light}
.participant-app h1,.participant-app h2,.participant-app .btn{font-family:var(--sans);text-transform:none;font-weight:500;letter-spacing:-.02em}.participant-app .btn{border-radius:7px}.participant-app .btn.primary{color:#fff}.participant-app .participant-option.selected .participant-option-mark{color:#fff}.participant-header .online-language{width:auto;max-width:150px}.participant-app .q-lens{font:500 .75rem/1.5 var(--sans);text-transform:none;letter-spacing:0}.participant-app .participant-nav{position:sticky;bottom:0;padding:14px 0;background:var(--surface);border-top:1px solid var(--line-soft);z-index:2}.participant-app :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.online-signout{display:inline-block;margin-left:18px;font-size:.875rem;color:var(--fg-muted)}.online-session-form input[type=datetime-local]{font:inherit;padding:12px;border:1px solid var(--theme-input-line);border-radius:7px;background:var(--surface);color:var(--fg);color-scheme:inherit}
/* Access gates never render the organiser navigation or assessment content. */
.access-app main>.wrap{padding-block:64px;min-height:65vh}.access-card{max-width:620px;margin:24px auto;padding:36px}.access-card h1{font:500 2rem/1.2 var(--sans);letter-spacing:-.035em;text-transform:none}.access-card p{font:1rem/1.6 var(--sans)}.access-card .btn-row{margin-block:28px}.access-card .small{font-size:.875rem}.access-loading{padding-block:48px}
