body.participant {background:#f8faff;color:#111d40;padding-bottom:90px}
.participant header {max-width:1060px;margin:auto;border:0;padding:22px 24px;background:transparent}
.participant #headerActions,.participant .pilot-note,.participant footer,.participant #session {display:none!important}
.participant main {max-width:1060px;padding:0 24px;margin:auto}
#participantApp[hidden] {display:none}
#participantApp {color:#111d40;font-size:16px}
#participantApp * {box-sizing:border-box}
#participantApp h1 {font-size:32px;letter-spacing:-.8px;margin:8px 0}
#participantApp h2 {font-size:22px;letter-spacing:-.5px;margin:0}
#participantApp p {line-height:1.5;margin:8px 0;color:#68748c}
#participantApp button,#participantApp input,#participantApp textarea {font:inherit}
#participantApp button,#participantApp a {touch-action:manipulation}
#participantApp button {min-height:46px;cursor:pointer;border-radius:12px}
#participantApp button:disabled {opacity:.55;cursor:default}
#participantApp .p-card {background:white;border:1px solid #e5e9f1;border-radius:20px;padding:22px;margin:0;box-shadow:0 2px 8px #21345904}
#participantApp .p-row {display:flex;gap:16px;align-items:center;justify-content:space-between}
#participantApp .p-stack {display:grid;gap:18px}
#participantApp .p-soft {background:#f0f5ff;color:#0865dc;border:0}
#participantApp .p-primary {background:#0965eb;color:white;border:0;width:100%;padding:16px}
#participantApp .p-icon {width:26px;height:26px;vertical-align:middle;flex-shrink:0}
#participantApp .p-heading {display:flex;gap:10px;align-items:center}
#participantApp .p-greeting {display:flex;align-items:center;gap:12px;justify-content:flex-end;margin:-67px 0 32px;min-height:44px}
#participantApp .p-greeting small {display:block;color:#68748c}
#participantApp .p-greeting button {background:transparent;color:#111d40;border:0;padding:8px}
#participantApp .p-dot {height:48px;width:48px;min-width:48px;border:11px solid #edf1f8;border-radius:50%;background:#a3afc0}
#participantApp .p-dot.live {background:#15ab6d;border-color:#d9f3e6}
#participantApp .p-status {display:flex;gap:16px;align-items:center}
#participantApp .p-status time {font-size:13px;color:#68748c;margin-left:auto;text-align:right}
#participantApp .p-status p {font-size:14px;margin:4px 0 0}
#participantApp .p-mapcard {padding:0;margin:0;border-radius:20px;overflow:hidden;border:1px solid #e5e9f1;background:#edf4f6}
#participantMap {height:310px;z-index:0;background:#edf4f6}
#participantApp .p-mapfoot {background:white;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
#participantApp .p-mapfoot p {font-size:13px;margin:4px 0}
#participantApp .p-mapfoot button {white-space:nowrap;padding:8px 16px}
#participantApp .p-columns {display:grid;grid-template-columns:1.7fr 1fr;gap:18px}
#participantApp .p-task {display:flex;gap:12px;align-items:center;border-bottom:1px solid #edf0f6;padding:14px 0}
#participantApp .p-task input[type=checkbox] {width:23px;height:23px;accent-color:#16a667;margin:0;flex-shrink:0}
#participantApp .p-task span {flex:1}
#participantApp .p-task time {font-size:14px;color:#68748c}
#participantApp .p-task label {display:contents}
#participantApp .p-tasks {margin:10px 0 20px}
#participantApp progress {width:110px;height:9px;accent-color:#16a667}
#participantApp .p-progress {font-size:12px;color:#68748c;text-align:right}
#participantApp .p-help {width:100%;text-align:left;padding:22px;border:1px solid #e5e9f1;background:#f2f6fc;color:#111d40}
#participantApp .p-help strong {display:block;font-size:20px;margin:10px 0 4px}
#participantApp .p-help small {font-size:14px;display:block;line-height:1.45}
#participantApp .p-sos {background:#fa343e;color:white;border:0;padding:26px}
#participantApp .p-sos strong {font-size:32px}
#participantApp .p-nav {position:fixed;top:auto;height:auto;bottom:0;left:0;right:0;z-index:900;background:#ffffffed;backdrop-filter:blur(14px);display:flex;justify-content:space-around;border-top:1px solid #e7ecf4;padding:12px 12px max(12px,env(safe-area-inset-bottom))}
#participantApp .p-nav a {display:grid;justify-items:center;gap:5px;text-decoration:none;color:#142246;font-size:14px;min-width:70px}
#participantApp .p-nav a[aria-current=page] {color:#0064f3;font-weight:700}
#participantApp .p-back {background:transparent;color:#0965eb;border:0;padding:8px 0;margin-bottom:10px}
#participantApp .p-modes {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
#participantApp .p-modes button {background:#f1f5fc;border:1px solid transparent;color:#122044;padding:20px 10px}
#participantApp .p-modes button[aria-pressed=true] {border-color:#1265da;color:#1265da}
#participantApp .p-form label {display:block;margin:22px 0;font-weight:600}
#participantApp .p-form input:not([type=checkbox]),#participantApp .p-form textarea {display:block;width:100%;margin:10px 0 0;border:1px solid #c9d2e1;border-radius:12px;padding:17px;background:white;color:#142246;min-width:0}
#participantApp .p-form textarea {min-height:95px;resize:vertical}
#participantApp .p-form small {font-weight:400;color:#68748c}
#participantApp .p-editor {max-width:620px;margin:auto}
:is(#participantApp,#arrivalAudio,#guideIntake) .p-mic {display:block;background:#0965eb;border:18px solid #dce8ff;box-shadow:0 0 0 16px #f0f5fd;color:white;border-radius:50%;width:130px;height:130px;margin:42px auto 35px}
:is(#participantApp,#arrivalAudio,#guideIntake) .p-mic .p-icon {width:44px;height:44px}
#participantApp .p-candidate {display:flex;gap:10px;align-items:center;margin:12px 0}
#participantApp .p-candidate input[type=text] {flex:1;min-width:0;width:100%;padding:10px;border:1px solid #dae1eb;border-radius:8px}
#participantApp .p-candidate input[type=time] {width:105px;padding:8px;border:1px solid #dae1eb;border-radius:8px}
#participantApp [hidden] {display:none!important}
#participantApp #pMessage:empty {display:none}
#participantApp #pMessage {padding:12px 16px;background:#fff2d9;border-radius:12px;color:#70551d;margin:0 0 16px}
#participantApp #consentSetup {padding:0;border:0;box-shadow:none}
@media(max-width:600px){.participant header{padding:20px 16px}.participant main{padding:0 14px}.participant .brand{transform:scale(.8);transform-origin:left center}#participantApp .p-greeting{margin-top:-69px;font-size:13px}#participantApp .p-greeting small{font-size:11px}#participantApp .p-greeting .p-person{display:none}#participantApp .p-card{padding:16px}#participantApp h2{font-size:19px}#participantApp .p-status{gap:10px}#participantApp .p-dot{width:40px;height:40px;min-width:40px;border-width:9px}#participantApp .p-status time{font-size:11px;max-width:90px}#participantMap{height:250px}#participantApp .p-columns{grid-template-columns:minmax(0,1fr) minmax(115px,.55fr);gap:10px}#participantApp .p-help{padding:15px 12px}#participantApp .p-help strong{font-size:17px}#participantApp .p-help small{font-size:12px}#participantApp .p-sos strong{font-size:27px}#participantApp .p-task{font-size:14px;gap:8px}#participantApp .p-task time{font-size:12px}#participantApp .p-progress{display:none}#participantApp .p-mapfoot{padding:14px}#participantApp .p-mapfoot button{padding:8px;font-size:13px}#participantApp .p-columns h2{font-size:17px}#participantApp .p-columns .p-heading .p-icon{display:none}}
@media(max-width:350px){#participantApp .p-columns{grid-template-columns:1fr}#participantApp .p-greeting strong{font-size:11px}}

body.admin-task-editor #detailContent,body.admin-task-editor #participantApp .p-greeting,body.admin-task-editor #participantApp .p-nav{display:none!important}
body.admin-task-editor #participantApp{padding:24px 0 48px}
body.admin-task-editor #pEditorClient{background:#edf4ff;color:#155fc6;padding:12px 16px;border-radius:12px;font-weight:600}

#pAudioPreview{width:100%;margin:16px 0}#pVoiceStatus{font-variant-numeric:tabular-nums}#pStopRecord{background:#b42318;color:white}#pAnalyzeAudio{margin:12px 0}

#aaPreview,#guideAudioPreview{width:100%;margin:16px 0}#aaStatus,#guideAudioStatus{font-variant-numeric:tabular-nums}#aaStop,#guideStop{background:#b42318;color:white}#aaGenerate,#guideAnalyzeAudio{margin:12px 0}

#arrivalAudio [hidden],#guideIntake [hidden]{display:none!important}

#pHistoryMap{height:360px;height:min(55vh,420px);min-height:260px;border-radius:12px;overflow:hidden}#pHistoryTracks button{display:block;width:100%;text-align:left}#pHistoryStatus{font-variant-numeric:tabular-nums}#pHistoryPanel{min-width:0}
