body.live{--lv-bg: #f3f4ef;--lv-panel: #ffffff;--lv-line: #e3e6df;--lv-line-soft: #eef0eb;--lv-head: #f2f4f0;--lv-ink: #17211b;--lv-ink-2: #4a554e;--lv-ink-3: #6b746e;--lv-forest: #123527;--lv-forest-2: #1c4434;--lv-green: #24583f;--lv-green-hover: #1a4632;--lv-ok: #2f8a4c;--lv-ok-bg: #e6f2e8;--lv-warn: #b26b0f;--lv-warn-bg: #fbefd9;--lv-info: #2f5f9e;--lv-info-bg: #e7eff9;--lv-err: #b0362a;--lv-err-bg: #fbe8e5;--lv-off-bg: #eceee9;--lv-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;--lv-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font:13.5px/1.45 var(--lv-sans);color:var(--lv-ink);background:var(--lv-bg)}.live .shell{grid-template-columns:236px 1fr}.live .shell.bare{grid-template-columns:1fr}.live .nav{display:flex;flex-direction:column;padding:18px 14px 14px;background:linear-gradient(180deg,#123527,#0f2e22);color:#d8e4dc}.live .nav .brand{padding:0 6px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.lv-lounge{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);margin-bottom:18px;color:#fff}.lv-lounge b{display:block;font-size:13px}.lv-lounge small{color:#a8c0b2;font-size:11px}.lv-lounge select{width:100%;background:transparent;color:#fff;border:0;font:inherit;font-weight:600;padding:0;cursor:pointer}.lv-lounge select option{color:var(--lv-ink)}.live .nav .group{padding:0 8px 6px;font-size:10px;letter-spacing:1.2px;color:#8fae9b;text-transform:uppercase}.live .nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:1px 0;border-radius:7px;color:#d8e4dc;font-size:13px;font-weight:500}.live .nav a svg{opacity:.85;flex:none}.live .nav a:hover{background:#ffffff0f;text-decoration:none}.live .nav a.active{background:#ffffff1f;color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.14)}.live .nav a.active:after{content:"";width:6px;height:6px;border-radius:50%;background:#9fe0a8;margin-left:auto}.lv-role{margin-top:auto;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.08);color:#fff}.lv-role b{display:flex;gap:6px;align-items:center;font-size:13px}.lv-role small{color:#a8c0b2;font-size:11px}.lv-role button{margin-top:10px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#d8e4dc;border-radius:6px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.live .topbar{padding:12px 26px;background:var(--lv-panel);border-bottom:1px solid var(--lv-line);gap:16px}.lv-crumb{display:flex;align-items:center;gap:8px;color:var(--lv-ink-3);font-size:13px}.lv-crumb b{color:var(--lv-ink);font-weight:600}.lv-crumb img{height:22px}.lv-clock{display:flex;align-items:center;gap:6px;color:var(--lv-ink-2);font-size:12.5px;margin-left:auto;padding-right:16px;border-right:1px solid var(--lv-line)}.lv-who{display:flex;align-items:center;gap:10px}.lv-who b{display:block;font-size:13px}.lv-who small{color:var(--lv-ink-3);font-size:11px}.lv-who button{margin-left:6px}.live .screen{padding:26px 30px 60px;max-width:1240px}.lv-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}.lv-head h1{font-family:var(--lv-serif);font-weight:600;font-size:34px;line-height:1.1;color:var(--lv-forest);letter-spacing:-.3px}.lv-head p{margin:6px 0 0;color:var(--lv-ink-2)}.lv-head .actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lv-grid{display:grid;gap:14px}.lv-main{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.lv-main.wide{grid-template-columns:minmax(0,1fr) 340px}.lv-col{display:grid;gap:14px;align-content:start}.lv-stats{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.lv-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lv-stat{background:var(--lv-panel);border:1px solid var(--lv-line);border-radius:10px;padding:12px 14px}.lv-stat .l{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--lv-ink-2)}.lv-stat .v{font-size:26px;font-weight:700;color:var(--lv-ink);margin-top:4px;line-height:1.15}.lv-stat .s{font-size:11.5px;color:var(--lv-ink-3);margin-top:2px}.lv-dot{width:6px;height:6px;border-radius:50%;background:var(--lv-ink-3);display:inline-block;flex:none}.lv-dot.ok{background:var(--lv-ok)}.lv-dot.warn{background:#d08a1d}.lv-dot.info{background:var(--lv-info)}.lv-dot.err{background:var(--lv-err)}.lv-dot.off{background:#9aa39d}.lv-panel{background:var(--lv-panel);border:1px solid var(--lv-line);border-radius:10px;overflow:hidden}.lv-panel>.h{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--lv-line-soft)}.lv-panel>.h h2{font-size:15.5px;font-weight:600;margin:0;color:var(--lv-ink)}.lv-panel>.h small{display:block;color:var(--lv-ink-3);font-size:12px;margin-top:2px}.lv-panel>.h .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.lv-panel>.b{padding:14px 16px}.lv-panel>.b.flush{padding:0}.lv-panel>.f{padding:10px 16px 14px;color:var(--lv-ink-3);font-size:12px;display:flex;gap:10px;align-items:center}.live table.t{font-size:13px;background:transparent}.live table.t th{background:var(--lv-head);color:var(--lv-ink-3);font-size:10.5px;letter-spacing:.6px;font-weight:600;padding:9px 12px;border:0}.live table.t td{padding:10px 12px;border-bottom:1px solid var(--lv-line-soft)}.live table.t tr:last-child td{border-bottom:0}.live .lv-panel .b.flush table.t th:first-child,.live .lv-panel .b.flush table.t td:first-child{padding-left:16px}.live .lv-panel .b.inset{padding:0 16px 6px}.live tr.clickable:hover td{background:#f6f8f4}.live tr.hl td{background:#f1f7f1}.live tr.sel td{background:#edf5ee}.lv-person{display:flex;align-items:center;gap:10px;min-width:0}.lv-person b{display:block;font-weight:600;color:var(--lv-ink)}.lv-person small{display:block;color:var(--lv-ink-3);font-size:11.5px}.lv-person a{color:inherit}.lv-av{width:30px;height:30px;border-radius:50%;background:#e4efe6;color:#24583f;font-weight:700;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none;letter-spacing:.3px}.lv-av.lg{width:40px;height:40px;font-size:13px}.live .pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:0;background:var(--lv-off-bg);color:var(--lv-ink-2)}.live .pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8}.live .pill.plain:before{display:none}.live .pill.ok{background:var(--lv-ok-bg);color:#24713e}.live .pill.warn{background:var(--lv-warn-bg);color:#8f5410}.live .pill.wait,.live .pill.info{background:var(--lv-info-bg);color:var(--lv-info)}.live .pill.err{background:var(--lv-err-bg);color:var(--lv-err)}.live .pill.off{background:var(--lv-off-bg);color:#5d6660}.lv-count{display:inline-flex;min-width:24px;justify-content:center;padding:2px 7px;border-radius:6px;background:var(--lv-off-bg);font-weight:600;font-size:12px}.lv-count.warn{background:var(--lv-warn-bg);color:#8f5410}.live .btn{border-radius:7px;padding:7px 13px;font-weight:600;font-size:12.5px;border:1px solid #cfd5cd;background:#fff;color:var(--lv-ink)}.live .btn:hover{background:#f4f6f2}.live .btn.primary{background:var(--lv-green);border-color:var(--lv-green);color:#fff}.live .btn.primary:hover{background:var(--lv-green-hover);border-color:var(--lv-green-hover)}.live .btn.danger{border-color:#e7b4ac;color:var(--lv-err)}.live .btn.link{border:0;background:transparent;color:var(--lv-green);padding:6px 4px}.live .btn.link:hover{text-decoration:underline!important;background:transparent}.live .btn.lg{padding:11px 18px;font-size:13.5px}.live .btn.block{width:100%;justify-content:center}.live a{color:var(--lv-green)}.live label.f{font-size:12px;font-weight:600;color:var(--lv-ink-2)}.live .input,.live select.input,.live textarea.input{border:1px solid #d5dad2;border-radius:7px;padding:8px 10px;font:inherit;background:#fff;width:100%}.live .input:focus,.live select.input:focus{outline:2px solid #b9dcc0;border-color:var(--lv-green)}.live .check input{accent-color:var(--lv-green);width:16px;height:16px}.live .callout{border-radius:9px;padding:11px 14px;font-size:12.5px;border:1px solid;display:flex;gap:10px;align-items:flex-start}.live .callout.info{background:#eaf1fa;border-color:#cddcf0;color:#1f3f6b}.live .callout.warn{background:#fcf1de;border-color:#f0d9ac;color:#6d4410}.live .callout.err{background:#fbe9e6;border-color:#f0c7c0;color:#7c2318}.live .callout.ok{background:#e8f3ea;border-color:#c4e0ca;color:#1d5130}.live .callout b{display:block;margin-bottom:1px}.lv-strip{display:flex;align-items:center;gap:0;background:#fbfcf9;border:1px solid var(--lv-line);border-left:4px solid var(--lv-green);border-radius:10px;padding:12px 16px;margin-bottom:14px;flex-wrap:wrap;row-gap:10px}.lv-strip>div{padding:0 18px;border-left:1px solid var(--lv-line)}.lv-strip>div:first-child{padding-left:0;border-left:0}.lv-strip .k{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--lv-ink-3);font-weight:700}.lv-strip .v{font-family:var(--mono);font-size:13px;letter-spacing:1px}.lv-strip .sp{flex:1;border:0;padding:0}.lv-steps{display:flex;align-items:center;gap:12px;background:var(--lv-panel);border:1px solid var(--lv-line);border-radius:10px;padding:10px 14px;margin-bottom:14px}.lv-steps .s{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--lv-ink-3)}.lv-steps .n{width:22px;height:22px;border-radius:50%;border:1px solid #cdd3cb;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.lv-steps .s.on{color:var(--lv-ink)}.lv-steps .s.on .n{background:var(--lv-green);color:#fff;border-color:var(--lv-green)}.lv-steps .s.done .n{background:#eef4ef;color:var(--lv-green)}.lv-steps .sep{color:#b8beb6}.lv-bar{height:5px;border-radius:3px;background:#e5e9e3;overflow:hidden;width:110px}.lv-bar>i{display:block;height:100%;background:var(--lv-green);border-radius:3px}.lv-bar.full{width:100%}.lv-list>*{padding:12px 16px;border-bottom:1px solid var(--lv-line-soft)}.lv-list>*:last-child{border-bottom:0}.lv-kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--lv-line-soft)}.lv-kv:last-child{border-bottom:0}.lv-kv span{color:var(--lv-ink-2)}.lv-kv b{text-align:right}.lv-tl{position:relative}.lv-tl>div{display:flex;gap:10px;padding:6px 0}.lv-tl .lv-dot{margin-top:7px;width:8px;height:8px;box-shadow:0 0 0 3px #fff,0 0 0 4px currentColor;color:#cfd6cd}.lv-tl .lv-dot.ok{color:#b9dcc0}.lv-tl .lv-dot.warn{color:#f0d2a0}.lv-tl b{display:block;font-size:13px}.lv-tl small{color:var(--lv-ink-3);font-size:11.5px}.lv-choice{display:block;width:100%;text-align:left;border:1px solid var(--lv-line);border-radius:9px;padding:12px 14px;background:#fff;cursor:pointer;font:inherit;color:inherit}.lv-choice+.lv-choice{margin-top:10px}.lv-choice.on{border-color:#8fc39d;background:#eff6f0;box-shadow:0 0 0 1px #8fc39d inset}.lv-choice .t1{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.lv-choice .t2{color:var(--lv-ink-3);font-size:12px;margin-top:2px}.lv-choice .t3{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--lv-ink-2)}.lv-hero{border-radius:10px;padding:16px 18px;border:1px solid #cfe3d3;background:#eaf4ec}.lv-hero.warn{border-color:#f0d9ac;background:#fcf3e3}.lv-hero.off{border-color:var(--lv-line);background:#f6f7f4}.lv-hero .k{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--lv-ink-3);font-weight:700}.lv-hero .v{font-family:var(--lv-serif);font-size:24px;color:var(--lv-forest);margin:4px 0;font-weight:600}.lv-scan{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;background:#e9f1ea;border:1px solid #d4e6d7;margin-bottom:14px}.lv-scan .ico{width:44px;height:44px;border-radius:9px;background:#fff;border:1px solid #d4e1d6;display:inline-flex;align-items:center;justify-content:center}.lv-scan b{display:block;font-size:15px}.lv-scan input{max-width:240px;letter-spacing:2px}.lv-empty{padding:12px 14px;border-radius:8px;background:#f3f5f1;border:1px solid var(--lv-line-soft);color:var(--lv-ink-2);font-size:12.5px}.lv-bottom{display:flex;align-items:center;gap:12px;background:var(--lv-panel);border:1px solid var(--lv-line);border-radius:10px;padding:14px 16px;margin-top:14px}.lv-bottom b{display:block}.lv-bottom small{color:var(--lv-ink-3)}.lv-bottom .actions{margin-left:auto;display:flex;gap:8px}.lv-search{display:flex;align-items:center;gap:6px;border:1px solid #d5dad2;border-radius:7px;padding:0 10px;background:#fff}.lv-search input{border:0;outline:0;padding:7px 0;font:inherit;min-width:170px}.lv-tabs{display:flex;gap:18px;border-bottom:1px solid var(--lv-line);margin:0 16px}.lv-tabs button{border:0;background:transparent;padding:10px 0;font:inherit;font-weight:600;font-size:12.5px;color:var(--lv-ink-3);cursor:pointer;border-bottom:2px solid transparent}.lv-tabs button.on{color:var(--lv-ink);border-color:var(--lv-green)}.lv-wristband{border:1px dashed #c9cfc6;border-radius:9px;padding:14px 16px;display:flex;gap:16px;align-items:center;background:#fff}.lv-wristband .k{font-size:10px;letter-spacing:1px;color:var(--lv-ink-3);font-weight:700;text-transform:uppercase}.lv-wristband .nm{font-weight:700;font-size:17px}.lv-wristband .id{font-family:var(--mono);font-size:18px;letter-spacing:3px;margin:2px 0}.lv-wristband>div:first-child>div{margin:0!important}@media print{body.printing *{visibility:hidden!important}body.printing .print-area.on,body.printing .print-area.on *{visibility:visible!important}body.printing .print-area.on{position:absolute;left:0;top:0;border:0;display:block!important}}@media (max-width: 1100px){.lv-main,.lv-main.wide{grid-template-columns:1fr}}@media (max-width: 760px){.live .shell{grid-template-columns:1fr}.live .nav{display:none}.live .nav.open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.lv-stats,.lv-stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}.live .screen{padding:18px 16px 50px}.lv-head h1{font-size:28px}.lv-clock{display:none}}.teeth{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.tooth-b{border:1px solid var(--lv-line);border-radius:6px;padding:4px 0;display:flex;flex-direction:column;align-items:center;cursor:pointer;font:inherit}.tooth-b small{font-size:10px;color:var(--lv-ink-3)}.tooth-b.on{outline:2px solid #d08a1d}.phone{width:260px;border:8px solid #1f2d26;border-radius:28px;padding:14px 12px;background:#f4f6f2}.phone .bar{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:10px}.phone .card{margin-bottom:8px}:root{--bg: #f2f4ef;--panel: #ffffff;--line: #e3e9e3;--line-strong: #cfd6cd;--ink: #1d241f;--ink-2: #4b5650;--ink-3: #5f6862;--brand: #2a8a3e;--brand-hover: #15692f;--brand-bright: #35b34a;--brand-soft: #eef3ef;--forest: #123527;--forest-deep: #0d382b;--forest-ink: #0a1712;--coral: #ea6447;--coral-soft: #fdf3e4;--cream: #faf5ec;--gold: #c9902f;--sev-a: #10b981;--sev-b: #eab308;--sev-c: #f59e0b;--sev-d: #ef4444;--info: #2563eb;--radius: 10px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--display: "Tenor Sans", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:14px/1.5 var(--font);color:var(--ink);background:var(--bg)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{font-family:var(--display);font-weight:400;font-size:24px;margin:0;color:var(--forest);letter-spacing:.2px}h2{font-size:15px;margin:0 0 10px}h3{font-size:13px;margin:0 0 6px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.4px}small,.muted{color:var(--ink-3)}code,.mono{font-family:var(--mono)}.proto-bar{position:fixed;inset:0 0 auto 0;height:30px;z-index:50;background:var(--cream);border-bottom:1px solid #e8dcc7;color:#71451d;font-size:12px;display:flex;align-items:center;gap:12px;padding:0 14px}.proto-bar .sp{flex:1}.proto-bar button{font-size:12px}.shell{display:grid;grid-template-columns:270px 1fr;height:100%;padding-top:30px}.shell.with-spec{grid-template-columns:270px 1fr 360px}.nav{background:var(--forest);color:#d6e2da;overflow-y:auto;padding:12px 0 40px}.nav .brand{padding:4px 18px 14px;color:#fff;font-weight:700;font-size:15px}.nav .brand span{color:var(--brand-bright)}.nav .group{padding:10px 18px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#8fae9b}.nav .group b{color:#d6e2da;font-weight:600}.nav a{display:block;padding:5px 18px 5px 26px;color:#d6e2da;font-size:13px}.nav a:hover{background:var(--forest-deep);text-decoration:none}.nav a.active{background:var(--brand);color:#fff;box-shadow:inset 3px 0 0 var(--brand-bright)}.nav .num{display:inline-block;width:26px;color:#7f9c8a;font-family:var(--mono);font-size:11px}.nav a.active .num{color:#dff5e3}.main{overflow-y:auto}.spec{background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:18px;font-size:13px}.spec h2{font-size:14px}.spec dt{font-weight:600;margin-top:12px;color:var(--ink-2);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.spec dd{margin:4px 0 0}.spec ul{margin:4px 0 0 16px;padding:0}.spec li{margin:2px 0}.topbar{background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:10px 22px;position:sticky;top:0;z-index:5}.topbar .who{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px}.avatar{width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.crumb{color:var(--ink-3);font-size:12px}.screen{padding:20px 22px 60px;max-width:1280px}.screen-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.screen-head .actions{margin-left:auto;display:flex;gap:8px}.idstrip{display:flex;align-items:center;gap:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;flex-wrap:wrap}.idstrip .yid{font-family:var(--mono);font-size:16px;letter-spacing:2px;font-weight:700}.idstrip .nm{font-weight:600;font-size:15px}.idstrip .meta{color:var(--ink-2)}.idstrip .sp{flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack>*+*{margin-top:12px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);padding:7px 12px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none!important}.btn:hover{background:#f0f2f4}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.danger{border-color:#fca5a5;color:#b91c1c}.btn.lg{padding:11px 18px;font-size:15px}.btn.block{width:100%;justify-content:center}.pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-2);background:#f7f8fa;white-space:nowrap}.pill.ok{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.pill.wait{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.pill.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.pill.err{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.pill.off{background:#f3f4f6;color:#6b7280}.grade{display:inline-flex;width:22px;height:22px;border-radius:5px;color:#fff;font-weight:700;font-size:12px;align-items:center;justify-content:center}.grade.A{background:var(--sev-a)}.grade.B{background:var(--sev-b)}.grade.C{background:var(--sev-c)}.grade.D{background:var(--sev-d)}table.t{width:100%;border-collapse:collapse;background:var(--panel)}table.t th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 10px;font-weight:600}table.t td{border-bottom:1px solid #f0f2f4;padding:8px 10px;vertical-align:middle}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums}table.t tr:hover td{background:#fafbfc}.flag-h{color:#b91c1c;font-weight:700}.flag-l{color:#1d4ed8;font-weight:700}label.f{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px;font-weight:600}.input,select.input,textarea.input{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:7px 9px;font:inherit;background:#fff}.input.unit{display:flex;padding:0;overflow:hidden}.input.unit input{border:0;padding:7px 9px;font:inherit;width:100%;outline:none}.input.unit span{background:#f3f4f6;border-left:1px solid var(--line-strong);padding:7px 9px;color:var(--ink-3);font-size:12px;white-space:nowrap}.field{margin-bottom:10px}.hint{font-size:11px;color:var(--ink-3);margin-top:3px}.check{display:flex;gap:8px;align-items:flex-start;padding:6px 0}.check input{margin-top:3px}.callout{border-radius:var(--radius);padding:10px 14px;font-size:13px;border:1px solid}.callout.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.callout.warn{background:#fffbeb;border-color:#fde68a;color:#78350f}.callout.err{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.callout.ok{background:#ecfdf5;border-color:#a7f3d0;color:#064e3b}.kpi{font-size:26px;font-weight:700}.kpi-l{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px}.steps{display:flex;gap:6px;flex-wrap:wrap}.steps .s{flex:1;min-width:70px;text-align:center;font-size:11px;padding:6px 4px;border-radius:6px;background:#f3f4f6;color:var(--ink-3);border:1px solid var(--line)}.steps .s.done{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.steps .s.now{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}.steps .s.skip{background:#fff;color:#9ca3af;border-style:dashed}.ph{background:repeating-linear-gradient(45deg,#eef3ef,#eef3ef 10px,#e3e9e3 10px,#e3e9e3 20px);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-3);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:10px}.viewer{background:#0b0f14;color:#9aa4b1;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:12px}.scanbox{border:2px dashed var(--brand);border-radius:12px;padding:26px;text-align:center;background:var(--brand-soft)}.scanbox .big{font-size:34px}.teeth{display:grid;grid-template-columns:repeat(16,1fr);gap:3px}.tooth{border:1px solid var(--line-strong);border-radius:4px;text-align:center;font-size:10px;padding:4px 0;background:#fff}.tooth.d{background:#fee2e2;border-color:#fca5a5}.tooth.f{background:#dbeafe;border-color:#93c5fd}.tooth.m{background:#e5e7eb;color:#9ca3af;text-decoration:line-through}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs a{padding:8px 12px;color:var(--ink-2);border-bottom:2px solid transparent;font-size:13px}.tabs a.on{color:var(--brand);border-color:var(--brand);font-weight:600}.patient-shell{max-width:880px;margin:0 auto;padding:24px}.ptile{border-radius:14px;padding:16px;border-left:5px solid;background:#fff;box-shadow:0 1px 2px #0000000d}.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.index-grid .card a{font-weight:600}.gallery{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.fig{margin:0}.fig img{display:block;border-radius:6px;border:1px solid var(--line);background:#000}.fig figcaption{font-size:11px;color:var(--ink-3);margin-top:4px;max-width:280px}.doc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 30px;max-width:1100px}.doc-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:8px}.doc-brand{font-weight:800;font-size:18px;letter-spacing:.3px}.doc-h{margin:24px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line);font-size:15px}.doc-foot{margin-top:24px;font-size:11px;color:var(--ink-3);border-top:1px dashed var(--line-strong);padding-top:10px}table.t.mini td{padding:3px 8px;font-size:12px}.premium{--pr-ink: #1d241f;--pr-teal: #123527;--pr-gold: #c9902f;--pr-cream: #faf5ec;background:var(--pr-cream);color:var(--pr-ink);font-family:var(--display);padding:0 0 60px}.premium p,.premium li,.premium .muted{font-family:var(--font)}.pr-cover{background:linear-gradient(140deg,#0a1712,#123527 55%,#2a8a3e);color:#fff;padding:70px 60px 50px}.pr-mark{font-size:42px;letter-spacing:12px;font-weight:700;color:#f8e2c8}.pr-sub{letter-spacing:3px;text-transform:uppercase;font-size:12px;opacity:.8;margin-top:6px}.pr-name{font-size:40px;margin-top:50px}.pr-meta{opacity:.8;font-family:var(--font);margin-top:6px}.pr-score{display:flex;align-items:center;gap:30px;margin-top:40px}.pr-ring{width:130px;height:130px;border-radius:50%;border:6px solid var(--brand-bright);display:flex;flex-direction:column;align-items:center;justify-content:center}.pr-ring span{font-size:44px}.pr-ring small{font-family:var(--font);font-size:9px;text-align:center;max-width:90px;letter-spacing:1px;text-transform:uppercase;opacity:.8}.pr-chips{display:flex;gap:10px;flex-wrap:wrap}.pr-chip{border:2px solid;border-radius:999px;padding:6px 14px;font-family:var(--font);font-size:13px;background:#ffffff14}.pr-sec{max-width:980px;margin:0 auto;padding:34px 40px 10px}.pr-h{font-size:26px;font-weight:400;color:var(--pr-teal);margin:0 0 14px}.pr-lead{font-size:16px;line-height:1.7}.pr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pr-tile{background:#fff;border-top:4px solid;border-radius:8px;padding:12px;box-shadow:0 1px 2px #0000000d}.pr-tile-t{font-size:15px}.pr-tile-s{font-family:var(--font);font-size:12px;font-weight:700;margin-top:4px}.pr-links{display:grid;gap:8px}.pr-link{display:flex;gap:10px;align-items:center;background:#fff;border-left:4px solid var(--pr-gold);padding:10px 14px;border-radius:6px;font-family:var(--font);font-size:14px}.pr-link strong{color:var(--pr-teal)}.pr-area{border-top:1px solid #e7e0d2}.pr-area-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pr-badge{color:#fff;font-family:var(--font);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}.pr-area-b{display:flex;gap:22px;align-items:flex-start}.pr-pic{width:220px;border-radius:10px;background:#000}.pr-metrics{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pr-metric{background:#fff;border-radius:8px;padding:10px 12px}.pr-metric-l{font-family:var(--font);font-size:12px;color:#5d6b68}.pr-metric-v{font-size:22px;margin-top:2px}.pr-metric-v small{font-family:var(--font);font-size:12px;color:#5d6b68}.rbar{position:relative;height:8px;border-radius:4px;background:#eee6d8;margin-top:8px}.rbar-ok{position:absolute;top:0;height:8px;background:#bfe3d6;border-radius:4px}.rbar-dot{position:absolute;top:-4px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--pr-ink);border:3px solid #fff;box-shadow:0 0 0 1px #0002}.rbar-l{display:flex;justify-content:space-between;font-family:var(--font);font-size:10px;color:#8a938f;margin-top:4px}.pr-say{font-size:15px;line-height:1.7;margin:14px 0 8px}.pr-todo{background:#fff;border-radius:8px;padding:10px 14px;font-family:var(--font);font-size:14px}.pr-todo ul{margin:6px 0 0 18px;padding:0}.pr-plan{display:grid;gap:8px}.pr-step{display:grid;grid-template-columns:130px 1fr;gap:14px;background:#fff;border-radius:8px;padding:12px 14px;font-family:var(--font);font-size:14px}.pr-when{color:var(--pr-gold);font-weight:700}.pr-sign{font-family:var(--font);font-size:13px;color:#5d6b68;border-top:1px solid #e7e0d2;padding-top:10px}.how{margin-top:14px;background:var(--brand-soft);border:1px solid #cfe3d3;border-radius:8px;padding:10px 12px}.how.should{background:#eff6ff;border-color:#bfdbfe}.how h3{margin:0 0 6px;color:#0f172a}.how ol,.how ul{margin:0 0 0 18px;padding:0}.how li{margin:4px 0}#root{height:100%}button.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.nav a.locked{opacity:.45}.nav .who-box{margin:0 12px 10px;padding:8px 10px;border-radius:6px;background:var(--forest-deep);font-size:12px}.nav .who-box b{color:#fff;display:block}.nav .who-box button{margin-top:6px;font-size:11px;padding:3px 8px}.input.bad,.input.unit.bad{border-color:#f87171;background:#fff7f7}.err-t{font-size:11px;color:#b91c1c;margin-top:3px}tr.late td{background:var(--coral-soft)}tr.clickable{cursor:pointer}.tooth{cursor:pointer;-webkit-user-select:none;user-select:none}.tooth.c{background:#fef3c7;border-color:#fcd34d}.toast-wrap{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px}.toast{background:var(--forest-ink);color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;box-shadow:0 6px 20px #0003;max-width:380px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;border-radius:10px;padding:18px;width:100%;max-width:440px}.watermark{position:relative}.watermark:after{content:"DRAFT — NOT SIGNED";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:800;color:#ef444424;transform:rotate(-18deg);pointer-events:none}.audiogram{width:100%;height:180px;background:#fff;border:1px solid var(--line);border-radius:6px}.timer{font-family:var(--mono);font-size:22px;font-weight:700}.card.disabled{opacity:.5}.ptile{cursor:pointer}.ptile.open{box-shadow:0 0 0 2px var(--brand-soft)}@media (max-width: 1100px){.shell.with-spec{grid-template-columns:240px 1fr}.shell.with-spec .spec{display:none}}@media (max-width: 760px){.shell,.shell.with-spec{grid-template-columns:1fr}.nav{display:none}.nav.open{display:block;position:fixed;top:30px;right:0;bottom:0;left:0;z-index:40}.g2,.g3,.g4,.pr-grid,.pr-metrics{grid-template-columns:1fr}.span2{grid-column:auto}.screen{padding:16px}.pr-area-b{flex-direction:column}.pr-cover{padding:40px 20px}.pr-sec{padding:24px 16px 8px}table.t{display:block;overflow-x:auto}}.menu-btn{display:none}@media (max-width: 760px){.menu-btn{display:inline-flex}}.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;text-decoration:none!important}.logo img{display:block}.logo-sub{font-family:var(--font);font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;margin-top:-2px}.logo.on-dark .logo-sub{color:var(--brand-bright)}.nav .brand{padding:8px 18px 18px}.pr-cover .logo-sub{color:#f8e2c8;font-size:11px}.btn{border-radius:999px;padding:7px 14px}.btn.lg{padding:11px 20px}.pill.ok{background:#eaf7ec;border-color:#b7e2bf;color:#15692f}.steps .s.done{background:#eaf7ec;color:#15692f;border-color:#b7e2bf}.kpi{color:var(--forest)}.scanbox{border-color:var(--brand-bright)}.card{border-radius:var(--radius)}input[type=checkbox]{accent-color:var(--brand)}.input:focus,select.input:focus,textarea.input:focus,.input.unit:focus-within{outline:2px solid var(--brand-bright);outline-offset:0;border-color:var(--brand)}.progress-track{background:var(--line);border-radius:4px;height:8px}.progress-fill{background:var(--brand-bright);height:8px;border-radius:4px}body{font-size:13.5px}table.t{font-size:13px}.kpi{font-size:24px;line-height:1.25}.kpi-l{margin-top:2px}.live .shell{padding-top:0}@media (max-width: 760px){.live .nav.open{top:0;right:0;bottom:0;left:0}}.clickable{cursor:pointer}.clickable:hover td{background:#f6f8f7}
