@import url("brand.css");
*{box-sizing:border-box}
html,body{height:100%}
html{color-scheme:light}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--ui);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--heading);letter-spacing:-.018em}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.62}
svg{display:block}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--q-brand-600);outline-offset:3px}
::selection{background:var(--brand-tint)}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.booting .global-header,.booting #doctorScreen,.booting #adminScreen,.booting #profileScreen,.booting #guidelinesDialog{visibility:hidden}
.boot-status{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:var(--ground);color:var(--brand);font-size:14px;font-weight:700}
.boot-error{max-width:380px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;padding:26px;text-align:center;box-shadow:0 12px 40px rgba(18,25,38,.08)}
.boot-error p{color:var(--muted);font-size:12px;font-weight:500}
.icon{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{color:var(--brand);font:700 11px var(--ui);letter-spacing:.02em}
.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-pill);padding:8px 13px;font-size:12px;font-weight:700;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}
.button:hover{transform:none}
.button-primary{background:var(--brand);box-shadow:none;color:#fff}
.button-primary:hover{box-shadow:none;background:var(--q-brand-600);color:var(--ink)}
.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}
.button-secondary:hover{border-color:var(--line-strong);background:var(--sunk-soft)}
.button-small{min-height:31px;font-size:11px;padding:5px 10px}
.icon-button{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--muted)}
.icon-button:hover{background:var(--sunk-soft);color:var(--ink)}

/* Shared header */
.global-header{position:relative;z-index:20;display:flex;align-items:center;gap:22px;height:72px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);padding:0 25px}
.brand{display:flex;align-items:center;gap:10px;min-width:250px;color:inherit;text-decoration:none}
.brand-mark{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:0;background:transparent;box-shadow:none;color:var(--brand);font-size:42px;font-weight:800;line-height:1;letter-spacing:-.018em;padding-right:0;font-family:var(--heading)}
.brand-name{font-size:24px;font-weight:800;letter-spacing:-.018em;line-height:1.05;font-family:var(--heading)}
.brand-name>span{color:var(--ink)}
.brand-name small{display:block;margin-top:4px;color:var(--faint);font:700 9px var(--ui);letter-spacing:.04em}
.header-right{position:relative;display:flex;align-items:center;gap:19px;margin-left:auto}
.preview-pill{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font:700 10px var(--ui);letter-spacing:.04em}
.preview-dot{width:7px;height:7px;border-radius:50%;background:var(--q-brand-600);box-shadow:0 0 0 3px var(--q-brand-100)}
.user-chip{display:flex;align-items:center;gap:9px;border:0;border-left:1px solid var(--line);background:transparent;padding:4px 0 4px 16px;text-align:left;border-radius:0}
.user-chip:hover .user-avatar,.user-chip[aria-expanded="true"] .user-avatar{background:var(--q-brand-100);border-radius:50%}
.user-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--brand-tint);color:var(--brand-dark);font-size:11px;font-weight:800}
.user-name{font-size:11px;font-weight:700;white-space:nowrap}
.user-name small{display:block;color:var(--faint);font-size:10px;font-weight:500}
.user-chevron{width:13px;height:13px;margin-left:2px;color:var(--faint);transform:rotate(90deg);transition:transform .15s}
.user-chip[aria-expanded="true"] .user-chevron{transform:rotate(-90deg)}
.profile-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:75;width:236px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:0 16px 42px rgba(18,25,38,.15);padding:6px}
.profile-menu-heading{display:grid;gap:2px;border-bottom:1px solid var(--line);padding:10px 10px 12px;margin-bottom:5px}
.profile-menu-heading strong{font-size:11px}
.profile-menu-heading span{color:var(--faint);font-size:10px;overflow:hidden;text-overflow:ellipsis}
.profile-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;border:0;border-radius:var(--radius-control);background:transparent;padding:7px 10px;text-align:left;font-size:11px;font-weight:700}
.profile-menu button:hover{background:var(--sunk-soft);color:var(--brand-dark)}
.profile-menu button .icon{width:15px;height:15px;color:var(--muted)}
.profile-menu button:last-child{color:var(--critical)}
.profile-menu button:last-child .icon{color:var(--critical)}

/* Doctor workspace */
.doctor-layout{display:grid;grid-template-columns:292px minmax(0,1fr) 370px;height:calc(100dvh - 72px);min-height:570px;overflow:hidden}
.doctor-empty{grid-column:2/-1;display:grid;place-items:center;background:var(--ground);text-align:center;padding:24px}
.doctor-empty>div{max-width:360px}
.doctor-empty-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:var(--radius-card);background:transparent;color:var(--brand);font-size:48px;font-weight:800;font-family:var(--heading)}
.doctor-empty h2{margin:0 0 6px;font-size:19px}
.doctor-empty p{margin:0;color:var(--muted);font-size:12px}
.case-rail{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line);background:#fff}
.rail-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 20px 18px}
.rail-heading h1{margin:6px 0 3px;font-size:24px;letter-spacing:-.018em;line-height:1.18}
.rail-heading p{margin:0;color:var(--muted);font-size:11px}
.search-box{display:flex;align-items:center;gap:8px;height:38px;margin:0 16px 17px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--sunk-soft);color:var(--faint);padding:0 11px}
.search-box .icon{width:15px;height:15px}
.search-box:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--brand-tint)}
.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:11px}
.search-box input::placeholder{color:var(--faint)}
.case-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:0 20px}
.case-tab{position:relative;display:flex;align-items:center;gap:6px;height:37px;border:0;background:none;color:var(--muted);padding:0 1px;font-size:11px;font-weight:700}
.case-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:6px;background:var(--sunk-soft);color:var(--muted);padding:0 5px;font:700 11px var(--ui);font-variant-numeric:tabular-nums}
.case-tab.active{color:var(--brand-dark)}
.case-tab.active span{background:var(--brand-tint);color:var(--brand-dark)}
.case-tab.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;border-radius:2px;background:var(--brand)}
.case-list{min-height:0;flex:1;overflow-y:auto;padding:13px 10px 18px}
.case-card{display:block;width:100%;margin:0 0 7px;border:1px solid transparent;border-radius:var(--radius-card);background:transparent;padding:12px;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}
.case-card:hover{background:var(--sunk-soft)}
.case-card.active{border-color:var(--q-brand-600);background:var(--q-brand-50);box-shadow:none}
.case-card-top{display:flex;align-items:flex-start;gap:10px}
.case-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--q-brand-100);color:var(--brand);font-size:10px;font-weight:800}
.case-avatar.tone-blue{background:var(--q-brand-50);color:var(--brand)}.case-avatar.tone-green{background:var(--q-brand-50);color:var(--brand)}.case-avatar.tone-rose{background:var(--q-secondary-300);color:var(--warning)}
.case-card-name{display:block;margin:1px 0 2px;color:var(--ink);font-size:12px;font-weight:750}
.case-card-meta{display:block;color:var(--muted);font-size:10.5px}
.case-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:10px 0 0 46px}
.case-state{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700}
.case-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.case-state.progress{color:var(--warning)}.case-state.assigned{color:var(--info)}.case-state.done{color:var(--success)}
.case-time{color:var(--faint);font:500 11px var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap}
.empty-cases{margin:30px 10px;color:var(--faint);font-size:12px;text-align:center}
.empty-state{padding:22px;color:var(--muted);font-size:11px;text-align:center}

.consultation{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--ground)}
.patient-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:85px;border-bottom:1px solid var(--line);background:#fff;padding:14px 24px}
.patient-identity{display:flex;align-items:center;gap:12px;min-width:0}
.patient-avatar{display:grid;place-items:center;width:43px;height:43px;flex:none;border-radius:50%;background:var(--q-brand-100);color:var(--brand-dark);font-size:12px;font-weight:800}
.patient-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.patient-title-row h2{margin:0;font-size:17px;font-weight:760;letter-spacing:-.018em}
.status-badge{border-radius:var(--radius-pill);padding:3px 7px;font:700 10px var(--ui);white-space:nowrap}
.status-progress{background:var(--warning-tint);color:var(--warning)}.status-assigned{background:var(--info-tint);color:var(--info)}.status-done{background:var(--success-tint);color:var(--success)}
.patient-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px;color:var(--muted);font-size:11.5px;font-weight:550}
.patient-meta span+span::before{content:"·";margin-right:8px;color:var(--faint)}
.mobile-assessment-button{display:none}
.chat-context{display:flex;align-items:center;gap:7px;min-height:42px;border-bottom:1px solid var(--q-grey-stroke);background:var(--q-brand-50);color:var(--muted);padding:0 25px;font-size:10.5px}
.online-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--q-brand-600);box-shadow:0 0 0 3px var(--q-brand-100)}
.chat-scroll{min-height:0;flex:1;overflow-y:auto;padding:20px 6% 28px;background:var(--ground)}
.conversation-date{width:max-content;margin:0 auto 25px;border:1px solid var(--line);border-radius:var(--radius-pill);background:#fff;color:var(--faint);padding:5px 10px;font:650 10px var(--ui);letter-spacing:.02em}
.message-list{display:flex;flex-direction:column;gap:19px;max-width:770px;margin:auto}
.message-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.message-row.doctor{align-items:flex-end}
.message-label{color:var(--faint);font:750 10px var(--ui);letter-spacing:.04em}
.message-bubble{max-width:min(84%,520px);border:1px solid var(--line);border-radius:24px 24px 24px 8px;background:#fff;box-shadow:0 1px 4px rgba(18,25,38,.025);padding:12px 14px;color:var(--ink);font-size:12.5px;line-height:1.65}
.message-row.doctor .message-bubble{border-color:var(--q-brand-100);border-radius:24px 24px 8px 24px;background:var(--q-brand-100);color:var(--brand)}
.message-time{color:var(--faint);font:550 10px var(--ui);font-variant-numeric:tabular-nums}
.typing-bubble{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}
.typing-dots{display:inline-flex;align-items:center;gap:4px;height:13px}
.typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--brand);animation:typing-pulse 1.2s infinite ease-in-out}
.typing-dots span:nth-child(2){animation-delay:.15s}
.typing-dots span:nth-child(3){animation-delay:.3s}
@keyframes typing-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.typing-dots span{animation:none;opacity:.75}}
.message-row.failed .message-bubble{border-color:var(--critical-line);background:var(--critical-tint)}
.message-row.failed .message-time,.message-retry{color:var(--critical)}
.message-retry{display:flex;align-items:center;gap:10px;font-size:11px}
.message-retry button{border:0;background:none;color:var(--brand-dark);padding:2px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.empty-chat{border:1px dashed var(--line-strong);border-radius:var(--radius-card);background:#fff;color:var(--muted);padding:26px;text-align:center;font-size:12px}
.chat-composer{border-top:1px solid var(--line);background:#fff;padding:14px 24px 12px}
.composer-inner{display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line-strong);border-radius:var(--radius-card);background:#fff;padding:8px 8px 8px 14px;transition:border-color .15s,box-shadow .15s}
.composer-inner:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,93,93,.09)}
.composer-inner textarea{width:100%;min-height:31px;max-height:110px;resize:none;border:0;outline:0;padding:6px 0;background:none;font-size:12px;line-height:1.5}
.composer-inner textarea::placeholder{color:var(--faint)}
.send-button{display:grid;place-items:center;width:35px;height:35px;flex:none;border:0;border-radius:50%;background:var(--brand);box-shadow:none;color:#fff}
.send-button:hover{filter:none;background:var(--q-brand-600);color:var(--ink)}
.send-button .icon{width:16px;height:16px}
.composer-foot{display:flex;justify-content:space-between;gap:8px;margin:7px 3px 0;color:var(--faint);font-size:10px}

/* Assessment */
.assessment-panel{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;border-left:1px solid var(--line);background:#fff}
.assessment-top{display:flex;justify-content:space-between;gap:12px;padding:22px 22px 18px}
.assessment-top h2{margin:5px 0 2px;font-size:20px;letter-spacing:-.018em}
.assessment-top p{margin:0;color:var(--muted);font-size:10.5px}
.close-assessment{display:none}
.assessment-progress{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--q-grey-background);padding:10px 22px}
.save-indicator{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:10px;font-weight:700}
.save-indicator .icon{width:13px;height:13px;stroke-width:1.5}
.progress-copy{color:var(--faint);font:650 10px var(--ui);font-variant-numeric:tabular-nums}
.assessment-form{min-height:0;flex:1;overflow-y:auto;padding:2px 22px 24px}
.form-section{border-bottom:1px solid var(--q-grey-stroke);padding:22px 0 20px}
.form-section:last-child{border:0}
.form-section-title{display:flex;gap:9px;margin-bottom:15px}
.step-number{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid var(--q-brand-100);border-radius:var(--radius-control);background:var(--q-brand-50);color:var(--brand);font:750 10px var(--ui);font-variant-numeric:tabular-nums}
.form-section-title h3{margin:0;font-size:12px;font-weight:750}
.form-section-title p{margin:2px 0 0;color:var(--faint);font-size:10px}
.field{display:block;margin:0 0 13px}
.field:last-child{margin-bottom:0}
.field>span{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;color:var(--ink);font-size:10px;font-weight:700}
.field em{color:var(--faint);font-size:10px;font-style:normal;font-weight:550}
.field input,.field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:9px 10px;outline:0;font-size:11px;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.field textarea{resize:vertical;min-height:54px}
.field input:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.8}
.field input:disabled,.field textarea:disabled{background:var(--q-grey-background);color:var(--muted)}
.optional-divider{display:flex;align-items:center;gap:8px;margin:17px 0 14px;color:var(--faint);font:650 10px var(--ui);letter-spacing:.04em}
.optional-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.decision-grid{display:grid;gap:7px;margin-bottom:13px}
.decision-option{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:8px 10px;cursor:pointer;transition:border-color .15s,background .15s}
.decision-option:hover{border-color:var(--line-strong);background:var(--q-grey-background)}
.decision-option:has(input:checked){border-color:var(--q-brand-600);background:var(--q-brand-50);box-shadow:none}
.decision-option input{position:absolute;opacity:0;width:1px;height:1px}
.decision-option input:focus-visible+.decision-icon{outline:3px solid rgba(18,93,93,.28);outline-offset:2px}
.decision-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:var(--radius-control);font-family:var(--ui);font-size:16px;font-weight:800}
.decision-home{background:var(--q-brand-50);color:var(--brand)}.decision-prescription{background:var(--q-brand-100);color:var(--brand)}.decision-exam{background:var(--q-secondary-300);color:var(--warning)}.decision-er{background:var(--critical-tint);color:var(--critical)}
.decision-copy{min-width:0;flex:1;color:var(--ink);font-size:10.5px;font-weight:720}
.decision-copy small{display:block;color:var(--muted);font-size:10px;font-weight:500}
.radio-ring{width:15px;height:15px;flex:none;border:1.5px solid var(--line-strong);border-radius:50%;background:#fff}
.decision-option:has(input:checked) .radio-ring{border:5px solid var(--brand)}
.rating-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.rating-row button{height:34px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--muted);font:700 11px var(--ui);font-variant-numeric:tabular-nums}
.rating-row button:hover{border-color:var(--brand)}
.rating-row button[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-dark)}
.rating-row button:disabled{opacity:.7}
.rating-labels{display:flex;justify-content:space-between;margin-top:5px;color:var(--faint);font-size:10px}
.assessment-bottom{border-top:1px solid var(--line);background:#fff;padding:13px 21px 16px}
.end-button{width:100%;justify-content:space-between;padding:10px 13px}
.assessment-bottom p{margin:8px 0 0;color:var(--faint);font-size:10px;text-align:center}
.form-error{margin:0 0 8px;border:1px solid var(--critical-line);border-radius:var(--radius-control);background:var(--critical-tint);color:var(--critical);padding:8px 10px;font-size:10px}
.panel-scrim{display:none}

/* Admin */
.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);height:calc(100dvh - 72px);min-height:600px}
.admin-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff;padding:25px 13px 17px}
.admin-sidebar-heading{padding:0 12px 22px}
.admin-sidebar-heading strong{display:block;margin-top:5px;font-size:14px;letter-spacing:-.018em}
.admin-nav{display:grid;gap:4px}
.admin-nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:43px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);padding:9px 11px;text-align:left;font-size:12px;font-weight:700}
.admin-nav-item:hover{background:var(--sunk-soft);color:var(--ink)}
.admin-nav-item.active{background:var(--brand-tint);color:var(--brand-dark)}
.admin-nav-item .icon{width:18px;height:18px}
.nav-count{margin-left:auto;color:var(--faint);font:650 10px var(--ui);font-variant-numeric:tabular-nums}
.admin-sidebar-foot{display:flex;align-items:center;gap:9px;margin-top:auto;border-top:1px solid var(--line);padding:18px 12px 0;color:var(--muted);font-size:10px}
.admin-content{display:flex;min-width:0;min-height:0;flex-direction:column}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid var(--line);background:#fff;padding:0 28px}
.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--faint);font:750 10px var(--ui);letter-spacing:.04em}
.breadcrumb .icon{width:12px;height:12px}
.breadcrumb strong{color:var(--brand)}
.updated-pill{color:var(--faint);font:550 10px var(--ui)}
.admin-page{min-height:0;overflow-y:auto;padding:29px 31px 50px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}
.page-heading h1{margin:7px 0 4px;font-size:32px;font-weight:760;letter-spacing:-.018em;line-height:40px}
.page-heading p{margin:0;color:var(--muted);font-size:12px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.metric-card{position:relative;overflow:hidden;min-height:126px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card);padding:24px}
.metric-card.featured{border-color:var(--q-brand-100);background:var(--q-brand-50)}
.metric-card>span{display:block;color:var(--muted);font-size:11px;font-weight:700}
.metric-card strong{display:block;margin:12px 0 4px;font:750 40px var(--heading);font-variant-numeric:tabular-nums;letter-spacing:-.018em;line-height:1}
.metric-card small{display:block;color:var(--faint);font-size:10px}
.metric-accent{position:absolute;top:0;left:0;right:0;height:3px}
.accent-brand{background:var(--q-brand-900)}.accent-blue{background:var(--q-brand-600)}.accent-amber{background:var(--q-secondary-600)}.accent-green{background:var(--q-brand-300)}
.admin-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.75fr);gap:14px;margin-top:16px}
.surface-panel{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:16px 18px}
.panel-heading h2{margin:0;font-size:13px;font-weight:750}
.panel-heading p{margin:3px 0 0;color:var(--faint);font-size:10px}
.text-button,.row-link{display:inline-flex;align-items:center;gap:2px;border:0;background:none;color:var(--brand);padding:5px 0;font-size:10px;font-weight:750;white-space:nowrap}
.text-button:hover,.row-link:hover{text-decoration:underline}
.text-button .icon,.row-link .icon{width:12px;height:12px}
.subtle-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--faint)}
.subtle-icon .icon{width:14px;height:14px}
.table-scroll{overflow-x:auto}
.case-panel-heading{flex-wrap:wrap}
.case-list-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.case-list-controls select{min-height:34px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:5px 9px;color:var(--ink);font-size:11px}
.case-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:68px;border-bottom:1px solid var(--line);background:var(--q-grey-background);padding:11px 18px}
.case-action-bar.has-selection{background:var(--q-brand-50)}
.case-action-copy{display:grid;gap:2px}
.case-selection-title{display:flex;align-items:center;gap:8px}
.case-action-copy strong{color:var(--ink);font-size:11px}
.case-action-copy span{color:var(--muted);font-size:10px}
.case-action-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.case-clear-selection{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:var(--brand-tint);color:var(--brand-dark);font-size:17px;line-height:1}
.case-clear-selection:hover{background:var(--q-brand-100)}
.case-more-wrap{position:relative}
.case-more-button .icon{width:13px;height:13px;transform:rotate(90deg)}
.case-more-menu{position:absolute;z-index:12;top:calc(100% + 6px);right:0;min-width:150px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;box-shadow:0 12px 28px rgba(18,25,38,.14);padding:5px}
.case-more-menu button{display:block;width:100%;min-height:34px;border:0;border-radius:6px;background:transparent;padding:7px 10px;text-align:left;color:var(--ink);font-size:11px;font-weight:650;white-space:nowrap}
.case-more-menu button:hover,.case-more-menu button:focus-visible{background:var(--sunk-soft)}
.case-select-cell{width:48px;text-align:center}
.case-select-checkbox{width:16px;height:16px;margin:0;accent-color:var(--brand);vertical-align:middle;cursor:pointer}
.case-select-checkbox:disabled{cursor:not-allowed}
.data-table tbody tr.case-row-selected,.data-table tbody tr.case-row-selected:hover{background:var(--q-brand-50)}
.case-batch-progress{margin-top:10px;color:var(--faint);font-size:11px}
.data-table{width:100%;border-collapse:collapse;text-align:left}
.data-table th{border-bottom:1px solid var(--line);background:var(--sunk-soft);color:var(--faint);padding:10px 15px;font:750 10px var(--ui);letter-spacing:.04em;white-space:nowrap}
.data-table td{border-bottom:1px solid var(--q-grey-stroke);color:var(--muted);padding:11px 15px;font-size:10.5px;white-space:nowrap}
.data-table tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:var(--q-brand-50)}
.data-table strong{color:var(--ink)}
.table-person{display:flex;align-items:center;gap:9px}
.table-person small{display:block;color:var(--faint);font-size:10px}
.small-avatar{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:50%;background:var(--q-brand-100);color:var(--brand);font-size:9px;font-weight:800}
.avatar-blue{background:var(--q-brand-50);color:var(--info)}.avatar-rose{background:var(--critical-tint);color:var(--critical)}.avatar-green{background:var(--q-brand-50);color:var(--success)}
.number-pill{display:inline-block;min-width:22px;border-radius:6px;padding:3px 5px;text-align:center;font:700 10px var(--ui);font-variant-numeric:tabular-nums}
.amber-pill{background:var(--warning-tint);color:var(--warning)}
.recent-list{display:grid}
.recent-item{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--q-grey-stroke);background:#fff;padding:13px 17px;text-align:left}
.recent-item:hover{background:var(--q-brand-50)}
.recent-item>span:nth-child(2){min-width:0;flex:1}
.recent-item strong{display:block;font-size:10.5px}
.recent-item small{display:block;color:var(--faint);font-size:10px}
.recent-item>.icon{width:13px;height:13px;color:var(--faint)}
.recent-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:var(--radius-control);background:var(--success-tint);color:var(--success);font-weight:800}
.panel-footnote{display:flex;align-items:center;gap:7px;color:var(--faint);padding:14px 17px;font-size:10px}
.panel-footnote .icon{width:12px;height:12px}
.mini-search{display:flex;align-items:center;gap:7px;width:200px;height:34px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--sunk-soft);color:var(--faint);padding:0 9px}
.mini-search .icon{width:14px;height:14px}
.mini-search input{min-width:0;width:100%;border:0;outline:0;background:none;font-size:10px}
.mini-search input::placeholder{color:var(--faint)}
.attempt-filters{display:flex;gap:8px;flex-wrap:wrap}
.attempt-filters select{min-height:34px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:5px 9px;font-size:11px}
.table-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
.case-summary-bar{display:flex;gap:22px;margin-bottom:14px;color:var(--muted);font-size:11px}
.case-summary-bar strong{color:var(--ink)}
.status-dot{display:inline-block;width:7px;height:7px;margin-right:3px;border-radius:50%;background:var(--faint)}
.status-dot.green{background:var(--q-brand-600)}.status-dot.muted{background:var(--q-grey-inactive)}.status-dot.rose{background:var(--critical)}
.strong-cell{color:var(--ink)!important;font-weight:700}
.strong-cell small{display:block;color:var(--faint);font-size:10px;font-weight:500}
.table-status{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-pill);padding:4px 8px;font:700 10px var(--ui)}
.table-status::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.active-status,.done-status{background:var(--success-tint);color:var(--success)}.draft-status{background:var(--warning-tint);color:var(--warning)}
.archived-status{background:var(--sunk);color:var(--muted)}
.access-cell{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:650}
.access-switch{display:inline-flex;align-items:center;width:38px;height:22px;border:0;border-radius:var(--radius-card);background:var(--q-grey-inactive);padding:3px;transition:background .15s;vertical-align:middle}
.access-switch span{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(18,25,38,.22);transition:transform .15s}
.access-switch.is-on{background:var(--brand)}
.access-switch.is-on span{transform:translateX(16px)}
.muted-action{color:var(--faint);font-size:10px}
.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.group-card{display:flex;flex-direction:column;min-height:238px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;padding:20px}
.group-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:var(--radius-control);background:var(--brand-tint);color:var(--brand);font-weight:800}
.blue-group{background:var(--info-tint);color:var(--info)}
.group-card h2{margin:17px 0 2px;font-size:14px}
.group-card p{margin:0;color:var(--muted);font-size:10px}
.group-members{display:flex;align-items:center;margin-top:auto;padding-top:22px}
.group-members span,.group-members em{display:grid;place-items:center;width:28px;height:28px;margin-right:-5px;border:2px solid #fff;border-radius:50%;background:var(--q-brand-100);color:var(--brand);font-size:8px;font-style:normal;font-weight:800}
.group-members span:nth-child(2){background:var(--q-brand-50);color:var(--info)}.group-members span:nth-child(3){background:var(--q-brand-50);color:var(--success)}.group-members em{background:var(--sunk);color:var(--muted)}
.group-card>.text-button{margin-top:12px;align-self:flex-start}
.dashed-card{align-items:flex-start;border-style:dashed;background:var(--q-grey-background)}
.dashed-icon{display:grid;place-items:center;width:37px;height:37px;border:1px dashed var(--line-strong);border-radius:var(--radius-control);color:var(--brand);font-size:24px}

/* Account profile */
.profile-screen{height:calc(100dvh - 72px);overflow-y:auto;background:var(--ground)}
.profile-shell{width:min(980px,100%);margin:0 auto;padding:33px 28px 70px}
.profile-back{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--brand);padding:0;font-size:11px;font-weight:750}
.profile-back:hover{text-decoration:underline}
.profile-back .icon{width:14px;height:14px;transform:rotate(180deg)}
.profile-heading{margin:30px 0 25px}
.profile-heading h1{margin:7px 0 4px;font-size:32px;letter-spacing:-.018em;line-height:40px}
.profile-heading p{margin:0;color:var(--muted);font-size:12px}
.profile-grid{display:grid;gap:16px}
.profile-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}
.profile-card-header{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);background:var(--q-brand-50);padding:24px 27px}
.profile-large-avatar{display:grid;place-items:center;width:56px;height:56px;flex:none;border:2px solid #fff;border-radius:50%;background:var(--q-brand-100);box-shadow:none;color:var(--brand-dark);font-size:17px;font-weight:800}
.profile-card-header h2{margin:0 0 3px;font-size:17px;letter-spacing:-.018em}
.profile-card-header p{margin:0;color:var(--muted);font-size:11px}
.profile-card-body{padding:24px 27px 27px}
.profile-card-body h3{margin:0;font-size:14px;letter-spacing:-.018em}
.profile-section-note{margin:4px 0 20px;color:var(--muted);font-size:11px}
.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.profile-section-badge{border:1px solid var(--q-brand-100);border-radius:var(--radius-control);background:var(--brand-tint);color:var(--brand-dark);padding:5px 7px;font:750 10px var(--ui);letter-spacing:.03em}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 21px}
.profile-field{display:block;min-width:0}
.profile-field>span{display:block;margin-bottom:7px;font-size:11px;font-weight:750}
.profile-field input,.profile-field textarea,.profile-field select{display:block;width:100%;min-height:43px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;outline:0;padding:10px 12px;font-size:11px;line-height:1.5}
.profile-field textarea{resize:vertical}
.profile-field input:focus,.profile-field textarea:focus,.profile-field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,93,93,.1)}
.profile-field input[readonly]{background:var(--sunk-soft);color:var(--muted)}
.profile-field small{display:block;margin-top:5px;color:var(--faint);font-size:10px}
.profile-field-wide{grid-column:1/-1}
.profile-qualifications{min-width:0;margin:0;padding:0;border:0}
.profile-qualifications legend{margin-bottom:12px;padding:0;font-size:11px;font-weight:750}
.qualification-rows{display:grid;gap:12px;margin-bottom:12px}
.qualification-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,130px) 33px;align-items:end;gap:12px}
.qualification-row .profile-field>span{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:500}
.remove-qualification{margin-bottom:5px}
.profile-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}

/* Recorded consultation activity */
.consultation-metrics{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:0 24px 24px}
.consultation-metrics>.panel-heading{padding:18px 0 14px}
.timing-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.timing-filters label{display:grid;gap:5px;flex:1;min-width:135px}
.timing-filters label>span{color:var(--muted);font-size:11px;font-weight:700}
.timing-filters input,.timing-filters select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:7px 9px;font-size:12px;color:var(--ink)}
.timing-filters .button{min-height:36px}
.timing-filters .text-button{min-height:36px}
.timing-filter-note{margin:9px 0 14px;color:var(--faint);font-size:11px;line-height:1.6}
.timing-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.metric-card strong.metric-unrecorded{font-size:22px;line-height:1.3;letter-spacing:-.018em}
.timing-coverage-note{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.duration-value{color:var(--ink);font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.duration-note{display:block;margin-top:4px;color:var(--faint);font-size:10px;font-weight:500}
.profile-activity{margin-bottom:20px;padding:24px 27px 20px;border:1px solid var(--q-brand-100);border-radius:var(--radius-card);background:var(--q-secondary-100);box-shadow:none;border-color:var(--q-secondary-300)}
.profile-activity-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}
.profile-activity-heading h2{margin:0;font-size:15px;letter-spacing:-.018em}
.profile-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.profile-activity-stat+.profile-activity-stat{border-left:1px solid var(--q-grey-stroke);padding-left:25px}
.profile-activity-stat>span{display:block;color:var(--brand-dark);font-size:12px;font-weight:700}
.profile-activity-stat strong{display:block;margin:10px 0 7px;font-size:34px;letter-spacing:-.018em;line-height:1.2;font-variant-numeric:tabular-nums;font-family:var(--heading);}
.profile-activity-stat p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.profile-activity>.timing-coverage-note{margin-top:20px;padding-top:13px;border-top:1px solid var(--q-grey-stroke)}
.modal-card.modal-wide{width:min(100%,1000px);max-height:90dvh}
.case-timing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.case-timing-summary>div{border:1px solid var(--q-grey-stroke);border-radius:var(--radius-control);background:var(--q-brand-50);padding:15px}
.case-timing-summary small{display:block;color:var(--muted);font-size:11px;font-weight:650}
.case-timing-summary strong{display:block;margin-top:8px;font-size:20px;font-variant-numeric:tabular-nums}
.case-timing-table{border:1px solid var(--line);border-radius:var(--radius-control);margin-top:12px}
@media(max-width:700px){
  .consultation-metrics{padding:0 12px 12px}
  .consultation-metrics>.panel-heading{align-items:start;gap:10px}
  .consultation-metrics .profile-section-badge{display:none}
  .timing-metrics-grid,.case-timing-summary{grid-template-columns:1fr}
  .timing-filters label{min-width:calc(50% - 10px)}
  .profile-activity{padding:20px}
  .profile-activity-grid{gap:15px}
  .profile-activity-stat+.profile-activity-stat{padding-left:15px}
  .profile-activity-stat strong{font-size:26px}
  .profile-activity-stat p{font-size:12px}
}

/* Doctor guidelines */
.guidelines-dialog{width:min(920px,calc(100vw - 40px));max-height:88dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:var(--radius-panel);background:#fff;color:var(--ink);overflow:hidden;box-shadow:var(--shadow-card)}
.guidelines-dialog::backdrop{background:rgba(18,25,38,.43)}
.guidelines-dialog-panel{display:flex;flex-direction:column;max-height:88dvh}
.guidelines-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 32px 20px;border-bottom:1px solid var(--line)}
.guidelines-dialog-header h2{margin:0;font-size:23px;line-height:1.35;letter-spacing:-.018em}
.guidelines-dialog-header p{margin:5px 0 0;font-size:12px;color:var(--muted)}
.guidelines-dialog-header .icon-button{flex:none}
.guidelines-dialog-body{min-height:0;overflow-y:auto;padding:24px 32px;overscroll-behavior:contain}
.guidelines-notice{color:var(--critical);font-size:13px}
.guidelines-dialog .guidelines-content>h2:first-child{margin-top:0}
.guidelines-content{font-size:15px;line-height:1.8;overflow-wrap:break-word}
.guidelines-content h1{margin:0 0 28px;font-size:28px;font-weight:750;letter-spacing:-.018em;line-height:1.3}
.guidelines-content h2{margin:30px 0 12px;font-size:20px;font-weight:750;line-height:1.4;letter-spacing:-.018em}
.guidelines-content h3{margin:22px 0 9px;font-size:16px;font-weight:700;line-height:1.5}
.guidelines-content p{margin:0 0 16px}
.guidelines-content ul,.guidelines-content ol{margin:12px 0 20px;padding-left:24px}
.guidelines-content li{padding-left:4px;margin:7px 0}
.guidelines-content blockquote{margin:20px 0;padding:16px 20px;border-left:3px solid var(--q-secondary-600);border-radius:0 9px 9px 0;background:var(--q-secondary-100)}
.guidelines-content a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.guidelines-table-scroll{max-width:100%;overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:var(--radius-control)}
.guidelines-content table{width:100%;min-width:580px;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.7}
.guidelines-content th,.guidelines-content td{padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--line)}
.guidelines-content th{background:var(--sunk-soft);font-weight:700}
.guidelines-content tbody tr:last-child td{border-bottom:0}
.guidelines-document{height:auto;min-height:100%;padding:40px 28px}
.guidelines-document .guidelines-content{max-width:850px;margin:0 auto;padding:32px 36px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}

@media print{
  .guidelines-document{padding:0;background:#fff}
  .guidelines-document .guidelines-content{max-width:none;padding:0;border:0}
  .guidelines-content{font-size:11pt;line-height:1.6}
  .guidelines-content h2,.guidelines-content h3{break-after:avoid}
  .guidelines-content tr,.guidelines-content blockquote{break-inside:avoid}
  .guidelines-table-scroll{overflow:visible}
  .guidelines-content table{min-width:0}
}

/* Dialogs and feedback */
.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;background:rgba(18,25,38,.43);padding:20px}
.modal-card{position:relative;width:min(100%,520px);max-height:min(90dvh,760px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-panel);background:#fff;box-shadow:var(--shadow-card);padding:32px}
.modal-close{position:absolute;top:17px;right:17px}
.modal-card .eyebrow{margin-bottom:7px}
.modal-card h2{margin:0 35px 6px 0;font-size:28px;letter-spacing:-.018em;line-height:36px}
.modal-card p{margin:0 0 18px;color:var(--muted);font-size:12px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.modal-info{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--sunk-soft);padding:13px;color:var(--muted);font-size:11px}
.modal-info strong{color:var(--ink)}
.modal-field{display:block;margin:14px 0}
.modal-field span{display:block;margin-bottom:5px;font-size:11px;font-weight:700}
.modal-field input,.modal-field select{width:100%;height:39px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:0 10px;outline:0}
.modal-field textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;padding:10px;outline:0;resize:vertical;font-size:11px}
.modal-field input:focus,.modal-field select:focus{border-color:var(--brand)}
.modal-field textarea:focus{border-color:var(--brand)}
.modal-check{display:flex;align-items:center;gap:9px;margin:9px 0;color:var(--ink);font-size:11px}
.modal-check input{accent-color:var(--brand)}
.modal-error{margin:12px 0;border:1px solid var(--critical-line);border-radius:var(--radius-control);background:var(--critical-tint);color:var(--critical);padding:9px 11px;font-size:11px}
.modal-section{margin:16px 0}
.modal-section h3{margin:0 0 7px;font-size:12px}
.modal-section p{margin:4px 0;color:var(--muted);font-size:11px}
.modal-pre{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--sunk-soft);padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}
.group-member-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px;font-weight:700}
.group-member-line small{display:block;color:var(--faint);font-size:10px;font-weight:500}
.review-field{border-bottom:1px solid var(--line);padding:8px 0}
.review-field strong{display:block;color:var(--ink);font-size:10px}
.review-field p{margin:3px 0 0;color:var(--muted);white-space:normal;overflow-wrap:anywhere}
.review-transcript{max-height:280px;overflow-y:auto}
.review-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:15px 0}
.review-summary div{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--q-grey-background);padding:10px}
.review-summary small{display:block;color:var(--faint);font:650 10px var(--ui)}
.review-summary strong{display:block;margin-top:3px;font-size:11px}
.review-transcript{display:grid;gap:9px;margin:13px 0}
.review-transcript div{border-left:2px solid var(--line-strong);padding-left:10px;color:var(--muted);font-size:11px}
.review-transcript strong{display:block;color:var(--ink);font-size:10px}
.locked-illustration{display:grid;place-items:center;width:55px;height:55px;margin:8px 0 15px;border-radius:var(--radius-card);background:var(--brand-tint);color:var(--brand)}
.locked-illustration .icon{width:27px;height:27px}
.file-drop{display:grid;place-items:center;min-height:134px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-card);background:var(--q-grey-background);color:var(--muted);text-align:center;padding:17px}
.file-drop .icon{width:22px;height:22px;color:var(--brand);margin-bottom:7px}
.file-drop strong{color:var(--ink);font-size:11px}
.file-drop input{width:210px;margin-top:10px;font-size:10px}
.toast{position:fixed;z-index:100;bottom:22px;left:50%;transform:translateX(-50%);border:1px solid var(--q-brand-100);border-radius:var(--radius-control);background:#fff;box-shadow:var(--shadow-card);color:var(--brand-dark);padding:10px 14px;font-size:11px;font-weight:700}

/* Sign-in preview */
.login-mock{min-height:100dvh;background:var(--ground)}
.login-frame{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,.9fr);min-height:100dvh}
.login-story{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--q-brand-900);color:#fff;padding:48px 8vw 40px}
.login-story::before{content:"";position:absolute;width:650px;height:650px;right:-250px;bottom:-310px;border:1px solid rgba(255,255,255,.21);border-radius:50%;box-shadow:0 0 0 100px rgba(255,255,255,.035),0 0 0 200px rgba(255,255,255,.025)}
.login-story-top{position:relative;display:flex;align-items:center;gap:10px}
.login-story-top .brand-mark{background:transparent;box-shadow:none;color:var(--surface)}
.login-story-top .brand-name{color:#fff}
.login-story-top .brand-name>span{color:var(--surface)}
.login-story-top .brand-name small{color:var(--q-brand-100)}
.login-story-copy{position:relative;max-width:560px;margin:auto 0 28px}
.login-story-copy .eyebrow{color:var(--q-secondary-600)}
.login-story-copy h1{margin:13px 0 17px;font-size:clamp(48px,5.4vw,64px);font-weight:760;letter-spacing:-.018em;line-height:1.125}
.login-story-copy p{max-width:460px;color:var(--q-brand-100);font-size:20px;line-height:28px}
.login-sample{position:relative;width:min(410px,100%);margin:0 0 35px;border:1px solid rgba(255,255,255,.29);border-radius:var(--radius-card);background:var(--q-brand-50);box-shadow:none;padding:24px;backdrop-filter:none;border-color:var(--q-brand-100)}
.login-sample-title{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:11px;font-weight:750}
.login-sample-bubble{width:max-content;max-width:100%;margin:19px 0 13px auto;border-radius:11px 11px 3px 11px;background:var(--q-secondary-300);color:var(--ink);padding:11px 13px;font-size:14px}
.login-sample-line{width:66%;height:9px;margin-top:7px;border-radius:var(--radius-control);background:var(--q-brand-100)}
.login-sample-line.short{width:43%}
.login-story-foot{position:relative;color:var(--q-brand-100);font:650 10px var(--ui);letter-spacing:.05em}
.login-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px}
.login-card{width:min(100%,480px);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-card);padding:40px}
.login-card-kicker{display:flex;align-items:center;gap:9px;color:var(--brand);font:750 10px var(--ui);letter-spacing:.05em}
.login-card h2{margin:25px 0 8px;font-size:32px;letter-spacing:-.018em;line-height:40px}
.login-card>p{max-width:310px;margin:0 0 28px;color:var(--muted);font-size:13px;line-height:1.6}
.google-button{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:#fff;color:var(--ink);padding:9px 13px;text-decoration:none;font-size:12px;font-weight:750;transition:border-color .15s,box-shadow .15s}
.google-button:hover{border-color:var(--brand);box-shadow:none;background:var(--q-brand-50)}
.google-g{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:var(--radius-control);color:#4285f4;font-size:17px;font-weight:800}
.google-button>span:nth-child(2){flex:1}
.google-button svg{width:16px;height:16px;fill:none;stroke:var(--faint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-divider{height:1px;margin:26px 0 20px;background:var(--line)}
.login-note{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:10.5px;line-height:1.6}
.login-note-icon{display:grid;place-items:center;width:18px;height:18px;flex:none;border:1px solid var(--line-strong);border-radius:50%;color:var(--brand);font:700 10px var(--ui)}
.login-preview-note{color:var(--faint);font:550 10px var(--ui);text-align:center}

/* Desktop type scale: keep the display headings while making working text readable. */
@media(min-width:901px){
  body{font-size:.9375rem}
  .eyebrow,.brand-name small,.status-badge,.conversation-date,.message-label,.step-number,.optional-divider,.nav-count,.breadcrumb,.data-table th,.number-pill,.table-status,.profile-section-badge,.review-summary small,.review-field strong,.review-transcript strong,.login-card-kicker,.login-story-foot{font-size:.75rem}
  .button,.google-button{min-height:44px;padding:10px 15px;font-size:.875rem}
  .button-small{min-height:36px;padding:7px 11px;font-size:.8125rem}
  .user-avatar,.case-avatar,.patient-avatar,.small-avatar,.group-members span,.group-members em{font-size:.75rem}
  .user-name,.profile-menu-heading strong,.profile-menu button{font-size:.875rem}
  .user-name small,.profile-menu-heading span{font-size:.8125rem}
  .profile-menu{width:265px}
  .profile-menu button{min-height:42px}

  .doctor-empty p,.rail-heading p,.empty-cases,.empty-state,.empty-chat{font-size:.875rem}
  .search-box{height:44px}
  .search-box input,.case-tab,.case-card-meta,.case-state,.case-time,.patient-meta,.chat-context,.message-time,.composer-foot,.assessment-top p,.save-indicator,.progress-copy,.form-section-title p,.decision-copy small,.rating-labels,.assessment-bottom p,.form-error{font-size:.8125rem}
  .case-tab{height:43px;font-size:.875rem}
  .case-tab span{min-width:20px;height:20px;font-size:.6875rem}
  .case-card{padding:14px}
  .case-card-name{font-size:.9375rem}
  .case-card-bottom{margin-top:12px}
  .patient-header{min-height:92px}
  .message-bubble{padding:14px 16px;font-size:.9375rem;line-height:1.6}
  .composer-inner textarea{min-height:35px;max-height:150px;font-size:.9375rem}
  .composer-foot{margin-top:9px}

  .assessment-top p,.form-section-title p,.decision-copy small,.rating-labels,.assessment-bottom p{line-height:1.5}
  .form-section-title h3{font-size:.9375rem}
  .field>span,.field em,.optional-divider,.save-indicator,.progress-copy,.rating-labels{font-size:.8125rem}
  .field input,.field textarea{padding:11px 12px;font-size:.875rem}
  .decision-option{min-height:57px;padding:10px 12px}
  .decision-copy{font-size:.875rem}
  .rating-row button{height:40px;font-size:.875rem}
  .assessment-bottom p{font-size:.8125rem}

  .admin-nav-item{min-height:48px;font-size:.875rem}
  .admin-sidebar-foot,.page-heading p,.panel-heading p,.metric-card small,.recent-item small,.panel-footnote,.case-summary-bar,.group-card p,.muted-action{font-size:.8125rem}
  .page-heading p{font-size:.9375rem}
  .metric-card>span{font-size:.875rem}
  .panel-heading h2{font-size:1rem}
  .panel-heading{padding:18px 20px}
  .text-button,.row-link{font-size:.875rem}
  .data-table th{padding:13px 16px}
  .data-table td{padding:15px 16px;font-size:.875rem}
  .table-person{gap:11px}
  .table-person small,.strong-cell small{font-size:.8125rem}
  .small-avatar{width:36px;height:36px}
  .recent-item{padding:15px 18px}
  .recent-item strong{font-size:.875rem}
  .mini-search{width:240px;height:42px}
  .case-list-controls select{min-height:42px;font-size:.875rem}
  .case-action-copy strong{font-size:.875rem}
  .case-action-copy span{font-size:.8125rem}
  .case-more-menu button{font-size:.8125rem}
  .case-batch-progress{font-size:.8125rem}
  .mini-search input,.attempt-filters select{font-size:.875rem}
  .attempt-filters select{min-height:42px}
  .group-card h2{font-size:1rem}
  .group-members span,.group-members em{width:31px;height:31px}

  .profile-back,.profile-heading p,.profile-card-header p,.profile-section-note,.profile-field small{font-size:.8125rem}
  .profile-heading p{font-size:.9375rem}
  .profile-field>span,.profile-qualifications legend{font-size:.875rem}
  .qualification-row .profile-field>span{font-size:.8125rem}
  .profile-field input,.profile-field textarea,.profile-field select{min-height:48px;font-size:.875rem}
  .modal-card{width:min(100%,560px)}
  .modal-card p,.modal-info,.modal-field span,.modal-check,.modal-error,.modal-section p,.group-member-line,.review-summary strong,.review-transcript div,.file-drop strong,.toast{font-size:.8125rem}
  .modal-field input,.modal-field select{height:44px;font-size:.875rem}
  .modal-field textarea,.modal-pre{font-size:.875rem}
  .modal-section h3{font-size:.9375rem}
  .group-member-line small,.file-drop input{font-size:.8125rem}

  .login-sample-title,.login-sample-bubble,.login-note{font-size:.8125rem}
  .login-card>p{font-size:.9375rem}
  .login-note{line-height:1.55}
}

@media(max-width:1280px){
  .doctor-layout{grid-template-columns:270px minmax(0,1fr)}
  .assessment-panel{position:fixed;z-index:51;top:72px;right:0;bottom:0;width:min(390px,95vw);box-shadow:-16px 0 45px rgba(18,25,38,.14);transform:translateX(105%);transition:transform .22s}
  .assessment-panel.open{transform:translateX(0)}
  .close-assessment,.mobile-assessment-button{display:inline-flex}
  .panel-scrim{position:fixed;z-index:50;inset:72px 0 0;display:block;background:rgba(18,25,38,.3)}
  .admin-columns{grid-template-columns:minmax(0,1fr)}
  .recent-list{grid-template-columns:repeat(3,1fr)}
  .recent-item{border-bottom:0;border-right:1px solid var(--line)}
}
@media(max-width:900px){
  .brand{min-width:auto}
  .brand-name small,.preview-extra,.user-name{display:none}
  .user-chip{padding-left:0;border:0}
  .global-header{gap:11px;padding:0 14px}
  .admin-layout{grid-template-columns:72px minmax(0,1fr)}
  .admin-sidebar{padding:19px 9px}
  .admin-sidebar-heading,.admin-sidebar-foot{display:none}
  .admin-nav-item{justify-content:center;font-size:0}
  .admin-nav-item .icon{width:20px;height:20px}
  .nav-count{display:none}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-frame{grid-template-columns:1fr}
  .login-story{min-height:300px;padding:24px 8vw}
  .login-story-copy{margin:50px 0 0}
  .login-story-copy h1{font-size:48px}
  .login-story-copy p{font-size:12px}
  .login-sample,.login-story-foot{display:none}
  .login-side{min-height:430px}
}
@media(max-width:660px){
  .global-header{height:63px}
  .brand-mark{width:33px;height:33px;font-size:21px}
  .brand-name{font-size:17px}
  .preview-pill{display:none}
  .user-chip{padding:3px 0;border:0}
  .user-chevron{display:none}
  .profile-menu{top:calc(100% + 8px)}
  .profile-screen{height:calc(100dvh - 63px)}
  .guidelines-dialog{width:calc(100vw - 24px);max-height:92dvh}
  .guidelines-dialog-panel{max-height:92dvh}
  .guidelines-dialog-header{gap:12px;padding:20px}
  .guidelines-dialog-header h2{font-size:20px}
  .guidelines-dialog-body,.guidelines-document .guidelines-content{padding:22px 20px}
  .guidelines-content h1{font-size:24px}
  .guidelines-content h2{font-size:19px}
  .guidelines-document{padding:15px}
  .guidelines-button{gap:6px;padding:7px 9px;font-size:12px}
  .profile-shell{padding:24px 15px 50px}
  .profile-heading{margin:24px 0 17px}
  .profile-heading h1{font-size:27px}
  .profile-card-header,.profile-card-body{padding:20px}
  .profile-fields{grid-template-columns:1fr;gap:16px}
  .qualification-row{grid-template-columns:minmax(0,1fr) 80px 33px;gap:8px}
  .doctor-layout{grid-template-columns:1fr;grid-template-rows:205px minmax(0,1fr);height:calc(100dvh - 63px);min-height:650px}
  .doctor-empty{grid-column:1;grid-row:2}
  .case-rail{border-right:0;border-bottom:1px solid var(--line)}
  .rail-heading{padding:12px 14px 7px}
  .rail-heading h1{font-size:17px;margin:3px 0 0}
  .rail-heading p,.search-box{display:none}
  .case-tabs{padding:0 14px;gap:15px}
  .case-tabs .case-tab{height:34px}
  .case-tab span{min-width:18px;height:18px;padding:0 4px;font-size:10px}
  .case-list{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px 10px}
  .case-card{min-width:190px;margin:0;padding:7px}
  .case-card-top{gap:6px}
  .case-avatar{width:28px;height:28px;border-radius:var(--radius-control);font-size:8px}
  .case-card-name{font-size:10px}
  .case-card-meta{font-size:10px}
  .case-card-bottom{margin:5px 0 0 34px}
  .patient-header{min-height:66px;padding:9px 12px}
  .patient-avatar{width:34px;height:34px;border-radius:var(--radius-control);font-size:10px}
  .patient-title-row h2{font-size:13px}
  .patient-meta{font-size:10.5px;flex-wrap:wrap}
  .mobile-assessment-button{min-height:31px;font-size:10px;padding:6px}
  .chat-context{min-height:31px;padding:0 13px;font-size:10px}
  .chat-scroll{padding:15px 13px}
  .message-bubble{font-size:11px}
  .chat-composer{padding:9px 11px}
  .composer-foot{font-size:9px}
  .composer-foot span:last-child{display:none}
  .assessment-panel{top:63px}
  .panel-scrim{inset:63px 0 0}
  .admin-layout{display:block;height:calc(100dvh - 63px);min-height:600px}
  .admin-sidebar{display:flex;flex-direction:row;gap:0;width:100%;height:54px;border-right:0;border-bottom:1px solid var(--line);padding:5px 7px}
  .admin-nav{display:flex;justify-content:space-around;width:100%}
  .admin-nav-item{width:45px;min-height:42px}
  .admin-content{height:calc(100% - 54px)}
  .admin-topbar{min-height:43px;padding:0 15px}
  .admin-page{padding:20px 14px 40px}
  .page-heading{align-items:flex-start;flex-direction:column}
  .page-heading h1{font-size:23px}
  .metrics-grid{gap:7px}
  .metric-card{min-height:105px;padding:12px}
  .metric-card strong{font-size:24px}
  .recent-list{grid-template-columns:1fr}
  .recent-item{border-right:0;border-bottom:1px solid var(--line)}
  .group-grid{grid-template-columns:1fr}
  .mini-search{width:130px}
  .case-list-controls{width:100%;justify-content:flex-start}
  .case-list-controls .mini-search{flex:1;min-width:150px}
  .case-action-bar{align-items:flex-start;padding:11px 14px}
  .case-summary-bar{gap:10px;flex-wrap:wrap;font-size:10px}
  .login-story{min-height:240px}
  .login-story-copy{margin-top:28px}
  .login-story-copy h1{font-size:41px}
  .login-story-copy p{margin-bottom:0}
  .login-card{padding:27px}
  .login-card h2{font-size:27px}
  .login-side{min-height:390px;padding:20px}
}

/* Responsive working type and controls. */
.timing-filters input:focus-visible,.timing-filters select:focus-visible,
.case-list-controls select:focus-visible,.attempt-filters select:focus-visible{border-color:var(--q-brand-600);box-shadow:var(--focus-ring)}
.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{box-shadow:var(--focus-ring)}
@media(max-width:900px){
  body{font-size:14px}
  .button{min-height:44px;font-size:14px;padding:10px 16px}
  .button-small{min-height:36px;font-size:13px;padding:7px 12px}
  .field input,.field textarea,.profile-field input,.profile-field select,.profile-field textarea,.modal-field input,.modal-field select,.modal-field textarea{font-size:16px}
  .field>span,.profile-field>span,.profile-qualifications legend,.modal-field span,.modal-check{font-size:13px}
  .page-heading p,.panel-heading p,.metric-card>span,.metric-card small,.data-table td,.login-card>p,.login-note,.profile-section-note{font-size:13px}
  .login-story-copy p{font-size:18px;line-height:26px}
  .decision-copy{font-size:13px}.decision-copy small{font-size:12px}
  .rating-row button{height:44px;font-size:14px}
}
@media(max-width:660px){
  .brand-mark{font-size:34px}.brand-name{font-size:20px}
  .header-right{gap:12px}.guidelines-button{min-height:36px;font-size:12px;padding:8px 12px}
  .login-story{padding:24px}.login-card{padding:24px}
  .login-card h2{font-size:28px;line-height:36px}.google-button{font-size:14px}
  .case-card{min-width:205px;border-radius:16px}.case-card-name{font-size:13px}
  .case-card-meta,.case-state,.case-time{font-size:11px}
  .case-avatar,.patient-avatar{border-radius:50%}
  .patient-title-row h2{font-size:16px}.patient-meta,.chat-context{font-size:12px}
  .message-bubble{font-size:14px}.composer-inner textarea{font-size:16px}
  .composer-foot{font-size:11px}.mobile-assessment-button{min-height:36px;font-size:11px;padding:6px 10px}
  .admin-page{padding:24px 16px 40px}.page-heading h1{font-size:28px;line-height:36px}
  .metric-card{padding:16px}.metric-card strong{font-size:32px}
  .modal-card{padding:24px}.modal-card h2{font-size:24px;line-height:32px}
  .modal-card p,.modal-info,.modal-error,.review-summary strong,.review-transcript div{font-size:13px}
  .modal-actions{flex-wrap:wrap}
  .profile-activity-stat strong{font-size:28px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
