@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(./instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(./instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(./instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./instrument-sans-latin-700-normal-CYfAanHo.woff2) format("woff2"),url(./instrument-sans-latin-700-normal-DfAjL1vF.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2) format("woff2"),url(./instrument-sans-latin-ext-400-normal-r32jotim.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2) format("woff2"),url(./instrument-sans-latin-ext-500-normal-CAxz3nsc.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./instrument-sans-latin-ext-600-normal-BsaQcF38.woff2) format("woff2"),url(./instrument-sans-latin-ext-600-normal-DMks36a2.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./instrument-sans-latin-ext-700-normal-ClYbKGw-.woff2) format("woff2"),url(./instrument-sans-latin-ext-700-normal-BQc-7cTM.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff")}:root{--bg: #0e151c;--surface: #16202a;--surface-2: #1f2b36;--ink: #e6edf3;--ink-soft: #b4c0cc;--ink-muted: #8b9aab;--border: #2a3642;--border-strong: #3b4a59;--primary: #5aa2ee;--primary-hover: #7ab6f3;--primary-soft: #1a3048;--primary-line: #2a4a6b;--on-primary: #0b1520;--ok: #4cc38a;--ok-ink: #7fd6a0;--warn: #e9b44c;--danger: #c8453d;--font: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radio: 12px;--radio-grande: 16px}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%}button{font-family:inherit}[hidden]{display:none!important}h1,h2,p{margin:0}#app{min-height:100vh;min-height:100dvh}:focus-visible{outline:2px solid var(--primary-hover);outline-offset:2px}.solo-lector{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--radio);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer}.boton:hover{border-color:var(--primary)}.boton--primario{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.boton--primario:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.boton--peligro{background:var(--danger);border-color:var(--danger);color:#fff}.boton--peligro:hover{filter:brightness(1.1);border-color:var(--danger)}.boton--grande{min-height:52px;font-size:16px;width:100%}.boton:disabled,.boton[aria-disabled=true]{cursor:not-allowed;color:var(--ink-muted)}.boton--primario:disabled,.boton--primario[aria-disabled=true]{background:var(--surface-2);border-color:var(--border-strong)}.boton:disabled:hover,.boton[aria-disabled=true]:hover{border-color:var(--border-strong)}.boton--primario[aria-disabled=true]:hover{background:var(--surface-2)}.control{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer}.control:hover{border-color:var(--primary)}.control[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary)}.control .icono{width:20px;height:20px}.icono{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.insignia{display:inline-block;font-size:12px;color:var(--ink-soft);background:#0e151ccc;border:1px solid var(--border-strong);border-radius:6px;padding:4px 10px}.punto{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-muted);flex-shrink:0}.punto--ok{background:var(--ok)}.punto--warn{background:var(--warn)}.pantalla{width:100%;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:32px 24px 28px;display:flex;flex-direction:column;gap:20px}.marca{font-size:13px;color:var(--ink-muted)}.pantalla h1{font-size:26px;line-height:1.2;font-weight:600}.lead{font-size:15px;line-height:1.5;color:var(--ink-soft)}.relleno{flex-grow:1}.centrado{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.circulo-icono{width:88px;height:88px;border-radius:50%;background:var(--primary-soft);border:1px solid var(--primary-line);display:flex;align-items:center;justify-content:center;color:var(--primary)}.circulo-icono .icono{width:40px;height:40px;stroke-width:1.6}.centrado .lead{max-width:290px}.cuenta{font-size:34px;font-weight:600;letter-spacing:.5px;font-variant-numeric:tabular-nums}.tarjeta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radio);padding:14px;display:flex;flex-direction:column;gap:6px}.tarjeta--azul{background:var(--primary-soft);border-color:var(--primary-line)}.tarjeta h2{font-size:14px;font-weight:600}.tarjeta p{font-size:13px;line-height:1.6;color:var(--ink-soft)}.previa-video{position:relative;height:200px;border-radius:var(--radio-grande);background:var(--surface);border:1px solid var(--border);overflow:hidden}.previa-video video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.previa-video .recuadro{position:absolute;left:50%;top:14px;bottom:14px;width:35%;transform:translate(-50%);border:2px dashed var(--primary);border-radius:10px;pointer-events:none}.previa-video .pista{position:absolute;left:12px;right:12px;bottom:12px;font-size:12px;color:var(--ink-soft);background:#0e151ccc;border-radius:6px;padding:4px 8px}.estados{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.estados li{display:flex;align-items:center;gap:12px;min-height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radio);padding:12px 14px}.estados .nombre{font-size:14px;flex-grow:1}.estados .valor{font-size:13px;color:var(--ink-soft)}.estados .valor--ok{color:var(--ok-ink)}.estados .valor--warn{color:var(--warn)}.sala-paciente{position:relative;width:100%;max-width:560px;height:100vh;height:100dvh;margin:0 auto;overflow:hidden;background:var(--bg)}.sala-paciente .video-remoto{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:var(--surface)}.sala-paciente .barra-sup{position:absolute;left:0;right:0;top:0;padding:20px 20px 24px;display:flex;align-items:center;gap:10px;background:linear-gradient(#0e151cf2,#0e151c00)}.barra-sup .quien{font-size:14px;font-weight:500;flex-grow:1}.sala-paciente .aviso{position:absolute;left:16px;right:16px;top:84px;background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:var(--radio);padding:14px;font-size:14px;line-height:1.5}.sala-paciente .autovista{position:absolute;right:16px;bottom:128px;width:104px;height:148px;border-radius:var(--radio);background:var(--surface-2);border:1px solid var(--border-strong);overflow:hidden}.autovista video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.autovista .apagada{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--surface-2);color:var(--ink-muted);font-size:12px;padding:8px}.sala-paciente .barra-inf{position:absolute;left:0;right:0;bottom:0;padding:20px 24px max(32px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(#0e151c00,#0e151cf2)}.sala-paciente .control{width:56px;height:56px}.sala-paciente .control .icono{width:22px;height:22px}.sala-paciente .boton--peligro{height:56px;border-radius:28px;padding:0 28px}.sala-clinico{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:560px}.sala-clinico .cabecera{min-height:56px;padding:8px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;border-bottom:1px solid var(--border)}.cabecera .titulo{font-size:15px;font-weight:600;letter-spacing:.2px}.cabecera .conexion{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted)}.cabecera .reloj{font-family:var(--mono);font-size:13px;color:var(--ink-muted)}.sala-clinico .cuerpo{flex-grow:1;display:flex;min-height:0}.sala-clinico .principal{flex-grow:1;display:flex;flex-direction:column;padding:20px;gap:16px;min-width:0}.sala-clinico .escenario{position:relative;flex-grow:1;min-height:240px;border-radius:var(--radio);background:var(--surface);border:1px solid var(--border);overflow:hidden}.escenario .video-remoto{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:var(--surface)}.escenario .espera{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:15px;color:var(--ink-soft)}.escenario .etiquetas{position:absolute;left:16px;top:16px;display:flex;gap:8px}.sala-clinico .autovista{position:absolute;right:16px;bottom:16px;width:176px;height:112px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-strong);overflow:hidden}.sala-clinico .controles{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.sala-clinico .controles .boton--peligro{height:48px;border-radius:24px;padding:0 24px;font-size:14px}.panel-analisis{width:360px;flex-shrink:0;border-left:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:16px;overflow:auto}.panel-analisis h2{font-size:15px;font-weight:600}.panel-analisis .leyenda{font-size:13px;line-height:1.5;color:var(--warn);background:#2a2214;border:1px solid #5b4720;border-radius:8px;padding:10px 12px}.panel-analisis .grupo{display:flex;flex-direction:column;gap:8px}.panel-analisis .etiqueta{font-size:12px;color:var(--ink-muted)}.panel-analisis .tests{display:flex;gap:8px}.panel-analisis .tests .boton{flex:1;min-height:44px;font-size:13px;font-weight:400;padding:0 8px;border-radius:8px}.panel-analisis .boton--primario{border-radius:8px;font-size:14px}@media (max-width: 1023px){.panel-analisis{width:300px}}@media (max-width: 760px){.sala-clinico{height:auto;min-height:100dvh}.sala-clinico .cuerpo{flex-direction:column}.sala-clinico .escenario{min-height:300px}.panel-analisis{width:auto;border-left:0;border-top:1px solid var(--border)}}.sala-clinico--video .principal{padding:24px 32px;gap:20px}.sala-clinico--video .escenario{min-height:320px;background:#000}.sala-clinico--video .escenario .video-remoto{background:#000}.sala-clinico--video .autovista{width:224px;height:140px}.sala-clinico--video .controles .control{width:52px;height:52px}.sala-clinico--video .controles .boton--peligro{height:52px;border-radius:26px;padding:0 28px;font-size:15px}@media (max-width: 1023px){.sala-clinico--video .principal{padding:16px 20px}.sala-clinico--video .autovista{width:160px;height:104px}}@media (max-width: 760px){.sala-clinico--video .principal{padding:12px}.sala-clinico--video .autovista{width:112px;height:76px;right:10px;bottom:10px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.panel-analisis .test-opcion{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.panel-analisis .test-opcion .boton{width:100%}.panel-analisis .nota{font-size:11px;color:var(--ink-muted);text-align:center}.panel-analisis .boton--elegido{background:var(--primary-soft);border-color:var(--primary);color:var(--ink);font-weight:600}.panel-analisis .boton--peligro{border-radius:8px;font-size:14px}.panel-analisis .estado-test{font-size:13px;line-height:1.5;color:var(--ink-soft)}.panel-analisis .estado-test--ok{color:var(--ok-ink);font-weight:600}.panel-analisis .estado-test--error{color:#ffd2cd;background:#2a1715;border:1px solid #6b2a25;border-radius:8px;padding:10px 12px}.panel-analisis .contador{font-family:var(--mono);font-size:13px;color:var(--ink)}.panel-analisis .cuerpo-estado{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft)}.panel-analisis .aviso-lento{font-size:13px;line-height:1.5;color:var(--warn);background:#2a2214;border:1px solid #5b4720;border-radius:8px;padding:10px 12px}.panel-analisis .detector{font-family:var(--mono);font-size:12px;color:var(--ink-muted)}.panel-analisis .resultado-oficial{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--border);padding-top:12px}.panel-analisis .resultado-oficial{display:flex;flex-direction:column;gap:8px}.panel-analisis .resultado-oficial[hidden]{display:none}.resultado-oficial h3{font-size:13px;font-weight:600;color:var(--ink);margin:0}.resultado-oficial .resultado-metricas{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0}.resultado-oficial .resultado-metricas[hidden]{display:none}.resultado-oficial dt{color:var(--ink-soft)}.resultado-oficial dd{margin:0;font-family:var(--mono);color:var(--ink);text-align:right}.panel-analisis .resultado-nota{text-align:left}.resultado-oficial .resultado-advertencia,.resultado-oficial .resultado-advertencia-worker{font-size:12px;line-height:1.5;color:var(--warn);background:#2a2214;border:1px solid #5b4720;border-radius:8px;padding:8px 10px}.escenario .esqueleto{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.sala-paciente .test-paciente{position:absolute;left:16px;right:16px;top:84px;display:flex;flex-direction:column;gap:8px}.test-paciente .banner-test{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:var(--radio);padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4}.test-paciente .cuerpo-paciente{align-self:flex-start;font-size:13px;color:var(--ok-ink);background:#0e151cd9;border:1px solid var(--border-strong);border-radius:8px;padding:6px 10px}.test-paciente .cuerpo-paciente--aviso{color:var(--warn);border-color:#5b4720}.dialogo-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#05090db8}.dialogo{width:min(440px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radio-grande);padding:20px;display:flex;flex-direction:column;gap:12px}.dialogo h2{margin:0;font-size:18px}.dialogo p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-soft)}.dialogo-acciones{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}
