:root{--page: #f4f5f8;--header: #191c2d;--card: #ffffff;--border: #e5e7eb;--primary: #8a00e8;--primary-dark: #7200c2;--text: #171827;--muted: #687080;--shadow: 0 10px 30px rgba(23, 24, 39, .05);--radius: 16px;--content: 1120px;color:var(--text);background:var(--page);font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text)}button,input{font:inherit;color:inherit}a{color:#31456e;text-underline-offset:.15em}.app-header{background:var(--header);color:#fff}.app-header-inner,.column{width:min(var(--content),calc(100% - 48px));margin:0 auto}.app-header-inner{min-height:68px;display:flex;align-items:center;gap:.85rem}.header-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.lang-switch{display:flex;border:1px solid rgba(255,255,255,.28);border-radius:999px;overflow:hidden}.lang-switch button{background:transparent;color:#fff;border:0;min-height:36px;padding:.3rem .65rem;cursor:pointer}.lang-switch button[aria-pressed=true]{background:#ffffff29}.header-logout{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;min-height:36px;padding:.3rem .8rem;cursor:pointer}.brand{color:#fff;text-decoration:none;font-size:1.15rem;font-weight:680;letter-spacing:-.01em}.brand-sub{color:#ffffffb8;font-size:.92rem}.canvas{padding:1.75rem 0 3rem}.column{display:grid;gap:1rem;min-width:0}.column>*{min-width:0}.panel,.card,.report-sheet,.specimen-card,.inner-panel,.summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:1.35rem 1.4rem 1.1rem}.panel-head,.page-head,.event-head,.patient-row,.section-head,.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}h1{font-size:1.85rem;line-height:1.15;font-weight:680;letter-spacing:-.02em;margin:0}h2{font-size:1.15rem;font-weight:680;margin:0}h3{font-size:1rem;font-weight:670;margin:0}.lede,.muted,.quiet{color:var(--muted)}.lede{margin:.3rem 0 0}.page-kicker{margin:0 0 .2rem;font-size:.95rem}.search{display:flex;align-items:center;gap:.45rem;min-width:min(280px,100%);height:42px;padding:0 .8rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--muted)}.search input{border:0;outline:none;width:100%;background:transparent;color:var(--text)}.toolbar{display:flex;align-items:center;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.45rem .95rem;border-radius:11px;border:1px solid transparent;text-decoration:none;cursor:pointer;font-weight:640}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.primary:disabled{opacity:.55;cursor:default}.button.ghost{background:#fff;color:var(--text);border-color:var(--border)}.button.quiet{background:transparent;color:#31456e;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline;text-underline-offset:.15em;white-space:nowrap}.patient-list{display:grid;margin-top:.4rem}.patient-row{align-items:center;padding:1rem 0;border-top:1px solid var(--border)}.patient-row:first-child{border-top:0}.identity{display:flex;gap:.9rem;align-items:center;min-width:0}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e7f0ff;color:#3c6fbe;flex:none}.identity h2{font-size:1.05rem}.badges,.meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.meta{color:var(--muted);font-size:.92rem;justify-content:flex-end}.meta span:not(:last-child):after{content:"·";margin-left:.45rem;color:#c5cad3}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .55rem;font-size:.75rem;font-weight:650;background:#f3f4f6;color:#3f4654}.badge.ok{background:#e8f7ee;color:#1d7a45}.badge.review{background:#fff4e5;color:#9a5b12}.badge.alert{background:#fdecec;color:#a33b3b}.badge.info{background:#e8f1ff;color:#2d5f9a}.badge.category{background:#f6e8f8;color:#6d3a78}.patient-id{margin:.15rem 0 0;font-size:.82rem;color:var(--muted);word-break:break-all}.summary-grid,.stat-grid,.marker-grid{display:grid;gap:.8rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{padding:1rem 1.05rem;display:flex;gap:.8rem;align-items:center}.icon-tile{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}.icon-tile.blue{background:#e7f0ff;color:#3c6fbe}.icon-tile.green{background:#e8f7ee;color:#1d7a45}.icon-tile.amber{background:#fff4e5;color:#9a5b12}.icon-tile.violet{background:#f6e8ff;color:#7a3db5}.summary-card p,.stat p{margin:.1rem 0 0;font-size:1.25rem;font-weight:700}.summary-card span,.stat span{color:var(--muted);font-size:.84rem}.back{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);text-decoration:none;font-weight:600}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.stat{background:#f7f8fb;border-radius:12px;padding:.85rem .9rem}.banner{margin-top:1rem;padding:.75rem .9rem;border-radius:12px;background:#f7f8fb;color:var(--muted);font-size:.92rem}.overview{padding:1.2rem 1.3rem 1.15rem}.report-card{padding:1rem 1.1rem .95rem;display:grid;gap:.75rem}.report-main{display:grid;gap:.35rem;min-width:0}.date-line{display:flex;align-items:center;gap:.45rem}.scan-lines,.specimen-lines{margin:0;padding:0;list-style:none;display:grid;gap:.2rem}.specimen-line{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:baseline}.specimen-line strong{font-weight:670}.marker-grid{grid-template-columns:1fr 1fr}.marker-chip{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;border-radius:10px;background:#f7f8fb}.marker-chip span{color:var(--muted)}.report-sheet{padding:1.25rem 1.3rem 1.4rem;display:grid;gap:.9rem}.inner-panel,.specimen-card{box-shadow:none;padding:.95rem 1rem}.specimen-card{display:grid;gap:.75rem}.nested{display:grid;gap:.35rem;padding-top:.7rem;border-top:1px solid var(--border)}.fact{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stack{display:grid;gap:.15rem}.review-panel{background:#fffaf3;border:1px solid #f3e2c8;border-radius:14px;padding:.9rem 1rem}.review-panel h2{font-size:1rem}.review-panel ul{margin:.45rem 0 0;padding-left:1.1rem}.technical{color:var(--muted);font-size:.88rem}.technical ul{margin:.4rem 0 0}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#191c2d59;display:flex;z-index:20}.modal-backdrop{align-items:center;justify-content:center;padding:1rem}.modal{width:min(440px,100%);background:#fff;border-radius:16px;padding:1.2rem;display:grid;gap:.8rem;box-shadow:var(--shadow)}label{display:grid;gap:.3rem;font-size:.92rem}.login-card{display:grid;gap:.85rem;max-width:420px}.login-card .button.primary{justify-self:start}.modal input,.upload-box input:not([type=file]),.login-card input{height:42px;border:1px solid var(--border);border-radius:11px;padding:0 .75rem;width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.drawer-backdrop{justify-content:flex-end}.drawer{width:min(460px,100%);height:100%;background:#fff;padding:1.25rem;overflow:auto;box-shadow:-12px 0 30px #17182714}.quote-card{margin:.7rem 0;padding:.85rem .9rem;border-radius:12px;background:#f4f5f8;color:var(--text)}.upload-box{display:grid;gap:.45rem;justify-items:end}.error{color:#a33b3b;margin:0}.report-card:focus{outline:2px solid #d7c4ef;outline-offset:3px}.h-scroll{overflow-x:auto;max-width:100%}.chronology{display:flex;gap:.7rem;padding-bottom:.2rem}.chrono-point{display:grid;justify-items:start;gap:.12rem;min-width:138px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.chrono-point strong{font-size:.92rem}.chrono-point>span{color:var(--muted);font-size:.82rem}.chrono-dot{width:8px;height:8px;border-radius:99px;background:var(--header)}.chrono-dot.molecular{background:var(--primary)}.chrono-point.review{background:#fffaf3}table.lite{width:max-content;min-width:100%;border-collapse:collapse;font-size:.92rem}table.lite th,table.lite td{text-align:left;vertical-align:top;padding:.55rem .7rem;border-bottom:1px solid var(--border);font-weight:500}table.lite thead th{color:var(--muted);font-size:.78rem;font-weight:650}table.lite thead th span,table.lite td div{display:block}table.lite tbody th{white-space:nowrap;font-weight:670}.text-button{border:0;padding:0;background:transparent;color:var(--primary);cursor:pointer;text-align:left}.badge.nondiagnostic{background:#f3f4f6;color:#4b5568;border:1px dotted #c5cad3}.node-panel{display:grid;gap:.55rem}.node-track{width:min(220px,100%);height:6px;border-radius:99px;background:#eef0f4;overflow:hidden}.node-track span{display:block;height:100%;background:var(--header)}.chrono-point{flex:0 0 auto}.measure-tabs,.marker-select{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.15rem}.marker-select{margin-top:.75rem}.measure-tabs button,.marker-select button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.28rem .75rem;color:var(--muted);cursor:pointer;white-space:nowrap}.measure-tabs button[aria-selected=true],.marker-select button[aria-pressed=true]{color:var(--primary);border-color:#e7d4f8;background:#fbf7ff}.chart-scroll{overflow-x:auto;max-width:100%;margin-top:.7rem}.chart-surface{position:relative;height:260px}.chart-surface svg{display:block;width:100%;height:260px}.chart-tip{position:absolute;z-index:2;min-width:150px;max-width:240px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:var(--shadow);font-size:.78rem;pointer-events:none;display:grid;gap:.08rem}.chart-legend{display:flex;gap:1rem;margin-top:.35rem;color:var(--muted);font-size:.82rem}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:-1px}.swatch.examined{background:#d9dce3}.swatch.positive{background:var(--header)}.measure-note{margin:.45rem 0 0;color:var(--muted);font-size:.9rem}.overview>.muted{margin:.35rem 0 .75rem}@media(max-width:900px){.stat-grid{grid-template-columns:1fr 1fr}.patient-row,.page-head,.event-head{align-items:stretch}.meta{justify-content:flex-start}}@media(max-width:720px){.app-header-inner,.column{width:min(var(--content),calc(100% - 28px))}.summary-grid,.marker-grid,.stat-grid{grid-template-columns:1fr}.patient-row,.page-head,.event-head,.toolbar,.upload-box,.modal-actions{flex-direction:column}.button.primary,.reports-action{width:100%}table.lite.stack{width:100%;min-width:0}table.lite.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}table.lite.stack,table.lite.stack tbody,table.lite.stack tr,table.lite.stack td{display:block;width:100%}table.lite.stack tr{border:1px solid var(--border);border-radius:12px;margin:0 0 .65rem;padding:.35rem 0}table.lite.stack td{border:0}table.lite.stack td:before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem}.upload-box{justify-items:stretch}.drawer{width:100%}}
