:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f8;--surface:#fff;--surface-soft:#ffffffb8;--sidebar-bg:#fff;--card-bg:#fff;--teal:#2dbfb8;--teal-light:#d6f5f3;--green:#4caf88;--cyan:#35a7c8;--blue:#3a7bd5;--blue-deep:#1a3a6b;--blue-light:#e8f0fb;--red:#f46060;--orange:#f5a623;--text-primary:#1a2341;--text-secondary:#52617f;--text-muted:#7f8ba3;--border:#e4eaf2;--tag-ai:linear-gradient(135deg, #4caf88, #2dbfb8);--shadow-sm:0 1px 3px #3a528c12;--shadow-md:0 4px 16px #3a528c1a;--shadow-glow:0 14px 28px #3a7bd533, 0 0 0 3px #ffffff80 inset;--font-sans:"DM Sans", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base:14px;--line-height-base:1.45;--radius:14px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--control-height:34px;--sidebar-width:220px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{min-width:1180px;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background:radial-gradient(circle at 82% 8%, #2dbfb82e, transparent 25%), radial-gradient(circle at 62% 0%, #3a7bd524, transparent 24%), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #3a7bd557}input,select{color:inherit}h1,h2,h3,h4,p{margin:0}a{color:inherit}svg{flex-shrink:0;display:block}button svg,a svg{pointer-events:none}::selection{color:#fff;background:#3a7bd5c7}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#dde4ee;border-radius:999px}.app-shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(155deg,#ffffffc2,#e2f0ff8a),#ffffff85;border:1px solid #ffffffb8;border-radius:22px;flex-direction:column;height:calc(100vh - 24px);margin:12px 0 12px 14px;padding:14px 0;display:flex;overflow:hidden;box-shadow:0 24px 48px #3a528c2e,0 8px 18px #3a7bd51f,inset 0 1px #ffffffc7}.main-panel{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.main-panel:after{content:"";pointer-events:none;opacity:.25;background-image:linear-gradient(30deg,#0000 46%,#3a7bd547 47% 53%,#0000 54%),linear-gradient(150deg,#0000 46%,#3a7bd542 47% 53%,#0000 54%);background-size:54px 54px;width:250px;height:210px;position:absolute;top:0;right:0}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#eef3f8db;flex-shrink:0;padding:18px 30px 0}.topbar__row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.topbar__title{min-width:0}.topbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.content{flex:1;padding:0 30px 22px;overflow-y:auto}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.charts-grid{grid-template-columns:1fr 1.7fr 1fr;gap:12px;margin-bottom:16px;display:grid}.bottom-grid{grid-template-columns:1fr 1.8fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (width<=1320px){body{min-width:1024px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-grid,.bottom-grid{grid-template-columns:1fr}}.login-shell{grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:26px;min-height:100%;padding:42px;display:grid}.login-panel,.login-card{box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(145deg,#ffffffc7,#e8f4ff8f),#ffffff8a;border:1px solid #ffffffb8}.login-panel{border-radius:22px;flex-direction:column;justify-content:space-between;min-height:520px;padding:34px;display:flex}.login-panel__brand{justify-content:space-between;align-items:center;gap:18px;display:flex}.login-panel__brand img{width:156px;height:auto}.login-panel__tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.login-panel__brand span{color:#167286;background:#e2f9f5c7;border-radius:999px;align-items:center;min-height:28px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.language-toggle{color:#167286;white-space:nowrap;background:#ffffffb8;border:1px solid #4badb947;border-radius:999px;justify-content:center;align-items:center;min-width:66px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 8px 16px #3a7bd514}.language-toggle:hover{background:#e2f9f5db;border-color:#4badb97a}.login-panel__copy{max-width:760px}.login-panel__copy h1{letter-spacing:0;font-size:44px;line-height:1.08}.login-panel__copy p{max-width:640px;color:var(--text-secondary);margin-top:14px;font-size:15px;line-height:1.75}.login-chain{flex-wrap:wrap;gap:8px;display:flex}.login-chain span{min-height:32px;color:var(--text-secondary);background:#ffffff9e;border:1px solid #4badb933;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.login-card{border-radius:18px;flex-direction:column;gap:18px;padding:26px;display:flex}.login-card header{align-items:center;gap:12px;display:flex}.login-card h2{letter-spacing:0;font-size:22px}.login-card header p{color:var(--text-muted);margin-top:3px;font-size:12px}.login-card__icon{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 20px #3a7bd52e}.login-entry-switch{background:#f4fbfcb8;border:1px solid #4badb92e;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.login-entry-switch button{min-height:38px;color:var(--text-secondary);border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800}.login-entry-switch button.is-active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));box-shadow:0 8px 18px #3a7bd52e}.login-card label{color:var(--text-secondary);gap:8px;font-size:12px;font-weight:700;display:grid}.login-card input,.login-card select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-primary);background:#ffffffc2;border-radius:12px;padding:8px 12px}.login-management-summary,.login-scope-preview{background:#ffffff94;border:1px solid #4badb92e;border-radius:14px;gap:4px;padding:11px 12px;display:grid}.login-management-summary strong,.login-scope-preview strong{color:var(--text-primary);font-size:13px}.login-management-summary span,.login-scope-preview span{color:var(--text-muted);font-size:12px;line-height:1.55}.login-user-preview{background:#f4fbfcad;border:1px solid #4badb92e;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.login-user-preview strong,.login-user-preview span{display:block}.login-user-preview span{color:var(--text-muted);margin-top:3px;font-size:12px}.login-error{color:#b43b3b;background:#ffeeeec2;border:1px solid #e15a5a33;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:700}.login-submit{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:800;display:inline-flex;box-shadow:0 12px 24px #3a7bd52e}.icp-link{color:var(--text-muted);text-align:center;font-size:11px;line-height:1.45;text-decoration:none}.icp-link:hover{color:#167286;text-decoration:underline}.login-icp{margin-top:-4px}.logo{align-items:center;min-height:50px;padding:0 18px 14px;display:flex}.logo__image{width:132px;max-width:100%;height:auto;display:block}.sidebar__nav{flex-direction:column;flex:1;gap:6px;padding:2px 10px 12px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);width:100%;min-height:38px;color:var(--text-secondary);text-align:left;background:#ffffff05;border:1px solid #0000;align-items:center;gap:10px;margin-bottom:0;padding:8px 12px;font-weight:500;line-height:1.25;transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.nav-item:hover,.nav-item.is-active{color:var(--blue);background:#ffffff7a;border-color:#ffffffc7;box-shadow:0 10px 22px #3a7bd51f,inset 0 1px #ffffffa8}.nav-item:active{transform:translateY(1px)}.nav-item svg{stroke-width:2px;flex:none;width:16px;height:16px}.nav-item span{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;line-height:1.18;display:-webkit-box;overflow:hidden}.nav-item__chevron{opacity:.55;margin-left:auto;width:12px!important;height:12px!important}.sidebar__footer{border-top:1px solid #fff9;margin:0 10px;padding:10px 8px 0}.sidebar__icp{margin-top:10px;display:block}.user-card{align-items:center;gap:8px;padding-top:8px;display:flex}.user-card strong{font-size:12px;line-height:1.35;display:block}.user-card span{color:var(--green);margin-top:2px;font-size:10px;display:block}.avatar{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:50%;place-items:center;font-weight:700;display:grid;box-shadow:0 4px 12px #3a7bd53d}.avatar--small{width:34px;height:34px;font-size:13px}.avatar--top{width:36px;height:36px;font-size:13px}.page-title{letter-spacing:0;font-size:22px;font-weight:700;line-height:1.18}.page-subtitle{max-width:720px;color:var(--text-muted);margin-top:3px;font-size:12.5px;line-height:1.5}.study-badge,.role-badge,.icon-button{height:var(--control-height);background:var(--surface-soft);border:1px solid var(--border);color:var(--text-primary);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;display:inline-flex}.study-badge,.role-badge{cursor:default;background:linear-gradient(135deg,#ffffffd1,#edf6ff94),#ffffffa3;border-radius:999px;gap:8px;padding:6px 13px;font-size:12px;font-weight:600}.study-badge{color:#155c8a;background:linear-gradient(135deg,#f5fcffe0,#daf7f29e),#ffffffad;border-color:#4badb93d;min-width:148px}.role-badge{min-width:132px}.study-badge span,.role-badge span{color:var(--text-muted);font-size:11px;font-weight:500}.study-badge strong,.role-badge strong{color:var(--text-primary);font-size:12px;font-weight:800}.study-badge strong{color:#167286}.study-badge--select{justify-content:space-between;min-width:190px}.study-badge--select select{color:#167286;background:0 0;border:0;max-width:132px;font-size:12px;font-weight:800}.icon-button{width:var(--control-height);color:var(--text-secondary);border-radius:50%;transition:color .15s,border-color .15s,background .15s,transform .15s}.icon-button:hover{color:var(--blue);background:#ffffffeb;border-color:#3a7bd53d;transform:translateY(-1px)}.icon-button svg{width:16px;height:16px}.ai-bar{border-radius:var(--radius-lg);min-height:56px;box-shadow:var(--shadow-glow);background:linear-gradient(98deg,#1d4f91 0%,#126467 48%,#83d2b7 100%);align-items:center;gap:12px;margin-bottom:12px;padding:12px 18px;display:flex;position:relative;overflow:hidden}.ai-bar:before{content:"";pointer-events:none;background:radial-gradient(circle at 2%,#ffffff57,#0000 14%),linear-gradient(90deg,#ffffff24,#ffffff0a);position:absolute;inset:0}.ai-bar__icon,.ai-bar input,.ai-bar__actions{z-index:1;position:relative}.ai-bar__icon{color:#fff;background:#ffffff29;border-radius:12px;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.ai-bar input{color:#ffffffe0;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.4}.ai-bar input::placeholder{color:#fffc}.ai-bar__actions{gap:8px;display:flex}.ai-bar__button{color:#ffffffdb;background:#ffffff24;border-radius:50%;place-items:center;width:34px;height:34px;transition:background .15s,transform .15s;display:grid}.ai-bar__button:hover{background:#ffffff38;transform:translateY(-1px)}.ai-bar__button--send{color:var(--green);background:#ffffffeb}.ai-bar__status{color:var(--text-secondary);margin:-4px 0 12px;font-size:12px;font-weight:700}.quick-chips{flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.chip{border:1px solid var(--border);min-height:30px;color:var(--text-secondary);white-space:nowrap;background:#ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:11.5px;font-weight:700;line-height:1.2;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.chip:hover{color:var(--teal);background:#fff;border-color:#2dbfb8a6}.chip.is-selected{color:var(--blue);background:#ffffffe6;border-color:#3a7bd542;box-shadow:0 8px 18px #3a7bd51a}.chip svg{width:12px;height:12px}.consent-status-chip{min-height:34px;color:var(--text-secondary);box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #d8e2f0f5;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;font-weight:800;display:inline-flex}.consent-status-chip strong{min-width:22px;height:22px;color:var(--text-primary);background:#e8f2ffdb;border-radius:999px;place-items:center;padding:0 7px;font-size:11px;display:inline-grid}.consent-status-chip.is-selected{color:var(--blue);background:#fffffff0;border-color:#3a7bd557;box-shadow:0 9px 20px #3a7bd51f}.consent-status-chip--pending strong{color:#b56d00;background:#fff3e0f5}.consent-status-chip--signed strong{color:var(--green);background:#def7edf5}.consent-status-chip--withdrawn strong{color:var(--red);background:#ffe7e7f5}.card,.kpi-card,.quick-actions{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);background:linear-gradient(152deg,#ffffffe6,#f0f7ffa8),#ffffff9e;border:1px solid #ffffffbd;box-shadow:0 20px 40px #3a528c1c,0 6px 16px #3a7bd514,inset 0 1px #ffffffc7}.card{min-height:100%;padding:17px}.card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card__title{color:var(--text-primary);font-size:13.5px;font-weight:700;line-height:1.25}.card__action{align-items:center;gap:8px;display:inline-flex}.select-sm{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg);outline:0;padding:5px 8px;font-size:11px;font-weight:700}.link-button{color:var(--blue);background:0 0;align-items:center;gap:4px;font-size:11px;font-weight:600;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.link-button:hover{color:#1f67bf;transform:translate(1px)}.link-button--block{margin-top:12px}.kpi-card{justify-content:space-between;align-items:flex-start;min-height:98px;padding:17px;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";pointer-events:none;opacity:.8;background:radial-gradient(circle at 88% 12%,#3a7bd51a,#0000 28%),linear-gradient(#ffffff47,#0000 48%);position:absolute;inset:0}.kpi-card>*{z-index:1;position:relative}.kpi-card__label{color:var(--text-muted);margin-bottom:8px;font-size:11.5px;font-weight:600;line-height:1.25}.kpi-card__value{color:var(--text-primary);letter-spacing:0;margin-bottom:6px;font-size:24px;font-weight:800;line-height:1;display:block}.kpi-card__delta{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.kpi-card__delta.is-up{color:var(--green)}.kpi-card__delta.is-up span:last-child{color:var(--text-muted);margin-left:2px}.delta-arrow{font-size:12px;line-height:1}.kpi-card__icon{color:#5c78aa;opacity:.18;width:44px;height:44px}.kpi-progress{width:40px;height:40px;transform:rotate(-90deg)}.kpi-progress circle{fill:none;stroke-width:4px}.kpi-progress circle:first-child{stroke:var(--bg)}.kpi-progress circle:last-child{stroke:var(--teal);stroke-linecap:round}.trend-card__value{letter-spacing:0;font-size:28px;font-weight:800}.trend-card__label{color:var(--text-muted);margin-top:2px;font-size:11px}.trend-card__delta{color:var(--green);align-items:center;gap:3px;margin-top:2px;font-size:11px;font-weight:600;display:flex}.mini-chart{width:100%;height:90px;margin-top:14px}.mini-chart svg{width:100%;height:100%}.chart-grid{stroke:var(--bg);stroke-width:1px}.chart-label{fill:var(--text-muted);font-size:8px}.chart-axis{justify-content:space-between;margin-top:4px;padding:0 4px;display:flex}.chart-axis span{color:var(--text-muted);font-size:10px}.journey__stats{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:8px;display:grid}.journey__stat{text-align:center}.journey__stat span{color:var(--text-muted);margin-bottom:5px;font-size:10px;display:block}.journey__stat strong{font-size:13px;font-weight:800;display:block}.journey__timeline{grid-template-columns:repeat(6,1fr);align-items:center;margin:6px 0 4px;display:grid;position:relative}.journey__line{background:linear-gradient(90deg, var(--teal), var(--blue));opacity:.32;height:2px;position:absolute;top:50%;left:18px;right:18px}.journey__node-wrap{z-index:1;justify-content:center;display:flex;position:relative}.journey__node{border:2px solid var(--teal);width:36px;height:36px;color:var(--teal);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 5px 16px #2dbfb824}.journey__node--blue{color:var(--blue);border-color:var(--blue);box-shadow:0 5px 16px #3a7bd51f}.journey__node svg{width:15px;height:15px}.journey__waves{border-radius:8px;width:100%;height:60px;margin-top:4px;overflow:hidden}.journey__waves svg{width:100%;height:100%}.journey__rates{grid-template-columns:repeat(5,1fr);margin-top:6px;display:grid}.journey__rates span{color:var(--text-muted);text-align:center;font-size:10px}.workspace-page{flex-direction:column;gap:14px;display:flex}.workspace-hero,.module-card,.module-kpi{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px)saturate(136%);backdrop-filter:blur(18px)saturate(136%);background:linear-gradient(148deg,#ffffffe0,#eff7ffad),#ffffff9e;border:1px solid #ffffffc2;box-shadow:0 18px 38px #3a528c1a,0 6px 14px #3a7bd512,inset 0 1px #ffffffd6}.workspace-hero{padding:16px}.workspace-search{border:1px solid var(--border);border-radius:var(--radius-md);height:40px;color:var(--text-muted);background:#ffffffc7;align-items:center;gap:10px;padding:0 14px;display:flex}.workspace-search--compact{width:280px;height:34px}.workspace-search input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:12.5px;font-weight:600}.workspace-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.patient-pick-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.patient-pick{border:1px solid var(--border);min-height:58px;color:var(--text-secondary);text-align:left;background:#ffffff94;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 12px;display:flex}.patient-pick.is-active{color:var(--blue);background:#deebffb8;border-color:#3a7bd559}.patient-pick span{color:var(--text-primary);font-size:12px;font-weight:800}.patient-pick small{font-size:10px}.clinical-patient-finder{padding:16px}.clinical-patient-finder__header{border-bottom:1px solid #d8e2f0db;justify-content:space-between;align-items:center;gap:14px;padding-bottom:12px;display:flex}.clinical-patient-finder__header h2{color:var(--text-primary);letter-spacing:0;font-size:17px;font-weight:900;line-height:1.2}.clinical-patient-finder__toolbar{grid-template-columns:minmax(300px,1fr) auto;align-items:center;gap:10px;margin-top:14px;display:grid}.clinical-patient-finder__search{height:44px}.clinical-filter-select,.clinical-ghost-button{border:1px solid var(--border);min-height:38px;color:var(--text-secondary);white-space:nowrap;background:#ffffffbd;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:11.5px;font-weight:800;display:inline-flex}.clinical-filter-select{justify-content:space-between}.clinical-filter-select svg,.clinical-ghost-button svg{width:14px;height:14px;color:var(--blue)}.clinical-ghost-button{padding-inline:14px}.clinical-filter-grid{background:#f8fbff94;border:1px solid #d8e2f0c7;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:10px;margin-top:14px;padding:12px;display:grid}.clinical-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.clinical-filter-group>span{width:100%;color:var(--text-muted);font-size:10.5px;font-weight:900}.clinical-filter-group--compact{justify-content:center}.clinical-recent-panel{border-top:1px solid #d8e2f0cc;margin-top:14px;padding-top:13px}.clinical-recent-panel__header,.clinical-patient-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.clinical-recent-panel__header span{color:var(--text-primary);font-size:12px;font-weight:900}.clinical-recent-panel__header button{color:var(--blue);font-size:11px;font-weight:800}.clinical-patient-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:8px;display:grid}.clinical-patient-card{border-radius:var(--radius-md);text-align:left;background:#ffffff9e;border:1px solid #d8e2f0f0;grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:62px;padding:8px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.clinical-patient-card:hover,.clinical-patient-card.is-active{background:#e1efffcc;border-color:#3a7bd561;transform:translateY(-1px);box-shadow:0 12px 22px #3a7bd51c}.clinical-patient-card__avatar{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:50%;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 8px 16px #3a7bd529}.clinical-patient-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.clinical-patient-card__body strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:900;line-height:1.2;overflow:hidden}.clinical-patient-card__body small,.clinical-patient-card__body em{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9.8px;font-style:normal;font-weight:700;line-height:1.25;display:block;overflow:hidden}.clinical-patient-card__body em{color:var(--text-muted);font-size:9.5px}.clinical-patient-empty{min-height:84px;color:var(--text-muted);border:1px dashed #a0b0cb99;border-radius:13px;grid-column:1/-1;place-items:center;font-size:12px;font-weight:800;display:grid}.clinical-patient-footer{color:var(--text-muted);border-top:1px solid #e2eaf2b8;margin-top:10px;padding-top:10px;font-size:10.5px;font-weight:700}.clinical-all-patients{border-top:1px solid #d8e2f0d1;margin-top:16px;padding-top:14px}.clinical-all-patients__header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.clinical-all-patients__header h3{color:var(--text-primary);font-size:14px;font-weight:900}.clinical-all-patients__header p,.clinical-all-patients__header span{color:var(--text-muted);margin-top:3px;font-size:10.5px;font-weight:700}.clinical-patient-table-wrap{background:#ffffff94;max-height:560px;overflow:auto}.clinical-patient-table{min-width:1080px}.clinical-patient-table th{z-index:1;position:sticky;top:0}.clinical-patient-table th,.clinical-patient-table td{padding:13px 16px;font-size:12px}.clinical-patient-table td{cursor:pointer}.clinical-patient-table tbody tr.is-active td{background:#e1efffa8}.module-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.module-kpi{align-items:center;gap:13px;min-height:86px;padding:15px;display:flex}.module-kpi__icon{width:42px;height:42px;color:var(--blue);background:#3a7bd517;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.module-kpi--green .module-kpi__icon{color:var(--green);background:#45b48b1a}.module-kpi--orange .module-kpi__icon{color:#f59f2a;background:#f59f2a1a}.module-kpi--purple .module-kpi__icon{color:#7768d8;background:#7768d81a}.module-kpi span,.module-kpi small{color:var(--text-muted);font-size:11px;font-weight:600;display:block}.module-kpi strong{color:var(--text-primary);letter-spacing:0;margin:4px 0;font-size:24px;font-weight:800;line-height:1;display:block}.module-layout{grid-template-columns:minmax(0,1.75fr) minmax(300px,.8fr);align-items:start;gap:14px;display:grid}.module-layout--clinical{grid-template-columns:minmax(0,1.7fr) minmax(280px,.62fr)}.clinical-capture-page .module-layout--clinical{grid-template-columns:minmax(0,1fr)}.module-stack{flex-direction:column;gap:14px;min-width:0;display:flex}.module-card{min-width:0;padding:15px}.module-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.module-card__header h2{color:var(--text-primary);letter-spacing:0;font-size:15.5px;font-weight:800;line-height:1.2}.module-card__header span{color:var(--text-muted);font-size:11px;font-weight:600}.patient-header-card,.clinical-entry-summary{align-items:center;gap:14px;display:flex}.patient-header-card .module-detail-list,.clinical-entry-summary .module-detail-list{flex:1;grid-template-columns:repeat(7,minmax(86px,1fr))}.clinical-entry-summary{background:#f8fbff99;border:1px solid #e2eaf2c7;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin-bottom:14px;padding:12px;display:grid}.clinical-entry-summary .module-detail-list{grid-template-columns:repeat(6,minmax(92px,1fr))}.clinical-entry-summary__icon{width:46px;height:46px;color:var(--blue);background:#3a7bd514;border-radius:14px;place-items:center;display:grid}.clinical-entry-metrics{grid-template-columns:minmax(116px,1.15fr) repeat(5,minmax(86px,1fr));gap:8px;min-width:0;display:grid}.clinical-entry-metric{background:#ffffffa3;border:1px solid #e2eaf2d1;border-radius:12px;min-width:0;padding:10px 12px}.clinical-entry-metric span,.clinical-entry-metric strong{white-space:nowrap;display:block}.clinical-entry-metric span{color:var(--text-muted);font-size:10px;font-weight:800}.clinical-entry-metric strong{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:800}.clinical-entry-metric--primary{background:#e8f2ffb8;border-color:#3a7bd542}.clinical-entry-metric--primary strong{color:var(--text-primary);font-size:15px}.clinical-entry-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.clinical-entry-actions .module-link-button,.clinical-entry-actions .module-primary-button{min-width:86px}.module-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.module-detail-list div{min-width:0}.module-detail-list dt{color:var(--text-muted);font-size:10px;font-weight:700}.module-detail-list dd{color:var(--text-secondary);word-break:break-word;margin-top:3px;font-size:12px;font-weight:700}.module-primary-button,.module-link-button{border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:700;line-height:1.2;transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.module-primary-button svg,.module-link-button svg{width:14px;height:14px}.module-primary-button{min-height:var(--control-height);color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));padding:7px 13px;box-shadow:0 8px 18px #3a7bd52e}.module-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.module-select-inline{min-height:var(--control-height);color:var(--muted);background:#f7fafceb;border:1px solid #4badb938;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.module-select-inline select{color:var(--text);font:inherit;background:0 0;border:0;outline:none}.module-file-button{min-height:var(--control-height);color:#167286;cursor:pointer;background:#f4fbfcd1;border:1px solid #4badb93d;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-size:12px;font-weight:800;display:inline-flex}.module-file-button input{display:none}.module-upload-status{color:var(--text-secondary);background:#f4fbfca8;border:1px solid #4badb92e;border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.sample-testing-editor-card{border-radius:var(--radius-md);background:#f7fbffe0;border:1px solid #3a7bd533;gap:14px;margin:0 0 14px;padding:14px;display:grid;box-shadow:0 10px 24px #27538014}.sample-testing-editor-card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sample-testing-editor-card header strong{color:var(--text-primary);font-size:14px;display:block}.sample-testing-editor-card header span{color:var(--text-muted);font-size:12px;font-weight:800}.sample-testing-editor-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.sample-testing-editor-grid label{color:var(--text-muted);gap:6px;font-size:11px;font-weight:800;display:grid}.sample-testing-editor-grid input,.sample-testing-editor-grid select{width:100%;min-height:34px;color:var(--text-primary);background:#fffffff0;border:1px solid #3a7bd538;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}.sample-testing-editor-grid__wide{grid-column:span 2}@media (width<=900px){.sample-testing-editor-card header{flex-direction:column;align-items:flex-start}.sample-testing-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.sample-testing-editor-grid{grid-template-columns:1fr}.sample-testing-editor-grid__wide{grid-column:span 1}}.module-primary-button:hover,.module-link-button:hover{transform:translateY(-1px)}.module-link-button{min-height:26px;color:var(--blue);background:#ffffffb8;border:1px solid #3a7bd52e;padding:5px 10px;font-size:11px}.module-link-button--primary{color:#fff;background:linear-gradient(135deg, var(--blue), #1675d1);border-color:#3a7bd542}.module-link-button--danger{color:var(--red);border-color:#f4606038}.module-table-wrap{border:1px solid var(--border);background:#ffffff94;border-radius:14px;max-width:100%;overflow:auto}.module-table{border-collapse:collapse;width:100%;min-width:820px;color:var(--text-secondary);font-size:12.5px}.module-table th,.module-table td{vertical-align:middle;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px;line-height:1.35}.module-table th{color:var(--text-primary);background:#f0f7ffd1;font-weight:800}.module-table tbody tr:hover{background:#e8f2ff73}.module-table tbody tr.is-selected{background:#e8f2ff9e}.module-table-actions{align-items:center;gap:6px;min-width:112px;display:flex}.system-query-table td:first-child{min-width:168px}.system-query-table td:first-child strong,.system-query-table td:first-child span,.system-query-table td:first-child small{overflow-wrap:anywhere;display:block}.system-query-table td:first-child span{color:var(--text-secondary);margin-top:2px;font-size:11px;font-weight:800}.system-query-table td:first-child small{color:var(--text-muted);margin-top:4px;font-size:10.5px;font-weight:700}.system-query-response{color:var(--green)!important}.consent-approval-panel{background:#f8fbffd1;border:1px solid #2563eb24;border-radius:8px;gap:9px;margin-top:12px;padding:12px;display:grid}.consent-approval-panel>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.consent-approval-panel strong{color:var(--text-primary);font-size:12px;font-weight:900}.consent-approval-panel span{color:var(--text-secondary);font-size:11px;font-weight:800}.consent-approval-list{gap:7px;display:grid}.consent-approval-row{background:#ffffffc7;border:1px solid #cddaebb8;border-radius:8px;grid-template-columns:minmax(86px,auto) minmax(150px,1fr) minmax(96px,auto) minmax(96px,auto) minmax(110px,auto) minmax(76px,auto) minmax(150px,auto);align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.consent-approval-row>*{overflow-wrap:anywhere;min-width:0}.system-site-table td,.system-query-table td{vertical-align:top}.system-query-summary{background:#f8fbffd1;border:1px solid #cddaebb8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px;display:flex}.system-query-summary small{color:var(--text-muted);font-size:11px;font-weight:800}.module-table-input{width:100%;min-width:84px;height:28px;color:var(--text-primary);background:#ffffffeb;border:1px solid #3a7bd538;border-radius:8px;outline:none;padding:4px 8px;font-size:11px;font-weight:800}.module-table-input:focus{border-color:#3a7bd5b8;box-shadow:0 0 0 3px #3a7bd51f}.module-table--sample-testing th:nth-child(2),.module-table--sample-testing td:nth-child(2),.module-table--sample-testing th:nth-child(7),.module-table--sample-testing td:nth-child(7){min-width:160px}.module-table--sample-ledger th:nth-child(3),.module-table--sample-ledger td:nth-child(3),.module-table--sample-ledger th:nth-child(6),.module-table--sample-ledger td:nth-child(6),.module-table--omics th:nth-child(2),.module-table--omics td:nth-child(2),.module-table--omics th:nth-child(8),.module-table--omics td:nth-child(8){min-width:150px}.module-table--sample-ledger th:nth-child(6),.module-table--sample-ledger td:nth-child(6){min-width:220px}.module-table--omics td[rowspan]{vertical-align:middle;background:#f8fbff80}.sample-testing-stat-grid{flex-wrap:wrap;align-items:stretch;gap:10px;margin:8px 0 12px;display:flex}.sample-testing-stat{background:linear-gradient(135deg,#ffffffeb,#f0f7ffb3),#ffffffb3;border:1px solid #d8e2f0c7;border-radius:12px;flex:0 0 128px;align-items:center;gap:8px;min-width:128px;min-height:48px;padding:8px 9px;display:flex;box-shadow:0 6px 14px #5278aa0f}.sample-testing-stat__icon{width:30px;height:30px;color:var(--blue);background:#3a7bd514;border-radius:9px;flex:0 0 30px;place-items:center;display:grid}.sample-testing-stat__icon svg{width:16px;height:16px}.sample-testing-stat div{gap:1px;min-width:0;display:grid}.sample-testing-stat span:not(.sample-testing-stat__icon){color:var(--text-secondary);font-size:11.5px;font-weight:800;line-height:1.2}.sample-testing-stat strong{color:var(--text-primary);font-size:17px;font-weight:900;line-height:1}.sample-testing-stat small{color:color-mix(in srgb, var(--text-secondary) 78%, var(--text-primary));font-size:11.5px;font-weight:800}.sample-testing-filter-bar{background:#f8fbff94;border:1px solid #d8e2f0c7;border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;margin:10px 0 12px;padding:12px;display:grid}.sample-testing-filter-bar--omics{grid-template-columns:repeat(2,minmax(190px,.34fr)) minmax(360px,1fr)}.sample-testing-filter-bar label{flex-direction:column;gap:6px;min-width:0;display:flex}.sample-testing-filter-bar label>span{color:var(--text-secondary);font-size:11.5px;font-weight:900}.sample-testing-filter-bar input,.sample-testing-filter-bar select{border:1px solid var(--border);width:100%;height:38px;color:color-mix(in srgb, var(--text-secondary) 72%, var(--text-primary));background:#ffffffc7;border-radius:11px;outline:none;padding:0 12px;font-size:12.5px;font-weight:800}.sample-testing-filter-bar input:focus,.sample-testing-filter-bar select:focus{border-color:#3a7bd594;box-shadow:0 0 0 3px #3a7bd51c}.sample-testing-filter-bar .workspace-filter-row{margin-top:0}.sample-testing-patient-header{align-items:flex-start}.sample-testing-patient-select{background:#ffffffc7;border:1px solid #3a7bd52e;border-radius:12px;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:inline-flex;box-shadow:0 8px 20px #5278aa14}.sample-testing-patient-select span{color:var(--text-secondary);font-size:11.5px;font-weight:800}.sample-testing-patient-select select{min-width:130px;color:var(--text-primary);background:0 0;border:0;outline:none;font-size:12.5px;font-weight:900}.module-table-footer{color:var(--text-secondary);border-top:1px solid #e2eaf2b3;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding-top:10px;font-size:11.5px;display:flex}.module-pagination{align-items:center;gap:6px;display:flex}.module-pagination button{border:1px solid var(--border);min-width:28px;height:28px;color:var(--text-secondary);background:#ffffffc7;border-radius:9px;padding:0 9px;font-size:11px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.module-pagination button.is-active{color:var(--blue);background:var(--blue-light);border-color:#3a7bd53d}.module-pagination button:disabled{cursor:not-allowed;color:var(--text-muted);opacity:.6;background:#ffffff7a}.sample-code-catalog{border-top:1px solid #d8e2f0c7;margin-top:12px;padding-top:12px}.sample-code-catalog__header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.sample-code-catalog__header h3{color:var(--text-primary);font-size:13px;font-weight:800}.sample-code-catalog__header span{color:var(--text-muted);font-size:11px;font-weight:700}.sample-code-catalog__table{border:1px solid var(--border);background:#ffffff8c;border-radius:12px;max-height:248px;overflow:auto}.sample-code-catalog table{border-collapse:collapse;width:100%;min-width:760px;color:var(--text-secondary);font-size:10.5px}.sample-code-catalog th,.sample-code-catalog td{text-align:left;vertical-align:top;border-bottom:1px solid #d8e2f0c2;padding:8px 10px}.sample-code-catalog th{z-index:1;color:var(--text-primary);background:#f1f7fff0;font-weight:800;position:sticky;top:0}.sample-code-catalog td:first-child strong{min-width:36px;color:var(--blue);background:#3a7bd51a;border-radius:999px;justify-content:center;padding:3px 7px;display:inline-flex}.status-pill{border-radius:999px;align-items:center;min-height:23px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-pill--success{color:#228f66;background:#45b48b21}.status-pill--warning{color:#c77c13;background:#f59f2a24}.status-pill--danger{color:#dd5353;background:#dd53531f}.status-pill--info{color:var(--blue);background:#3a7bd51f}.clinical-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.clinical-section{border:1px solid var(--border);background:#ffffff8a;border-radius:14px;padding:12px}.clinical-section h3{color:var(--blue);font-size:12px;font-weight:800}.clinical-section__header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.clinical-section__header span{color:var(--text-muted);margin-top:4px;font-size:10px;font-weight:700;display:block}.clinical-section__actions{flex:none;gap:6px;display:flex}.clinical-field-table{background:#fff9;border:1px solid #e2eaf2c7;border-radius:12px;display:grid;overflow:hidden}.clinical-field-row{border-bottom:1px solid #e2eaf2b8;grid-template-columns:minmax(0,1fr) minmax(72px,.8fr);align-items:center;gap:10px;min-height:32px;padding:8px 10px;display:grid}.clinical-field-row:last-child{border-bottom:0}.clinical-field-row span{color:var(--text-muted);font-size:10.5px;font-weight:700}.clinical-field-row strong{color:var(--text-secondary);text-align:right;font-size:12px;font-weight:800}.clinical-field-row input{width:100%;min-width:0;height:28px;color:var(--text-primary);text-align:right;background:#ffffffeb;border:1px solid #3a7bd538;border-radius:8px;outline:none;padding:4px 8px;font-size:12px;font-weight:800}.clinical-field-row input:focus{border-color:#3a7bd5b8;box-shadow:0 0 0 3px #3a7bd51f}.quality-ring{background:radial-gradient(circle closest-side, #fff 68%, transparent 70%), conic-gradient(var(--teal) 0 92%, #3a7bd521 92% 100%);width:118px;height:118px;color:var(--text-primary);border-radius:50%;place-items:center;margin:6px auto 16px;display:grid}.quality-ring strong,.quality-ring span{grid-area:1/1}.quality-ring strong{margin-top:-12px;font-size:27px;font-weight:900}.quality-ring span{color:var(--text-muted);margin-top:34px;font-size:11px;font-weight:700}.alert-list{flex-direction:column;gap:9px;display:flex}.alert-row{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff85;border-radius:12px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:9px;font-size:11px;font-weight:700;display:grid}.alert-row svg{color:#f59f2a}.alert-row button{color:var(--blue);background:0 0;font-size:11px;font-weight:800}.simple-timeline{flex-direction:column;gap:0;display:flex}.simple-timeline__item{min-height:46px;color:var(--text-secondary);grid-template-columns:22px 1fr;gap:10px;display:grid;position:relative}.simple-timeline__item:before{content:"";background:#45b48b42;width:2px;position:absolute;top:20px;bottom:0;left:10px}.simple-timeline__item:last-child:before{display:none}.simple-timeline__item>span{border:5px solid var(--green);background:#fff;border-radius:50%;width:20px;height:20px;display:block}.simple-timeline__item.is-pending>span{border-color:var(--border)}.simple-timeline__item strong,.simple-timeline__item small{display:block}.simple-timeline__item strong{font-size:12px;font-weight:800}.simple-timeline__item small{color:var(--text-muted);margin-top:2px;font-size:10px;font-weight:600}.consent-workbench{background:linear-gradient(145deg,#fffffff2,#f6fbffc2),#ffffffc7;border-color:#c3d6f0e6;margin-bottom:14px;padding:20px}.consent-workbench__header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.consent-workbench__header h2{color:var(--text-primary);align-items:center;gap:10px;font-size:24px;font-weight:900;display:flex}.consent-workbench__header h2 svg{width:28px;height:28px;color:var(--blue)}.consent-workbench__badges{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.consent-workbench__badges span,.consent-study-link{min-height:38px;color:var(--text-secondary);box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #d8e2f0f2;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:800;display:inline-flex}.consent-workbench__badges strong{color:var(--blue-deep);font-size:14px;font-weight:900}.consent-workbench__badges svg,.consent-study-link svg{width:15px;height:15px}.consent-workbench__badges .is-warning{color:#b56d00;background:#fff9eedb;border-color:#f5a62338}.consent-workbench__badges .is-success{color:var(--green)}.consent-workbench__badges .consent-workbench__badge--patient,.consent-workbench__badges .consent-workbench__badge--hospital{color:var(--blue-deep);background:linear-gradient(135deg,#e8f2fff5,#ffffffdb);border-color:#3a7bd559;box-shadow:0 10px 22px #3a7bd524}.consent-workbench__badges .consent-workbench__badge--patient strong,.consent-workbench__badges .consent-workbench__badge--hospital strong{color:var(--blue-deep);font-size:15px}.consent-workbench__badges .consent-workbench__badge--patient svg,.consent-workbench__badges .consent-workbench__badge--hospital svg{color:var(--blue)}.consent-study-link{color:var(--text-primary);box-shadow:none;background:0 0;flex-shrink:0}.consent-workbench__main{grid-template-columns:210px minmax(0,1fr);gap:16px;display:grid}.consent-preview__nav{box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #d8e2f0eb;border-radius:14px;padding:14px}.consent-preview__nav h3{color:var(--text-primary);border-bottom:1px solid #e2eaf2e6;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:12px;font-size:15px;font-weight:900;display:flex}.consent-preview__nav h3 svg{width:18px;height:18px;color:var(--blue)}.consent-preview__nav button{width:100%;min-height:38px;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;margin-bottom:7px;padding:9px 12px;font-size:12px;font-weight:800;transition:color .15s,background .15s,border-color .15s;display:flex}.consent-preview__nav button svg{width:15px;height:15px}.consent-preview__nav button:last-child{margin-bottom:0}.consent-preview__nav button.is-active{color:var(--blue);background:#e8f2ffdb;border-color:#3a7bd559;box-shadow:0 8px 18px #3a7bd51a}.consent-overview{min-width:0;box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #d8e2f0eb;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);gap:18px;padding:20px;display:grid}.consent-overview__content header{color:var(--text-primary);align-items:center;gap:10px;margin-bottom:12px;display:flex}.consent-overview__content header svg{width:20px;height:20px;color:var(--blue)}.consent-overview__content h3{border-bottom:2px solid var(--blue);margin:0;padding-bottom:8px;font-size:16px;font-weight:900}.consent-overview__content header span{color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:800;display:block}.consent-section-body{scrollbar-color:#3a7bd547 transparent;max-height:380px;padding-right:8px;overflow-y:auto}.consent-section-block{margin-bottom:12px}.consent-section-block:last-child{margin-bottom:0}.consent-section-block h4{color:var(--text-primary);margin:0 0 8px;font-size:13px;font-weight:900}.consent-section-block p{color:color-mix(in srgb, var(--text-secondary) 68%, var(--text-primary));margin:0 0 9px;font-size:12.5px;font-weight:700;line-height:1.72}.consent-section-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.consent-section-list li{color:color-mix(in srgb, var(--text-secondary) 72%, var(--text-primary));background:#f7fbffc2;border:1px solid #d8e2f0e6;border-radius:10px;gap:8px;padding:9px 10px;font-size:12.5px;font-weight:800;line-height:1.55;display:flex}.consent-section-list--checklist li{background:#e8f2ffa8;border-color:#3a7bd52e;align-items:flex-start}.consent-section-list--checklist svg{width:15px;height:15px;color:var(--blue);flex:none;margin-top:2px}.consent-section-list--fields{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-section-list--fields li{min-height:38px;color:var(--text-primary);background:#ffffffb8;align-items:center}.consent-choice-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.consent-choice-buttons button{min-height:44px;color:var(--text-secondary);box-shadow:var(--shadow-sm);background:#ffffffbd;border:1px solid #d8e2f0f5;border-radius:12px;font-size:12px;font-weight:900}.consent-choice-buttons button.is-selected{color:#fff;background:linear-gradient(135deg, var(--blue), #1675d1);border-color:#3a7bd53d;box-shadow:0 12px 22px #3a7bd533}.consent-document-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.consent-document-actions a,.consent-document-actions button{min-height:42px;color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffffc2;border:1px solid #d8e2f0f5;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:11.5px;font-weight:900;text-decoration:none;display:inline-flex}.consent-document-actions button:first-child{color:var(--blue);background:#e8f2ffb8;border-color:#3a7bd538}.consent-document-actions svg{width:16px;height:16px}.consent-overview__facts p{color:var(--text-secondary);margin-bottom:12px;font-size:12px;font-weight:700;line-height:1.55}.consent-overview__facts strong{min-width:66px;color:var(--text-primary);font-weight:900;display:inline-block}.consent-preview__assurances{background:#f5faffc7;border:1px solid #3a7bd53d;border-radius:12px;gap:8px;margin-top:18px;padding:14px;display:grid}.consent-preview__assurances>strong{color:var(--blue);font-size:12px}.consent-assurance{color:var(--text-secondary);align-items:center;gap:9px;font-size:11.5px;font-weight:800;display:flex}.consent-assurance svg{width:15px;height:15px;color:var(--blue)}.consent-sign-card{background:#ffffffc7;border:1px solid #d8e2f0f0;border-radius:12px;align-self:center;padding:14px}.consent-sign-card div{border-bottom:1px solid #e2eaf2e6;grid-template-columns:24px 1fr;gap:2px 10px;padding:11px 0;display:grid}.consent-sign-card div:last-child{border-bottom:0}.consent-sign-card svg{width:18px;height:18px;color:var(--blue);grid-row:span 2}.consent-sign-card span{color:var(--text-muted);font-size:10.5px;font-weight:700}.consent-sign-card strong{color:var(--text-primary);font-size:12px;font-weight:900}.consent-visual-panel{background:linear-gradient(145deg,#f4f9fff0,#ffffffc7);border:1px solid #d8e2f0e6;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-end;gap:12px;min-height:430px;padding:16px;display:flex;position:relative;overflow:hidden}.consent-visual-panel:before{display:none}.consent-visual-panel button,.consent-visual-panel a{z-index:2;width:100%;min-height:36px;color:var(--blue);background:#ffffffd6;border:1px solid #3a7bd53d;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex;position:relative}.consent-visual-panel .consent-print-button{color:#fff;background:linear-gradient(135deg, var(--blue), #1675d1);border-color:#3a7bd533;border-radius:12px;min-height:44px;font-size:12px;box-shadow:0 12px 24px #3a7bd538}.consent-visual-panel .consent-print-button svg{width:16px;height:16px}.consent-pdf-preview{z-index:1;background:#fff;border:1px solid #3a7bd52e;border-radius:12px;flex:1;width:100%;min-height:360px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8,0 12px 26px #3a7bd51f}.consent-pdf-preview iframe{background:#fff;border:0;width:100%;height:100%}.consent-clipboard{background:#ffffffc2;border:7px solid #3a7bd538;border-radius:16px;width:92px;height:128px;padding:34px 18px 18px;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 16px 24px #3a7bd51a}.consent-clipboard:before{content:"";background:#3a7bd542;border-radius:10px 10px 6px 6px;width:36px;height:24px;position:absolute;top:-17px;left:26px}.consent-clipboard svg{width:18px;height:18px;color:var(--blue);position:absolute;top:34px;left:18px}.consent-clipboard span{background:#3a7bd524;border-radius:999px;height:7px;margin:10px 0 0 28px;display:block}.consent-workbench__bottom{grid-template-columns:minmax(280px,.95fr) minmax(0,1.3fr);gap:14px;margin-top:16px;display:grid}.consent-flow,.consent-preview__actions{min-width:0;box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #d8e2f0eb;border-radius:14px;padding:16px}.consent-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.consent-flow h3{color:var(--text-primary);grid-column:1/-1;margin:0 0 4px;font-size:14px;font-weight:900}.consent-flow div{color:var(--text-secondary);text-align:center;justify-items:center;gap:4px;font-weight:800;display:grid;position:relative}.consent-flow div:before{content:"";border-top:1px dashed #6a7fa059;width:100%;position:absolute;top:13px;left:-50%}.consent-flow div:first-of-type:before{display:none}.consent-flow strong{z-index:1;width:28px;height:28px;color:var(--text-primary);background:var(--blue-light);border-radius:50%;place-items:center;display:grid;position:relative}.consent-flow .is-complete strong{color:#fff;background:var(--blue)}.consent-flow .is-complete span{color:var(--text-primary)}.consent-flow .is-complete small{color:var(--text-secondary)}.consent-flow .is-active strong{box-shadow:0 0 0 5px #3a7bd51f}.consent-flow span{font-size:11px}.consent-flow small{color:var(--text-muted);font-size:10px}.consent-preview__actions{grid-template-columns:1.18fr repeat(4,1fr);gap:10px;display:grid}.consent-action{min-height:42px;color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #d8e2f0f2;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.consent-action svg{width:16px;height:16px}.consent-action--primary{color:#fff;background:linear-gradient(135deg, var(--blue), #126fc4);border-color:#3a7bd529;box-shadow:0 12px 22px #3a7bd538}.consent-preview__actions p{color:var(--text-muted);grid-column:1/-1;align-items:center;gap:8px;margin-top:2px;font-size:11px;font-weight:700;display:flex}.consent-preview__actions p svg{width:15px;height:15px;color:var(--blue)}.patient-snapshot{grid-template-columns:78px 1fr;align-items:center;gap:14px;display:grid}.patient-snapshot__avatar{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:24px;place-items:center;width:70px;height:70px;font-size:18px;font-weight:900;display:grid;box-shadow:0 12px 24px #3a7bd52e}.journey-lane{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.journey-step{min-height:104px;color:var(--text-secondary);background:#45b48b14;border:1px solid #45b48b42;border-radius:14px;padding:12px 10px;position:relative}.journey-step.is-upcoming{border-color:var(--border);background:#ffffff7a}.journey-step span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:26px;height:26px;margin-bottom:12px;font-size:11px;font-weight:900;display:grid}.journey-step.is-upcoming span{background:var(--text-muted)}.journey-step strong,.journey-step small{display:block}.journey-step strong{font-size:12px;font-weight:800}.journey-step small{color:var(--text-muted);margin-top:4px;font-size:10px;font-weight:700}.module-two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.result-overview{grid-template-columns:minmax(0,1.2fr) 150px minmax(160px,.8fr);align-items:center;gap:16px;display:grid}.result-overview p{color:var(--text-secondary);margin-top:8px;font-size:12px;font-weight:600;line-height:1.6}.dna-visual{min-height:130px;color:var(--blue);background:radial-gradient(circle,#3a7bd52e,#ffffff3d 62%);border-radius:20px;place-items:center;display:grid}.result-tags{flex-wrap:wrap;gap:8px;display:flex}.result-tags span{color:var(--blue);background:#3a7bd51a;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.report-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.report-card{flex-direction:column;gap:12px;display:flex}.report-card>svg{color:var(--blue)}.report-card strong{color:var(--text-primary);font-size:13px;font-weight:800}.report-card p{color:var(--text-muted);margin-top:5px;font-size:11px;font-weight:600}.pipeline-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.pipeline-step{border:1px solid var(--border);background:#ffffff85;border-radius:14px;padding:12px}.pipeline-step span{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:24px;height:24px;margin-bottom:10px;font-size:11px;font-weight:900;display:grid}.pipeline-step strong,.pipeline-step small{display:block}.pipeline-step strong{color:var(--text-primary);font-size:12px;font-weight:800}.pipeline-step small{color:var(--text-muted);margin-top:4px;font-size:10px;font-weight:700}.module-mini-trend svg{width:100%;height:120px}.module-mini-trend line{stroke:var(--bg)}.module-mini-trend path:first-of-type{fill:#2dbfb82e}.module-mini-trend path:last-of-type{fill:none;stroke:var(--teal);stroke-width:4px;stroke-linecap:round}.module-chart-axis{color:var(--text-muted);justify-content:space-between;font-size:10px;font-weight:700;display:flex}.quick-action-strip{flex-wrap:wrap;gap:10px;display:flex}.quick-action-strip button{border:1px solid var(--border);width:88px;min-height:76px;color:var(--text-secondary);background:#ffffff94;border-radius:14px;place-items:center;gap:6px;font-size:11px;font-weight:700;display:grid}@media (width<=1320px){.module-kpis,.patient-pick-list,.clinical-section-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-layout,.module-layout--clinical,.module-two-col,.result-overview{grid-template-columns:1fr}.journey-lane,.pipeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clinical-patient-finder__toolbar,.clinical-filter-grid,.clinical-patient-list{grid-template-columns:repeat(2,minmax(0,1fr))}.clinical-patient-finder__search,.clinical-recent-panel{grid-column:1/-1}.clinical-entry-summary{grid-template-columns:auto minmax(0,1fr)}.clinical-entry-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.clinical-entry-actions{grid-column:1/-1;justify-content:flex-start}.patient-header-card,.patient-snapshot{grid-template-columns:1fr}.patient-header-card .module-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.donut-stat{width:90px;height:90px;margin:12px auto;position:relative}.donut-stat svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-stat circle{fill:none;stroke-width:10px}.donut-stat__track{stroke:var(--bg)}.donut-stat__value{stroke-linecap:round}.donut-stat__center{flex-direction:column;justify-content:center;align-items:center;line-height:1.15;display:flex;position:absolute;inset:0}.donut-stat__center strong{font-size:22px;font-weight:800}.donut-stat__center span,.donut-stat__center small{color:var(--text-muted);font-size:10px}.donut-stat__center small{margin-top:2px;font-size:9px}.omics-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.omics-list__item{justify-content:space-between;align-items:center;gap:14px;display:flex}.omics-list__item>span{color:var(--text-muted);font-size:11px}.omics-list__item div{text-align:right}.omics-list__item strong{font-size:13px;display:block}.omics-list__item small{color:var(--green);margin-top:2px;font-size:10px;font-weight:600;display:block}.cohort-list__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:7px 0;display:flex}.cohort-list__row:last-child{border-bottom:0}.cohort-list__label{color:var(--text-muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.cohort-list__label svg{width:12px;height:12px}.cohort-list__row strong{color:var(--text-primary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.row-chevron{color:var(--text-muted);font-size:12px}.workflow-card__body{align-items:flex-start;gap:16px;display:flex}.workflow-list{flex:1;min-width:0}.workflow-list__row{grid-template-columns:20px minmax(108px,130px) minmax(110px,1fr) 96px 34px;align-items:center;gap:10px;padding:6px 0;display:grid}.workflow-list__icon{width:20px;height:20px;color:var(--text-muted)}.workflow-list__label{color:var(--text-secondary);white-space:nowrap;font-size:12px}.workflow-list__track{background:var(--bg);border-radius:999px;height:6px;overflow:hidden}.workflow-list__bar{width:var(--bar-width);border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--green));height:100%}.workflow-list__row--over .workflow-list__bar{background:linear-gradient(90deg, var(--green), #7dd3a8)}.workflow-list__row--low .workflow-list__bar{background:linear-gradient(90deg, var(--blue), #6faee8)}.workflow-list__row--empty .workflow-list__bar{background:0 0}.workflow-list__count{color:var(--text-muted);text-align:right;white-space:nowrap;font-size:11px}.workflow-list__percent{color:var(--text-primary);text-align:right;font-size:11px}.workflow-list__row--over .workflow-list__percent{color:var(--green)}.workflow-list__row--low .workflow-list__percent,.workflow-list__row--empty .workflow-list__percent{color:var(--text-muted)}.workflow-donut{flex:none;width:110px;height:110px;margin:0 auto;position:relative}.workflow-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.workflow-donut circle{fill:none;stroke-width:10px}.workflow-donut__track{stroke:var(--bg)}.workflow-donut__ghost{stroke:var(--teal);opacity:.22;stroke-linecap:round}.workflow-donut__value{stroke-linecap:round}.workflow-donut__center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.workflow-donut__center strong{font-size:24px;font-weight:800}.workflow-donut__center span{color:var(--text-muted);font-size:10px;line-height:1.25}.summary-badge{color:#fff;background:var(--tag-ai);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-flex}.summary-badge svg{width:11px;height:11px}.summary-list__row{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:7px 0;display:flex}.summary-list__row:last-child{border-bottom:0}.summary-list__marker{color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;font-size:10px;font-weight:800;display:grid}.summary-list__marker--green{background:var(--green)}.summary-list__marker--blue{background:var(--blue)}.summary-list__marker--orange{background:var(--orange)}.summary-list__marker--red{background:var(--red)}.summary-list__row p{color:var(--text-secondary);font-size:11.5px;line-height:1.5}.summary-list__row strong{color:var(--blue);font-weight:800}.quick-actions{align-items:center;gap:4px;padding:14px 18px;display:flex;overflow-x:auto}.quick-actions::-webkit-scrollbar{display:none}.quick-actions h2{color:var(--text-muted);white-space:nowrap;margin-right:8px;font-size:12px;font-weight:700}.quick-action{border-radius:var(--radius-sm);min-width:72px;color:var(--text-secondary);white-space:nowrap;background:0 0;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;font-size:10px;transition:background .15s;display:flex}.quick-action:hover{background:var(--blue-light)}.quick-action:disabled,.quick-actions__more:disabled{cursor:not-allowed;opacity:.48}.quick-action:disabled:hover{background:0 0}.quick-action__icon{border:1px solid var(--border);width:32px;height:32px;color:var(--blue);background:var(--bg);border-radius:8px;place-items:center;display:grid}.quick-action__icon svg{width:14px;height:14px}.quick-actions__separator{background:var(--border);flex:none;width:1px;height:32px;margin:0 4px}.quick-actions__more{color:var(--text-muted);background:0 0;padding:0 4px;font-size:24px;line-height:1}.module-context{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff94;border:1px solid #ffffffb8;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;display:flex}.module-context div{align-items:center;gap:10px;display:flex}.module-context span,.module-context p{color:var(--text-muted);font-size:11px}.module-context strong{color:var(--text-primary);font-size:13px}.patient-page{padding-bottom:28px}.patient-filter-chips{flex-wrap:wrap;gap:7px;padding-bottom:12px;display:flex}.patient-chip{background:#ffffffad;border-color:#e2eaf2db;min-height:30px;padding-inline:11px}.patient-chip.is-selected{color:var(--blue);background:#ffffffe0;border-color:#3a7bd538;box-shadow:0 8px 18px #3a7bd51f}.patient-kpis{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;margin-bottom:14px;display:grid}.patient-kpi{min-height:74px;padding:12px 14px}.patient-kpi .kpi-card__value{font-size:20px}.patient-kpi .kpi-card__label{margin-bottom:6px}.patient-kpi .kpi-card__delta{font-size:10.5px}.patient-kpi .kpi-card__icon,.patient-kpi .kpi-progress{width:36px;height:36px}.patient-main-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.patient-list-card,.cohort-side-card{-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);background:linear-gradient(152deg,#ffffffe6,#f0f7ffa8),#ffffff9e;border:1px solid #ffffffbd;border-radius:18px;box-shadow:0 20px 40px #3a528c1c,0 6px 16px #3a7bd514,inset 0 1px #ffffffc7}.patient-list-card{flex:none;min-width:0;padding:14px;overflow:hidden}.clinical-queue-card{flex-shrink:0;margin-bottom:16px;scroll-margin-top:16px}.clinical-capture-page>.patient-list-card{overflow:visible}.patient-list-card__header,.cohort-side-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.patient-list-card__header h2,.cohort-side-card__header h2{color:var(--text-primary);font-size:15px;font-weight:800}.patient-list-card__header p,.cohort-side-card__header span{color:var(--text-secondary);margin-top:4px;font-size:12px}.patient-controls{background:#f8fbff8a;border:1px solid #e2eaf2bd;border-radius:14px;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(112px,140px));gap:9px;margin-bottom:12px;padding:10px;display:grid}.patient-controls label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;display:flex}.patient-search div{position:relative}.patient-search input,.patient-controls select{border:1px solid var(--border);width:100%;height:34px;color:color-mix(in srgb, var(--text-secondary) 72%, var(--text-primary));background:#fffc;border-radius:9px;outline:0;font-size:12px;font-weight:700;box-shadow:inset 0 1px #ffffff9e}.patient-search input{padding:0 32px 0 10px}.patient-search svg{width:14px;height:14px;color:var(--text-muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.patient-controls select{padding:0 10px}.patient-editor-card{background:#f8fbffc7;border:1px solid #2dbfb847;border-radius:12px;margin:0 0 12px;padding:12px}.patient-editor-card header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.patient-editor-card header strong{color:var(--text-primary);font-size:13px;font-weight:800;display:block}.patient-editor-card header span{color:var(--text-muted);font-size:11px;font-weight:700}.patient-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.patient-editor-grid label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;display:flex}.patient-editor-grid input,.patient-editor-grid select{border:1px solid var(--border);width:100%;height:34px;color:var(--text-primary);background:#ffffffe0;border-radius:9px;outline:0;padding:0 10px;font-size:12px;font-weight:700}.patient-editor-note{grid-column:span 2}.patient-table-wrap{background:#ffffff57;border:1px solid #e2eaf4b8;border-radius:12px;width:100%;overflow-x:auto}.patient-table{border-collapse:collapse;background:#ffffff6b;width:100%;min-width:1040px}.patient-table th,.patient-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:8px 10px}.patient-table th{color:var(--text-primary);background:#f2f7fde6;font-size:12px;font-weight:800}.patient-table td{color:color-mix(in srgb, var(--text-secondary) 78%, var(--text-primary));font-size:12px;font-weight:700}.patient-table tbody tr:hover td{background:#e8f0fb57}.patient-table tbody tr:last-child td{border-bottom:0}.disease-pill,.omics-pill,.complete-pill{border-radius:999px;justify-content:center;align-items:center;min-width:54px;min-height:22px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.disease-pill{color:var(--blue);background:#3a7bd51a}.disease-pill--nonnpsle{color:#7b61d1;background:#7b61d11f}.disease-pill--nmosd,.disease-pill--ms{color:#1d8faf;background:#2dbfb821}.disease-pill--hc{color:var(--green);background:#4caf8824}.omics-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:6px}.omics-pill.is-complete{color:var(--green)}.omics-pill.is-running{color:var(--orange)}.omics-pill.is-collecting{color:var(--blue)}.complete-pill.is-high{color:var(--green);background:#4caf8824}.complete-pill.is-medium{color:#248f7e;background:#2dbfb821}.complete-pill.is-low{color:var(--orange);background:#f5a62329}.patient-note{text-overflow:ellipsis;max-width:180px;overflow:hidden}.patient-actions{gap:6px;display:flex}.patient-actions button{min-width:44px;color:var(--blue);box-shadow:var(--shadow-sm);background:#ffffffc2;border:1px solid #3a7bd538;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:800}.patient-actions button:hover{background:var(--blue-light)}.patient-list-card__footer{color:var(--text-secondary);border-top:1px solid #e2eaf2b3;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding-top:10px;font-size:11.5px;display:flex}.patient-pagination{align-items:center;gap:6px;display:flex}.patient-pagination button{border:1px solid var(--border);min-width:28px;height:28px;color:var(--text-secondary);background:#ffffffc7;border-radius:9px;padding:0 9px;font-size:11px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.patient-pagination button.is-active{color:var(--blue);background:var(--blue-light);border-color:#3a7bd53d}.patient-pagination button:disabled{cursor:not-allowed;color:var(--text-muted);opacity:.6;background:#ffffff7a}.patient-side-stack{flex-direction:column;gap:12px;display:flex}.cohort-side-card{padding:14px}.cohort-overview{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;display:grid}.cohort-donut{background:radial-gradient(circle, #fffffff5 0 48%, transparent 49%), conic-gradient(var(--blue) 0 43%, #7d71db 43% 59%, #35a7c8 59% 71%, #329bd3 71% 90%, var(--green) 90% 100%);width:88px;height:88px;box-shadow:inset 0 0 0 1px #ffffffa8, var(--shadow-sm);border-radius:50%;align-content:center;place-items:center;display:grid}.cohort-donut strong{color:var(--text-primary);font-size:18px;line-height:1}.cohort-donut span{color:var(--text-muted);margin-top:3px;font-size:9px}.cohort-legend{flex-direction:column;gap:7px;min-width:0;display:flex}.cohort-legend__row{color:var(--text-secondary);grid-template-columns:9px minmax(64px,1fr) auto;align-items:center;gap:6px;font-size:10px;display:grid}.cohort-legend__row strong{color:var(--text-secondary);white-space:nowrap;font-size:10px}.cohort-legend__dot{background:var(--blue);border-radius:2px;width:7px;height:7px}.cohort-legend__dot--non-npsle{background:#7d71db}.cohort-legend__dot--nmosd{background:#35a7c8}.cohort-legend__dot--ms{background:#329bd3}.cohort-legend__dot--hc{background:var(--green)}.cohort-mini-chart{min-height:132px}.cohort-mini-chart svg{width:100%;height:118px}.cohort-chart-axis{color:var(--text-muted);justify-content:space-between;margin-top:3px;font-size:9px;display:flex}.sample-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.sample-summary__item{border-right:1px solid var(--border);text-align:center;justify-items:center;gap:3px;padding:6px 4px;display:grid}.sample-summary__item:last-child{border-right:0}.sample-summary__item svg{width:18px;height:18px;color:var(--blue)}.sample-summary__item--blood svg{color:var(--red)}.sample-summary__item--csf svg{color:#329bd3}.sample-summary__item--kidney svg{color:#7b61d1}.sample-summary__item--sample svg{color:#c05621}.sample-summary__item--total svg{color:var(--green)}.sample-summary__item strong{color:var(--text-primary);font-size:12px}.sample-summary__item span{color:var(--text-secondary);font-size:10px;font-weight:700}.sample-summary__item small,.patient-update-time{color:var(--text-muted);font-size:9px}.patient-update-time{text-align:right}@media (width<=1320px){.patient-kpis{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.patient-main-grid{grid-template-columns:1fr}.patient-side-stack{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.patient-update-time{grid-column:1/-1}}@media (width<=1080px){.clinical-patient-finder__toolbar,.clinical-filter-grid,.clinical-patient-list{grid-template-columns:1fr}.clinical-patient-footer{flex-direction:column;align-items:flex-start}.patient-controls{grid-template-columns:1fr 1fr}.patient-search{grid-column:1/-1}.patient-side-stack{grid-template-columns:1fr}.patient-kpis{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}}.patient-journey-demo{gap:16px}.journey-demo-toolbar,.journey-demo-card{box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #b2c9e6b8;border-radius:8px}.journey-demo-toolbar{z-index:10;grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr);align-items:center;gap:12px;padding:14px;display:grid;position:relative}.journey-demo-patient{align-items:center;gap:12px;min-width:0;display:flex}.journey-demo-avatar{color:#fff;background:linear-gradient(135deg, var(--blue), var(--cyan));width:44px;height:44px;box-shadow:var(--shadow-sm);border-radius:12px;flex:none;place-items:center;font-weight:900;display:grid}.journey-demo-patient h2{color:var(--text-primary);overflow-wrap:anywhere;margin:0 0 3px;font-size:18px;line-height:1.18}.journey-demo-patient p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700;line-height:1.35}.journey-demo-patient-picker{gap:8px;min-width:0;display:grid;position:relative}.journey-demo-patient-picker__header{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.journey-demo-patient-picker__header div{gap:2px;min-width:0;display:grid}.journey-demo-patient-picker__header strong{color:var(--text-primary);font-size:13px;font-weight:900}.journey-demo-patient-picker__header span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11.5px;font-weight:800;line-height:1.35}.journey-demo-patient-clear{min-height:26px;color:var(--blue);background:#ffffffbd;border:1px solid #3a7bd52e;border-radius:8px;flex:none;padding:0 9px;font-size:11px;font-weight:900}.journey-demo-patient-search{width:100%;min-width:0}.journey-demo-patient-results{z-index:40;scrollbar-color:#3a7bd54d transparent;background:#fffffff5;border:1px solid #b2c9e6d1;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;max-height:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 14px 30px #5278aa2e}.journey-demo-patient-results button{min-width:0;min-height:46px;color:var(--text-primary);text-align:left;cursor:pointer;background:#f8fbffd1;border:1px solid #b2c9e6c7;border-radius:8px;align-content:center;gap:2px;padding:7px 9px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid}.journey-demo-patient-results button:hover,.journey-demo-patient-results button.is-active{background:#e8f2ffeb;border-color:#3a7bd56b;box-shadow:0 8px 18px #3a7bd51a}.journey-demo-patient-results button:active{transform:translateY(1px)}.journey-demo-patient-results strong,.journey-demo-patient-results span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.journey-demo-patient-results strong{font-size:12.5px;font-weight:900}.journey-demo-patient-results span{color:var(--text-secondary);font-size:10.5px;font-weight:800}.journey-demo-patient-empty{min-height:48px;color:var(--text-muted);border:1px dashed #b2c9e6c7;border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:grid}.journey-demo-categories,.journey-demo-actions,.journey-demo-legend{flex-wrap:wrap;gap:8px;display:flex}.journey-demo-category{border:1px solid var(--border);min-width:0;min-height:32px;color:var(--text-secondary);overflow-wrap:anywhere;background:#ffffffb3;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:800;line-height:1.15;display:inline-flex}.journey-demo-category svg{width:15px;height:15px}.journey-demo-category.is-active{box-shadow:inset 0 0 0 1px #ffffffb8}.journey-demo-actions{justify-content:flex-end;align-items:center}.journey-demo-search{border:1px solid var(--border);background:#ffffffd6;border-radius:10px;align-items:center;gap:8px;min-width:220px;height:36px;padding:0 10px;display:flex}.journey-demo-search svg{width:16px;height:16px;color:var(--text-muted)}.journey-demo-search input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;font-weight:700}.journey-demo-timeline-controls{grid-template-columns:minmax(0,1fr) minmax(280px,auto);align-items:center;gap:10px 14px;margin:-4px 0 14px;display:grid}.journey-demo-timeline-categories{min-width:0}.journey-demo-timeline-actions{justify-content:flex-end;min-width:0}.journey-demo-timeline-search{min-width:260px}.journey-demo-timeline-actions .module-link-button{white-space:normal;min-height:32px}.journey-demo-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;display:grid}.journey-demo-main{flex-direction:column;gap:16px;min-width:0;display:flex}.journey-demo-card{min-width:0;padding:16px}.journey-demo-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.journey-demo-card__header span{color:var(--text-muted);text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:900;display:block}.journey-demo-card__header h2{color:var(--text-primary);margin:0;font-size:18px}.journey-demo-card__header strong{min-width:32px;height:28px;color:var(--blue);background:var(--blue-light);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.journey-demo-timeline-scale{grid-template-columns:118px minmax(0,1fr);align-items:end;margin-bottom:6px;display:grid}.journey-demo-scale-axis{border-bottom:1px solid #cddaebb3;min-height:28px;position:relative}.journey-demo-scale-axis span{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:900;position:absolute;bottom:6px;transform:translate(-50%)}.journey-demo-timeline{padding-bottom:4px;overflow-x:auto}.journey-demo-track-row{border-top:1px solid #cddaebad;grid-template-columns:118px minmax(0,1fr);min-width:820px;display:grid}.journey-demo-track-row:last-child{border-bottom:1px solid #cddaebad}.journey-demo-track-label{color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;padding-right:14px;font-size:12px;font-weight:900;line-height:1.25;display:flex}.journey-demo-track-axis{background:linear-gradient(90deg,#2f6bff12 1px,#0000 1px) 0 0/25% 100%,linear-gradient(#f5f9fead,#fff3);min-height:70px;position:relative}.journey-demo-track-axis:before{content:"";border-top:1px dashed #809abe75;position:absolute;top:35px;left:0;right:0}.journey-demo-selected-date-line{z-index:0;background:#2f78ff8c;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 0 3px #2f78ff1a}.journey-demo-event-point,.journey-demo-event-range{z-index:1;font:inherit;cursor:pointer;border:1px solid;position:absolute;box-shadow:0 8px 18px #45659114}.journey-demo-event-point{border-radius:999px;width:22px;height:22px;padding:0;top:23px;transform:translate(-50%)}.journey-demo-event-point:after{content:"";border-radius:inherit;background:currentColor;position:absolute;inset:6px}.journey-demo-event-point span{z-index:3;width:108px;max-width:108px;color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;opacity:0;visibility:hidden;-webkit-line-clamp:2;background:#fffffff5;border:1px solid #cddaebc7;border-radius:8px;-webkit-box-orient:vertical;padding:3px 6px;font-size:10px;font-weight:800;line-height:1.2;transition:opacity .16s,visibility .16s;display:-webkit-box;position:absolute;top:28px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 18px #4565911a}.journey-demo-event-range{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:56px;height:28px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex;top:22px;overflow:hidden}.journey-demo-event-point.is-active,.journey-demo-event-range.is-active{z-index:3;outline-offset:2px;outline:2px solid #2f78ff8c}.journey-demo-event-point.is-hovered span{opacity:1;visibility:visible}.journey-demo-event-point.is-hovered,.journey-demo-event-range.is-hovered{transform:translate(-50%)scale(1.08);box-shadow:0 12px 24px #2f78ff29}.journey-demo-event-range.is-hovered{transform:scale(1.03)}.journey-demo-axis-labels{color:var(--text-muted);grid-template-columns:repeat(4,1fr);margin:8px 0 0 118px;font-size:10px;font-weight:800;display:grid}.journey-demo-date-picker{color:var(--text-secondary);flex-wrap:wrap;flex:none;align-items:center;gap:8px;font-size:11px;font-weight:900;line-height:1.2;display:flex}.journey-demo-date-picker input{border:1px solid var(--border);height:32px;color:var(--text-primary);background:#ffffffdb;border-radius:8px;padding:0 8px;font-weight:800}.journey-demo-trend-header{align-items:center;margin-bottom:10px}.journey-demo-trend-title{flex:auto;min-width:0}.journey-demo-trend-title-row{align-items:center;gap:12px;min-width:0;display:flex}.journey-demo-trend-title-row h2{flex:none;font-size:18px;line-height:1.15}.journey-demo-metrics{flex-wrap:wrap;flex:0 auto;gap:6px;min-width:0;margin-bottom:0;display:flex}.journey-demo-metric{border:1px solid color-mix(in srgb, var(--metric-color,#2f6bff) 30%, #cddaebb3);background:color-mix(in srgb, var(--metric-color,#2f6bff) 5%, #ffffffdb);border-radius:999px;flex:0 auto;align-items:center;gap:6px;min-height:26px;padding:3px 8px;display:flex}.journey-demo-metric span{color:color-mix(in srgb, var(--metric-color,#2f6bff) 76%, var(--text-secondary));text-transform:none;white-space:normal;overflow-wrap:anywhere;margin-bottom:0;font-size:8px;font-weight:900;line-height:1.1;display:inline-flex}.journey-demo-metric strong{min-width:0;height:auto;color:var(--metric-color,var(--text-primary));white-space:nowrap;background:0 0;border-radius:0;justify-content:flex-start;align-items:baseline;gap:3px;padding:0;font-size:14px;line-height:1.1;display:flex}.journey-demo-metric small{color:color-mix(in srgb, var(--metric-color,#2f6bff) 72%, var(--text-muted));font-size:8px}.journey-demo-chart{background:linear-gradient(#ffffffd6,#eff7ff9e);border:1px solid #cddaebad;border-radius:8px;position:relative;overflow-x:auto}.journey-demo-chart svg{cursor:crosshair;width:100%;min-width:820px;height:246px;display:block}.journey-demo-chart-grid line{stroke:#95abca42;stroke-width:1px;stroke-dasharray:4 4}.journey-demo-chart-grid .journey-demo-chart-axis{stroke:#2f78ff6b;stroke-dasharray:none}.journey-demo-chart-y-label{fill:var(--text-secondary);font-size:12px;font-weight:900}.journey-demo-chart text{fill:var(--text-muted);font-size:11px;font-weight:800}.journey-demo-trend-line{transition:opacity .18s,filter .18s}.journey-demo-trend-line.is-muted{opacity:.3}.journey-demo-trend-line.is-active{filter:drop-shadow(0 8px 12px #2f4e8c24)}.journey-demo-trend-line polyline:not(.journey-demo-trend-hit){filter:drop-shadow(0 8px 10px #2f4e8c14);transition:stroke-width .18s,filter .18s}.journey-demo-trend-line.is-active polyline:not(.journey-demo-trend-hit){stroke-width:3.8px;filter:drop-shadow(0 10px 14px #2f4e8c33)}.journey-demo-trend-hit{pointer-events:stroke}.journey-demo-chart-point-value{paint-order:stroke;pointer-events:none;stroke:#fffffff0;stroke-linejoin:round;stroke-width:4px;font-size:11px;font-weight:900;transition:font-size .18s,opacity .18s}.journey-demo-trend-line.is-active .journey-demo-chart-point-value,.journey-demo-chart-point-value.is-selected{font-size:12px}.journey-demo-chart-inline-label{paint-order:stroke;stroke:#ffffffeb;stroke-width:5px;font-size:11px;font-weight:900}.journey-demo-chart-hit{cursor:pointer;outline:none}.journey-demo-chart-selected-date line{stroke:#2f78ffb8;stroke-width:2px;stroke-dasharray:4 4}.journey-demo-chart-selected-date rect{fill:#2f78ff;opacity:.9}.journey-demo-chart-selected-date text{fill:#fff;font-size:10px;font-weight:900}.journey-demo-legend{margin-top:10px}.journey-demo-legend span{color:var(--text-secondary);align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.journey-demo-legend svg{flex:none;width:34px;height:10px}.journey-demo-legend i{border-radius:999px;width:8px;height:8px}.journey-demo-legend-selected{background:#2f78ffc7}.journey-demo-chart-legend{pointer-events:auto}.journey-demo-chart-legend-item{cursor:pointer;transition:opacity .18s}.journey-demo-chart-legend-item.is-muted{opacity:.3}.journey-demo-chart-legend text{fill:var(--text-secondary);font-size:11px;font-weight:900}.journey-demo-brush{background:linear-gradient(#f8fcfff5,#ebf5ffc7);border:1px solid #99bbff6b;border-radius:12px;margin-top:16px;padding:26px 18px 30px;position:relative;box-shadow:inset 0 1px #ffffffd1,0 12px 28px #2f78ff14}.journey-demo-brush--timeline{border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin:0 0 0 117px;padding:8px 0 12px;box-shadow:inset 0 1px #ffffff9e,0 8px 18px #2f78ff0f}.journey-demo-brush--chart{width:auto;min-width:702px;box-shadow:none;background:0 0;border:0;border-radius:0 0 8px 8px;margin:-4px 0 8px 118px;padding:8px 0 12px}.journey-demo-brush--timeline .journey-demo-brush__date-pills,.journey-demo-brush--chart .journey-demo-brush__date-pills{height:22px}.journey-demo-brush--timeline .journey-demo-brush__date-pills span,.journey-demo-brush--chart .journey-demo-brush__date-pills span{height:22px;font-size:10px}.journey-demo-brush--chart .journey-demo-brush__date-pills span:first-child{transform:translate(0)}.journey-demo-brush--chart .journey-demo-brush__date-pills span:last-child{transform:translate(-100%)}.journey-demo-brush--timeline .journey-demo-brush__rail,.journey-demo-brush--chart .journey-demo-brush__rail{height:26px}.journey-demo-brush--timeline .journey-demo-brush__rail:before,.journey-demo-brush--chart .journey-demo-brush__rail:before,.journey-demo-brush--timeline .journey-demo-brush__selection,.journey-demo-brush--chart .journey-demo-brush__selection{height:6px;top:9px}.journey-demo-brush--timeline .journey-demo-brush__ticks,.journey-demo-brush--chart .journey-demo-brush__ticks{top:20px}.journey-demo-brush--timeline input[type=range]::-webkit-slider-runnable-track{height:28px}.journey-demo-brush--chart input[type=range]::-webkit-slider-runnable-track{height:28px}.journey-demo-brush--timeline input[type=range]::-webkit-slider-thumb{border-width:3px;width:20px;height:20px;margin-top:4px}.journey-demo-brush--chart input[type=range]::-webkit-slider-thumb{border-width:3px;width:20px;height:20px;margin-top:4px}.journey-demo-brush--timeline input[type=range]::-moz-range-track{height:28px}.journey-demo-brush--chart input[type=range]::-moz-range-track{height:28px}.journey-demo-brush--timeline input[type=range]::-moz-range-thumb{border-width:3px;width:20px;height:20px}.journey-demo-brush--chart input[type=range]::-moz-range-thumb{border-width:3px;width:20px;height:20px}.journey-demo-brush--timeline .journey-demo-brush__labels,.journey-demo-brush--chart .journey-demo-brush__labels{height:16px;margin-top:0;font-size:11px}.journey-demo-brush__date-pills{height:28px;margin-bottom:2px;position:relative}.journey-demo-brush__date-pills span{color:#123a72;white-space:nowrap;background:#fffffff2;border:1px solid #2f78ff47;border-radius:999px;justify-content:center;align-items:center;min-width:92px;height:26px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 8px 18px #2f78ff1f}.journey-demo-brush__rail{height:36px;position:relative}.journey-demo-brush__rail:before{content:"";background:linear-gradient(90deg,#2b395429,#2b395414);border-radius:999px;height:8px;position:absolute;top:12px;left:0;right:0}.journey-demo-brush__selection{background:linear-gradient(90deg,#2f78ff,#7a63ff);border-radius:999px;height:8px;position:absolute;top:12px;box-shadow:0 0 0 1px #2f78ff24,0 10px 20px #5e64ff33}.journey-demo-brush__ticks{pointer-events:none;height:10px;position:absolute;top:25px;left:0;right:0}.journey-demo-brush__ticks i{background:#536c9457;width:1px;height:6px;position:absolute;top:0;transform:translate(-50%)}.journey-demo-brush__ticks i.is-major{background:#2f78ff80;height:10px}.journey-demo-brush input[type=range]{appearance:none;pointer-events:none;z-index:2;background:0 0;width:100%;margin:0;position:absolute;inset:0}.journey-demo-brush input[type=range]::-webkit-slider-runnable-track{background:0 0;height:36px}.journey-demo-brush input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;cursor:ew-resize;background:#fff;border:4px solid #7463ff;border-radius:999px;width:24px;height:24px;margin-top:4px;box-shadow:0 0 0 4px #7463ff1f,0 8px 20px #515eff4d}.journey-demo-brush input[type=range]::-moz-range-track{background:0 0;height:36px}.journey-demo-brush input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;background:#fff;border:4px solid #7463ff;border-radius:999px;width:24px;height:24px;box-shadow:0 0 0 4px #7463ff1f,0 8px 20px #515eff4d}.journey-demo-brush__labels{height:20px;color:var(--text-secondary);margin-top:2px;font-size:12px;font-weight:900;position:relative}.journey-demo-brush__labels span{position:absolute;top:0;transform:translate(-50%)}.journey-demo-stream{position:sticky;top:16px}.journey-demo-selected-event{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:12px}.journey-demo-selected-event span,.journey-demo-selected-event small{font-size:10px;font-weight:900}.journey-demo-selected-event h3{color:var(--text-primary);overflow-wrap:anywhere;margin:5px 0 6px;font-size:17px;line-height:1.25}.journey-demo-selected-event p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 8px;font-size:12px;font-weight:700;line-height:1.65}.journey-demo-selected-event small{color:var(--text-muted)}.journey-demo-stream-list{flex-direction:column;gap:8px;display:flex}.journey-demo-stream-item{color:inherit;text-align:left;background:#ffffffa8;border:1px solid #cddaebc7;border-radius:8px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:10px;display:grid}.journey-demo-stream-item>span:not(.journey-demo-stream-icon){min-width:0}.journey-demo-stream-item.is-active{background:var(--blue-light);border-color:#2f78ff6b}.journey-demo-stream-item.is-hovered{border-color:#2f78ff52;box-shadow:0 8px 18px #2f78ff1a}.journey-demo-stream-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.journey-demo-stream-icon svg,.journey-demo-stream-item>svg{width:16px;height:16px}.journey-demo-stream-item strong{color:var(--text-primary);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.journey-demo-stream-item small{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10px;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.journey-demo-pagination{grid-template-columns:minmax(76px,92px) minmax(0,1fr) minmax(76px,92px);align-items:center;gap:8px;width:100%;margin-top:12px;display:grid}.journey-demo-pagination button{height:auto;min-height:34px;color:var(--blue);white-space:normal;background:#eef6ffe6;border:1px solid #2f78ff40;border-radius:8px;padding:5px 8px;font-weight:900;line-height:1.15}.journey-demo-pagination button:disabled{color:#6b7fa38f;cursor:not-allowed;background:#f6f9fdcc}.journey-demo-pagination div{min-width:0;color:var(--text-secondary);justify-items:center;gap:2px;font-size:10px;font-weight:900;display:grid}.journey-demo-pagination strong{color:var(--text-primary);font-size:12px}@media (width<=1320px){.journey-demo-toolbar,.journey-demo-grid{grid-template-columns:1fr}.journey-demo-actions{justify-content:flex-start}.journey-demo-timeline-controls{grid-template-columns:1fr}.journey-demo-stream{position:static}}@media (width<=860px){.journey-demo-trend-title-row{flex-direction:column;align-items:flex-start;gap:8px}.journey-demo-metrics{flex-wrap:wrap;width:100%}.journey-demo-metric{flex-basis:auto}.journey-demo-toolbar{padding:12px}.journey-demo-track-row{grid-template-columns:96px minmax(0,1fr)}.journey-demo-brush--timeline{margin-left:95px}.journey-demo-brush--chart{min-width:724px;margin-left:96px}.journey-demo-axis-labels{margin-left:96px}}.system-management-page{gap:12px}.system-management-hero{background:linear-gradient(100deg, #ffffffdb, #e8f6ffc2), var(--surface);justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.system-management-title span{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:900;display:block}.system-management-title h2{color:var(--text-primary);margin-top:2px;font-size:24px;font-weight:900;line-height:1.05}.system-management-title p{color:var(--text-secondary);margin-top:5px;font-size:12px;font-weight:700}.system-study-select{border:1px solid var(--border);background:#ffffffa8;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:248px;padding:8px 10px;display:grid}.system-study-select span{color:var(--text-secondary);font-size:12px;font-weight:800}.system-study-select select{min-width:0;height:32px;color:var(--text-primary);background:#f7fbffe0;border:1px solid #3a7bd52e;border-radius:8px;padding:0 10px;font-weight:800}.system-management-top-grid,.system-management-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:stretch;gap:12px;display:grid}.system-summary-card,.system-actions-card{min-height:82px;padding:10px 14px}.system-overview-card{padding:10px 14px}.system-overview-header{align-items:flex-start;margin-bottom:8px}.system-overview-header>div:first-child span{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:900;display:block}.system-overview-header h2{color:var(--text-primary);margin-top:2px;font-size:20px;line-height:1.08}.system-overview-header p{color:var(--text-secondary);margin-top:2px;font-size:11px;font-weight:800}.system-overview-actions{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:8px;min-width:min(620px,54%);display:grid}.system-overview-card .system-summary-grid{grid-template-columns:repeat(4,minmax(104px,132px));justify-content:start;gap:6px}.system-overview-card .system-summary-grid div{background:#f7faffc2;border:1px solid #cddaebb8;border-radius:8px;min-height:46px;padding:6px 10px}.system-overview-card .system-summary-grid div:first-child{border-left:1px solid #cddaebb8;padding-left:10px}.system-summary-card .module-card__header{margin-bottom:7px}.system-summary-card .module-card__header h2{font-size:17px}.system-summary-card .module-card__header span{font-size:10px}.system-summary-grid{grid-template-columns:1.25fr repeat(3,1fr);gap:0;display:grid}.system-summary-grid div{border-left:1px solid #cddaebb3;min-width:0;padding:2px 12px}.system-summary-grid div:first-child{border-left:0;padding-left:0}.system-summary-grid span,.system-summary-grid small{color:var(--text-muted);font-size:9px;font-weight:800;display:block}.system-summary-grid strong{color:var(--text-primary);align-items:baseline;margin-top:2px;font-size:18px;font-weight:900;line-height:1;display:inline-flex}.system-summary-grid small{color:#23885f;margin-left:6px;display:inline-block}.system-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.system-search-box{border:1px solid var(--border);background:#fffc;border-radius:10px;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:7px;min-width:0;height:34px;padding:0 10px;display:grid}.system-search-box svg{color:var(--text-muted)}.system-search-box input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;font-size:12px;font-weight:800}.system-search-box input::placeholder{color:var(--text-muted)}.system-actions-card .module-primary-button,.system-overview-actions .module-primary-button{white-space:nowrap;min-width:108px;min-height:34px;padding:5px 12px;line-height:1.12}.system-actions-card .module-primary-button span,.system-overview-actions .module-primary-button span{opacity:.82;font-size:9px;font-weight:800}.system-global-actions{color:var(--text-secondary);align-items:center;gap:7px;margin-top:5px;font-size:10px;font-weight:800;display:flex}.system-global-actions svg{width:14px;height:14px}.system-global-actions strong{color:var(--text-muted);font-weight:700}.system-account-table,.system-field-table{min-width:760px}.system-crf-version-panel{background:#f7faffc2;border:1px solid #cddaebd6;border-radius:8px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:grid}.system-crf-version-panel>div:first-child span{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:900;display:block}.system-crf-version-panel>div:first-child strong{color:var(--text-primary);margin-top:3px;font-size:13px;font-weight:900;display:block}.system-crf-version-list,.system-crf-version-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.system-crf-version-actions{justify-content:flex-end}.system-crf-version-actions .module-primary-button,.system-crf-version-actions .module-link-button{white-space:nowrap;min-height:34px}.system-crf-approval-panel{background:#f8fafce0;border:1px solid #2563eb24;border-radius:8px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.system-crf-approval-panel>div:first-child,.system-crf-approval-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-crf-approval-panel strong{color:var(--text-primary);font-size:12px}.system-crf-approval-panel span{color:var(--text-secondary);font-size:11px;font-weight:800}.system-crf-approval-list{gap:6px;display:grid}.system-crf-approval-row{background:#ffffffb8;border:1px solid #cddaebb8;border-radius:8px;min-width:0;padding:8px}.system-crf-approval-row>span:first-child,.system-crf-approval-row>strong{overflow-wrap:anywhere}.system-crf-execution-report{flex:100%;gap:6px;min-width:0;padding-top:4px;display:grid}.system-crf-execution-report ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.system-crf-execution-report li{background:#f8fbffcc;border:1px solid #e2eaf2b8;border-radius:7px;grid-template-columns:minmax(128px,auto) minmax(72px,auto) minmax(120px,auto) minmax(180px,1fr);align-items:center;gap:7px;min-width:0;padding:6px 8px;display:grid}.system-crf-execution-report time,.system-crf-execution-report small{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;font-size:10.5px;font-weight:700}.system-audit-diff-row{background:#ffffffb8;border:1px solid #cddaebb8;border-radius:8px;gap:8px;padding:9px;display:grid}.system-audit-diff-row>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-audit-diff-row time{color:var(--text-muted);font-size:10.5px;font-weight:800}.system-audit-diff-row ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.system-audit-diff-row li{background:#f8fbffe6;border-radius:7px;grid-template-columns:minmax(96px,.8fr) minmax(120px,1fr) 20px minmax(120px,1fr);align-items:center;gap:8px;min-width:0;padding:6px 8px;display:grid}.system-audit-diff-row li span,.system-audit-diff-row li small{overflow-wrap:anywhere;min-width:0}.system-audit-diff-row li span{color:var(--text-primary);font-size:11px;font-weight:900}.system-audit-diff-row li small{color:var(--text-muted);font-size:10.5px;font-weight:700}.quality-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.quality-insight-card{background:#eff6ffc7;border:1px solid #1f7ae029;border-radius:8px;gap:4px;padding:12px;display:grid}.quality-insight-card--warning{background:#fffbebc7;border-color:#d9770638}.quality-insight-card--danger{background:#fef2f2c7;border-color:#dc262638}.quality-insight-card span,.quality-insight-card small{color:var(--text-secondary);font-size:11px;font-weight:800}.quality-insight-card strong{color:var(--text-primary);font-size:22px;font-weight:900}.quality-issue-list{gap:7px;margin-bottom:14px;display:grid}.quality-issue-row{background:#ffffffc2;border:1px solid #cddaebb8;border-radius:8px;grid-template-columns:minmax(82px,auto) minmax(88px,auto) minmax(130px,auto) minmax(0,1fr) minmax(96px,auto);align-items:center;gap:9px;padding:8px 10px;display:grid}.quality-issue-row strong,.quality-issue-row span,.quality-issue-row small{overflow-wrap:anywhere;min-width:0}.quality-issue-row strong{color:var(--text-primary);font-size:12px}.quality-issue-row small{color:var(--text-muted);font-size:11px;font-weight:700}.system-crf-execution-report strong{overflow-wrap:anywhere}.system-crf-migration-preview{color:var(--text-secondary);background:#3a7bd50f;border:1px solid #3a7bd529;border-radius:8px;grid-template-columns:1fr;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:11px;font-weight:800;display:grid}.system-crf-migration-summary,.system-crf-migration-details{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-crf-migration-preview strong,.system-crf-migration-details strong{color:var(--text-primary);font-size:12px}.system-crf-migration-preview span,.system-crf-migration-details span{background:#ffffffbd;border-radius:999px;align-items:center;min-height:22px;padding:2px 8px;display:inline-flex}.system-crf-migration-details span{border:1px solid #cddaebb3;border-radius:7px;line-height:1.25}.system-field-editor{background:#f7faffcc;border:1px solid #cddaebd6;border-radius:8px;grid-template-columns:minmax(150px,.8fr) minmax(160px,1fr) minmax(120px,.7fr) minmax(180px,1fr);align-items:end;gap:8px;margin-bottom:10px;padding:10px;display:grid}.system-field-editor__title{min-width:0}.system-field-editor__title span,.system-field-editor label span{color:var(--text-muted);text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.system-field-editor__title strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;display:block;overflow:hidden}.system-field-editor label{min-width:0}.system-field-editor input,.system-field-editor select{border:1px solid var(--border);width:100%;min-width:0;height:34px;color:var(--text-primary);background:#ffffffeb;border-radius:8px;padding:0 10px;font-size:12px;font-weight:800}.system-field-editor__actions{grid-column:1/-1;justify-content:flex-end;gap:6px;display:flex}.system-field-editor__actions .module-primary-button,.system-field-editor__actions .module-link-button{white-space:nowrap;min-height:34px}.system-role-pill{border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:10px;font-weight:900;display:inline-flex}.system-role-pill--info{color:#1f70cc;background:#3a7bd524}.system-role-pill--success{color:#23885f;background:#45b48b26}.system-role-pill--admin{color:#7b55d7;background:#7b55d726}.system-permission-wrap{flex:1;max-height:none}.system-permission-card{flex-direction:column;flex:1;display:flex}.system-permission-table{min-width:780px}.system-permission-table th,.system-permission-table td{text-align:center;white-space:normal;line-height:1.28}.system-permission-table th:first-child,.system-permission-table td:first-child{text-align:left;min-width:258px;font-weight:800}.system-permission-check{place-items:center;width:22px;height:22px;display:inline-grid}.system-permission-check input{opacity:0;pointer-events:none;position:absolute}.system-permission-check span{background:#ffffffd1;border:2px solid #95abca7a;border-radius:4px;width:16px;height:16px;display:block}.system-permission-check input:checked+span{background:linear-gradient(135deg,#2f78ff,#186bc2);border-color:#256fd2e6;box-shadow:inset 0 0 0 2px #ffffffdb}.system-guide-content{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;display:grid}.system-guide-content ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.system-guide-content li{color:var(--text-secondary);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;font-size:12px;font-weight:800;line-height:1.45;display:grid}.system-guide-content li svg{color:var(--text-muted)}.system-guide-visual{background:linear-gradient(#f2f7ffdb,#ffffffa3);border:1px solid #cddaebb8;border-radius:8px;height:112px;position:relative;overflow:hidden}.system-guide-visual span{background:var(--teal);border-radius:50%;width:10px;height:10px;position:absolute;top:18px}.system-guide-visual span:first-child{background:var(--blue);left:34px}.system-guide-visual span:nth-child(2){left:92px}.system-guide-visual span:nth-child(3){background:var(--green);left:154px}.system-guide-visual i{background:linear-gradient(135deg,#3a7bd52e,#83d2b72e);border:1px solid #3a7bd52e;border-radius:50% 45% 42% 44%;height:40px;position:absolute;bottom:18px;left:28px;right:26px}@media (width<=1280px){.system-management-top-grid,.system-management-grid,.system-guide-content{grid-template-columns:1fr}.system-guide-visual{display:none}.system-field-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.system-crf-version-panel{grid-template-columns:1fr}.system-field-editor__actions{grid-column:1/-1}}@media (width<=860px){.system-management-hero,.system-search-row,.system-overview-header,.system-overview-actions{grid-template-columns:1fr;display:grid}.system-overview-actions,.system-study-select{width:100%;min-width:0}.system-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-summary-grid div{border:1px solid #cddaeb94;border-radius:8px;padding:8px}.system-field-editor{grid-template-columns:1fr}.system-field-editor__actions,.system-crf-version-actions{justify-content:stretch}.system-field-editor__actions .module-primary-button,.system-field-editor__actions .module-link-button,.system-crf-version-actions .module-primary-button,.system-crf-version-actions .module-link-button{flex:1}}.study-badge,.role-badge,.consent-status-chip,.status-pill,.disease-pill,.omics-pill,.complete-pill,.system-role-pill{line-height:1.15}.module-primary-button,.module-link-button,.clinical-filter-select,.clinical-ghost-button,.consent-action,.consent-document-actions a,.consent-document-actions button,.patient-actions button,.patient-pagination button,.module-pagination button,.journey-demo-category,.journey-demo-pagination button{-webkit-user-select:none;user-select:none}.clinical-filter-select:hover,.clinical-ghost-button:hover,.consent-action:hover,.consent-document-actions a:hover,.consent-document-actions button:hover,.patient-actions button:hover,.patient-pagination button:not(:disabled):hover,.module-pagination button:not(:disabled):hover,.journey-demo-category:hover,.journey-demo-pagination button:not(:disabled):hover{border-color:#3a7bd552;box-shadow:0 8px 18px #3a7bd514}.module-primary-button:active,.module-link-button:active,.clinical-ghost-button:active,.consent-action:active,.patient-actions button:active,.patient-pagination button:active,.module-pagination button:active,.journey-demo-category:active{transform:translateY(1px)}.module-primary-button:disabled,.module-link-button:disabled,.clinical-ghost-button:disabled,.patient-actions button:disabled{cursor:not-allowed;opacity:.58;transform:none}.workspace-search svg,.patient-search svg,.system-search-box svg,.journey-demo-search svg{stroke-width:2.2px}.module-kpi__icon svg,.clinical-entry-summary__icon svg,.sample-testing-stat__icon svg,.quick-action__icon svg,.journey-demo-stream-icon svg{stroke-width:2.1px;width:16px;height:16px}.module-card__header,.patient-list-card__header,.cohort-side-card__header,.journey-demo-card__header,.system-overview-header,.consent-workbench__header{min-width:0}.module-card__header h2,.patient-list-card__header h2,.cohort-side-card__header h2,.journey-demo-card__header h2,.system-overview-header h2,.system-management-title h2{letter-spacing:0;overflow-wrap:anywhere}.module-card__header span,.patient-list-card__header p,.cohort-side-card__header span,.system-overview-header p,.system-management-title p{line-height:1.45}.patient-table th,.patient-table td,.module-table th,.module-table td,.sample-code-catalog th,.sample-code-catalog td,.system-permission-table th,.system-permission-table td{line-height:1.35}.patient-table th,.module-table th,.sample-code-catalog th{letter-spacing:0}.patient-table tbody tr,.module-table tbody tr,.clinical-patient-table tbody tr{transition:background .14s}.patient-search input:focus,.patient-controls select:focus,.workspace-search:focus-within,.system-search-box:focus-within,.journey-demo-search:focus-within,.journey-demo-date-picker input:focus{border-color:#3a7bd58a;box-shadow:0 0 0 3px #3a7bd51a}.workspace-search:focus-within,.system-search-box:focus-within,.journey-demo-search:focus-within{background:#fffffff0}.quick-action,.sample-summary__item,.cohort-list__row,.workflow-list__row,.summary-list__row{line-height:1.25}.quick-action:hover .quick-action__icon{background:#e8f2ffeb;border-color:#3a7bd542}.quick-action:disabled:hover .quick-action__icon{border-color:var(--border);background:var(--bg)}.journey-demo-card,.journey-demo-toolbar{-webkit-backdrop-filter:blur(12px)saturate(130%);backdrop-filter:blur(12px)saturate(130%)}.journey-demo-event-point,.journey-demo-event-range,.journey-demo-stream-item{transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}.journey-demo-stream-item:hover{background:#f5faffe0;border-color:#2f78ff52}@media (width<=640px){.patient-table-wrap,.module-table-wrap{overflow:visible}.patient-table,.module-table{border-spacing:0 10px;border-collapse:separate;min-width:0}.patient-table thead,.module-table thead{display:none}.patient-table tbody,.module-table tbody{gap:10px;display:grid}.patient-table tbody tr,.module-table tbody tr{border:1px solid var(--border);background:#ffffffe6;border-radius:8px;gap:8px;padding:12px;display:grid;box-shadow:0 10px 20px #1834600f}.patient-table tbody tr td,.module-table tbody tr td{white-space:normal;text-align:right;border-bottom:0;justify-content:space-between;align-items:flex-start;gap:12px;min-height:0;padding:0;display:flex}.patient-table tbody tr td:before,.module-table tbody tr td:before{content:attr(data-label);color:var(--text-muted);text-align:left;flex:0 0 34%;font-size:11px;font-weight:800}.module-table tbody tr td:before{content:"字段"}.module-table tbody tr td:first-child:before{content:"ID"}.module-table tbody tr td:last-child:before{content:"操作"}.patient-table tbody tr td:first-child,.module-table tbody tr td:first-child{color:var(--text-primary);text-align:left;border-bottom:1px solid #bac9dd8c;align-items:center;padding-bottom:8px;font-weight:800}.patient-table tbody tr td:first-child:before,.module-table tbody tr td:first-child:before{color:var(--blue)}.patient-actions,.module-table-actions{flex-wrap:wrap;justify-content:flex-end}.quality-insight-grid,.quality-issue-row,.consent-approval-row,.system-audit-diff-row li{grid-template-columns:1fr}.quality-issue-row,.consent-approval-row,.system-audit-diff-row li{align-items:flex-start}}
