:root{--navy: #0b2b5c;--navy-dark: #07204a;--navy-soft: #123a76;--red: #e41b23;--red-dark: #b8141b;--red-soft: #fdecec;--canvas: #f2f5f8;--panel: #ffffff;--panel-alt: #f8fafc;--line: #dde3ea;--line-soft: #eceff4;--ink: #16202e;--ink-2: #48566a;--ink-3: #7d8a9a;--ok: #1e7a46;--ok-bg: #edf7f1;--ok-line: #b6dcc5;--warn: #a8690a;--warn-bg: #fdf6e9;--warn-line: #e8d2a4;--bad: #c02026;--bad-bg: #fdeded;--bad-line: #f0bcbd;--info: #1b5e9e;--info-bg: #eef4fa;--info-line: #bdd3e8;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter", "Segoe UI", Roboto, -apple-system, Arial, sans-serif;--r: 8px;--r-sm: 5px;--shadow: 0 1px 2px rgba(16, 32, 54, .06), 0 1px 3px rgba(16, 32, 54, .04);--shadow-lg: 0 4px 16px rgba(16, 32, 54, .1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:13px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}::selection{background:#fcd9da}:focus-visible{outline:2px solid var(--info);outline-offset:1px}.signin{min-height:100%;display:grid;place-items:center;background:radial-gradient(1100px 520px at 50% -180px,#17417f,#0b2b5c 55%,#071e42);padding:24px}.signin-card{width:420px;background:var(--panel);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 48px #030e2161}.signin-head{padding:22px 24px 18px;border-bottom:3px solid var(--red)}.signin-head h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.2px;color:var(--navy)}.signin-head p{margin:4px 0 0;font-size:12px;color:var(--ink-3)}.signin-body{padding:20px 24px 24px}.signin-body label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-3);margin:14px 0 5px}.signin-body select,.signin-body input{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font:13px var(--sans);color:var(--ink)}.signin-body select:focus,.signin-body input:focus{border-color:var(--navy-soft)}.signin-note{font-size:11.5px;color:var(--ink-3);margin:16px 0 0;line-height:1.55;border-top:1px solid var(--line-soft);padding-top:14px}.shell{display:grid;grid-template-rows:auto auto auto 1fr;height:100%}.topbar{background:var(--navy);border-bottom:3px solid var(--red);color:#fff;display:flex;align-items:center;gap:16px;padding:0 20px;height:54px}.brand{display:flex;align-items:baseline;gap:9px}.brand .mark{font-size:17px;font-weight:700;letter-spacing:-.3px}.brand .sub{font-size:11px;opacity:.7;padding-left:9px;border-left:1px solid rgba(255,255,255,.25)}.topbar .spacer{flex:1}.clockchip{font:11px var(--mono);background:#ffffff1f;border:1px solid rgba(255,255,255,.16);padding:4px 9px;border-radius:999px;white-space:nowrap}.who{text-align:right;line-height:1.35}.who b{display:block;font-size:12.5px;font-weight:600}.who span{font-size:11px;opacity:.72}.signout{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;padding:5px 11px;font-size:11.5px;border-radius:var(--r-sm);cursor:pointer}.signout:hover{background:#ffffff1f}.navbar{background:var(--panel);border-bottom:1px solid var(--line);display:flex;padding:0 12px;gap:2px;box-shadow:var(--shadow)}.navbar a{color:var(--ink-2);padding:11px 14px 9px;font-size:12.5px;font-weight:500;border-bottom:3px solid transparent;display:flex;align-items:center;gap:7px}.navbar a:hover{color:var(--ink);background:var(--panel-alt);text-decoration:none}.navbar a.on{color:var(--red);border-bottom-color:var(--red);font-weight:600}.navbar .count{font:600 10.5px/1 var(--sans);background:var(--line-soft);color:var(--ink-2);padding:3px 6px;border-radius:999px;min-width:18px;text-align:center}.navbar a.on .count{background:var(--red-soft);color:var(--red-dark)}.navbar .count.bad{background:var(--red);color:#fff}.strip{background:var(--warn-bg);border-bottom:1px solid var(--warn-line);color:#6f5412;font-size:11px;line-height:1.45;padding:6px 20px;display:flex;gap:8px;align-items:baseline}.strip b{font-weight:600;white-space:nowrap}.strip span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.strip.open span{-webkit-line-clamp:4}.strip button{margin-left:auto;background:none;border:none;color:#6f5412;cursor:pointer;font-size:11px;text-decoration:underline;white-space:nowrap;padding:0}.main{overflow:auto;padding:18px 20px 28px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}.panel>header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.panel>header h2{margin:0;font-size:13px;font-weight:700;letter-spacing:-.1px;color:var(--ink)}.panel>header .note{font-size:11.5px;color:var(--ink-3)}.panel>header .right{margin-left:auto;display:flex;gap:8px;align-items:center}.panel .body{padding:16px}table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}table.grid th{text-align:left;font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);padding:9px 12px;white-space:nowrap;background:var(--panel-alt);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}table.grid td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top;line-height:1.45}table.grid tbody tr:last-child td{border-bottom:none}table.grid tbody tr:hover td{background:#f7fafd}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid td.ref{font-family:var(--mono);font-size:11.5px;white-space:nowrap}table.grid td .sub{color:var(--ink-3);font-size:11px;margin-top:2px}.zencol{background:#fbfcfe}th.zencol{background:#f4f7fb}.scroll{max-height:64vh;overflow:auto}.chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.2px;padding:3px 8px;border-radius:999px;white-space:nowrap;border:1px solid var(--line);background:var(--panel-alt);color:var(--ink-2)}.chip.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.chip.warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.chip.bad{color:var(--bad);border-color:var(--bad-line);background:var(--bad-bg)}.chip.info{color:var(--info);border-color:var(--info-line);background:var(--info-bg)}.chip.mono{font-family:var(--mono);font-weight:500}.chip.pending{color:var(--ink-3);background:transparent;border-style:dashed}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.dot.run{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}.tat{display:inline-block;font:600 11px/1 var(--mono);white-space:nowrap;padding:4px 8px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel-alt);color:var(--ink-2)}.tat.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.tat.risk{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.tat.breach{color:#fff;background:var(--bad);border-color:var(--bad)}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input[type=text],input[type=password],input[type=number],select,textarea{padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font:12.5px var(--sans);color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--navy-soft)}input::placeholder{color:var(--ink-3)}textarea{width:100%;resize:vertical;line-height:1.55}.btn{background:var(--red);color:#fff;border:1px solid var(--red);padding:7px 14px;font:600 12.5px var(--sans);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--red-dark);border-color:var(--red-dark)}.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line);font-weight:500}.btn.ghost:hover:not(:disabled){background:var(--panel-alt);border-color:var(--ink-3)}.btn.navy{background:var(--navy);border-color:var(--navy)}.btn.navy:hover:not(:disabled){background:var(--navy-dark);border-color:var(--navy-dark)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%;padding:10px;font-size:13px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--red);cursor:pointer}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.3}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:0 20px}.fields .f{border-bottom:1px solid var(--line-soft);padding:9px 0;min-width:0}.fields .f .k{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);margin-bottom:3px}.fields .f .v{font-size:13px;overflow-wrap:anywhere}.fields .f .v.mono{font-family:var(--mono);font-size:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stats .s{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}.stats .s .k{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3)}.stats .s .v{font-size:23px;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin-top:4px;color:var(--navy)}.stats .s.alarm{background:var(--bad-bg);border-color:var(--bad-line)}.stats .s.alarm .v{color:var(--bad)}.tabs{display:flex;border-bottom:1px solid var(--line);background:var(--panel-alt)}.tabs button{background:transparent;border:none;border-bottom:3px solid transparent;padding:11px 16px 9px;font:500 12.5px var(--sans);cursor:pointer;color:var(--ink-2)}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--red);border-bottom-color:var(--red);font-weight:600}.reader{display:grid;grid-template-columns:250px 1fr;min-height:440px}.reader .rail{border-right:1px solid var(--line);overflow:auto;max-height:64vh;background:var(--panel-alt)}.reader .rail button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);border-left:3px solid transparent;padding:10px 13px;cursor:pointer;font:12px var(--sans);color:var(--ink-2)}.reader .rail button:hover{background:#fff}.reader .rail button.on{background:#fff;border-left-color:var(--red);color:var(--ink)}.reader .rail .t{font-weight:600;font-size:11.5px}.reader .rail .d{color:var(--ink-3);font-size:10.5px;margin-top:2px}.reader .doc-head{padding:12px 18px;border-bottom:1px solid var(--line-soft)}.reader .doc-head b{font-size:13px}.reader pre{margin:0;padding:18px;font:12px/1.65 var(--mono);white-space:pre-wrap;overflow:auto;max-height:60vh;color:var(--ink-2)}.zpanel{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.zpanel .head{background:var(--panel-alt);border-bottom:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.zpanel .head b{font-size:12.5px}.zpanel .body{padding:16px}.section-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);margin-bottom:8px}.finding{border:1px solid var(--line);border-left:3px solid var(--navy-soft);border-radius:var(--r-sm);padding:11px 13px;margin-bottom:9px;background:#fff}.finding.clinical{border-left-color:var(--red)}.finding .h{display:flex;gap:7px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.finding .txt{font-size:12.5px;line-height:1.55}.finding .ev{font:11px var(--mono);color:var(--ink-3);margin-top:7px;border-top:1px dashed var(--line);padding-top:6px}.panelist{border-bottom:1px solid var(--line-soft);padding:8px 0;font-size:12.5px}.panelist:last-child{border-bottom:none}.panelist b{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);display:block;margin-bottom:2px}.hint{color:var(--ink-3);font-size:11.5px}.err{color:var(--bad);font-size:12.5px;border:1px solid var(--bad-line);background:var(--bad-bg);padding:10px 13px;border-radius:var(--r-sm)}.empty{padding:34px 16px;text-align:center;color:var(--ink-3);font-size:12.5px}.selbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--panel-alt)}.selbar .count-pill{font:600 11.5px var(--sans);color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 11px}.selbar .count-pill.on{color:var(--red-dark);background:var(--red-soft);border-color:var(--bad-line)}.selnote{padding:10px 16px;border-bottom:1px solid var(--ok-line);background:var(--ok-bg);color:var(--ok);font-size:12px}table.grid tbody tr.picked td{background:var(--red-soft)}table.grid tbody tr.picked:hover td{background:#fce0e1}.issued{border:1px solid var(--ok-line);background:var(--ok-bg);border-radius:var(--r);padding:13px 16px;margin-bottom:14px}.issued b{color:var(--ok)}.issued .no{font-family:var(--mono);font-size:13px;font-weight:600}.chip.issued-chip{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}
