@font-face{font-family:Body;src:url('/research/body.woff2')}@font-face{font-family:Heading;src:url('/research/heading.woff2')}*{box-sizing:border-box}:root{--ink:#29243e;--muted:#625c76;--accent:#6841d9;--soft:#eee8fc;--line:#e3deed;--bg:#f6f4fb;--paper:#fff;--green:#e6f3e9;font-family:Body,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}body{margin:0}h1,h2,h3{line-height:1.4;margin:0 0 12px}h1{font-family:Heading,sans-serif;font-size:clamp(23px,3vw,33px);letter-spacing:-1px}h2{font-size:21px}h3{font-size:17px}p{line-height:1.7;margin:8px 0 16px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #9c72ea}button{cursor:pointer;border:0;border-radius:14px;min-height:44px;padding:12px 18px;background:var(--soft);color:#493184;font-weight:600}button:disabled{opacity:.55;cursor:default}.primary{background:var(--accent);color:white}.danger{background:#fce8e9;color:#982d38}.quiet{background:transparent;border:1px solid var(--line)}a{color:var(--accent)}input:not([type=checkbox]),select,textarea{width:100%;padding:13px;border:1px solid #bbb3ce;background:var(--paper);color:var(--ink);border-radius:12px;min-height:46px}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:20px;height:20px}label{display:block;font-size:13px;line-height:1.6;margin-bottom:14px}label input,label select,label textarea{margin-top:6px}.check{display:flex;align-items:flex-start;gap:10px}.check input{flex-shrink:0}.muted,small{color:var(--muted);line-height:1.6}.eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.card{background:var(--paper);border:1px solid var(--line);border-radius:23px;padding:24px;margin-bottom:20px;min-width:0}.hero{background:#eae3fa;border-color:#dbd0f0}.hero p{max-width:700px}.hero small{display:block;margin-top:16px}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#28213d;color:white;padding:32px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-family:Heading;font-size:13px;line-height:1.6}.brand img{width:40px;height:40px;border-radius:12px}.brand small{font-family:Body;font-size:10px;color:#cfc5e6}.sidebar nav{display:grid;gap:10px;margin:40px 0}.sidebar button{color:#e9e2f7;text-align:left;background:transparent}.sidebar button.active{background:#504064;color:white}.sidebar footer{margin-top:auto;font-size:11px;color:#cfc5e6}.sidebar footer button{width:100%;margin-top:15px}.workspace{margin-left:245px;padding:36px 44px;max-width:1600px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.top p{margin:0;font-size:13px}.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:10px;background:var(--soft);font-size:11px;line-height:1.5;white-space:nowrap}.badge.good{background:var(--green);color:#275536}.badge.warn{background:#fff0d9;color:#76501e}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.stat strong{font-size:28px;display:block;margin-bottom:6px}.stat span{font-size:12px;color:var(--muted)}.slot{padding:22px;margin:0;display:flex;flex-direction:column;gap:10px}.slot button{margin-top:auto}.slot .number{font-family:Heading;color:var(--accent);font-size:28px}.slot p{font-size:13px;margin:0 0 10px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:25px 0 16px}.section-title h2{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:10px}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.progress{height:7px;background:#e8e3f0;border-radius:20px;overflow:hidden;margin-top:14px}.progress span{display:block;height:100%;background:var(--accent)}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:400}td button{padding:8px 12px;min-height:38px;font-size:12px}.table-wrap{overflow-x:auto}td small{display:block;margin-top:4px}.filters{display:flex;gap:12px;margin:18px 0}.filters>*{flex:1;min-width:0}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-intro{background:#29223e;color:white;padding:10vh 7vw;display:flex;flex-direction:column;justify-content:center}.login-intro h1{margin:40px 0 20px;font-size:36px}.login-intro p{color:#e3daf3;max-width:470px}.login-main{display:flex;align-items:center;justify-content:center;padding:30px}.login-main>.card{max-width:440px;width:100%}.login-main .eyebrow{margin-bottom:24px}.loading{padding:50px}.field-note{font-size:12px;margin-top:8px}.error{color:#a82a40;font-size:13px;line-height:1.6;margin:12px 0}.success{color:#275536}.timeline{display:grid;gap:10px}.timeline article{padding:17px;border:1px solid var(--line);border-radius:15px}.timeline strong{display:block}.timeline p{font-size:13px;margin:6px 0 0}.chat-layout{display:grid;grid-template-columns:240px 1fr;gap:18px}.chat-menu{display:flex;flex-direction:column;gap:8px;max-height:65dvh;overflow:auto}.chat-menu button{text-align:left;font-size:13px}.chat-menu .active{background:var(--accent);color:white}.chat-box{height:66dvh;min-height:400px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden}.chat-title{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:600}.messages{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{max-width:85%;padding:12px 16px;border-radius:16px;background:#f1eef6;align-self:flex-start;overflow-wrap:anywhere}.message.mine{align-self:flex-end;background:#e7dff8}.message small{font-size:10px}.message strong{display:block;font-size:12px}.message p{white-space:pre-wrap;font-size:14px;margin:5px 0}.chat-form{display:flex;align-items:flex-end;gap:10px;padding:15px;border-top:1px solid var(--line)}.chat-form textarea{min-height:48px;height:48px}.chat-form button{flex-shrink:0}.question{padding:20px 0;border-top:1px solid var(--line)}.question .title{font-size:16px;font-weight:600;line-height:1.6;margin-bottom:12px}.options{display:grid;gap:10px}.options label{padding:12px;background:var(--bg);border-radius:12px;margin:0;display:flex;align-items:center;gap:10px}.options input{width:20px!important;min-height:20px!important}.video-wrap{background:#211b2d;border-radius:18px;overflow:hidden;margin-bottom:20px}.video-wrap video{width:100%;max-height:50dvh;display:block}.question-editor{padding:18px;background:var(--bg);border-radius:15px;margin-bottom:12px}.question-editor .row{display:grid;grid-template-columns:1fr 180px;gap:12px}.privacy{font-size:12px;padding:16px;border:1px solid var(--line);border-radius:14px;line-height:1.8}.note{padding:15px;background:var(--bg);border-radius:14px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.install-tip{border-left:3px solid var(--accent);padding-left:15px;font-size:12px}#toast{position:fixed;bottom:calc(30px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:14px;background:#29223e;color:white;max-width:90vw;box-shadow:0 4px 25px #0002;z-index:100;display:none}#toast.show{display:block}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:white;padding:12px;z-index:200}.mobile-brand{display:none}dialog{border:1px solid var(--line);border-radius:22px;padding:26px;max-width:600px;width:calc(100% - 30px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#221a3e77}.overflow-text{overflow-wrap:anywhere;white-space:pre-wrap}hr{border:0;border-top:1px solid var(--line);margin:24px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px Body;line-height:1.8}
@media(max-width:1050px){.workspace{padding:26px}.sidebar{width:205px}.workspace{margin-left:205px}.grid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.chat-layout{grid-template-columns:180px 1fr}}
@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;height:auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:white;display:block}.sidebar>.brand,.sidebar footer{display:none}.sidebar nav{display:flex;margin:0;gap:4px}.sidebar nav button{flex:1;color:var(--muted);text-align:center;font-size:11px;padding:13px 4px;border-radius:12px;min-height:46px}.sidebar button.active{background:var(--soft);color:var(--accent)}.workspace{margin:0;padding:20px 16px calc(100px + env(safe-area-inset-bottom))}.mobile-brand{display:flex;align-items:center;gap:8px;font-family:Heading;font-size:11px;margin:0 0 25px}.mobile-brand img{width:30px;height:30px;border-radius:8px}.top{margin-bottom:24px;gap:12px}.top p{font-size:11px}.card{padding:20px;border-radius:20px}.stats{gap:8px}.stat{padding:13px 10px;border-radius:14px}.stat strong{font-size:23px}.stat span{font-size:10px}.login-shell{grid-template-columns:1fr}.login-intro{padding:35px 26px}.login-intro h1{font-size:25px;margin:24px 0 15px}.login-intro p{font-size:13px}.login-main{padding:22px 16px;align-items:start}.chat-layout{display:flex;flex-direction:column}.chat-menu{flex-direction:row;max-height:none;overflow-x:auto}.chat-menu button{flex-shrink:0}.chat-box{height:65dvh;min-height:350px}.question-editor .row{grid-template-columns:1fr}.filters{flex-direction:column}button{padding:12px 15px}.actions>button{flex-grow:1}.hero p{font-size:14px}.chat-form{padding:12px}.chat-form button{padding:12px}.chat-form textarea{font-size:16px}input,textarea,select{font-size:16px}.section-title{align-items:flex-start}.section-title small{max-width:110px;text-align:right}.message{max-width:92%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.section-gap{margin-top:20px}.san-poles{display:flex;justify-content:space-between;gap:20px;font-weight:600}.san-poles>span{flex:1}.san-poles>span:last-child{text-align:right}li{line-height:1.7;margin-bottom:8px}

.questionnaire-shell{max-width:760px;margin-left:auto;margin-right:auto}.questionnaire-shell fieldset{border:0;padding:18px 0;min-width:0}.questionnaire-shell legend{font-size:21px;line-height:1.6;font-weight:600}.wizard-options{display:grid;gap:12px;margin:20px 0}.wizard-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:16px;border-radius:14px;margin:0;font-size:16px;cursor:pointer}.wizard-options label:has(input:checked){border:2px solid var(--accent);background:var(--soft)}.wizard-options input{width:22px!important;min-height:22px!important;flex:0 0 22px}.questionnaire-shell progress{width:100%;accent-color:var(--accent);margin-bottom:18px}

.section-title{flex-wrap:wrap}

.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-actions button{font-size:12px}.next-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.next-steps article{padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:16px}.preview-banner{border:2px solid #b78112;border-radius:18px;background:#fff6d9;padding:18px;margin-bottom:24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.preview-banner p{margin:6px 0;font-size:13px}.preview-banner>div{flex:1;min-width:210px}.preview-banner label{margin:0}.preview-banner select{min-width:180px}.timer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}td small{max-width:340px}button,summary{touch-action:manipulation}summary{cursor:pointer;min-height:36px} [hidden]{display:none!important}@media(max-width:700px){.next-steps,.timer-grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-wrap:wrap}.header-actions{justify-content:flex-start}.preview-banner{padding:15px}.preview-banner>button{width:100%}.questionnaire-shell legend{font-size:19px}}
/* The research label is a second line, never a continuation of the wordmark. */
.brand>span,.mobile-brand>span{display:block;min-width:0;line-height:1.4}.brand small,.mobile-brand small{display:block;margin-top:4px;letter-spacing:1px;font-family:Body;font-size:10px}.brand{align-items:center}.brand img,.mobile-brand img{flex-shrink:0}.sidebar .brand{font-size:12px}.workspace{min-width:0}.card h1,.card h2,.hero p{overflow-wrap:anywhere}.gantt-wrap{max-height:65dvh;overscroll-behavior:contain}.gantt{width:max-content;min-width:100%;font-size:11px}.gantt th,.gantt td{min-width:46px;padding:12px 6px;text-align:center;white-space:nowrap;border:1px solid var(--line)}.gantt thead th{position:sticky;top:0;z-index:2;background:var(--paper)}.gantt th:first-child{min-width:185px;max-width:240px;white-space:normal;text-align:left;position:sticky;left:0;background:var(--paper);z-index:1}.gantt thead th:first-child{z-index:3}.gantt-practice{background:#f5f1fd}.gantt-measure{background:#e7dcff;font-weight:600}.gantt-completed{background:#dff0e1;color:#224d2a}.gantt-available,.gantt-in_progress{background:#fff0cb;color:#604312}.gantt-current{box-shadow:inset 0 0 0 2px var(--accent)}.gantt-closed{background:#eee;color:#4c4658}.mobile-brand small{color:var(--muted)}
.gantt th small{display:block;font-weight:400;margin-top:4px}
/* Research 0.4: the next action comes before the long daily plan. */
.daily-next{padding:24px}.daily-next h1{font-size:clamp(23px,3vw,30px)}.daily-next>button.primary{min-width:200px}.daily-progress{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13px}.refresh-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;font-size:12px;color:var(--muted)}.refresh-line button{font-size:12px;padding:8px 12px}.question-return{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}.question-short-title{font-size:21px}.method-about{margin-top:20px;font-size:12px}.method-about p{overflow-wrap:anywhere}#wizard-question:focus{outline:0}.questionnaire-shell fieldset{padding:12px 0}.questionnaire-shell .wizard-options{margin:14px 0;gap:10px}.questionnaire-shell .wizard-options label{padding:12px}.questionnaire-shell .actions{margin-top:12px}.questionnaire-shell [data-autosave]{font-size:13px}.questionnaire-shell .actions button{min-height:44px}.questionnaire-shell .method-about summary{font-size:12px}details.card>summary{font-weight:600}.card>details{margin-bottom:15px}
@media(max-width:700px){.login-intro{padding:20px 24px}.login-intro h1{font-size:22px;margin:14px 0 6px}.login-intro p{margin:6px 0;font-size:12px}.login-intro p:last-child{display:none}.login-main{padding:16px}.login-main .eyebrow{display:none}.login-main .card{padding:18px}.login-main h2{font-size:20px}.login-main p.muted{font-size:12px;line-height:1.5;margin-bottom:12px}.mobile-brand{margin-bottom:14px}.top{margin-bottom:16px}.daily-next{padding:18px}.daily-next p{margin:8px 0 12px}.daily-next>button.primary{width:100%}.daily-progress{font-size:12px;margin-top:14px}.questionnaire-shell{padding:17px}.questionnaire-shell legend{font-size:18px;line-height:1.5}.questionnaire-shell .wizard-options label{font-size:15px}.questionnaire-shell .actions>button{flex:1 1 40%}.questionnaire-shell .actions>[data-save-instrument]{flex-basis:100%}.question-return{font-size:12px;gap:8px}}
/* Research 0.5: a compact work queue and explicit preparation state. */
.readiness-list,.attention-list{display:grid;gap:10px}.readiness-list article,.attention-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:14px}.readiness-list p,.attention-list p{margin:4px 0;font-size:13px}.attention-list .actions{margin:0;flex-shrink:0}.export-links{display:grid;gap:14px;margin:20px 0}.staff-filters{align-items:end}.staff-filters label{flex:1;margin:0}.staff-filters>button{flex:0 0 auto}.gantt td small{display:block;white-space:normal;font-size:10px}.gantt td{min-width:95px}.gantt th:first-child{min-width:175px}.chat-menu button small{display:block;color:inherit;font-size:10px}.stat strong{overflow-wrap:anywhere}.gantt-waiting{background:#f5f1fd}
@media(max-width:700px){.readiness-list article,.attention-list article{align-items:flex-start;flex-direction:column;gap:8px}.readiness-list article>button{align-self:flex-start}.attention-list .actions{width:100%}.staff-filters{align-items:stretch}.stats .stat strong{font-size:20px}.gantt td{min-width:90px}.gantt th:first-child{min-width:135px;max-width:160px}}
/* Research 0.6: one task, one action; context stays secondary. */
.daily-heading .section-title{margin:0 0 16px;align-items:center}.daily-heading h1{margin:0}.daily-heading>p{margin:8px 0 18px}.daily-heading .eyebrow{margin-bottom:8px}.daily-section{margin-bottom:20px}.daily-section>h2{margin-bottom:14px}.form-task{display:flex;align-items:center;justify-content:space-between;gap:18px;white-space:normal}.form-task h3{margin:4px 0 6px}.form-task button{flex-shrink:0}.form-task .muted{font-size:12px}.daily-section .slot{padding:18px;gap:6px}.daily-section .slot h3{margin-bottom:4px}.daily-section .slot p{margin:0 0 8px}.daily-section .grid{margin-bottom:14px}.login-intro h1{font-size:30px}.login-intro p{margin:0}.login-main .field-note{margin-bottom:0}.questionnaire-shell [data-save-instrument]{background:transparent;border:1px solid var(--line)}
@media(max-width:700px){.login-intro{padding:18px 24px}.login-intro h1,.login-intro p{display:none}.login-main .card{margin-bottom:0}.daily-heading .section-title{gap:10px;margin-bottom:16px}.daily-heading h1{font-size:25px}.daily-heading .section-title>button{font-size:12px;padding:10px 12px}.daily-section .grid{gap:10px}.daily-section .slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:16px}.daily-section .slot h3{grid-column:1;font-size:15px}.daily-section .slot p{grid-column:1;font-size:12px}.daily-section .slot>button{grid-column:2;grid-row:1 / 3;align-self:center;min-width:0;font-size:12px;padding:12px}.form-task{align-items:stretch;flex-direction:column;gap:12px;padding:14px}.form-task>button{align-self:flex-start}.daily-heading .eyebrow{letter-spacing:.5px}.daily-section h2{font-size:19px}.refresh-line{align-items:flex-start}.refresh-line span{line-height:1.7}}
@media(max-width:360px){.daily-section .slot{grid-template-columns:1fr}.daily-section .slot>button{grid-column:1;grid-row:auto;justify-self:start}.daily-heading .section-title{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.login-shell{display:block}.login-intro{min-height:82px}.login-intro .brand{font-size:14px}.login-main{display:block}.login-main>.card{margin-left:auto;margin-right:auto}}
/* Research 0.7: staff actions first, dense information on demand. */
.staff-heading{margin-bottom:24px}.staff-heading>p{margin:8px 0 12px}.staff-stats .stat{text-align:left;color:var(--ink);font-weight:400}.staff-stats .stat:hover{border-color:var(--accent)}.staff-stats .stat span{display:block}.queue-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.queue-tabs button{font-size:12px;padding:10px 12px}.queue-tabs button[aria-pressed=true]{background:var(--accent);color:white}.readiness-card>p{margin-bottom:10px}.readiness-card details>summary{margin-top:12px}.dossier-next{border-left:4px solid var(--accent)}.participant-row-actions button{margin:0 6px 6px 0}.calendar-mobile{display:none}.calendar-chart>summary{font-weight:600;margin-bottom:12px}.calendar-mobile article{padding:14px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}.calendar-mobile small{display:block}.calendar-mobile p{font-size:13px;margin:6px 0 10px}
@media(max-width:700px){.staff-heading{margin-bottom:18px}.staff-heading .actions{gap:8px}.staff-heading .actions>button{flex:1 1 auto;font-size:12px}.staff-stats{grid-template-columns:1fr}.staff-stats .stat{display:flex;align-items:center;gap:14px;min-height:60px}.staff-stats .stat strong{font-size:23px;margin:0;min-width:30px}.staff-stats .stat span{font-size:13px}.queue-tabs{gap:6px}.queue-tabs button{flex:1 1 42%;text-align:left}.participant-table{overflow:visible}.participant-table table,.participant-table tbody,.participant-table tr,.participant-table td{display:block;width:100%}.participant-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.participant-table tr{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.participant-table td{border:0;padding:4px 0;overflow-wrap:anywhere}.participant-table td:first-child{font-size:16px}.participant-table td small{margin-top:2px;max-width:none}.participant-table td:nth-child(4){display:none}.participant-table .participant-row-actions{display:flex;gap:8px;padding-top:10px;flex-wrap:wrap}.participant-row-actions button{margin:0;min-height:44px;flex:1}.calendar-mobile{display:block}.chat-menu{flex-direction:column;max-height:230px;overflow-y:auto;overflow-x:hidden}.chat-menu button{width:100%;flex-shrink:0;white-space:normal}.chat-box{min-height:360px}.readiness-list article{gap:4px}.readiness-list article>button{font-size:12px}}
@media(max-width:700px){.attention-list article{padding:12px;gap:4px}.attention-list article p{margin:4px 0;line-height:1.5}.attention-list .actions{margin-top:6px;gap:8px}.attention-list .actions>button{font-size:12px;padding:10px 12px;flex:1 1 auto}.dossier-next h2{font-size:18px}}

.video-wrap audio{display:block;width:100%;max-width:100%;margin:1rem 0}
.participant-guide .guide-step{margin:18px 0}.participant-guide .guide-step h2{font-size:18px;margin-bottom:6px}.participant-guide .guide-step p{margin-top:0}.participant-guide>h1{font-size:clamp(25px,4vw,36px)}

/* Operational notices keep the beginning readable, including long welcome instructions. */
.notice-box .message{flex-shrink:0;max-width:100%}.chat-box>.chat-title,.chat-box>button{flex-shrink:0}

/* Messenger: one list, one conversation; private data stays in memory. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.is-chat .workspace{height:100dvh;display:flex;flex-direction:column;padding-top:22px;padding-bottom:22px}
.is-chat .top{flex-shrink:0;margin-bottom:18px}
.is-chat #main{flex:1;min-height:0;display:flex;flex-direction:column}
.messenger{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);height:100%;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.conversation-list{min-height:0;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.messenger-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;gap:8px}.messenger-heading h1{font-size:24px;margin:0}.messenger-heading button{padding:8px 14px}
.chat-search{margin:0;padding:0 14px 10px}.chat-search input{margin:0;background:var(--bg)}
.chat-sections{display:flex;padding:0 12px 10px;gap:6px}.chat-sections button{flex:1;min-width:0;padding:8px 6px;font-size:12px;background:transparent;color:var(--muted)}.chat-sections button.active{background:var(--soft);color:var(--ink)}
.chat-search-filters{padding:0 16px 10px;font-size:12px}.chat-search-filters summary{cursor:pointer;min-height:30px}.chat-search-filters label{margin:8px 0}.chat-search-filters select{padding:8px}
.chat-list{overflow-y:auto;min-height:0;flex:1}.chat-section-title{padding:12px 16px 8px;margin:0;font-size:12px;color:var(--muted);font-family:Body,sans-serif;letter-spacing:0}
.chat-row{display:flex;width:100%;border-radius:0;gap:10px;padding:13px 14px;align-items:center;text-align:left;background:transparent;color:var(--ink);font-weight:400;border-bottom:1px solid var(--line)}.chat-row:hover{background:var(--bg)}.chat-row.active{background:var(--soft);color:var(--ink)}
.chat-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:#493184;font-weight:600}.chat-row-body{min-width:0;flex:1}.chat-row-top{display:flex;gap:8px;align-items:baseline;justify-content:space-between}.chat-row-top strong{font-size:13px;overflow-wrap:anywhere}.chat-row-top time{font-size:9px;color:var(--muted);white-space:nowrap}.chat-row-body>small{display:block;font-size:11px}.chat-row-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;margin-top:3px}.chat-row-body .chat-attention{color:#805012;font-weight:600}.chat-unread{flex-shrink:0;min-width:23px;height:23px;padding:3px 6px;border-radius:15px;background:var(--accent);color:white;font-size:11px;text-align:center}
.chat-list-empty{font-size:12px;color:var(--muted);padding:0 16px}.chat-status:empty{display:none}.chat-status{font-size:12px;color:#a82a40;padding:10px;margin:0}
.conversation{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg);position:relative}.conversation-empty{justify-content:center}.conversation-heading{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line);flex-shrink:0}.conversation-heading>div{min-width:0;flex:1}.conversation-heading h2{font-size:16px;margin:0;overflow-wrap:anywhere}.conversation-heading small{font-size:11px}.chat-back{display:none}.conversation-actions{position:relative}.conversation-actions summary{cursor:pointer;padding:10px;min-width:44px;text-align:center;font-size:22px}.conversation-actions[open]{position:absolute;right:12px;top:12px;background:var(--paper);padding:6px;border:1px solid var(--line);border-radius:14px;z-index:2;max-width:230px;box-shadow:0 8px 24px #29243e18}.conversation-actions button{display:block;margin:4px;width:calc(100% - 8px)}
.conversation .messages{overscroll-behavior:contain}.conversation .chat-form{background:var(--paper);flex-shrink:0;margin:0}.conversation .chat-form textarea{max-height:120px;resize:vertical}.chat-read-only{padding:12px;background:var(--paper);text-align:center}.new-chat-messages{position:absolute;bottom:90px;align-self:center;box-shadow:0 4px 14px #29243e22}
.account-list{display:grid;gap:10px}.account-option{text-align:left;display:grid;gap:4px}.account-option span{font-size:13px}.account-option small{font-size:12px}.account-option.active{border:2px solid var(--accent);opacity:1;color:var(--ink)}.account-add{margin:20px 0}.account-add summary{cursor:pointer;min-height:44px}.account-add form{margin-top:14px}
@media(max-width:1050px){.messenger{grid-template-columns:290px minmax(0,1fr)}.chat-row-top{display:block}.chat-row-top time{display:block}}
@media(max-width:700px){.is-chat .workspace{padding:10px 10px calc(88px + env(safe-area-inset-bottom));height:100dvh}.is-chat .mobile-brand{display:none}.is-chat .top{margin-bottom:10px;gap:6px}.is-chat .top .eyebrow{display:none}.is-chat .header-actions{gap:4px}.is-chat .header-actions button{font-size:11px;padding:7px 9px;min-height:36px}.is-chat .top>div:first-child{max-width:32%}.is-chat .top p{font-size:10px;overflow-wrap:anywhere}.messenger{display:flex;border-radius:14px}.conversation-list{width:100%;border:0}.conversation{display:none}.messenger.has-conversation .conversation-list{display:none}.messenger.has-conversation .conversation{display:flex;width:100%}.chat-back{display:block;padding:8px;flex-shrink:0}.conversation-heading{padding:10px;gap:8px}.conversation-heading h2{font-size:14px}.conversation .messages{padding:12px}.conversation .message{max-width:92%}.conversation .chat-form{padding:10px;gap:7px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.conversation .chat-form button{font-size:12px;padding:10px}.chat-row-top{display:flex}.chat-row-top time{display:inline}.chat-row{padding:14px}.chat-row-top strong{font-size:14px}}

.conversation-actions summary{list-style:none}.conversation-actions summary::-webkit-details-marker{display:none}

.practice-checkin{max-width:740px;margin-left:auto;margin-right:auto}.practice-duration-input{display:flex;align-items:flex-end;gap:10px}.practice-duration-input label{flex:1;min-width:0}.practice-duration-input button{margin-bottom:14px;flex-shrink:0}.practice-complete{width:100%;min-height:58px;font-size:18px;margin-top:16px}.practice-comment{margin:10px 0}.practice-comment summary,.practice-recording summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.practice-comment label{margin-top:10px}.practice-recording{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.practice-recording .video-wrap{margin-top:12px}.practice-recording audio{display:block;width:100%;min-height:54px}

/* Personal reminders remain usable at narrow widths and large text sizes. */
.reminder-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.reminder-times label{min-width:0}.reminder-times input[type=time]{width:100%;min-height:48px}.phone-notification-help{margin-top:1rem}.phone-notification-help summary{padding:.75rem 0;cursor:pointer}.phone-notification-help li{margin:.65rem 0}.nav-unread{display:inline-flex;margin-left:.5rem;align-items:center;justify-content:center;min-width:1.6rem;min-height:1.6rem;padding:0 .3rem;border-radius:1rem;background:#6335c7;color:white;font-size:.8rem}.nav-unread[hidden]{display:none}.notification-devices{margin:1rem 0}.notification-devices summary{padding:.75rem 0;cursor:pointer}@media(max-width:600px){.reminder-times{grid-template-columns:1fr}.reminder-times input[type=time]{max-width:100%}}

/* The close control stays visible while long forms scroll independently. */
dialog.research-dialog{padding:0;max-height:85vh;max-height:85dvh;overflow:hidden}dialog.research-dialog[open]{display:flex;flex-direction:column}.dialog-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;padding:8px 12px;background:var(--paper);border-bottom:1px solid var(--line)}.dialog-close{font-size:28px;line-height:1;min-width:48px;min-height:48px;padding:6px;flex-shrink:0}.dialog-close-status{font-size:13px;color:var(--muted);line-height:1.4}.dialog-content{padding:20px 26px 26px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.dialog-content h2{padding-right:4px}@media(max-width:600px){.dialog-content{padding:16px 20px 24px}}

.daily-section .history-slot{display:flex;flex-direction:column;align-items:flex-start}.daily-section .history-slot>button{align-self:stretch}

.practice-modes{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.practice-modes button{flex:1;min-width:10rem}.reply-quote,.reply-banner{border-left:3px solid #7045cf;padding:.6rem;background:#f3effa;overflow-wrap:anywhere}.reply-quote p,.reply-banner p{margin:.2rem 0}.selected-message{outline:2px solid #7045cf}.message-menu{margin-top:.3rem}.message-menu summary{cursor:pointer;font-size:1.3rem}.message-menu button{margin:.2rem;padding:.4rem .7rem}.chat-push-settings{padding:0 .8rem .6rem}

.catchup-card{border:2px solid var(--accent);margin-bottom:20px}.catchup-card h2{margin-top:0}.catchup-card .actions button{white-space:normal}.practice-fixed-date{background:var(--soft);border-radius:12px;padding:12px}

.catchup-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}.catchup-summary button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:2px solid var(--accent);background:var(--soft);padding:14px;text-align:left}.catchup-summary strong{font-size:18px}.catchup-summary span{font-size:13px}.catchup-card{scroll-margin-top:15px}.catchup-card h2{font-size:22px}.catchup-card .note>strong{display:block;margin-bottom:8px}

.questionnaire-checklist{list-style:none;padding:0;display:grid;gap:12px}.questionnaire-checklist li{display:grid;gap:4px;overflow-wrap:anywhere}.questionnaire-stage h3{margin-top:0}.questionnaire-stage{margin-top:16px}
.practice-checkin input[type=radio]{width:20px;min-height:20px;height:20px;margin:2px 0}.practice-checkin fieldset{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:18px}.practice-checkin legend{padding:0 6px;font-weight:600}.catchup-card .actions button{min-height:48px;flex:1 1 160px;text-align:left}
