@charset "UTF-8";
:root{--ink:#253449;--muted:#687587;--soft:#8993a1;--line:#e5e9ee;--canvas:#f5f7fa;--blue:#355f84;--blue-soft:#edf3f9;--purple:#8b70a9;--ward:#557daf;--white:#fff;--radius:10px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,select{min-width:0;min-height:42px;border:1px solid #d8dfe7;border-radius:7px;background:white;color:var(--ink);padding:8px 11px}input:focus,select:focus{border-color:#597c9f;outline:3px solid #dde9f5;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #86a5c4;outline-offset:3px}button{transition:background-color .14s,color .14s}button:disabled{transition:none}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1,h2{font-weight:620;letter-spacing:.02em}.subtle{color:var(--muted)}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.13em;color:var(--muted);margin-bottom:10px}.primary,.secondary{border-radius:7px;padding:10px 18px;font-weight:600;min-height:42px}.primary{color:white;background:var(--blue);border:1px solid var(--blue)}.primary:hover{background:#2c526f}.secondary{border:1px solid #cfd9e3;background:#fff;color:#385772}.secondary:hover{background:#f0f5fa}.text-button{background:none;border:0;color:var(--blue);min-height:40px;padding:8px 10px}.text-button:hover{background:#eff4f9;border-radius:6px}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:650;line-height:1.25}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#355f84;color:#fff;font-size:19px;font-family:"Microsoft YaHei",sans-serif}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:6px;letter-spacing:.09em}.skip{position:fixed;left:15px;top:-80px;z-index:20;padding:10px;background:#fff;color:var(--blue)}.skip:focus{top:12px}.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}.source-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}.ward{background:var(--ward)}.day{background:var(--purple)}
.login-view{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{padding:58px max(48px,10vw);padding-right:60px;display:flex;flex-direction:column;align-items:flex-start;background:#edf2f7;position:relative;overflow:hidden}.login-intro .brand{margin-bottom:100px}.login-intro .eyebrow{color:#607992}.login-intro h1{font-size:clamp(38px,4.1vw,60px);line-height:1.4;letter-spacing:.035em;margin-bottom:24px;color:#2b4965}.intro-copy{line-height:2;color:#607187;max-width:360px}.intro-grid{display:flex;gap:22px;margin-top:30px;padding-top:24px;border-top:1px solid #d2dee8;color:#556c80;font-size:13px}.privacy-note{margin-top:auto;padding-top:72px;font-size:12px;color:#798898}.login-form-wrap{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 40px;position:relative}.login-form{width:100%;max-width:360px}.login-form h2{font-size:26px;margin-bottom:12px}.login-form>.subtle{font-size:13px;margin-bottom:32px}.login-form label{display:block;font-weight:550;margin:19px 0 8px}.login-form input{width:100%;height:48px}.login-form .primary{width:100%;margin-top:27px;height:48px}.login-note{font-size:12px;line-height:1.9;color:var(--soft);margin:16px 0 25px}.demo-button{padding-left:0;font-size:13px}.demo-button span{margin-left:10px}.login-version{position:absolute;bottom:22px;color:var(--soft);font-size:11px}.inline-error{color:#6b4777;background:#f6f0f8;padding:10px 12px;margin:16px 0 0;border-radius:6px}
.workspace{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}.sidebar{padding:29px 20px 24px;position:fixed;width:210px;inset:0 auto 0 0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line)}.sidebar .brand{margin:0 5px 52px;font-size:16px}.sidebar .brand-mark{width:33px;height:33px;font-size:17px}.nav-label{font-size:10px;color:#8792a0;letter-spacing:.12em;margin:0 14px 12px}.nav-link{display:flex;align-items:center;gap:11px;text-decoration:none;border:0;background:none;color:#6a7786;padding:12px 13px;margin-bottom:7px;border-radius:7px;text-align:left;width:100%;font-size:13px}.nav-link.active{background:#edf3f9;color:#365f83;font-weight:600}.nav-link:hover{background:#f3f6f9}.nav-icon{font-size:18px;line-height:1}.sidebar-bottom{margin-top:auto;font-size:12px;color:#748399;padding:18px 9px 0;border-top:1px solid var(--line)}.sidebar-bottom p{font-size:11px;line-height:1.9;margin:8px 0 0;color:#8c96a2}.readonly-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#88a698;margin-right:7px}.workspace-body{grid-column:2;min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:12px;color:#7b8796}.breadcrumb span{padding:0 12px;color:#bec5ce}.breadcrumb strong{font-weight:450;color:#546276}.top-actions{display:flex;align-items:center;gap:17px;font-size:12px}.top-actions .text-button{color:#778496;font-size:12px}.read-only-tag{color:#82938b;font-size:11px;border:1px solid #dce5df;border-radius:4px;padding:1px 7px}main{max-width:1600px;margin:0 auto;padding:32px 38px 20px;outline:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.page-heading .eyebrow{font-size:10px;color:#8794a4;margin-bottom:5px}.page-heading h1{font-size:28px;margin-bottom:6px;line-height:1.4}.page-heading .subtle{font-size:13px;margin:0}.sync-actions{display:flex;align-items:center;gap:14px}.updated-at{font-size:11px;color:var(--soft);text-align:right}.sync-actions .secondary{font-size:12px;padding:8px 13px}.sync-actions .secondary span{font-size:17px;margin-right:4px;vertical-align:-1px}.context-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.context-bar>div{display:flex;align-items:center;gap:12px}.context-bar label{font-size:12px;color:var(--muted)}.context-bar select{min-width:230px;font-size:12px;min-height:36px;padding:6px 10px}.context-bar>span{font-size:11px;color:#8b95a3}.notice{display:flex;gap:15px;align-items:center;background:#eef3f8;border:1px solid #d9e3ef;border-radius:8px;padding:13px 16px;margin-bottom:20px;font-size:12px;color:#4e6986}.notice p{margin:4px 0 8px}.notice>div{width:100%}.notice strong{font-weight:600}.notice progress{width:100%;height:5px;accent-color:#6e8ca9}.demo-notice{background:#f0eef5;border-color:#e1dcec;color:#756789;gap:13px}.demo-notice .text-button{margin-left:auto;white-space:nowrap;font-size:12px;color:#756789;padding:0 8px;min-height:28px}.error-notice{color:#756383;background:#f7f3f8;border-color:#e8dfe9}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 20px 14px;text-align:left;position:relative;color:var(--ink)}.stat.selected{border-color:#9aafc5;box-shadow:0 0 0 1px #9aafc514}.stat:hover{background:#fcfdff}.stat>span{display:block;color:#687589;font-size:12px}.stat strong{display:block;font-weight:620;font-size:31px;line-height:1.45;font-variant-numeric:tabular-nums;margin:5px 0;color:#31465e}.stat small{color:#929ba7;font-size:10px}.list-panel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 17px}.search-wrap{position:relative;max-width:360px;width:40%}.search-wrap>span{position:absolute;font-size:23px;left:11px;top:2px;color:#8e9cad;pointer-events:none}.search-wrap input{width:100%;padding-left:37px;background:#f9fafc;min-height:40px;font-size:12px}.segmented{display:flex;padding:3px;background:#f3f5f8;border-radius:7px;gap:3px}.segmented button{min-height:32px;border:0;background:none;padding:5px 15px;border-radius:5px;font-size:12px;color:#6e7886;display:flex;align-items:center;gap:6px}.segmented button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #25344912;color:#33475e}.filters{display:flex;gap:12px;align-items:flex-end;padding:0 22px 20px;border-bottom:1px solid #eef0f4;flex-wrap:wrap}.filters>div:not(.date-filter){flex:1;min-width:110px;max-width:180px}.filters label{display:block;font-size:10px;color:#929baa;margin:0 0 5px}.filters select{width:100%;min-height:35px;font-size:11px;padding:5px 8px}.date-filter>div{display:flex;align-items:center;gap:7px}.date-filter input{width:133px;min-height:35px;padding:5px 7px;font-size:11px}.date-filter span{font-size:11px;color:#a4acb7}.reset{font-size:11px;min-height:35px;padding:4px 7px;margin-left:auto;color:#7b8797}.list-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 22px 10px;color:#7c8998;font-size:11px}.list-caption label{color:#97a0ad;font-size:10px}.list-caption select{border:0;min-height:25px;padding:3px 4px;font-size:10px;color:#778493;background:transparent}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{color:#929ba8;font-weight:450;font-size:10px;background:#fafbfc;border-bottom:1px solid #edf0f4;padding:10px 18px}th:first-child,td:first-child{padding-left:22px}td{padding:16px 18px;border-bottom:1px solid #f0f2f5;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfe}.patient-link{font-weight:570;font-size:13px;text-align:left;border:0;background:none;padding:0;color:#304762;line-height:1.6}.patient-link:hover{color:#365f84;text-decoration:underline;text-underline-offset:4px}.number{font-size:10px;display:block;color:#9ba4b1;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:.03em}.patient-source{display:flex;align-items:center;gap:7px;color:#6f7987}.diagnosis{max-width:210px;white-space:normal}.diagnosis small{display:block;color:#98a1ad;font-size:10px;margin-top:3px}.date-cell{color:#7d8998;font-size:11px}.completion-cell{min-width:160px}.completion-top{display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:10px;color:#8c96a4}.completion-top strong{font-weight:500;color:#65788f;font-size:11px}.completion-cell progress{display:block;width:145px;height:4px;margin-top:7px;accent-color:#94a9be}.status-text{color:#8494a5;font-size:10px}.detail-open{background:transparent;border:0;color:#b3beca;font-size:19px;padding:4px 8px;min-height:32px}.empty-state{text-align:center;padding:66px 25px 80px}.empty-mark{font-size:31px;color:#aab8c8;margin-bottom:13px}.empty-state h2{font-size:15px;font-weight:500;color:#627289;margin-bottom:7px}.empty-state p{font-size:12px;color:#99a3b0}.empty-state .secondary{font-size:12px;margin-top:14px}.page-footer{display:flex;justify-content:space-between;gap:14px;color:#a0a9b5;font-size:10px;margin-top:17px;padding:0 2px}
dialog{padding:0;margin:0 0 0 auto;position:fixed;inset:0 0 0 auto;width:min(570px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:-10px 0 50px #25344914}dialog::backdrop{background:#1b2d4138}.detail-heading{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:26px 28px 21px;border-bottom:1px solid var(--line);z-index:1}.detail-heading h2{font-size:22px;margin:0}.detail-heading .eyebrow{font-size:10px;margin-bottom:7px}.icon-button{font-size:28px;font-weight:300;width:40px;height:40px;line-height:1;border:0;background:#f5f7fa;color:#6d7d90;border-radius:50%}#detail-content{padding:23px 28px 35px}.patient-meta{display:grid;grid-template-columns:1fr 1fr;gap:19px 25px;margin-bottom:26px}.patient-meta dt{font-size:10px;color:#98a2b0}.patient-meta dd{margin:5px 0 0;font-size:12px;color:#52657a}.detail-summary{background:#f6f8fb;border:1px solid #e9eef4;border-radius:8px;padding:17px 18px;margin:0 0 27px;display:flex;align-items:center;justify-content:space-between}.detail-summary p{font-size:11px;margin:0;color:#8290a2}.detail-summary strong{font-size:23px;font-weight:550;color:#46617c}.detail-summary small{font-size:11px;font-weight:400;color:#8a98a7}.phase-details{border-top:1px solid #e7ebf1}.phase-details summary{padding:16px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:13px;font-weight:550}.phase-details summary:after{content:'+';color:#99a6b6;font-size:17px;margin-left:10px}.phase-details[open] summary:after{content:'−'}.phase-details summary small{font-weight:400;font-size:10px;color:#929cac;margin-left:auto}.form-row{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:12px 0 13px;border-top:1px solid #f0f2f5;font-size:12px}.form-row>div{min-width:0}.form-row p{margin:0;line-height:1.65}.form-row small{display:block;color:#a0a9b5;font-size:10px;margin-top:4px}.form-status{flex:none;font-size:10px;display:inline-flex;align-items:center;gap:5px;padding-top:3px;color:#8391a3}.form-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#bdc7d2}.form-status.completed{color:#63817c}.form-status.completed:before{background:#8aa49c}.form-status.unknown{color:#8c799e}.form-status.unknown:before{background:#a797b5}.form-status.not_applicable{color:#a0a8b4}.form-status.not_applicable:before{background:#d0d5dd}.detail-footnote{font-size:10px;line-height:1.9;color:#96a0ae;margin-top:25px}
@media(min-width:1600px){.workspace{grid-template-columns:235px minmax(0,1fr)}.sidebar{width:235px}.sidebar .brand{margin-left:11px}.topbar{padding-inline:48px}main{padding-inline:48px}.stat{padding:19px 24px}.search-wrap{max-width:410px}}
@media(max-width:1150px){.workspace{grid-template-columns:178px minmax(0,1fr)}.sidebar{width:178px;padding:26px 12px}.sidebar .brand{font-size:14px}.brand-mark{width:30px;height:30px}.topbar{padding:0 24px}main{padding:26px 24px 20px}.page-heading{align-items:flex-start}.sync-actions{flex-direction:column-reverse;align-items:flex-end;gap:6px}.stats{gap:10px}.stat{padding:14px 15px}.date-filter{margin-left:0}.filters{gap:10px}.context-bar>span{max-width:170px;text-align:right}.filters>div:not(.date-filter){max-width:unset}.date-filter input{width:125px}}
@media(max-width:780px){.workspace{display:block}.sidebar{display:none}.workspace-body{width:100%}.topbar{height:55px;padding:0 18px}.breadcrumb{font-size:11px}.top-actions{gap:9px}.top-actions .text-button{font-size:11px}main{padding:23px 16px 18px}.page-heading{gap:10px;margin-bottom:22px}.page-heading h1{font-size:25px}.page-heading .subtle{font-size:11px}.page-heading .eyebrow{font-size:9px}.sync-actions .secondary{font-size:11px;padding:7px 10px}.updated-at{font-size:9px;max-width:135px}.context-bar{align-items:flex-start;margin-bottom:17px}.context-bar>div{display:block;flex:1}.context-bar label{display:block;margin-bottom:5px;font-size:10px}.context-bar select{width:100%;min-width:0}.context-bar>span{font-size:10px;max-width:115px;padding-top:24px}.stats{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:19px}.stat{padding:11px 14px}.stat>span{font-size:11px}.stat strong{font-size:25px;margin:3px 0}.stat small{font-size:9px}.list-toolbar{display:block;padding:15px 14px}.search-wrap{max-width:unset;width:100%;margin-bottom:12px}.segmented{width:max-content}.segmented button{padding:4px 17px}.filters{padding:0 14px 15px;gap:10px}.filters>div:not(.date-filter){min-width:calc(33% - 10px);flex:1;max-width:unset}.filters select{font-size:10px;padding-left:6px}.date-filter{flex:1}.date-filter>div{gap:5px}.date-filter input{width:calc((100vw - 123px)/2);max-width:185px;font-size:10px}.filters .reset{align-self:flex-end}.list-caption{padding:11px 14px;font-size:10px}.list-caption select{font-size:9px;max-width:125px}th{font-size:9px;padding:10px 12px}td{padding:14px 12px}th:first-child,td:first-child{padding-left:15px}.patient-link{font-size:12px}.diagnosis{max-width:155px;min-width:115px}.completion-cell{min-width:145px}.completion-cell progress{width:123px}.notice{font-size:11px;padding:11px 13px}.demo-notice{gap:8px;flex-wrap:wrap}.demo-notice .text-button{padding:0 4px;font-size:10px}.demo-notice>span{flex:1;min-width:180px}.page-footer{font-size:9px}.empty-state{padding:48px 16px 60px}.login-view{grid-template-columns:1fr}.login-intro{padding:26px 28px 30px}.login-intro .brand{margin-bottom:31px;font-size:16px}.login-intro h1{font-size:34px;line-height:1.35;margin:0 0 12px}.login-intro h1 br{display:none}.login-intro .eyebrow{font-size:10px;margin-bottom:7px}.intro-copy{font-size:12px;margin:0}.intro-grid,.privacy-note{display:none}.login-form-wrap{padding:31px 28px 52px;justify-content:flex-start}.login-form h2{font-size:23px}.login-form>.eyebrow{display:none}.login-form>.subtle{margin-bottom:23px;font-size:11px}.login-form label{font-size:12px}.login-form input{height:45px}.login-note{font-size:11px}.login-version{bottom:12px}.detail-heading{padding:21px 21px 19px}#detail-content{padding:18px 21px 30px}.detail-heading h2{font-size:20px}.patient-meta{gap:16px 18px}.form-row{font-size:11px}.form-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.sr-only{left:0;top:0}
.privacy-status{font-size:12px;color:#675a79;border:1px solid #e4ddec;background:#f8f5fa;border-radius:7px;padding:12px 14px;line-height:1.9}
.uploaded-count{font-variant-numeric:tabular-nums;color:#718397;font-size:11px;min-width:88px}
.not-applicable-toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b96a5;margin-bottom:18px}
.not-applicable-toggle input{min-height:16px;width:15px;height:15px;accent-color:#607f9f}
#collection-nav{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;padding:4px 6px;color:var(--blue);font-size:12px;text-decoration:none}#collection-nav:hover{text-decoration:underline}
