:root{--color-bg:#f8fcfd;--color-surface:#ffffff;--color-soft:#edf7f9;--color-ink:#142329;--color-muted:#66747b;--color-hairline:#d9e7eb;--color-primary:#005562;--color-primary-dark:#0a5664;--color-secondary:#0f6f7f;--color-accent:#9fc3cd;--color-success:#0f6f7f;--color-warning:#703b00;--color-error:#b33b2e;--color-info:#155763;--color-rule:#c9dde3;--paper-wash:#f8fcfd;--paper-cell:rgba(15,111,127,0.04);--paper-cell-strong:rgba(15,111,127,0.08);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--shadow-soft:0 6px 16px rgba(15,111,127,0.06);--shadow-card:0 8px 22px rgba(42,102,115,0.07);--shadow-button:0 4px 20px rgba(42,102,115,0.14);--font-sans:"Figtree","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Figtree","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:"Figtree","Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--type-page-title:28px;--type-section-title:22px;--type-group-title:20px;--type-card-title:18px;--type-body:16px;--type-compact:14px;--type-caption:13px;--type-micro:12px;--line-tight:1.2;--line-title:1.25;--line-body:1.5}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(180deg,#f8fcfd,#eef7f9);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--type-body);line-height:var(--line-body)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}button:disabled{cursor:not-allowed;opacity:.56}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}input,select,textarea{width:100%;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(232,244,248,.36)),var(--color-surface);color:var(--color-ink);padding:10px 11px}textarea{min-height:78px;resize:vertical}label{display:grid;grid-gap:6px;gap:6px;color:var(--color-muted);font-size:13px}.eyebrow,label span{color:var(--color-muted);font-size:12px}h1,h2,p{margin:0}h1,h2{font-family:var(--font-display);letter-spacing:0}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);display:grid;grid-gap:18px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.86),rgba(228,242,248,.74)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 28px),var(--color-surface);padding:24px;box-shadow:var(--shadow-soft)}.brand-mark{display:flex;align-items:center;gap:12px}.brand-mark svg{color:var(--color-primary)}.brand-mark h1{font-size:28px;line-height:1.1}.brand-mark span,.brand-mark.compact span,.field-label span,.patient-row span{color:var(--color-muted);font-size:12px}.brand-mark.compact strong{display:block;font-size:18px}.ghost-button,.icon-button,.primary-button,.secondary-button{min-height:44px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;white-space:nowrap}.primary-button{background:var(--color-primary);color:#ffffff;padding:0 16px}.primary-button:hover{background:var(--color-primary-dark)}.secondary-button{background:var(--color-soft);color:var(--color-primary-dark);padding:0 14px}.ghost-button,.secondary-button{border-color:var(--color-hairline)}.ghost-button{background:rgba(248,252,255,.42);color:var(--color-secondary);padding:0 12px}.ghost-button.small{min-height:44px;padding:0 9px;font-size:12px}.icon-button{width:44px;padding:0;background:var(--color-surface);border-color:var(--color-hairline);color:var(--color-primary)}.icon-button.quiet{width:44px;min-height:44px;color:var(--color-muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr) 360px;grid-gap:16px;gap:16px;padding:24px 24px 96px}.insight-panel,.patient-rail,.record-workspace{min-width:0}.auth-panel,.dashboard-panel,.field-panel,.insight-panel,.new-patient-form,.patient-rail,.record-workspace,.voice-dock{border:1px solid var(--color-rule);background:linear-gradient(180deg,rgba(248,252,255,.8),rgba(228,242,248,.52)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 28px),var(--color-surface);border-radius:var(--radius-sm)}.patient-rail{display:grid;grid-template-rows:auto auto minmax(160px,1fr) auto;grid-gap:14px;gap:14px;padding:16px;max-height:calc(100vh - 120px);position:-webkit-sticky;position:sticky;top:24px}.rail-header{display:grid;grid-gap:12px;gap:12px}.missing-pill,.queue-pill,.status-chip{display:inline-flex;gap:5px;border-radius:var(--radius-sm);background:rgba(248,252,255,.64);padding:4px 8px;width:-moz-fit-content;width:fit-content}.missing-pill,.queue-pill,.search-box,.status-chip{align-items:center;border:1px solid var(--color-hairline)}.search-box{display:flex;gap:8px;border-radius:var(--radius-sm);padding:0 10px;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(232,244,248,.36)),var(--color-surface)}.search-box input{border:0;padding-left:0}.patient-list{overflow:auto;display:grid;align-content:start;grid-gap:8px;gap:8px;padding-right:2px}.patient-row{min-height:64px;width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;padding:8px;text-align:left;position:relative;overflow:hidden}.patient-row:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),var(--paper-cell-strong) calc(100% - 1px)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 22px);opacity:.42}.patient-row>*{position:relative;z-index:1}.patient-row.selected{border-color:var(--color-primary);background:#d8ebf3}.patient-row:hover{border-color:var(--color-primary);background:#edf7fb}.patient-avatar{width:36px;height:36px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);display:grid;place-items:center;background:#d6eaf2;color:var(--color-primary-dark);font-weight:700;font-family:var(--font-mono)}.patient-main{min-width:0;display:grid}.patient-main span,.patient-main strong,.patient-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-meta{display:inline-flex;align-items:center;gap:2px;max-width:86px}.dashboard-panel,.new-patient-form,.voice-dock{display:grid;grid-gap:12px;gap:12px;padding:14px}.section-heading{display:flex;align-items:center;gap:8px}.section-heading h2{font-size:18px;line-height:1.25}.section-heading.spread{justify-content:space-between;align-items:flex-start}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.voice-line{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-gap:8px;gap:8px;align-items:start}.record-workspace{display:grid;grid-gap:16px;gap:16px;align-content:start;padding:18px}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.workspace-header h1{font-size:28px;line-height:1.2}.patient-context{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.patient-context div{min-height:60px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.58),rgba(232,244,248,.42)),var(--color-soft);padding:10px;display:grid;grid-gap:4px;gap:4px}.patient-context span{color:var(--color-muted);font-size:12px}.metric-title span,.patient-context strong,.summary-card strong{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timepoint-selector{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--color-rule);padding-bottom:14px}.timepoint-menu-wrap{position:relative;width:min(260px,100%)}.timepoint-current-button{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--color-primary);background:var(--color-primary);color:#ffffff;padding:0 12px;font-size:18px;font-weight:700}.timepoint-current-button span{min-width:0;flex:1 1;text-align:left}.timepoint-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:18;width:min(360px,calc(100vw - 32px));max-height:340px;overflow:auto;display:grid;grid-gap:4px;gap:4px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.96),rgba(228,242,248,.94)),repeating-linear-gradient(0deg,rgba(49,95,109,.05) 0 1px,transparent 1px 24px);box-shadow:var(--shadow-soft);padding:6px}.timepoint-menu-option{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-hairline);background:rgba(248,252,255,.64);color:var(--color-ink);padding:0 10px;text-align:left}.timepoint-menu-option span{min-width:0;display:inline-flex;align-items:center;gap:6px}.timepoint-menu-option small{color:var(--color-muted);font-size:11px;white-space:nowrap}.timepoint-menu-option.active{border-color:var(--color-primary);background:var(--color-primary);color:#ffffff}.timepoint-menu-option.active small{color:rgba(255,255,255,.82)}.timepoint-menu-option.confirmed:not(.active){border-color:rgba(47,108,97,.38);color:var(--color-success)}.record-layout{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.questionnaire-layout{grid-template-columns:minmax(0,1fr)}.questionnaire-current-title{min-height:76px;display:flex;align-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(232,244,248,.82),rgba(214,233,241,.66)),var(--color-soft);padding:16px 20px;color:var(--color-ink)}.questionnaire-current-title span{font-weight:700;line-height:1.25}.field-panel{padding:14px;display:grid;grid-gap:12px;gap:12px}.questionnaire-page{gap:16px}.questionnaire-page-heading p{margin-top:4px;color:var(--color-muted);font-size:13px}.missing-pill.error{border-color:rgba(163,58,50,.3);background:rgba(163,58,50,.08);color:var(--color-error)}.questionnaire-table{display:grid;grid-gap:8px;gap:8px}.score-total-card{min-height:58px;display:grid;grid-template-columns:minmax(96px,auto) minmax(120px,auto) minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;border:1px solid rgba(15,111,127,.28);border-radius:var(--radius-sm);background:#eef5f6;color:var(--color-ink);padding:12px 14px}.score-total-card span{color:var(--color-muted);font-size:13px;font-weight:700}.score-total-card strong{color:#155763;font-family:var(--font-display);font-size:22px;line-height:1.15}.score-total-card small{color:var(--color-muted);font-size:13px;line-height:1.4}.score-total-card.has-error{border-color:rgba(163,58,50,.36);background:rgba(163,58,50,.08)}.score-total-input{display:flex;align-items:center;gap:8px}.score-total-input input{width:88px;padding:0 10px;border:1px solid rgba(15,111,127,.32);color:#155763;font-family:var(--font-display);font-size:22px;line-height:1.15;text-align:center}.score-total-input input::placeholder{color:rgba(21,87,99,.42);font-family:var(--font-display)}.score-total-card .score-total-max{white-space:nowrap}.field-table-head{min-height:38px;display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,1fr);align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--color-hairline);background:linear-gradient(180deg,rgba(216,235,243,.82),rgba(232,244,248,.82)),var(--color-soft);padding:8px 10px;font-size:12px;font-weight:600}.field-list{display:grid;grid-gap:8px;gap:8px}.field-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:64px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.5),rgba(232,244,248,.3)),repeating-linear-gradient(0deg,rgba(49,95,109,.05) 0 1px,transparent 1px 28px),var(--color-surface);padding:10px}.field-row.status-voice{border-color:rgba(111,135,146,.52);background:rgba(111,135,146,.1)}.field-row.status-confirmed{border-color:rgba(47,108,97,.34);background:rgba(47,108,97,.08)}.field-row.status-invalid{border-color:rgba(163,58,50,.36);background:rgba(163,58,50,.08)}.field-label{min-width:0;display:grid;grid-gap:2px;gap:2px}.field-label-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.field-label span,.field-label strong{overflow-wrap:anywhere}.score-standard-button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff;color:#155763;padding:0 10px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.score-standard-button:hover{border-color:#9fc3cd;background:#fbfeff}.field-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center}.field-row-single .field-control{grid-column:1/-1}.field-row-paired .field-control{align-items:end}.paired-input-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;grid-gap:8px;gap:8px}.paired-field-cell{min-width:0;display:grid;grid-gap:6px;gap:6px}.paired-field-cell span{color:var(--color-ink);font-size:13px;font-weight:800;line-height:1.2}.triple-input-control{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;grid-gap:8px;gap:8px}.skin-temperature-row .field-control{grid-template-columns:minmax(0,1fr) auto}.skin-temperature-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.skin-temperature-column{min-width:0;display:grid;grid-gap:8px;gap:8px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff;padding:10px}.skin-temperature-column strong{color:var(--color-ink);font-size:14px;font-weight:800;line-height:1.2;text-align:center}.skin-temperature-inputs{min-width:0;display:grid;grid-gap:6px;gap:6px}.skin-temperature-inputs input{min-width:0;padding-left:8px;padding-right:8px;text-align:center}.paired-separator{min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted);font-size:22px;font-weight:700;line-height:1}.choice-control{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.choice-control button{min-height:44px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff;color:var(--color-ink);font-weight:700}.choice-control button.active{border-color:var(--color-secondary);background:var(--color-secondary);color:#ffffff;box-shadow:var(--shadow-button)}.choice-control button:hover{border-color:#9fc3cd}.unit-label{min-height:44px;color:var(--color-muted);min-width:24px}.rating-chip,.unit-label{display:inline-flex;align-items:center;font-size:13px}.rating-chip{min-height:32px;min-width:44px;justify-content:center;border:1px solid rgba(15,111,127,.22);border-radius:var(--radius-sm);background:var(--color-soft);color:#155763;padding:0 9px;font-weight:800;white-space:nowrap}.field-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.questionnaire-actions{display:grid;grid-template-columns:auto auto minmax(220px,auto);justify-content:end;grid-gap:10px;gap:10px;padding-top:4px;border-top:1px solid var(--color-hairline)}@media (min-width:1181px){.questionnaire-actions{width:min(720px,100%);justify-self:end;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:16px}.questionnaire-actions .ghost-button,.questionnaire-actions .primary-button,.questionnaire-actions .voice-record-button{width:auto;min-height:56px;padding-inline:24px;font-size:18px;font-weight:800}.questionnaire-actions .voice-record-button.compact{min-height:56px;padding-inline:24px;font-size:18px}.questionnaire-actions svg{width:20px;height:20px}}.status-chip{font-size:12px}.status-empty .status-chip{color:var(--color-muted)}.missing-pill,.status-voice .status-chip{color:var(--color-warning)}.status-invalid .status-chip{color:var(--color-error)}.status-confirmed .status-chip,.status-ready .status-chip{color:var(--color-success)}.insight-panel{display:grid;align-content:start;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 120px);overflow:auto}.candidate-list,.metric-grid{display:grid;grid-gap:10px;gap:10px}.summary-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.summary-card{min-height:76px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.56),rgba(232,244,248,.44)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 24px),var(--color-soft);padding:10px;display:grid;grid-gap:3px;gap:3px}.metric-title small,.summary-card em,.summary-card span{color:var(--color-muted);font-size:12px;font-style:normal;overflow-wrap:anywhere}.summary-card strong{color:var(--color-primary);font-size:20px;line-height:1.15}.metric-title span small,.summary-card strong small{margin-left:2px;color:var(--color-muted);font-family:var(--font-sans);font-size:12px}.summary-card.good strong{color:var(--color-success)}.summary-card.warning strong{color:var(--color-warning)}.timepoint-status-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.timepoint-status{min-height:44px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);padding:0 10px;color:var(--color-muted);background:rgba(248,252,255,.72)}.timepoint-status b{font-size:11px;font-weight:600}.timepoint-status.confirmed{border-color:rgba(47,108,97,.34);background:rgba(47,108,97,.08);color:var(--color-success)}.timepoint-status.draft{border-color:rgba(148,107,58,.34);background:rgba(148,107,58,.1);color:var(--color-warning)}.candidate-row{min-height:54px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.56),rgba(232,244,248,.36)),var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px}.candidate-row div{min-width:0;display:grid;grid-gap:2px;gap:2px}.candidate-row span{color:var(--color-muted);font-size:12px;overflow-wrap:anywhere}.marker,.status-banner{min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--color-hairline);padding:9px 10px;color:var(--color-muted)}.status-banner.info{border-color:rgba(49,95,141,.3);background:rgba(49,95,141,.08);color:var(--color-info)}.status-banner.success{border-color:rgba(47,108,97,.3);background:rgba(47,108,97,.08);color:var(--color-success)}.marker,.status-banner.warning{border-color:rgba(148,107,58,.3);background:rgba(148,107,58,.1);color:var(--color-warning)}.status-banner.error{border-color:rgba(163,58,50,.3);background:rgba(163,58,50,.08);color:var(--color-error)}.metric-tile{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.54),rgba(232,244,248,.34)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 28px),var(--color-surface);padding:10px;display:grid;grid-gap:8px;gap:8px}.metric-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-title div{min-width:0;display:grid;grid-gap:2px;gap:2px}.metric-title span{color:var(--color-primary)}.trend-chart{height:168px;width:100%}.chart-empty,.empty-state,.empty-workspace{min-height:76px;display:grid;place-items:center;color:var(--color-muted);border:1px dashed var(--color-hairline);border-radius:var(--radius-sm);background:rgba(248,252,255,.42);padding:12px;text-align:center}.empty-state.compact{min-height:44px}.raw-table{display:grid;grid-gap:8px;gap:8px}.table-title{display:flex;align-items:center;gap:6px;color:var(--color-muted);font-size:13px}.table-scroll{overflow:auto;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface)}table{width:100%;border-collapse:collapse;font-size:12px}td,th{border-bottom:1px solid var(--color-hairline);border-right:1px solid rgba(82,111,123,.34);padding:8px;text-align:left;vertical-align:top}td:last-child,th:last-child{border-right:0}th{background:linear-gradient(180deg,rgba(216,235,243,.88),rgba(232,244,248,.88)),var(--color-soft);font-weight:600}td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mobile-nav{display:none}.loading-cover{position:fixed;inset:0;display:grid;place-items:center;background:rgba(223,238,245,.64);color:var(--color-primary);z-index:30}.skeleton-panel{gap:14px}.skeleton-line{height:18px;width:72%;background:var(--color-soft);border-radius:var(--radius-sm)}.skeleton-line.wide{width:100%;height:32px}.skeleton-line.short{width:46%}@media (max-width:1180px){.app-shell{grid-template-columns:260px minmax(0,1fr);gap:12px;padding-left:18px;padding-right:18px}.patient-rail{max-height:calc(100vh - 116px);overflow:auto;padding-bottom:88px}.insight-panel,.record-workspace{grid-column:2;width:100%;max-width:100%;min-width:0}.field-control,.field-list,.field-panel,.field-row,.record-workspace{min-width:0}.field-row,.field-table-head{grid-template-columns:minmax(150px,1.1fr) minmax(180px,1fr);gap:10px}.field-actions{flex-wrap:wrap}.insight-panel{position:static;max-height:none}}@media (max-width:900px){.app-shell{display:block;--mobile-nav-height:50px;--mobile-fixed-gap:18px;padding:12px 12px calc(var(--mobile-nav-height) + 28px + env(safe-area-inset-bottom))}.insight-panel,.patient-rail,.record-workspace{display:none;position:static;max-height:none}.insight-panel.mobile-active,.patient-rail.mobile-active,.record-workspace.mobile-active{display:grid}.insight-panel,.patient-rail,.record-workspace{margin-bottom:12px}.patient-rail{overflow:visible;padding-bottom:16px}.candidate-row,.workspace-header{align-items:stretch;flex-direction:column}.patient-context{grid-template-columns:1fr 1fr}.record-layout{grid-template-columns:1fr}.questionnaire-page{padding:12px}.questionnaire-current-title{min-height:58px;padding:12px 14px}.questionnaire-current-title span{font-size:20px}.field-table-head{display:none}.field-row,.score-total-card,.triple-input-control{grid-template-columns:1fr}.score-total-card{gap:4px}.field-actions{justify-content:flex-start;flex-wrap:wrap}.questionnaire-actions{grid-template-columns:1fr;justify-content:stretch}.questionnaire-actions .ghost-button,.questionnaire-actions .primary-button,.questionnaire-actions .voice-record-button{width:100%}.mobile-nav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:var(--mobile-nav-height);z-index:24;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.96),rgba(228,242,248,.94)),repeating-linear-gradient(0deg,rgba(49,95,109,.05) 0 1px,transparent 1px 24px);box-shadow:var(--shadow-soft);overflow:hidden}.mobile-nav button{min-height:48px;border:0;background:transparent;color:var(--color-muted);display:inline-flex;align-items:center;justify-content:center;gap:6px}.mobile-nav button.active{color:var(--color-primary);background:var(--color-soft)}}@media (max-width:520px){.auth-screen{padding:16px}.auth-panel,.insight-panel,.patient-rail,.record-workspace{border-radius:var(--radius-md)}.workspace-header h1{font-size:22px}.form-grid.two,.patient-context{grid-template-columns:1fr}}.directory-shell,.new-patient-shell,.workspace-shell{min-height:100vh;padding:24px}.directory-shell,.new-patient-shell{display:grid;justify-items:center;align-content:start}.directory-panel,.new-patient-panel{width:min(980px,100%);display:grid;grid-gap:16px;gap:16px}.new-patient-panel{width:min(760px,100%)}.directory-header,.page-header,.workspace-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--color-hairline)}.page-header{justify-content:flex-start;align-items:center}.directory-create-button{width:100%;min-height:58px;font-size:16px}.directory-upload-button{width:100%;min-height:52px;font-size:15px;font-weight:700}.directory-patient-list .patient-row{min-height:74px;grid-template-columns:44px minmax(0,1fr) auto;padding:12px;border-color:#6f8792;background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(232,244,248,.48)),#e4f2f8;box-shadow:inset 0 0 0 1px rgba(248,252,255,.72)}.directory-patient-list .patient-row.audio-import-card{border-style:dashed;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(232,244,248,.58)),repeating-linear-gradient(0deg,rgba(15,111,127,.06) 0 1px,transparent 1px 26px),#edf7f9}.directory-patient-list .patient-row.audio-import-card:disabled{cursor:default;opacity:1}.directory-card-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.directory-card-badge{width:-moz-fit-content;width:fit-content;border:1px solid rgba(15,111,127,.26);border-radius:var(--radius-sm);background:rgba(15,111,127,.08);color:var(--color-secondary);padding:2px 6px;font-size:11px;font-weight:700;line-height:1.2}.directory-patient-list .patient-avatar{width:44px;height:44px}.directory-patient-list .patient-main strong{color:var(--color-primary-dark)}.directory-patient-list .patient-meta{min-height:32px;border-left:1px solid rgba(49,95,109,.28);padding-left:10px;color:var(--color-primary-dark);font-family:var(--font-mono)}.patient-editor-form,.structured-form-panel{display:grid;grid-gap:14px;gap:14px}.structured-form-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.72),rgba(228,242,248,.5)),repeating-linear-gradient(0deg,var(--paper-cell) 0 1px,transparent 1px 28px),var(--color-surface);padding:16px}.voice-record-button{min-height:56px;border:1px solid rgba(49,95,109,.32);border-radius:var(--radius-sm);background:var(--color-primary);color:#ffffff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;font-weight:700}.voice-record-button:hover{background:var(--color-primary-dark)}.voice-record-button.recording{border-color:rgba(163,58,50,.32);background:rgba(163,58,50,.1)}.voice-record-button.compact{min-height:44px;padding:0 14px;width:auto;font-size:14px}.voice-record-button:disabled{opacity:.72;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.voice-recording-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-soft);padding:10px 12px;color:var(--color-ink)}.voice-recording-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--color-muted)}.voice-recording-dot.pulsing{background:var(--color-error);animation:recording-pulse 1.4s ease-in-out infinite}@keyframes recording-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.voice-recording-dot.pulsing{animation:none}}.voice-recording-status{color:var(--color-primary);font-size:var(--type-caption);font-weight:700;white-space:nowrap}.voice-recording-timer{color:var(--color-ink);font-size:var(--type-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.voice-availability-note,.voice-recording-hint{color:var(--color-muted);font-size:var(--type-caption)}.voice-heard-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:10px;gap:10px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-soft);padding:10px 12px}.voice-heard-label{border-right:1px solid var(--color-hairline);padding-right:10px;color:var(--color-primary);font-size:var(--type-caption);font-weight:700;white-space:nowrap}.voice-heard-text{min-width:0;color:var(--color-ink);line-height:var(--line-body);overflow-wrap:anywhere}.voice-heard-dismiss{padding:2px 6px;min-height:auto}.voice-availability-note{margin:0}.workspace-shell{display:grid;align-content:start;grid-gap:16px;gap:16px;padding-bottom:108px}.workspace-title-block{min-width:0;display:flex;flex:1 1;align-items:flex-start;gap:14px}.patient-heading-block{min-width:0;flex:1 1}.patient-name-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.patient-name-row h1{min-width:0;overflow-wrap:anywhere}.page-header h1,.workspace-title-block h1{font-size:30px;line-height:1.15}.patient-meta-block{margin-top:4px;display:grid;grid-gap:2px;gap:2px;max-width:920px}.patient-meta-line{color:var(--color-muted);overflow-wrap:anywhere}.surgery-date-line{font-size:13px}.workspace-switch-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.82),rgba(232,244,248,.7)),repeating-linear-gradient(0deg,rgba(49,95,109,.06) 0 1px,transparent 1px 22px);color:var(--color-primary-dark);padding:0 14px;font-weight:700}.workspace-switch-button:hover{background:var(--color-primary);color:#ffffff;border-color:var(--color-primary)}.workspace-shell .dashboard-panel,.workspace-shell .record-result-panel,.workspace-shell .record-workspace{grid-column:auto}.workspace-shell .record-workspace{padding:0}.section-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workspace-dashboard{width:100%;align-content:start;padding:16px}.record-result-panel{width:100%;max-width:760px;margin:0 auto;align-content:start;display:grid;grid-gap:14px;gap:14px;background:transparent;padding:0}.record-result-card{border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-soft)}.record-result-timepoint{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:30px;font-weight:900;letter-spacing:0;line-height:1.2}.record-result-card{display:grid;grid-gap:12px;gap:12px;padding:16px}.record-result-card-title{display:flex;align-items:center;gap:8px;color:var(--color-secondary)}.record-result-card-title h3{color:var(--color-ink);font-family:var(--font-display);font-size:22px;font-weight:900;line-height:1.25}.record-result-group,.record-result-group-list{display:grid;grid-gap:12px;gap:12px}.record-result-group{border-radius:var(--radius-lg);background:var(--color-soft);padding:12px}.record-result-group-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.record-result-group-heading h4{margin:0;color:var(--color-ink);font-size:24px;font-weight:800;line-height:1.3}.section-audio-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(15,111,127,.26);border-radius:var(--radius-sm);background:#ffffff;color:var(--color-secondary);padding:0 10px;font-size:13px;font-weight:800}.section-audio-button:hover{border-color:rgba(15,111,127,.44);background:rgba(15,111,127,.08)}.section-audio-button.compact{min-height:30px;padding:0 9px;font-size:12px}.unrecognized-list{display:grid;grid-gap:6px;gap:6px;border:1px solid rgba(148,107,58,.28);border-radius:var(--radius-sm);background:rgba(148,107,58,.08);color:var(--color-warning);padding:8px 10px}.unrecognized-list p{margin:0;font-size:13px;line-height:1.45}.record-result-subgroup{display:grid;grid-gap:8px;gap:8px}.record-result-subgroup-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.record-result-subgroup h5{width:-moz-fit-content;width:fit-content;margin:0;border-radius:var(--radius-sm);background:#ffffff;color:var(--color-secondary);padding:4px 10px;font-size:16px;font-weight:900;line-height:1.35}.record-result-item-list{display:grid;grid-gap:0;gap:0}.record-result-edit-row{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) 18px;grid-gap:12px;gap:12px;align-items:center;border:0;border-top:1px solid rgba(201,221,227,.8);background:transparent;color:inherit;padding:12px 0;font:inherit;text-align:left;cursor:pointer}.record-result-edit-row:first-child{border-top:0}.record-result-edit-row:focus-visible,.record-result-edit-row:hover{border-radius:var(--radius-sm);background:rgba(255,255,255,.72);outline:none}.record-result-edit-row:focus-visible{box-shadow:0 0 0 3px rgba(21,116,132,.22)}.record-result-edit-row svg{color:var(--color-secondary);justify-self:end}.record-result-edit-label{min-width:0;color:var(--color-muted);font-size:16px;font-weight:700;line-height:1.45;white-space:pre-line}.record-result-edit-value{min-width:0;color:var(--color-ink);font-size:17px;line-height:1.5;text-align:right;overflow-wrap:anywhere}.record-result-cell-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.record-result-cell{min-width:0;display:grid;grid-gap:4px;gap:4px;border-radius:var(--radius-sm);background:rgba(255,255,255,.72);padding:8px;text-align:center}.record-result-cell span{color:var(--color-muted);font-size:14px;font-weight:800;line-height:1.25}.record-result-cell strong{color:var(--color-ink);font-size:16px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}.record-rom-cell-stack{min-width:0;display:grid;grid-gap:8px;gap:8px;width:100%}.record-rom-cell{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:var(--radius-sm);background:rgba(255,255,255,.72);padding:9px 12px}.record-rom-cell span{color:var(--color-muted);font-size:14px;font-weight:900;line-height:1.25}.record-rom-cell strong{color:var(--color-ink);font-size:16px;font-weight:900;line-height:1.25;white-space:nowrap}.record-cell-matrix{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;width:100%}.record-cell-matrix-column{min-width:0;display:grid;grid-gap:5px;gap:5px;align-content:start;border-radius:var(--radius-sm);background:rgba(255,255,255,.74);padding:7px;text-align:center}.record-cell-matrix-label{color:var(--color-muted);font-size:13px;font-weight:900;line-height:1.2}.record-cell-matrix-values{display:grid;grid-gap:3px;gap:3px}.record-cell-matrix-values strong{display:block;color:var(--color-ink);font-size:15px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.result-empty-card{background:var(--color-soft);color:var(--color-muted);padding:14px;font-size:15px;font-weight:700}.result-empty-card,.review-progress-bar{border:1px solid var(--color-hairline);border-radius:var(--radius-lg)}.review-progress-bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:grid;grid-gap:10px;gap:10px;background:#ffffff;box-shadow:var(--shadow-soft);padding:12px 14px}.review-progress-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.review-progress-counts{display:flex;align-items:baseline;gap:6px}.review-progress-counts strong{color:var(--color-ink);font-family:var(--font-display);font-size:22px;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.review-progress-counts span{color:var(--color-muted);font-size:13px;font-weight:700}.review-progress-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.review-chip{min-height:26px;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-chip.pending{border-color:rgba(112,59,0,.3);background:rgba(112,59,0,.09);color:var(--color-warning)}.review-chip.missing{border-color:var(--color-hairline);background:var(--color-soft);color:var(--color-muted)}.review-chip.done{border-color:rgba(47,108,97,.32);background:rgba(47,108,97,.1);color:var(--color-success)}.review-progress-track{height:6px;overflow:hidden;border-radius:999px;background:var(--color-soft)}.review-progress-fill{height:100%;border-radius:999px;background:var(--color-primary);transition:width .24s cubic-bezier(.2,.8,.2,1)}.review-progress-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.review-progress-actions .primary-button{margin-left:auto}.record-result-panel .field-row.status-voice{border-left:4px solid var(--color-warning)}.record-result-panel .record-result-subgroup .field-list{gap:8px}.record-result-panel .record-result-subgroup-heading{justify-content:flex-start}.workspace-dashboard .summary-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-timeline-dashboard{display:grid;grid-gap:14px;gap:14px}.dashboard-timeline-card{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-soft);padding:14px}.dashboard-timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-timeline-heading h2{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:24px;font-weight:900;line-height:1.25}.comparison-scroll{--comparison-content-width:108px;--comparison-item-width:96px;--comparison-timepoint-width:116px;--comparison-table-min-width:295px}.comparison-scroll table{width:100%;min-width:var(--comparison-table-min-width);table-layout:fixed;border-collapse:separate;border-spacing:0}.comparison-content-col{width:var(--comparison-content-width)}.comparison-item-col{width:var(--comparison-item-width)}.comparison-timepoint-col{width:auto}.comparison-scroll td,.comparison-scroll th{box-sizing:border-box;border-right:1px solid rgba(82,111,123,.34);border-bottom:1px solid var(--color-hairline)}.comparison-scroll tbody tr:last-child td{border-bottom:0}.comparison-content-cell,.comparison-content-head,.comparison-item-cell,.comparison-item-head{position:-webkit-sticky;position:sticky;z-index:1;background:var(--color-surface)}.comparison-content-cell,.comparison-content-head{left:0;min-width:var(--comparison-content-width);width:var(--comparison-content-width);max-width:var(--comparison-content-width)}.comparison-item-cell,.comparison-item-head{left:var(--comparison-content-width);min-width:var(--comparison-item-width);width:var(--comparison-item-width);max-width:var(--comparison-item-width);box-shadow:1px 0 0 rgba(82,111,123,.18)}.comparison-content-head,.comparison-item-head{z-index:4;background:var(--color-soft)}.comparison-content-cell,.comparison-item-cell{z-index:3;vertical-align:middle}.comparison-content-cell span{display:inline-flex;max-width:100%;border-radius:var(--radius-sm);background:var(--color-soft);color:var(--color-secondary);padding:3px 8px;font-size:13px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.comparison-item-cell em{display:block;color:var(--color-muted);font-size:13px;font-style:normal;font-weight:700;line-height:1.3;white-space:pre-line}.comparison-value-cell{color:var(--color-ink);font-weight:800;white-space:nowrap}.comparison-matrix-value-cell{white-space:normal}.comparison-cell-matrix{max-width:300px;margin:0}.comparison-cell-matrix .record-cell-matrix-column{background:rgba(232,246,248,.62);padding:6px}.comparison-cell-matrix .record-cell-matrix-label{font-size:12px}.comparison-cell-matrix .record-cell-matrix-values strong{font-size:14px}.comparison-rom-stack-cell{white-space:normal}.comparison-rom-stack{gap:6px}.comparison-rom-stack .record-rom-cell{background:rgba(232,246,248,.62);padding:6px 8px}.comparison-rom-stack .record-rom-cell span{font-size:12px}.comparison-rom-stack .record-rom-cell strong{font-size:14px}@media (max-width:1180px){.workspace-shell .dashboard-panel,.workspace-shell .record-result-panel,.workspace-shell .record-workspace{grid-column:auto}.workspace-dashboard .metric-grid{grid-template-columns:1fr}}@media (max-width:900px){.directory-shell,.new-patient-shell{padding:14px}.workspace-shell{padding:14px 14px calc(18px + env(safe-area-inset-bottom))}.directory-header,.page-header,.workspace-title-block,.workspace-topbar{flex-direction:column;align-items:stretch}.workspace-shell .dashboard-panel,.workspace-shell .record-result-panel,.workspace-shell .record-workspace{display:grid;width:100%;max-width:100%;min-width:0;margin-bottom:12px}.review-progress-actions{display:grid;grid-template-columns:1fr 1fr}.review-progress-actions .primary-button{grid-column:1/-1;margin-left:0;width:100%}.workspace-dashboard{padding:14px}.section-heading-actions{justify-content:flex-start}.workspace-dashboard .summary-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.directory-patient-list .patient-row{grid-template-columns:38px minmax(0,1fr)}.directory-patient-list .patient-meta{grid-column:2;max-width:none}.page-header h1,.workspace-title-block h1{font-size:24px}.workspace-dashboard .summary-card-grid{grid-template-columns:1fr}.voice-record-button{width:100%}}.auth-panel,.candidate-row,.dashboard-panel,.directory-patient-list .patient-row,.empty-state,.empty-workspace,.field-panel,.insight-panel,.metric-tile,.new-patient-form,.patient-rail,.raw-table,.record-workspace,.structured-form-panel,.summary-card,.table-scroll,.voice-dock{border-color:var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.workspace-shell .record-workspace{border:0;background:transparent;box-shadow:none}.auth-panel,.field-panel,.structured-form-panel,.workspace-dashboard{padding:20px}.auth-panel{width:min(430px,100%);gap:18px;border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-card)}.brand-mark svg{color:#155763}.brand-mark h1,.brand-mark.compact strong{color:var(--color-primary);font-family:var(--font-display);font-weight:800}.directory-header,.page-header,.workspace-topbar{border-bottom-color:var(--color-hairline)}.missing-pill,.patient-context div,.queue-pill,.status-chip,.timepoint-status{border-color:var(--color-hairline);border-radius:999px;background:#eef4ff;color:#155763}.field-row.status-invalid,.missing-pill.error,.status-banner.error{border-color:rgba(179,59,46,.42);background:#ffebee;color:var(--color-error)}.primary-button,.voice-record-button{border-color:var(--color-secondary);border-radius:var(--radius-sm);background:var(--color-secondary);color:#ffffff;font-weight:700;box-shadow:var(--shadow-button)}.primary-button:hover,.voice-record-button:hover{border-color:var(--color-primary-dark);background:var(--color-primary-dark)}.ghost-button,.icon-button,.secondary-button,.workspace-switch-button{border-color:var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff;color:var(--color-ink);box-shadow:0 5px 14px rgba(15,111,127,.08),0 1px 2px rgba(20,35,41,.04)}.ghost-button:hover,.icon-button:hover,.secondary-button:hover,.workspace-switch-button:hover{border-color:#9fc3cd;background:#fbfeff;color:#155763}.voice-record-button.compact{background:#ffffff;color:var(--color-ink);border-color:var(--color-hairline);box-shadow:0 5px 14px rgba(15,111,127,.08),0 1px 2px rgba(20,35,41,.04)}.voice-record-button.compact:hover{background:var(--color-soft);color:#155763}.voice-record-button.recording{border-color:rgba(179,59,46,.5);background:#ffebee;color:var(--color-error);box-shadow:0 6px 16px rgba(179,59,46,.12)}.search-box,input,select,textarea{border-color:var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff}input,select,textarea{min-height:44px;box-shadow:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary);outline:3px solid #c7edf3;outline-offset:1px}.directory-create-button{min-height:56px;font-size:18px}.directory-patient-list .patient-row,.patient-row{border-color:var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-card);transition:transform .16s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.patient-row:before{background:linear-gradient(180deg,var(--color-secondary) 0,var(--color-secondary) 4px,transparent 4px);opacity:.18}.patient-row:hover{border-color:#9fc3cd;background:#fbfeff;transform:translateY(-1px)}.patient-row.selected{border-color:var(--color-secondary);background:#eef5f6}.patient-avatar{border:0;border-radius:14px;background:#eef4ff;color:#155763;font-family:var(--font-display);font-weight:800}.directory-patient-list .patient-main strong,.page-header h1,.patient-main strong,.section-heading h2,.summary-card strong,.workspace-header h1,.workspace-title-block h1{color:var(--color-ink)}.timepoint-selector{border-bottom-color:var(--color-hairline)}.timepoint-current-button{min-height:52px;border-color:var(--color-secondary);border-radius:var(--radius-sm);background:var(--color-secondary);box-shadow:var(--shadow-button)}.timepoint-menu{border-color:var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:0 12px 30px rgba(42,102,115,.12)}.timepoint-menu-option{border-color:var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff}.timepoint-menu-option:hover{border-color:#9fc3cd;background:#fbfeff}.timepoint-menu-option.active{border-color:var(--color-secondary);background:var(--color-secondary)}.questionnaire-current-title{min-height:72px;border-color:var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.questionnaire-current-title:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--color-secondary)}.questionnaire-current-title span{position:relative;color:var(--color-ink);font-family:var(--font-display);font-size:24px;font-weight:800}.questionnaire-page-heading{border-bottom:1px solid var(--color-hairline);padding-bottom:12px;gap:12px}.scale-guide-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:#ffffff;color:#155763;padding:0 12px;font-weight:700;white-space:nowrap;box-shadow:0 5px 14px rgba(15,111,127,.08),0 1px 2px rgba(20,35,41,.04)}.scale-guide-button:hover{border-color:#9fc3cd;background:#fbfeff}.scale-guide-label,.scale-guide-label:hover{border-color:var(--color-hairline);background:#ffffff;cursor:default}.scale-guide-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:rgba(15,44,52,.28);padding:18px}.scale-guide-dialog{width:min(620px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;display:grid;grid-gap:14px;gap:14px;border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:0 18px 46px rgba(15,44,52,.18);padding:18px}.scale-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-hairline);padding-bottom:12px}.scale-guide-header h2{color:var(--color-ink);font-family:var(--font-display);font-size:22px;line-height:1.2}.scale-guide-range{min-height:40px;display:flex;align-items:center;background:var(--color-soft);color:#155763;padding:0 12px;font-weight:700}.scale-guide-range,.scale-guide-table{border:1px solid var(--color-hairline);border-radius:var(--radius-sm)}.scale-guide-table{display:grid;overflow:hidden}.scale-guide-row{min-height:66px;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:stretch;border-bottom:1px solid var(--color-hairline);background:#ffffff}.scale-guide-row:last-child{border-bottom:0}.scale-guide-row span{padding:0 12px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--color-hairline);color:var(--color-muted);font-family:var(--font-mono);font-weight:700}.scale-guide-row div{min-width:0;display:grid;align-content:center;grid-gap:4px;gap:4px;padding:10px 12px}.scale-guide-row strong{color:var(--color-ink);font-size:15px}.scale-guide-row p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.field-table-head{border-color:var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-soft);color:var(--color-muted)}.field-row{border-color:var(--color-hairline);border-radius:var(--radius-lg);background:#ffffff;box-shadow:0 2px 8px rgba(15,111,127,.04)}.field-row:hover{border-color:#bcdde6}.field-row.status-confirmed,.field-row.status-ready{border-color:rgba(15,111,127,.36);background:#eef5f6}.field-row.status-voice{border-color:#bcdde6;background:#eef4ff}.field-label strong{color:var(--color-ink);font-size:15px;font-weight:700}.questionnaire-actions{border-top-color:var(--color-hairline);padding-top:14px}.candidate-row,.metric-tile,.raw-table,.summary-card{background:#ffffff;box-shadow:var(--shadow-soft)}.summary-card{border-radius:var(--radius-lg);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:rgba(15,111,127,.18)}.metric-title span,.status-confirmed .status-chip,.status-ready .status-chip,.summary-card strong,.timepoint-status.confirmed{color:var(--color-secondary)}.marker,.missing-pill,.status-banner.warning,.status-voice .status-chip,.summary-card.warning strong,.timepoint-status.draft{color:var(--color-warning)}.summary-card.danger strong{color:var(--color-error)}.marker,.status-banner{border-radius:var(--radius-sm)}.status-banner.info{border-color:#bcdde6;background:#eef4ff;color:#155763}.status-banner.success{border-color:rgba(15,111,127,.34);background:#e1f4f6;color:var(--color-primary-dark)}.marker,.status-banner.warning{border-color:#f3d28a;background:#fff4d6}.table-scroll{border-color:var(--color-hairline);background:#ffffff}td,th{border-bottom-color:var(--color-hairline);border-right-color:rgba(217,231,235,.82)}th{background:var(--color-soft);color:var(--color-muted)}.loading-cover{background:rgba(248,252,253,.74);color:var(--color-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.back-button{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;border-radius:999px;padding:0;background:#ffffff;color:var(--color-ink);border-color:var(--color-hairline);box-shadow:0 5px 14px rgba(15,111,127,.08),0 1px 2px rgba(20,35,41,.04)}.page-header .back-button,.workspace-title-block .back-button{align-self:flex-start}.back-button:hover{border-color:#9fc3cd;background:#fbfeff;color:#155763}@media (max-width:900px){.auth-panel,.field-panel,.structured-form-panel,.workspace-dashboard{padding:16px}.questionnaire-current-title{min-height:60px;padding:12px 16px 12px 18px}.questionnaire-current-title span{font-size:21px}.field-row{min-height:58px}.page-header,.workspace-title-block{flex-direction:row;align-items:flex-start}.workspace-title-block{gap:12px}}.directory-patient-list{gap:12px;overflow:visible;padding-right:0}.directory-patient-list .patient-row{min-height:102px;grid-template-columns:6px 42px minmax(0,1fr) auto;gap:12px;align-items:stretch;overflow:hidden;padding:0;border:1px solid var(--color-hairline);border-radius:12px;background:#ffffff;box-shadow:0 5px 16px rgba(15,111,127,.05);transform:none}.directory-patient-list .patient-row:before{position:static;width:6px;height:auto;align-self:stretch;background:var(--color-secondary);opacity:1}.directory-patient-list .patient-row>*{align-self:center}.directory-patient-list .patient-row:hover{border-color:var(--color-accent);background:#fbfeff;box-shadow:0 8px 20px rgba(15,111,127,.08);transform:none}.directory-patient-list .patient-row.selected{border-color:var(--color-secondary);background:#ffffff;box-shadow:0 8px 20px rgba(15,111,127,.08),inset 0 0 0 1px rgba(15,111,127,.12)}.directory-patient-list .patient-avatar{width:42px;height:42px;border:0;border-radius:999px;background:var(--color-secondary);color:#ffffff;font-family:var(--font-display);font-size:18px;font-weight:800}.directory-patient-list .patient-main{min-width:0;gap:3px;padding:13px 0}.directory-patient-list .patient-main strong{color:var(--color-ink);font-size:18px;font-weight:800;line-height:1.25}.directory-patient-list .patient-main span{color:var(--color-muted);font-size:14px;font-weight:500;line-height:1.35}.directory-patient-list .patient-main .patient-card-date-line{color:#6f7f86}.directory-patient-list .patient-meta{min-height:auto;max-width:128px;justify-self:end;align-self:start;margin:13px 14px 0 0;padding:5px 8px;border:0;border-radius:6px;background:#eef5f6;color:var(--color-secondary);font-family:var(--font-sans);font-size:13px;font-weight:700;line-height:1.3}.directory-patient-list .patient-meta svg{width:14px;height:14px;flex:0 0 14px}@media (max-width:520px){.directory-patient-list .patient-row{grid-template-columns:5px 40px minmax(0,1fr);gap:10px;min-height:108px}.directory-patient-list .patient-row:before{width:5px}.directory-patient-list .patient-main{padding:12px 0 8px}.directory-patient-list .patient-meta{grid-column:3;justify-self:start;align-self:start;max-width:100%;margin:0 12px 12px 0}}body,button,input,select,table,textarea{font-family:var(--font-sans);font-size:var(--type-body);line-height:var(--line-body);letter-spacing:0}.brand-mark h1,.brand-mark.compact strong,.dashboard-timeline-heading h2,.page-header h1,.questionnaire-current-title span,.record-result-card-title h3,.record-result-group-heading h4,.record-result-subgroup h5,.record-result-timepoint,.scale-guide-header h2,.workspace-header h1,.workspace-title-block h1,h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:0}.brand-mark h1,.page-header h1,.record-result-timepoint,.workspace-header h1,.workspace-title-block h1{font-size:var(--type-page-title);font-weight:800;line-height:var(--line-tight)}.dashboard-timeline-heading h2,.questionnaire-current-title span,.section-heading h2{font-size:var(--type-section-title);font-weight:800;line-height:var(--line-title)}.record-result-card-title h3,.record-result-group-heading h4,.scale-guide-header h2{font-size:var(--type-group-title);font-weight:800;line-height:var(--line-title)}.brand-mark.compact strong,.metric-title span,.record-result-subgroup h5,.score-total-card strong,.summary-card strong{font-size:var(--type-card-title);font-weight:800;line-height:var(--line-title)}.choice-control button,.directory-create-button,.ghost-button,.icon-button,.primary-button,.scale-guide-button,.score-standard-button,.secondary-button,.timepoint-current-button,.timepoint-menu-option,.voice-record-button,.workspace-switch-button{font-size:var(--type-body);font-weight:700;line-height:var(--line-title)}.candidate-row strong,.comparison-value-cell,.field-label strong,.record-result-edit-value,input,select,td,textarea{font-size:var(--type-body)}.directory-patient-list .patient-main strong,.paired-field-cell span,.patient-main strong,.rating-chip,.skin-temperature-column strong{font-size:var(--type-card-title);line-height:var(--line-title)}.brand-mark span,.brand-mark.compact span,.candidate-row span,.comparison-content-cell span,.comparison-item-cell em,.field-label span,.patient-meta-line,.patient-row span,.questionnaire-page-heading p,.record-result-cell span,.record-result-edit-label,.scale-guide-row p,.score-total-card small,.score-total-card span,.table-title,th{font-size:var(--type-compact);line-height:1.45}.directory-patient-list .patient-main span,.directory-patient-list .patient-meta,.metric-title small,.missing-pill,.patient-context span,.queue-pill,.scale-guide-row strong,.status-chip,.summary-card em,.summary-card span,.surgery-date-line,.timepoint-status,.unit-label{font-size:var(--type-caption);line-height:1.4}.metric-title span small,.summary-card strong small,.timepoint-menu-option small,.timepoint-status b{font-size:var(--type-micro);line-height:1.3}.directory-patient-list .patient-avatar,.metric-title span,.patient-avatar,.patient-context strong,.scale-guide-row span,.summary-card strong{font-family:var(--font-display)}.record-result-edit-value{font-weight:800}.record-result-cell strong{font-size:var(--type-body);line-height:var(--line-title)}table{font-size:var(--type-compact)}td,th{line-height:1.45}@media (max-width:900px){.brand-mark h1,.page-header h1,.record-result-timepoint,.workspace-header h1,.workspace-title-block h1{font-size:26px}.dashboard-timeline-heading h2,.questionnaire-current-title span,.section-heading h2{font-size:21px}}@media (max-width:520px){.brand-mark h1,.page-header h1,.record-result-timepoint,.workspace-header h1,.workspace-title-block h1{font-size:24px}.dashboard-timeline-heading h2,.questionnaire-current-title span,.record-result-card-title h3,.record-result-group-heading h4,.scale-guide-header h2,.section-heading h2{font-size:20px}.choice-control button,.directory-create-button,.ghost-button,.icon-button,.primary-button,.secondary-button,.timepoint-current-button,.timepoint-menu-option,.voice-record-button,.workspace-switch-button,input,select,textarea{font-size:var(--type-body)}}.app-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.env-label{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid var(--color-hairline);border-radius:999px;background:var(--color-soft);color:var(--color-secondary);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.doctor-name{color:var(--color-muted);font-size:13px;white-space:nowrap}.offline-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--color-hairline);background:var(--color-surface);font-size:12px;white-space:nowrap}.offline-badge.pending{border-color:rgba(148,107,58,.45);background:#fdf3e6;color:var(--color-warning)}.offline-badge.offline{border-color:rgba(163,58,50,.4);background:#ffebee;color:var(--color-error)}.offline-badge:disabled{opacity:.7}.directory-card-row{display:grid;grid-gap:6px;gap:6px}.directory-retry-button{justify-self:end;min-height:36px}.dashboard-toolbar{display:flex;justify-content:flex-end}.directory-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.directory-secondary-actions .directory-upload-button{margin:0}.directory-pager,.export-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--color-muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.directory-pager{border-top:1px solid var(--color-hairline);padding-top:12px}.export-dialog{width:min(560px,100%)}.export-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--color-muted);font-size:13px}.export-selected-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.export-patient-list{grid-gap:6px;gap:6px;max-height:320px;overflow-y:auto;border:1px solid var(--color-hairline);padding:8px}.export-patient-list,.export-patient-row{display:grid;border-radius:var(--radius-sm)}.export-patient-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-height:44px;padding:6px 8px;cursor:pointer}.export-patient-row:hover{background:var(--color-soft)}.export-patient-row input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--color-primary)}.export-patient-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.export-patient-main strong{color:var(--color-ink);font-size:14px}.export-patient-main span,.export-patient-meta{color:var(--color-muted);font-size:12px}.export-patient-meta{white-space:nowrap}.export-anonymize-toggle{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:13px;cursor:pointer}.export-anonymize-toggle input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--color-warning)}.export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:560px){.directory-secondary-actions,.export-actions{grid-template-columns:1fr}.export-patient-row{grid-template-columns:auto minmax(0,1fr)}.export-patient-meta{grid-column:2}}.admin-create-form{display:grid;grid-gap:16px;gap:16px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(248,252,255,.86),rgba(228,242,248,.6)),var(--color-surface);padding:16px}.admin-create-password{grid-column:1/-1}.admin-create-note{color:var(--color-muted);font-size:12px}.admin-account-list{display:grid;grid-gap:10px;gap:10px}.admin-account-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;min-height:64px;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface);padding:12px}.admin-account-row.inactive{border-style:dashed;background:var(--color-soft)}.admin-account-row.inactive .admin-account-main strong{color:var(--color-muted)}.admin-account-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.admin-account-main strong{color:var(--color-ink);font-size:15px}.admin-account-username{color:var(--color-muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-account-actions,.admin-account-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-account-tags .status-chip.chip-active{border-color:rgba(47,108,97,.45);background:#e6f2ef;color:var(--color-success)}.admin-account-tags .status-chip.chip-inactive{border-color:rgba(148,107,58,.45);background:#fdf3e6;color:var(--color-warning)}.admin-reset-form{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--color-hairline);padding-top:12px}.admin-reset-form input{flex:1 1 220px;min-width:0}.primary-button.small,.secondary-button.small{min-height:36px;padding:0 12px;font-size:13px}.account-dialog{width:min(420px,100%)}.account-dialog-error{color:var(--color-error);font-size:13px}@media (max-width:720px){.admin-account-row{grid-template-columns:minmax(0,1fr);align-items:start}}