:root{color:#173047;background:#f4f6f8;font-family:Aptos,IBM Plex Sans,Segoe UI,sans-serif;--ink: #173047;--ink-soft: #64798b;--surface: #ffffff;--surface-muted: #f7fafc;--border: rgba(23, 48, 71, .12);--line: rgba(23, 48, 71, .09);--brand-deep: #15496a;--brand-mid: #2a7aa0;--brand-soft: #edf4f7;--brand-wash: #f7fbfd;--success: #13724f;--warning: #8a6000;--danger: #a13333;--shadow-soft: 0 1px 2px rgba(23, 48, 71, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;color:var(--ink);background:linear-gradient(180deg,#f8fafc,#f2f5f8)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.shell{min-height:100vh}.shell--minimal{padding:.85rem}.workspace-header,.workspace-nav,.card,.frame-stage{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-soft)}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .95rem}.workspace-header__brand{display:flex;align-items:center;gap:.75rem;min-width:0}.workspace-header__logo{width:auto;height:46px;flex:0 0 auto}.login-brand{width:auto;height:88px;flex:0 0 auto}.workspace-header__title{margin:0;font-size:clamp(1.2rem,1.7vw,1.6rem);line-height:1.08}.workspace-header__meta,.helper,.section-card__description{margin:0;color:var(--ink-soft);line-height:1.45}.workspace-header__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.workspace-switcher{display:grid;gap:.3rem;min-width:180px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-switcher span,.field span,.field__label,.workspace-header__metric span,.facts-card span,.summary-tile span{font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--ink-soft)}.workspace-switcher select,.field input,.field select{width:100%;min-height:40px;padding:.55rem .75rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink)}.workspace-switcher select:focus,.field input:focus,.field select:focus{outline:none;border-color:#2a7aa066;box-shadow:0 0 0 4px #2a7aa01f}.workspace-header__metric,.facts-card,.summary-tile{display:grid;gap:.2rem;min-width:120px;padding:.65rem .8rem;border-radius:10px;background:var(--surface-muted);border:1px solid var(--line)}.workspace-header__metric strong,.facts-card strong,.summary-tile strong{font-size:1rem;line-height:1.1}.workspace-nav{display:flex;gap:.35rem;margin-top:.7rem;padding:.35rem;overflow-x:auto}.workspace-tab{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.55rem .9rem;border-radius:10px;color:var(--ink-soft);font-weight:600;white-space:nowrap}.workspace-tab:hover{background:var(--brand-soft);color:var(--ink)}.workspace-tab--active{background:var(--brand-deep);color:#fff}.content{display:grid;gap:.75rem}.content--workspace{margin-top:.75rem}.card{padding:1rem}.card--compact{padding:.8rem .95rem}.card--alert{border-color:#a133332e;background:#fff9f9}.section-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.section-card__copy{min-width:0}.eyebrow,.section-card__eyebrow{margin:0 0 .35rem;color:var(--brand-mid);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.section-card__header h2,.login-card__brand h1{margin:0;font-size:1.18rem;line-height:1.1}.section-card__actions,.button-row,.report-toolbar{display:flex;gap:.75rem;flex-wrap:wrap}.grid{display:grid;gap:1rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;padding:.55rem .9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.button-primary{border:1px solid var(--brand-deep);background:var(--brand-deep);color:#fff}.button-primary:hover{background:#123b56}.button-primary:disabled,.button-secondary:disabled{opacity:.6;cursor:default}.button-secondary{border:1px solid var(--border);background:#fff;color:var(--ink)}.button-secondary:hover{border-color:#2a7aa047;background:var(--brand-wash)}.button-secondary--compact{min-height:34px;padding:.35rem .7rem;border-radius:8px;font-size:.86rem}.status-good{color:var(--success)}.status-warn{color:var(--warning)}.status-bad{color:var(--danger)}.frame-stage{padding:.3rem;overflow:hidden}.workspace-frame{width:100%;border:0;border-radius:10px;background:#fff}.workspace-frame--full{min-height:calc(100vh - 178px)}.workspace-frame--qc{min-height:560px}.report-stack,.access-stack,.upload-stack{display:grid;gap:1rem}.results-shell{display:grid;gap:1rem;grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.results-shell--stacked{grid-template-columns:minmax(0,1fr)}.results-sidebar,.results-main{min-width:0}.results-sidebar,.results-main{display:grid;gap:1rem}.run-list{display:grid;gap:.65rem}.run-list--horizontal{grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);overflow-x:auto;overflow-y:hidden;padding-bottom:.2rem;align-items:stretch}.run-list__item{display:grid;gap:.35rem;width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);color:var(--ink);text-align:left}.run-list--horizontal .run-list__item{min-height:100%}.run-list__item:hover{border-color:#2a7aa047;background:var(--brand-wash)}.run-list__item--active{border-color:#2a7aa052;background:#2a7aa01f}.run-list__row,.run-list__meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.run-list__row strong{font-size:.94rem;line-height:1.2}.run-list__meta{color:var(--ink-soft);font-size:.8rem}.run-list__id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.78rem;color:var(--ink-soft)}.run-list--dense .run-list__item{gap:.25rem}.upload-controls{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:.9rem}.upload-confirm{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1rem;color:var(--ink)}.upload-confirm input{margin-top:.2rem}.upload-confirm>span{display:grid;gap:.2rem}.upload-confirm__detail{color:var(--ink-soft);font-size:.88rem;line-height:1.45;font-weight:500}.upload-confirm--error{padding:.75rem .85rem;border:1px solid rgba(161,51,51,.22);border-radius:12px;background:#fff7f7}.upload-table-input{width:100%;min-height:38px;padding:.5rem .65rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink)}.upload-table-input:focus{outline:none;border-color:#2a7aa066;box-shadow:0 0 0 4px #2a7aa01f}.upload-inline-stack{display:grid;gap:.15rem}.operator-chip-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.operator-chip-row--summary{margin-top:0;margin-bottom:.85rem}.operator-chip-row--tight{gap:.28rem}.operator-chip{display:inline-flex;align-items:center;min-height:24px;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--line);font-size:.72rem;font-weight:700;white-space:nowrap}.operator-chip--neutral{background:#eef5f8;border-color:#cfe0e8;color:#30556a}.operator-chip--good{background:#e7f3ea;border-color:#bad7c2;color:#225a3f}.operator-chip--warn{background:#fff3d8;border-color:#f2d796;color:#8b6208}.upload-helper-ticket{margin-top:1rem;display:grid;gap:.45rem;background:var(--brand-wash)}.run-plot-grid{display:grid;gap:1rem;margin-top:1rem}.run-plot-grid--patients{margin-top:1rem}.run-plot-card{display:grid;gap:.9rem}.run-plot-pair{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.run-plot-figure{margin:0;display:grid;gap:.45rem}.run-plot-figure img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-soft)}.run-plot-figure figcaption{color:var(--ink-soft);font-size:.88rem;font-weight:700}.result-tab-row{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.result-tab{min-height:38px;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-weight:700}.result-tab--active{border-color:#2a7aa052;background:#2a7aa01f;color:var(--brand-deep)}.access-tab-row,.run-browser-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end}.run-filter-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:.9rem}.run-browser-toolbar{justify-content:space-between;margin-bottom:.75rem}.run-browser-toolbar__search{min-width:min(320px,100%);flex:1 1 280px}.progress-strip{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:.85rem}.progress-step{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.62rem .75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);color:var(--ink-soft)}.progress-step__dot{width:10px;height:10px;border-radius:999px;background:#30556a3d}.progress-step--complete{border-color:#bad7c2;background:#eef8f1;color:#225a3f}.progress-step--complete .progress-step__dot{background:#2f7a55}.progress-step--current{border-color:#2a7aa047;background:var(--brand-wash);color:var(--ink)}.progress-step--current .progress-step__dot{background:var(--brand-mid)}.upload-readiness-note{margin-bottom:.85rem;gap:.3rem;background:#fbfcfe}.upload-readiness-note--good{border-color:#13724f24;background:#f4fbf7}.result-pane{display:grid;gap:.95rem;margin-top:1rem}.result-subsection{display:grid;gap:.85rem}.interp-chip{display:inline-flex;align-items:center;min-height:28px;padding:.1rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.78rem;font-weight:800;white-space:nowrap}.interp-chip--low{background:#e8f6ef;border-color:#c3e7d2;color:#1d6b45}.interp-chip--moderate{background:#fff3d8;border-color:#f4d895;color:#8a5a08}.interp-chip--high{background:#fde8e6;border-color:#f2c4bd;color:#8a2f22}.interp-chip--neutral{background:#eef5f8;border-color:#cfe0e8;color:#30556a}.summary-grid{display:grid;gap:.75rem}.summary-grid--tight{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.table-wrap{overflow-x:auto}.table{width:100%;min-width:720px;border-collapse:collapse}.table th,.table td{padding:.65rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{color:var(--ink-soft);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.facts-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-submit-row{align-items:end}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(440px,100%);display:grid;gap:1.2rem;padding:1.25rem;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.login-card__brand{display:grid;justify-items:center;gap:.8rem;text-align:center}.login-card--loading{width:min(420px,100%);justify-items:center;text-align:center}.login-shell--minimal{background:radial-gradient(circle at top,rgba(42,122,160,.16),transparent 36%),linear-gradient(180deg,#f8fafc,#eef4f8)}.login-card--minimal{width:min(560px,100%)}.clinic-choice-stack,.clinic-choice-copy{display:grid}.clinic-choice-stack{gap:.75rem}.clinic-choice-copy{gap:.22rem}.clinic-choice-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.clinic-choice{display:grid;gap:.3rem;padding:.9rem .95rem;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#ffffff 0%,var(--brand-wash) 100%);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.clinic-choice:hover{border-color:#2a7aa04d;background:linear-gradient(180deg,#fff,#eef7fb)}.clinic-choice strong{font-size:.96rem;line-height:1.15}.clinic-choice span{color:var(--ink-soft);font-size:.84rem;line-height:1.35}.clinic-choice--selected{border-color:#2a7aa06b;box-shadow:0 0 0 4px #2a7aa01f;background:linear-gradient(180deg,#fff,#e9f4fa)}.field textarea{width:100%;min-height:220px;padding:.8rem .9rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink);resize:vertical}.field textarea:focus{outline:none;border-color:#2a7aa066;box-shadow:0 0 0 4px #2a7aa01f}.checkbox-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox-row{display:flex;align-items:center;gap:.6rem;min-height:42px;padding:.65rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted);font-weight:600}.checkbox-row input{width:18px;height:18px}.checkbox-row--inline{min-height:0;width:fit-content;padding:0;border:0;background:transparent}@media (max-width: 960px){.workspace-header{flex-direction:column;align-items:flex-start}.workspace-header__actions{width:100%;justify-content:flex-start}.workspace-frame--full{min-height:calc(100vh - 250px)}}@media (max-width: 720px){.shell--minimal{padding:.75rem}.workspace-header,.workspace-nav,.card,.frame-stage,.login-card{border-radius:12px}.workspace-header__logo{height:52px}.login-brand{height:72px}.section-card__header{flex-direction:column}.table{min-width:620px}}.workspace-header__metric--compact{min-width:108px}.access-stack .section-card__description,.report-stack .section-card__description{max-width:62ch}.table--compact{min-width:640px}.access-stack--admin{gap:.8rem}.access-stack--admin .card{padding:.9rem .95rem}.access-stack--admin .section-card__header{margin-bottom:.6rem}.access-stack--admin .section-card__header h2{font-size:1.08rem}.access-stack--admin .section-card__description{max-width:58ch;font-size:.84rem}.access-stack--admin .facts-card{padding:.58rem .7rem}.access-stack--admin .facts-card strong{font-size:.95rem}.facts-grid--dense{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.admin-clinic-selector{min-width:250px;max-width:320px}.admin-top-grid{display:grid;gap:.7rem}.admin-users-stack{display:grid;gap:.75rem}.admin-users-table .table{min-width:720px}.admin-drawer-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end}.admin-drawer-backdrop{flex:1 1 auto;border:0;background:#1730473d;cursor:pointer}.admin-drawer{width:min(460px,100%);min-height:100vh;padding:1rem;background:#fff;border-left:1px solid var(--border);box-shadow:-12px 0 32px #17304724;overflow-y:auto}.admin-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:.9rem}.admin-drawer__header h3{margin:0;font-size:1.05rem;line-height:1.15}.admin-drawer__header .helper{margin-top:.2rem;max-width:34ch}.admin-drawer__mode-switch{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.85rem}.admin-drawer__body{gap:.85rem}.admin-drawer__actions{justify-content:flex-end}.invite-link-card{background:var(--brand-wash)}.audit-summary-cell{display:grid;gap:.45rem}.details-panel--inline{background:#fff}.details-panel--inline>summary{padding:.55rem .7rem;font-size:.85rem}.json-block{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.45}.qc-stack{display:grid;gap:.6rem}.qc-stack .card{padding:.88rem .92rem}.qc-stack .section-card__header{margin-bottom:.65rem}.qc-stack .section-card__header h2{font-size:1.06rem}.qc-stack .helper{font-size:.8rem}.qc-toolbar{display:grid;gap:.6rem;grid-template-columns:minmax(220px,320px) 1fr;align-items:end}.qc-toolbar--lean{grid-template-columns:minmax(220px,320px) 1fr;align-items:center}.qc-toolbar__lot{min-width:0}.qc-status-strip,.qc-mini-grid,.qc-evaluation-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.qc-status-strip--lean{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-start}.qc-kpi,.qc-evaluation-card{display:grid;gap:.2rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}.qc-kpi strong,.qc-evaluation-card strong{font-size:.98rem;line-height:1.15}.qc-evaluation-card small,.qc-run-time .helper{color:var(--ink-soft);font-size:.78rem}.qc-operator-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--line)}.qc-operator-meta strong{display:block;margin-bottom:.15rem}.qc-operator-meta__status{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.qc-status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:.08rem .48rem;border-radius:999px;border:1px solid var(--line);font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.qc-status-chip--good{color:#225a3f;background:#e7f3ea;border-color:#bad7c2}.qc-status-chip--warn{color:#8b6208;background:#fff3d8;border-color:#f2d796}.qc-status-chip--bad{color:#8a2f22;background:#fde8e6;border-color:#f2c4bd}.qc-status-chip--neutral{color:#30556a;background:#eef5f8;border-color:#cfe0e8}.qc-chart-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.qc-chart-stack{display:grid;gap:.65rem}.qc-chart-panel{display:grid;gap:.45rem;padding:.68rem .72rem .64rem;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fbfdff,#fff)}.qc-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.qc-chart-head h3{margin:0;font-size:.88rem;line-height:1.1}.qc-chart-head p{margin:.12rem 0 0;color:var(--ink-soft);font-size:.74rem}.qc-chart-count{color:var(--ink-soft);font-size:.74rem;font-weight:600;white-space:nowrap}.qc-chart-shell{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#f7fafcf5,#fff)}.qc-chart{display:block;width:100%;min-width:0;height:auto}.qc-chart-empty{min-height:168px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:10px;background:linear-gradient(180deg,#f7fafceb,#fff)}.qc-frame-stage{padding:0}.qc-run-summary{display:flex;align-items:center}.qc-chart-meta{display:flex;gap:.7rem;flex-wrap:wrap;color:var(--ink-soft);font-size:.72rem}.qc-inline-stat{display:inline-flex;align-items:center;min-height:26px;padding:.08rem .48rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:#fff;font-size:.72rem;font-weight:600}.qc-operator-copy{margin:.1rem 0 0}.qc-actions{gap:.45rem}.qc-westgard-strip{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:.15rem;padding-top:.65rem;border-top:1px solid var(--line)}.qc-westgard-strip--compact{grid-template-columns:repeat(2,minmax(150px,1fr))}.qc-westgard-item{display:grid;gap:.15rem}.qc-westgard-item span,.qc-chart-meta strong{color:var(--ink-soft)}.qc-westgard-item strong{font-size:.88rem;line-height:1.15}.qc-westgard-item small{color:var(--ink-soft);font-size:.72rem;line-height:1.35}.qc-workbench{display:grid;gap:.9rem;grid-template-columns:minmax(560px,760px) minmax(320px,1fr);align-items:start}.qc-workbench__frame,.qc-workbench__insights{min-width:0}.qc-workbench__frame{max-width:760px}.qc-workbench__insights{display:grid;gap:.7rem;align-content:start}.qc-run-time{display:grid;gap:.15rem}.details-panel{border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}.details-panel>summary{cursor:pointer;list-style:none;padding:.8rem .9rem;font-weight:700}.details-panel>summary::-webkit-details-marker{display:none}.details-panel__body{padding:0 .9rem .9rem;border-top:1px solid var(--line)}.qc-run-note{margin-bottom:.65rem;background:#fbfcfe}@media (max-width: 900px){.qc-toolbar,.qc-operator-meta{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.qc-status-strip--lean,.qc-operator-meta__status{justify-content:flex-start}.admin-drawer{width:min(100%,440px)}.qc-chart-meta{flex-direction:column;gap:.25rem}}@media (max-width: 1280px){.qc-workbench{grid-template-columns:minmax(0,1fr)}.qc-workbench__insights{order:-1}.results-shell{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.qc-westgard-strip--compact{grid-template-columns:minmax(0,1fr)}}
