/* HealConnect rooms, adapted from the three supplied reference artboards.
   Page-local tokens preserve the shared navigation, footer and other pages. */
html:root body.connect-shell{background:#F6F4EE}
html:root body.connect-shell .connect-page{--hc-bg:#F6F4EE;--hc-surface:#fff;--hc-line:#E4E0D6;--hc-control:#87928C;--hc-text:#1E2B27;--hc-muted:#4A5551;--hc-sage:#2E5E50;--hc-sage-soft:#DCEDE6;--room-accent:var(--hc-sage);--room-soft:var(--hc-sage-soft);--room-ink:#1E4237;--room-on:#fff;--connect-surface:var(--hc-surface);--connect-soft:var(--room-soft);--connect-line:var(--hc-line);--connect-text:var(--hc-text);--connect-muted:var(--hc-muted);--hs-radius-control:10px;--hs-radius-panel:16px;width:100%;margin:0 auto;padding:28px 24px 48px;color:var(--hc-text);font-family:var(--font-ui);font-size:15px;line-height:1.6}
html:root body.connect-shell #app>.connect-page{max-width:1368px}
html:root body.connect-shell #app>.connect-page:is([data-view=lobby],[data-view=booking],[data-view=appointments]){max-width:1288px}
html:root body.connect-shell .connect-page [data-room-tone=health],html:root body.connect-shell .connect-page[data-room-tone=health]{--room-accent:#1F6A8A;--room-soft:#DCEEF5;--room-ink:#133F52}
html:root body.connect-shell .connect-page [data-room-tone=counseling],html:root body.connect-shell .connect-page[data-room-tone=counseling]{--room-accent:#6A4C9C;--room-soft:#ECE6F5;--room-ink:#3E2A63}
html:root body.connect-shell .connect-page [data-room-tone=teacher],html:root body.connect-shell .connect-page[data-room-tone=teacher]{--room-accent:#A0521A;--room-soft:#F8E9DC;--room-ink:#5E2F0D}
html:root body.connect-shell .connect-page :is(h1,h2,h3,p):where(:not(.connect-booking *)){color:inherit;margin:0}
html:root body.connect-shell .connect-page h1:where(:not(.connect-booking *)){font-size:32px;font-weight:700;line-height:1.25;letter-spacing:-.025em;max-width:none}
html:root body.connect-shell .connect-page h2:where(:not(.connect-booking *)){font-size:20px;font-weight:700;line-height:1.4;letter-spacing:-.015em}
html:root body.connect-shell .connect-page h3:where(:not(.connect-booking *)){font-size:17px;font-weight:650;line-height:1.45;letter-spacing:0}
html:root body.connect-shell .connect-page p:where(:not(.connect-booking *)){font-size:15px;line-height:1.65}
html:root body.connect-shell .connect-page :is(button,input,textarea,select){font-family:inherit}
html:root body.connect-shell .connect-page :is(button,a){-webkit-tap-highlight-color:transparent}
html:root body.connect-shell .connect-page :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--room-accent);outline-offset:3px}
html:root body.connect-shell .connect-page :is(input,textarea){caret-color:var(--room-accent)}
html:root body.connect-shell .connect-page :is(input,textarea)::placeholder{color:var(--hc-muted);opacity:1}
html:root body.connect-shell .connect-page ::selection{background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page :is(.connect-contacts,.connect-messages,.hc-people-panel){scrollbar-width:thin;scrollbar-color:var(--hc-control) transparent}
html:root body.connect-shell .connect-page .hc-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--room-accent);border-radius:10px;font-size:15px;line-height:1.4;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;box-shadow:none;transition:background-color 160ms ease,color 160ms ease,transform 160ms ease}
html:root body.connect-shell .connect-page .hc-primary{background:var(--room-accent);color:var(--room-on)}
html:root body.connect-shell .connect-page .hc-secondary{background:var(--hc-surface);color:var(--room-accent)}
html:root body.connect-shell .connect-page .hc-primary:hover{background:color-mix(in srgb,var(--room-accent) 88%,var(--hc-text));color:var(--room-on)}
html:root body.connect-shell .connect-page .hc-secondary:hover{background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-button:active{transform:translateY(1px)}
html:root body.connect-shell .connect-page :is(.hc-button,.connect-send):disabled{cursor:not-allowed;background:var(--hc-bg);color:var(--hc-muted);border-color:var(--hc-line);transform:none;opacity:1}
html:root body.connect-shell .connect-page .connect-text-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:5px 0;border:0;background:none;font:inherit;font-size:13px;line-height:1.45;font-weight:600;color:var(--room-accent);cursor:pointer;text-decoration:none;text-underline-offset:3px}
html:root body.connect-shell .connect-page .connect-text-button:hover{text-decoration:underline}
html:root body.connect-shell .connect-page .connect-avatar{display:grid;place-items:center;position:relative;flex:none;width:40px;height:40px;border:0;border-radius:50%;background:var(--room-accent);color:var(--room-on);font-size:13px;font-weight:650;line-height:1}
html:root body.connect-shell .connect-page .connect-avatar i{position:absolute;bottom:0;right:0;width:10px;height:10px;border:2px solid var(--hc-surface);border-radius:50%;background:var(--hc-sage)}
html:root body.connect-shell .connect-page .hc-room-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:14px;background:var(--room-accent);color:var(--room-on)}
html:root body.connect-shell .connect-page .hc-room-icon svg{display:block;width:26px;height:26px}

/* Lobby */
html:root body.connect-shell .connect-page .hc-lobby-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:8px 0 30px}
html:root body.connect-shell .connect-page .hc-lobby-head>div{max-width:720px}
html:root body.connect-shell .connect-page .hc-lobby-head h1{font-size:clamp(28px,2.8vw,40px);margin-bottom:12px}
html:root body.connect-shell .connect-page .hc-lobby-head p{color:var(--hc-muted);font-size:17px;line-height:1.65}
html:root body.connect-shell .connect-page .hc-lobby-head>.hc-button{flex:none}
html:root body.connect-shell .connect-page .hc-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:28px}
html:root body.connect-shell .connect-page .hc-room-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--hc-line);border-radius:20px;overflow:hidden;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .hc-room-card-top{display:grid;gap:5px;padding:24px;background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-card-top .hc-room-icon{margin-bottom:10px}
html:root body.connect-shell .connect-page .hc-room-card-top h2{font-size:22px;color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-card-top p{font-size:15px;color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-card-body{display:flex;flex-direction:column;flex:1;gap:16px;padding:24px}
html:root body.connect-shell .connect-page .hc-room-promise{padding:12px 14px;border-radius:12px;background:var(--room-soft);color:var(--room-ink);font-weight:600;line-height:1.55}
html:root body.connect-shell .connect-page .hc-room-examples{display:grid;gap:6px;padding-left:20px;margin:0;font-size:15px;line-height:1.55}
html:root body.connect-shell .connect-page .hc-room-closing{font-size:15px;font-style:italic;color:var(--room-ink);line-height:1.5}
html:root body.connect-shell .connect-page .hc-room-staff{display:flex;align-items:center;gap:12px;padding:12px;margin-top:auto;background:var(--hc-bg);border-radius:12px;min-width:0}
html:root body.connect-shell .connect-page .hc-room-staff>div{min-width:0;display:grid;gap:2px}
html:root body.connect-shell .connect-page .hc-room-staff strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .hc-room-staff :is(span:not(.connect-avatar),small){font-size:12px;line-height:1.55;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-room-staff>p{font-size:13px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-room-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
html:root body.connect-shell .connect-page .hc-transfer-note{border:1px solid var(--hc-sage);border-radius:16px;padding:18px 22px;background:var(--hc-surface);margin-bottom:28px}
html:root body.connect-shell .connect-page .hc-transfer-note h2{color:var(--hc-sage);font-size:17px;margin-bottom:4px}
html:root body.connect-shell .connect-page .hc-transfer-note p{color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-lobby-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
html:root body.connect-shell .connect-page .hc-activity{min-width:0;padding:24px;background:var(--hc-surface);border:1px solid var(--hc-line);border-radius:16px}
html:root body.connect-shell .connect-page .hc-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
html:root body.connect-shell .connect-page .hc-section-heading h2{font-size:18px}
html:root body.connect-shell .connect-page .hc-section-heading .connect-text-button{flex:none}
html:root body.connect-shell .connect-page .hc-activity>p{color:var(--hc-muted);margin-bottom:12px}
html:root body.connect-shell .connect-page .hc-recent-list{display:grid;gap:10px}
html:root body.connect-shell .connect-page .hc-recent-row{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px;border:1px solid var(--hc-line);border-radius:12px;background:var(--hc-bg);text-align:left;color:var(--hc-text);cursor:pointer}
html:root body.connect-shell .connect-page .hc-recent-row>span{flex:1;min-width:0;display:grid;gap:3px}
html:root body.connect-shell .connect-page .hc-recent-row strong{font-size:14px;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
html:root body.connect-shell .connect-page .hc-recent-row>span>span{font-size:13px;color:var(--hc-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
html:root body.connect-shell .connect-page .hc-recent-row>small{flex:none;font-size:12px;line-height:1.5;color:var(--room-ink);padding:3px 8px;border-radius:999px;background:var(--room-soft)}
html:root body.connect-shell .connect-page .hc-recent-row:hover{border-color:var(--room-accent)}
html:root body.connect-shell .connect-page .hc-upcoming{display:flex;align-items:center;width:100%;gap:14px;text-align:left;border:0;border-radius:12px;padding:14px;margin-top:10px;background:var(--room-soft);color:var(--room-ink);cursor:pointer}
html:root body.connect-shell .connect-page .hc-upcoming>span:last-child{display:grid;gap:3px;min-width:0}
html:root body.connect-shell .connect-page .hc-upcoming>span:last-child strong{font-size:14px;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .hc-upcoming>span:last-child>span{font-size:13px;line-height:1.5}
html:root body.connect-shell .connect-page .hc-upcoming small{font-size:12px}
html:root body.connect-shell .connect-page .hc-date-tile{display:grid;place-items:center;flex:none;width:54px;padding:7px 0;border-radius:10px;background:var(--hc-surface);color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-date-tile strong{font-size:22px;line-height:1.3;font-variant-numeric:tabular-nums}
html:root body.connect-shell .connect-page .hc-ai-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-radius:16px;background:var(--hc-sage-soft);--room-accent:var(--hc-sage);--room-ink:var(--hc-sage)}
html:root body.connect-shell .connect-page .hc-ai-guide h2{font-size:18px;color:var(--room-ink);margin-bottom:4px}
html:root body.connect-shell .connect-page .hc-ai-guide p{color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-ai-guide>.hc-button{flex:none}

/* Room navigation and workspace */
html:root body.connect-shell .connect-page .hc-room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
html:root body.connect-shell .connect-page .hc-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;line-height:1.5;color:var(--hc-muted);min-width:0}
html:root body.connect-shell .connect-page .hc-breadcrumb a{color:var(--hc-sage);text-underline-offset:3px}
html:root body.connect-shell .connect-page .hc-room-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border:1px solid var(--hc-line);border-radius:12px;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .hc-room-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:8px;background:transparent;padding:8px 15px;color:var(--hc-muted);font-size:14px;font-weight:600;cursor:pointer;transition:background-color 140ms ease,color 140ms ease}
html:root body.connect-shell .connect-page .hc-room-tabs button::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--room-accent)}
html:root body.connect-shell .connect-page .hc-room-tabs button[aria-pressed=true]{background:var(--room-accent);color:var(--room-on)}
html:root body.connect-shell .connect-page .hc-room-tabs button[aria-pressed=true]::before{background:currentColor}
html:root body.connect-shell .connect-page .hc-room-tabs button:not([aria-pressed=true]):hover{background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-banner{display:flex;align-items:center;gap:18px;padding:20px 24px;margin-bottom:20px;border-radius:18px;background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-banner>div{min-width:0;flex:1}
html:root body.connect-shell .connect-page .hc-room-banner h1{font-size:26px;line-height:1.35;color:var(--room-ink);margin-bottom:4px}
html:root body.connect-shell .connect-page .hc-room-banner p{font-size:15px;line-height:1.6;color:var(--room-ink)}
html:root body.connect-shell .connect-page .hc-room-banner>.hc-button{flex:none}
html:root body.connect-shell .connect-page .hc-room-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px}
html:root body.connect-shell .connect-page .connect-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;min-width:0;min-height:600px;height:max(600px,var(--connect-view-height,650px));border:0;border-radius:0;color:var(--hc-text);background:none;box-shadow:none}
html:root body.connect-shell .connect-page .connect-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--hc-line);border-radius:16px;background:var(--hc-surface);overflow:hidden}
html:root body.connect-shell .connect-page .connect-sidebar-head{background:var(--hc-surface);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:16px 16px 12px}
html:root body.connect-shell .connect-page .connect-sidebar-head h2{font-size:16px;line-height:1.4}
html:root body.connect-shell .connect-page .connect-sidebar-head>span{font-size:12px;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-sidebar>.connect-text-button,html:root body.connect-shell .connect-page .connect-sidebar>[data-new-thread],html:root body.connect-shell .connect-page .connect-sidebar>[data-room-new]{margin:0 14px 12px}
html:root body.connect-shell .connect-page .connect-search{display:flex;align-items:center;gap:8px;margin:0 14px 12px;padding:8px 10px;border:1px solid var(--hc-control);border-radius:10px;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .connect-search>svg{width:17px;height:17px;flex:none;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-search input{display:block;flex:1;width:100%;min-width:0;min-height:26px;padding:0;border:0;border-radius:0;background:none;font-size:13px;color:var(--hc-text);outline:none;text-overflow:ellipsis;box-shadow:none}
html:root body.connect-shell .connect-page .connect-contacts{flex:1;min-height:0;overflow:auto;padding:0 12px 12px}
html:root body.connect-shell .connect-page .connect-contact{display:flex;align-items:flex-start;gap:9px;width:100%;min-height:76px;padding:12px;margin-bottom:10px;text-align:left;border:1px solid var(--hc-line);border-radius:12px;background:var(--hc-surface);color:var(--hc-text);cursor:pointer;transition:background-color 140ms ease,border-color 140ms ease}
html:root body.connect-shell .connect-page .connect-contact:is(.active,:hover){background:var(--room-soft);border-color:var(--room-accent)}
html:root body.connect-shell .connect-page .connect-contact.active .connect-contact-copy strong{color:var(--room-ink)}
html:root body.connect-shell .connect-page .connect-contact-copy{display:grid;gap:5px;flex:1;min-width:0}
html:root body.connect-shell .connect-page .connect-contact-copy strong{font-size:14px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .connect-contact-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-contact-copy small{font-size:12px;line-height:1.4;color:var(--room-ink)}
html:root body.connect-shell .connect-page .connect-contact>time{flex:none;font-size:11px;color:var(--hc-muted);white-space:nowrap;line-height:1.6}
html:root body.connect-shell .connect-page .connect-sidebar-note{margin:0;padding:12px 16px;border-top:1px solid var(--hc-line);font-size:12px;line-height:1.65;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-no-results{padding:12px;font-size:13px;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-chat{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--hc-line);border-radius:16px;overflow:hidden;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .connect-chat-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;column-gap:10px;row-gap:3px;align-items:center;flex:none;min-height:76px;padding:14px 16px;border-bottom:1px solid var(--hc-line)}
html:root body.connect-shell .connect-page .connect-chat-head>.connect-avatar{grid-column:1;grid-row:1/3}
html:root body.connect-shell .connect-page .connect-chat-person{grid-column:2;grid-row:1;min-width:0}
html:root body.connect-shell .connect-page .connect-chat-person h2{font-size:17px;line-height:1.4;letter-spacing:0;text-wrap:initial;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page #connect-presence{grid-column:2;grid-row:2;min-width:0;font-size:12px;line-height:1.55;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-head-actions{display:flex;align-items:center;gap:4px;grid-column:3;grid-row:1/3}
html:root body.connect-shell .connect-page .connect-head-actions .hs-small-btn{padding:8px 10px;min-height:40px;font-size:12px;color:var(--hc-muted);background:var(--hc-surface);border:1px solid var(--hc-line)}
html:root body.connect-shell .connect-page .connect-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--hc-muted);cursor:pointer}
html:root body.connect-shell .connect-page .connect-icon svg{width:20px;height:20px}
html:root body.connect-shell .connect-page .connect-icon:hover{background:var(--room-soft);color:var(--room-ink)}
html:root body.connect-shell .connect-page .connect-back{display:none}
html:root body.connect-shell .connect-page .connect-working-info{display:flex;flex-wrap:wrap;gap:3px 14px;margin:0;padding:8px 16px;background:var(--room-soft);color:var(--room-ink);font-size:12px;line-height:1.6}
html:root body.connect-shell .connect-page .connect-thread-tools{display:flex;align-items:center;flex-wrap:wrap;flex:none;gap:4px 10px;padding:8px 16px;border-bottom:1px solid var(--hc-line);font-size:12px}
html:root body.connect-shell .connect-page .connect-thread-picker{flex:1;min-width:150px}
html:root body.connect-shell .connect-page .connect-thread-picker select{display:block;width:100%;max-width:100%;min-height:36px;padding:5px 24px 5px 0;border:0;background:var(--hc-surface);font-size:13px;color:var(--hc-text);text-overflow:ellipsis}
html:root body.connect-shell .connect-page .connect-request-status{font-size:12px;line-height:1.5;color:var(--room-ink)}
html:root body.connect-shell .connect-page .connect-private-note{font-size:12px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-messages{display:flex;flex-direction:column;flex:1;min-height:140px;padding:18px;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;background:color-mix(in srgb,var(--hc-bg) 60%,var(--hc-surface))}
html:root body.connect-shell .connect-page .connect-messages:focus-visible{outline-offset:-3px}
html:root body.connect-shell .connect-page .connect-intro{margin:auto;padding:20px 10px;width:100%;max-width:420px;text-align:center}
html:root body.connect-shell .connect-page .connect-intro h3{font-size:20px;line-height:1.4;margin-bottom:8px}
html:root body.connect-shell .connect-page .connect-intro p{font-size:14px;line-height:1.75;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-topic{align-self:center;flex:none;margin:0 0 14px;max-width:100%;font-size:13px;line-height:1.6;font-weight:600;color:var(--hc-muted);text-align:center;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .connect-topic span{display:block;margin-top:4px;font-size:12px;font-weight:400}
html:root body.connect-shell .connect-page .connect-date{flex:none;margin:10px 0 14px;align-self:center;font-size:12px;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-message{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;flex:none;max-width:88%;margin-top:14px;background:transparent}
html:root body.connect-shell .connect-page .connect-message.mine{align-self:flex-end;align-items:flex-end;background:transparent}
html:root body.connect-shell .connect-page .connect-message.grouped{margin-top:6px}
html:root body.connect-shell .connect-page .connect-message-author{margin:0 4px 4px;font-size:12px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-bubble{max-width:100%;padding:11px 14px;border:1px solid var(--hc-line);border-radius:16px 16px 16px 4px;background:var(--hc-surface);color:var(--hc-text);font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none}
html:root body.connect-shell .connect-page .connect-message.mine .connect-bubble{background:var(--room-accent);color:var(--room-on);border-color:transparent;border-radius:16px 16px 4px 16px}
html:root body.connect-shell .connect-page .connect-message time{margin:4px 4px 0;font-size:12px;color:var(--hc-muted);font-variant-numeric:tabular-nums}
html:root body.connect-shell .connect-page .connect-thread-notice{flex:none;margin:0;padding:8px 16px;color:var(--hc-muted);font-size:12px;line-height:1.6}
html:root body.connect-shell .connect-page .connect-thread-notice:empty{display:none}
html:root body.connect-shell .connect-page .connect-thread-notice.is-error{background:var(--error-bg);color:var(--error-text)}
html:root body.connect-shell .connect-page #connect-composer-slot{flex:none;min-width:0}
html:root body.connect-shell .connect-page .connect-compose{margin:0;padding:12px 16px;border-top:1px solid var(--hc-line);background:var(--hc-surface)}
html:root body.connect-shell .connect-page .connect-subject{display:block;margin-bottom:8px}
html:root body.connect-shell .connect-page .connect-subject input{display:block;width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--hc-control);background:var(--hc-surface);color:var(--hc-text);font-size:14px}
html:root body.connect-shell .connect-page .connect-compose-row{display:flex;align-items:flex-end;gap:10px}
html:root body.connect-shell .connect-page .connect-compose-input{flex:1;min-width:0;display:block;padding:11px 12px;border:1px solid var(--hc-control);border-radius:12px;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .connect-compose-input textarea{display:block;width:100%;min-height:25px;max-height:128px;margin:0;padding:0;border:0;border-radius:0;outline:none;box-shadow:none;resize:none;overflow:auto;background:transparent;color:var(--hc-text);font-size:16px;line-height:1.55}
html:root body.connect-shell .connect-page :is(.connect-search,.connect-compose-input):focus-within{outline:3px solid var(--room-accent);outline-offset:2px}
html:root body.connect-shell .connect-page :is(.connect-search input,.connect-compose-input textarea):focus-visible{outline:none}
html:root body.connect-shell .connect-page .connect-send{display:grid;place-items:center;flex:none;width:48px;height:48px;min-height:48px;border:0;border-radius:12px;background:var(--room-accent);color:var(--room-on);cursor:pointer;transition:transform 140ms ease,background-color 140ms ease}
html:root body.connect-shell .connect-page .connect-send:hover{background:color-mix(in srgb,var(--room-accent) 88%,var(--hc-text))}
html:root body.connect-shell .connect-page .connect-send:active{transform:scale(.96)}
html:root body.connect-shell .connect-page .connect-send svg{width:22px;height:22px}
html:root body.connect-shell .connect-page .connect-send-status{display:none}
html:root body.connect-shell .connect-page .is-sending .connect-send svg{display:none}
html:root body.connect-shell .connect-page .is-sending .connect-send-status{display:block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:connect-send-turn .75s linear infinite}
html:root body.connect-shell .connect-page .connect-compose-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 10px;margin-top:8px;font-size:12px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-compose-bottom .connect-text-button{min-height:30px;font-size:12px}
html:root body.connect-shell .connect-page :is(.connect-anonymous,.connect-attachment){display:flex;align-items:flex-start;gap:9px;padding:0;margin:0 0 10px;font-size:12px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page :is(.connect-anonymous,.connect-attachment) input{flex:none;width:18px;height:18px;min-height:18px;margin:1px 0 0;accent-color:var(--room-accent)}
html:root body.connect-shell .connect-page .connect-attachment{padding:10px;background:var(--room-soft);color:var(--room-ink);border-radius:10px}
html:root body.connect-shell .connect-page .connect-companion{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:0;padding:8px 16px;background:var(--hc-sage-soft);color:var(--hc-sage);font-size:12px;line-height:1.5}
html:root body.connect-shell .connect-page .connect-companion:empty{display:none!important}
html:root body.connect-shell .connect-page :is(.connect-signin,.connect-closed){padding:16px;border-top:1px solid var(--hc-line);font-size:13px;line-height:1.65;color:var(--hc-muted);text-align:center}
html:root body.connect-shell .connect-page .connect-closed .connect-text-button{display:block;margin:8px auto 0}
html:root body.connect-shell .connect-page .connect-signin .mint-btn{background:var(--room-accent);color:var(--room-on);min-height:44px;padding:10px 16px;font-size:15px}
html:root body.connect-shell .connect-page .connect-footnote{margin:16px 0 0;font-size:13px;line-height:1.7;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-footnote a{color:var(--hc-sage);text-decoration:underline;text-underline-offset:3px}
html:root body.connect-shell .connect-page .connect-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html:root body.connect-shell .connect-page #connect-forward-proposals{max-height:180px;flex:none;overflow:auto}
html:root body.connect-shell .connect-page #connect-forward-proposals .ai-support-note{padding:10px 14px;margin:0;border:0;border-top:1px solid var(--hc-line);border-radius:0;background:var(--room-soft);color:var(--room-ink);box-shadow:none}
html:root body.connect-shell .connect-page #connect-forward-proposals p{font-size:13px;line-height:1.6}

/* Supporter panel */
html:root body.connect-shell .connect-page .hc-people-panel{min-width:0;border:1px solid var(--hc-line);border-radius:16px;background:var(--hc-surface);overflow:hidden}
html:root body.connect-shell .connect-page .hc-people-panel>summary{padding:16px 18px;min-height:52px;font-size:15px;line-height:1.5;font-weight:700;cursor:pointer;color:var(--hc-text)}
html:root body.connect-shell .connect-page #connect-people-list{display:grid;gap:9px;padding:0 14px 16px}
html:root body.connect-shell .connect-page .hc-person-choice{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--hc-line);border-radius:12px;text-align:left;color:var(--hc-text);background:var(--hc-surface);cursor:pointer}
html:root body.connect-shell .connect-page .hc-person-choice>span:not(.connect-avatar){min-width:0;display:grid;gap:3px}
html:root body.connect-shell .connect-page .hc-person-choice strong{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .hc-person-choice small{font-size:12px;line-height:1.5;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-person-choice:is([aria-pressed=true],:hover){border-color:var(--room-accent);background:var(--room-soft)}
html:root body.connect-shell .connect-page .hc-person-profile{padding:18px;border-top:1px solid var(--hc-line)}
html:root body.connect-shell .connect-page .hc-person-profile>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
html:root body.connect-shell .connect-page .hc-person-profile>header>div{min-width:0}
html:root body.connect-shell .connect-page .hc-person-profile>header .connect-avatar{width:50px;height:50px;font-size:16px}
html:root body.connect-shell .connect-page .hc-person-profile h3{font-size:17px;overflow-wrap:anywhere;margin:0 0 5px}
html:root body.connect-shell .connect-page .hc-person-profile p{font-size:13px;line-height:1.65;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-person-profile .hc-button{margin-top:12px;width:100%}
html:root body.connect-shell .connect-page .hc-person-profile h2{font-size:18px;margin-bottom:8px;overflow-wrap:anywhere}
html:root body.connect-shell .connect-page .hc-person-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;font-size:13px;line-height:1.6;margin:14px 0}
html:root body.connect-shell .connect-page .hc-person-meta dt{color:var(--hc-muted)}
html:root body.connect-shell .connect-page .hc-person-meta dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
html:root body.connect-shell .connect-page .hc-person-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
html:root body.connect-shell .connect-page .hc-person-slots button{min-height:40px;padding:8px 10px;border:1px solid var(--hc-control);border-radius:10px;background:var(--hc-surface);color:var(--hc-text);font-size:12px;line-height:1.5;cursor:pointer}
html:root body.connect-shell .connect-page .hc-person-slots button:hover{background:var(--room-soft);border-color:var(--room-accent)}
html:root body.connect-shell .connect-page .hc-room-empty{padding:24px;border:1px solid var(--hc-line);border-radius:16px;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .hc-room-empty h2{margin-bottom:8px}
html:root body.connect-shell .connect-page .hc-room-empty p{color:var(--hc-muted);margin-bottom:12px}
html:root body.connect-shell .connect-page .hc-people-panel .hc-room-empty{padding:0;border:0;border-radius:0;font-size:13px;line-height:1.65;color:var(--hc-muted)}

/* Own-class selector and existing appointment list */
html:root body.connect-shell .connect-page .connect-school-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;margin:0 0 20px;border:1px solid var(--hc-line);border-radius:12px;background:var(--hc-surface)}
html:root body.connect-shell .connect-page .connect-school-context p{color:var(--hc-muted);font-size:13px;line-height:1.6}
html:root body.connect-shell .connect-page .connect-class-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px 12px;width:100%}
html:root body.connect-shell .connect-page .connect-class-form label{display:grid;gap:4px;font-size:12px;min-width:180px}
html:root body.connect-shell .connect-page .connect-class-form select{min-height:42px;width:100%;padding:8px 30px 8px 10px;border:1px solid var(--hc-control);border-radius:10px;background:var(--hc-surface);color:var(--hc-text);font-size:14px}
html:root body.connect-shell .connect-page .connect-class-form button{min-height:42px;padding:9px 14px;border:1px solid var(--hc-sage);background:var(--hc-surface);color:var(--hc-sage);font-size:13px}
html:root body.connect-shell .connect-page .connect-class-match{align-self:center;margin-left:auto;font-size:13px;line-height:1.6;color:var(--hc-muted)}
html:root body.connect-shell .connect-page .connect-class-match a{color:var(--hc-sage);text-underline-offset:3px;display:inline-block;padding:9px 0}
html:root body.connect-shell .connect-page .connect-class-status:not(:empty){flex-basis:100%}
html:root body.connect-shell .connect-page .hs-appointment{margin-bottom:14px;border:1px solid var(--hc-line);border-radius:16px;background:var(--hc-surface);box-shadow:none;padding:20px}
html:root body.connect-shell .connect-page .hs-appointment h2{font-size:18px;margin-bottom:6px}
html:root body.connect-shell .connect-page .hs-appointment p{font-size:14px;color:var(--hc-muted)}

@media(max-width:1199px){
 html:root body.connect-shell .connect-page{padding-inline:20px}
 html:root body.connect-shell .connect-page .hc-room-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
 html:root body.connect-shell .connect-page .connect-workspace{grid-template-columns:200px minmax(0,1fr);gap:14px}
 html:root body.connect-shell .connect-page .hc-room-card-top,html:root body.connect-shell .connect-page .hc-room-card-body{padding:20px}
 html:root body.connect-shell .connect-page .hc-room-grid{gap:18px}
 html:root body.connect-shell .connect-page .connect-chat-head{grid-template-columns:32px minmax(0,1fr);gap:4px 8px;padding:12px}
 html:root body.connect-shell .connect-page .connect-chat-head>.connect-avatar{width:32px;height:32px;font-size:12px}
 html:root body.connect-shell .connect-page .connect-head-actions{grid-column:1/-1;grid-row:3;justify-content:flex-end}
 html:root body.connect-shell .connect-page .connect-messages{padding:14px}
 html:root body.connect-shell .connect-page .connect-compose{padding:12px}
}
@media(max-width:1023px){
 html:root body.connect-shell .connect-page .hc-lobby-head{align-items:flex-start;flex-direction:column;gap:16px}
 html:root body.connect-shell .connect-page .hc-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html:root body.connect-shell .connect-page .hc-room-card:last-child{grid-column:1/-1}
 html:root body.connect-shell .connect-page .hc-room-layout{grid-template-columns:1fr}
 html:root body.connect-shell .connect-page .hc-people-panel{grid-row:1}
 html:root body.connect-shell .connect-page .hc-people-panel[open]{display:grid;grid-template-columns:1fr 1fr}
 html:root body.connect-shell .connect-page .hc-people-panel>summary{grid-column:1/-1}
 html:root body.connect-shell .connect-page .hc-person-profile{padding-top:0;border-top:0;border-left:1px solid var(--hc-line)}
 html:root body.connect-shell .connect-page .connect-workspace{grid-template-columns:240px minmax(0,1fr)}
 html:root body.connect-shell .connect-page .connect-chat-head{grid-template-columns:40px minmax(0,1fr) auto}
 html:root body.connect-shell .connect-page .connect-head-actions{grid-column:3;grid-row:1/3}
 html:root body.connect-shell .connect-page .hc-room-banner{padding:18px;gap:14px}
 html:root body.connect-shell .connect-page .hc-room-banner>.hc-button{padding-inline:12px}
}
@media(max-width:760px){
 html:root body.connect-shell .connect-page{padding:20px 16px 32px}
 html:root body.connect-shell .connect-page .hc-lobby-head h1{font-size:29px;line-height:1.3}
 html:root body.connect-shell .connect-page .hc-lobby-head p{font-size:15px}
 html:root body.connect-shell .connect-page .hc-lobby-head{margin-top:0;margin-bottom:20px}
 html:root body.connect-shell .connect-page .hc-room-grid,html:root body.connect-shell .connect-page .hc-lobby-bottom{grid-template-columns:1fr;gap:18px}
 html:root body.connect-shell .connect-page .hc-room-card:last-child{grid-column:auto}
 html:root body.connect-shell .connect-page .hc-room-card-top{padding:20px}
 html:root body.connect-shell .connect-page .hc-room-card-top .hc-room-icon{width:44px;height:44px;border-radius:12px;margin-bottom:6px}
 html:root body.connect-shell .connect-page .hc-room-card-body{padding:20px;gap:14px}
 html:root body.connect-shell .connect-page .hc-room-card{border-radius:18px}
 html:root body.connect-shell .connect-page .hc-transfer-note,html:root body.connect-shell .connect-page .hc-activity,html:root body.connect-shell .connect-page .hc-ai-guide{padding:18px}
 html:root body.connect-shell .connect-page .hc-section-heading{gap:8px}
 html:root body.connect-shell .connect-page .hc-section-heading h2{font-size:17px}
 html:root body.connect-shell .connect-page .hc-ai-guide{align-items:flex-start;flex-direction:column;gap:14px}
 html:root body.connect-shell .connect-page .hc-recent-row>small{max-width:84px;text-align:center}
 html:root body.connect-shell .connect-page .hc-room-toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
 html:root body.connect-shell .connect-page .hc-room-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 html:root body.connect-shell .connect-page .hc-room-tabs button{padding:8px 6px;min-height:44px;font-size:13px;gap:6px}
 html:root body.connect-shell .connect-page .hc-room-banner{display:grid;grid-template-columns:44px minmax(0,1fr);padding:16px;gap:10px 12px;margin-bottom:14px}
 html:root body.connect-shell .connect-page .hc-room-banner .hc-room-icon{width:44px;height:44px;border-radius:12px}
 html:root body.connect-shell .connect-page .hc-room-banner h1{font-size:22px;line-height:1.35}
 html:root body.connect-shell .connect-page .hc-room-banner p{font-size:14px}
 html:root body.connect-shell .connect-page .hc-room-banner>.hc-button{grid-column:1/-1;justify-self:start}
 html:root body.connect-shell .connect-page .hc-room-layout{gap:14px}
 html:root body.connect-shell .connect-page .hc-people-panel[open]{display:block}
 html:root body.connect-shell .connect-page .hc-people-panel>summary{padding:14px 16px;min-height:50px;font-size:14px}
 html:root body.connect-shell .connect-page .hc-person-profile{padding:16px;border-left:0;border-top:1px solid var(--hc-line)}
 html:root body.connect-shell .connect-page .connect-workspace{grid-template-columns:1fr;gap:0;height:max(560px,var(--connect-view-height,calc(100dvh - 180px)));min-height:560px}
 html:root body.connect-shell .connect-page .connect-workspace:not(.show-thread) .connect-chat{display:none}
 html:root body.connect-shell .connect-page .connect-workspace.show-thread .connect-sidebar{display:none}
 html:root body.connect-shell .connect-page .connect-workspace.show-thread .connect-chat{animation:connect-room-enter 180ms cubic-bezier(.22,1,.36,1)}
 html:root body.connect-shell .connect-page .connect-workspace.show-thread{height:max(650px,var(--connect-view-height,calc(100dvh - 120px)));min-height:650px}
 html:root body.connect-shell .connect-page .connect-chat-head{grid-template-columns:36px minmax(0,1fr) auto;gap:4px 6px;min-height:0;padding:10px}
 html:root body.connect-shell .connect-page .connect-back{display:grid;grid-column:1;grid-row:1;width:36px;min-height:44px}
 html:root body.connect-shell .connect-page .connect-chat-head>.connect-avatar{display:none}
 html:root body.connect-shell .connect-page .connect-chat-person{grid-column:2;grid-row:1}
 html:root body.connect-shell .connect-page .connect-chat-person h2{font-size:15px;line-height:1.45}
 html:root body.connect-shell .connect-page #connect-presence{grid-column:1/-1;grid-row:2;font-size:12px;line-height:1.5}
 html:root body.connect-shell .connect-page .connect-head-actions{grid-column:3;grid-row:1;gap:3px}
 html:root body.connect-shell .connect-page .connect-head-actions .hs-small-btn{min-height:44px;padding:7px 8px;font-size:12px}
 html:root body.connect-shell .connect-page .connect-head-actions .connect-icon{width:34px;min-height:44px}
 html:root body.connect-shell .connect-page .connect-thread-tools{padding:7px 12px;gap:4px 8px}
 html:root body.connect-shell .connect-page .connect-thread-picker{min-width:120px}
 html:root body.connect-shell .connect-page .connect-thread-picker select{min-height:40px;font-size:12px}
 html:root body.connect-shell .connect-page .connect-working-info{padding:7px 12px}
 html:root body.connect-shell .connect-page .connect-messages{min-height:160px;padding:14px}
 html:root body.connect-shell .connect-page .connect-message{max-width:93%}
 html:root body.connect-shell .connect-page .connect-bubble{padding:10px 12px;font-size:15px;line-height:1.65}
 html:root body.connect-shell .connect-page .connect-compose{padding:10px 12px max(10px,env(safe-area-inset-bottom))}
 html:root body.connect-shell .connect-page .connect-subject input{font-size:16px}
 html:root body.connect-shell .connect-page .connect-send{width:44px;height:46px;min-height:46px}
 html:root body.connect-shell .connect-page .connect-compose-bottom{gap:3px 6px;font-size:11px}
 html:root body.connect-shell .connect-page .connect-footnote{font-size:12px}
 html:root body.connect-shell .connect-page .connect-school-context{padding:10px 12px;margin-bottom:14px}
 html:root body.connect-shell .connect-page .connect-class-form label{flex:1;min-width:140px}
 html:root body.connect-shell .connect-page .connect-class-form select{font-size:16px}
 html:root body.connect-shell .connect-page .connect-class-match{width:100%;margin-left:0}
 html:root body.connect-shell .connect-page.is-keyboard .connect-workspace{position:fixed;z-index:45;left:6px;right:6px;top:var(--connect-keyboard-top,0px);height:var(--connect-keyboard-height,100dvh);min-height:0}
 html:root body.connect-shell .connect-page.is-keyboard .connect-chat{border-radius:12px}
 html:root body.connect-shell .connect-page.is-keyboard .connect-messages{min-height:0}
 html:root body.connect-shell .connect-page.is-keyboard .connect-chat-head{padding:6px 10px}
 html:root body.connect-shell .connect-page.is-keyboard .connect-thread-tools{padding:3px 10px}
 html:root body.connect-shell .connect-page.is-keyboard .connect-working-info{display:none}
 html:root body.connect-shell .connect-page.is-keyboard .connect-compose-input textarea{max-height:64px}
}
@media(max-width:380px){
 html:root body.connect-shell .connect-page{padding-inline:12px}
 html:root body.connect-shell .connect-page .hc-room-card-top,html:root body.connect-shell .connect-page .hc-room-card-body{padding:18px}
 html:root body.connect-shell .connect-page .hc-room-tabs button{font-size:12px}
 html:root body.connect-shell .connect-page .hc-room-actions{gap:8px}
 html:root body.connect-shell .connect-page .hc-room-actions .hc-button{padding-inline:10px}
 html:root body.connect-shell .connect-page .connect-head-actions .hs-small-btn{max-width:67px}
}
html:root[data-theme=dark] body.connect-shell{background:var(--bg-body)}
html:root[data-theme=dark] body.connect-shell .connect-page{--hc-bg:var(--bg-body);--hc-surface:var(--surface);--hc-line:var(--border);--hc-control:var(--control-border);--hc-text:var(--text-primary);--hc-muted:var(--text-secondary);--hc-sage:var(--region-connect-action);--hc-sage-soft:var(--region-connect-soft);--room-accent:var(--region-connect-action);--room-soft:var(--region-connect-soft);--room-ink:var(--region-connect-ink);--room-on:var(--on-primary-color)}
html:root[data-theme=dark] body.connect-shell .connect-page [data-room-tone=health],html:root[data-theme=dark] body.connect-shell .connect-page[data-room-tone=health]{--room-accent:var(--region-map-action);--room-soft:var(--region-map-soft);--room-ink:var(--region-map-ink)}
html:root[data-theme=dark] body.connect-shell .connect-page [data-room-tone=counseling],html:root[data-theme=dark] body.connect-shell .connect-page[data-room-tone=counseling]{--room-accent:var(--region-ai-action);--room-soft:var(--region-ai-soft);--room-ink:var(--region-ai-ink)}
html:root[data-theme=dark] body.connect-shell .connect-page [data-room-tone=teacher],html:root[data-theme=dark] body.connect-shell .connect-page[data-room-tone=teacher]{--room-accent:var(--region-journal-action);--room-soft:var(--region-journal-soft);--room-ink:var(--region-journal-ink)}
@keyframes connect-room-enter{from{transform:translateX(5px);opacity:.8}to{transform:translateX(0);opacity:1}}
@keyframes connect-send-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
 html:root body.connect-shell .connect-page *,html:root body.connect-shell .connect-page *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 html:root body.connect-shell .connect-page .hc-button:active,html:root body.connect-shell .connect-page .connect-send:active{transform:none}
 html:root body.connect-shell .connect-page .is-sending .connect-send-status{border-right-color:currentColor;border-style:dotted}
}
@media print{
 html:root body.connect-shell .connect-page :is(.hc-room-toolbar,.hc-room-banner,.hc-people-panel,.connect-sidebar,.connect-compose,.connect-companion,.connect-head-actions,.connect-thread-tools,.connect-footnote){display:none!important}
 html:root body.connect-shell .connect-page :is(.hc-room-layout,.connect-workspace){display:block;height:auto;min-height:0;border:0}
 html:root body.connect-shell .connect-page .connect-chat{display:block!important;border:0}
 html:root body.connect-shell .connect-page .connect-messages{overflow:visible;background:#fff}
 html:root body.connect-shell .connect-page .connect-message{break-inside:avoid}
 html:root body.connect-shell .connect-page .connect-bubble{background:#fff!important;color:#1E2B27!important;border-color:#87928C!important}
}
