/* ECMO HUB bedside — © 2026 Luis Javier Pérez Bazaga. Todos los derechos reservados. */
/* =====================================================================
   ECMO a pie de cama · hoja de estilos
   Temas: claro (por defecto), oscuro y noche (guardia), con data-theme
   en <html>. "Auto" sigue al sistema con prefers-color-scheme.
   ===================================================================== */
:root{
  --ground:#F4F6F8; --surface:#FFFFFF; --surface-2:#EDF1F4; --surface-3:#E3E9EE;
  --ink:#131A20; --ink-2:#4A565F; --ink-3:#5F6B74;
  --line:#D9E1E7; --line-2:#C3CED6;
  --accent:#1F6FB2; --accent-ink:#164F80; --accent-soft:#E3EEF7;
  --va:#B4322E; --va-soft:#F8E7E5;
  --good:#22673F; --good-soft:#E2F1E8; --good-line:#9FCFB3;
  --warn:#7A560E; --warn-soft:#FBF4E4; --warn-line:#E6C77F; --warn-dot:#966A12;
  --crit:#9E2B27; --crit-soft:#FBEDEC; --crit-line:#E3A19E; --crit-dot:#B4322E;
  --c-pac:#5F6B78; --c-cir:#1F7A72; --c-hem:#B4322E; --c-gas:#8A6410; --c-lab:#6A4C9C; --c-ven:#1F6FB2;
  --vv:#1F6FB2;
  --g-ronda:linear-gradient(135deg,#1F7A52,#0A3D28);
  --g-vv:linear-gradient(160deg,#2973B2,#164F80);
  --g-va:linear-gradient(160deg,#C73E37,#7C211E);
  --g-anti:linear-gradient(160deg,#5C6873,#2B333A);
  --g-comp:linear-gradient(160deg,#C98E14,#7A4E06);
  --g-tools:linear-gradient(160deg,#67717C,#4F5861);
  --g-warn:linear-gradient(160deg,#E3A61E,#8A5A0A);
  --g-light:linear-gradient(160deg,#67717C,#5A636D);
  --g-inf:linear-gradient(160deg,#486EB7,#253F7C);
  --g-reg:linear-gradient(160deg,#2E8A5E,#17583A);
  --g-sup:linear-gradient(160deg,#237C72,#13524B);
  --tile-ring:0 0 0 0 transparent;
  --ronda:#1F7A52; --ronda-ink:#13583B; --ronda-soft:#E2F1E8;
  --tools:#4A535C; --tools-soft:#E3E9EE;
  --shadow:0 6px 16px rgba(19,26,32,.12);
  --scrim:rgba(10,18,24,.48);
  --serif:"IBM Plex Sans",system-ui,sans-serif;
  --cond:"IBM Plex Sans Condensed","IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
  --hdr-filter:none;
  color-scheme:light;
}
html[data-theme="oscuro"]{
  --ground:#0E141A; --surface:#172029; --surface-2:#1E2933; --surface-3:#273441;
  --ink:#EEF3F7; --ink-2:#C6D0DA; --ink-3:#9CAAB8;
  --line:#2A3644; --line-2:#3A4959;
  --accent:#7FB8EC; --accent-ink:#B3D5F4; --accent-soft:#1A3049;
  --va:#F2908A; --va-soft:#3A1E1E;
  --good:#8FDBAE; --good-soft:#17352A; --good-line:#2F6B4B;
  --warn:#F1C96E; --warn-soft:#35290F; --warn-line:#7A5E22; --warn-dot:#F1C96E;
  --crit:#FF9F98; --crit-soft:#3C1D1D; --crit-line:#8A3B37; --crit-dot:#FF8A82;
  --c-pac:#A6B3C0; --c-cir:#4FC0B3; --c-hem:#EE8580; --c-gas:#E0BA62; --c-lab:#B497E3; --c-ven:#7FB8EC;
  --ronda:#8FDBAE; --ronda-ink:#0F3B28; --ronda-soft:#17352A;
  --tools:#C6D0DA; --tools-soft:#273441;
  --g-ronda:linear-gradient(135deg,#1D7A50,#0F3E2A);
  --g-vv:linear-gradient(160deg,#2665AA,#163B68);
  --g-va:linear-gradient(160deg,#A63A35,#5C1D1A);
  --g-anti:linear-gradient(160deg,#465A6E,#25313E);
  --g-comp:linear-gradient(160deg,#A9750F,#654407);
  --g-tools:linear-gradient(160deg,#4C5866,#2C3540);
  --g-warn:linear-gradient(160deg,#A9750F,#654407);
  --g-light:linear-gradient(160deg,#4C5866,#2C3540);
  --g-inf:linear-gradient(160deg,#3A5C9E,#20345F);
  --g-reg:linear-gradient(160deg,#2A7A55,#14422E);
  --g-sup:linear-gradient(160deg,#21796F,#11443F);
  --tile-ring:inset 0 0 0 1px rgba(255,255,255,.07);
  --shadow:0 6px 16px rgba(0,0,0,.45);
  --scrim:rgba(0,0,0,.6);
  --hdr-filter:none;
  color-scheme:dark;
}
html[data-theme="noche"]{
  --ground:#000000; --surface:#0A0E11; --surface-2:#11171B; --surface-3:#171F24;
  --ink:#C3CCD3; --ink-2:#97A3AC; --ink-3:#7E8A93;
  --line:#1B2329; --line-2:#252F36;
  --accent:#6A9CC8; --accent-ink:#8DB5D8; --accent-soft:#0F1C28;
  --va:#C9746F; --va-soft:#211211;
  --good:#79B08F; --good-soft:#0E1F14; --good-line:#21402C;
  --warn:#C9AB66; --warn-soft:#1D180C; --warn-line:#4D3C17; --warn-dot:#C9AB66;
  --crit:#D48C87; --crit-soft:#211010; --crit-line:#5A2826; --crit-dot:#D48C87;
  --c-pac:#7E8A93; --c-cir:#3F8F86; --c-hem:#B9625D; --c-gas:#A88A47; --c-lab:#8A70B0; --c-ven:#6A9CC8;
  --ronda:#79B08F; --ronda-ink:#0B2A1C; --ronda-soft:#0E1F14;
  --tools:#97A3AC; --tools-soft:#171F24;
  --shadow:none;
  --scrim:rgba(0,0,0,.7);
  --hdr-filter:brightness(.55) saturate(.8);
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;height:100%;background:var(--ground);color:var(--ink);font-family:var(--serif);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
a{color:var(--accent)}
button{font-family:inherit;color:inherit}
[hidden]{display:none!important}

#app{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden}

/* ---- pantallas ---- */
.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ground);opacity:0;pointer-events:none;transition:opacity 200ms var(--ease-out)}
.screen.on{opacity:1;pointer-events:auto}

/* ---- splash ---- */
#splash{align-items:center;justify-content:space-between;background:#FFFFFF;padding:calc(64px + env(safe-area-inset-top,0)) 0 calc(44px + env(safe-area-inset-bottom,0))}
.mark{display:flex;flex-direction:column;align-items:center;gap:22px}
.mark img{width:172px;height:172px;object-fit:contain}
.word{display:flex;flex-direction:column;align-items:center;gap:6px;color:#131A20}
.word b{font-family:var(--cond);font-weight:700;font-size:23px;letter-spacing:-.01em;text-align:center}
.word span{font-family:var(--mono);font-size:12px;color:#5F6B74;letter-spacing:.1em;text-transform:uppercase}
.foot{display:flex;flex-direction:column;align-items:center;gap:14px}
.dots{display:flex;gap:7px}
.dots i{width:7px;height:7px;border-radius:50%;background:#D9E1E7;display:block}
.dots i.on{background:#1F6FB2}
.foot small{font-family:var(--mono);font-size:12px;color:#5F6B74;letter-spacing:.04em}

/* ---- cabeceras ---- */
.appbar{flex:0 0 auto;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top,0)) 16px 12px;position:relative;z-index:3}
.toprow{display:flex;align-items:center;gap:8px}
.toprow .sp{flex:1 1 auto}
.back{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--ink-2);background:none;border:0;padding:0;border-radius:20px;margin-left:-6px}
.back svg{width:20px;height:20px}
.title{font-family:var(--cond);font-weight:700;font-size:21px;line-height:1.15;flex:1 1 auto;min-width:0}
.hbtn{width:44px;height:44px;flex:0 0 auto;border:0;border-radius:22px;background:var(--surface-2);color:var(--ink-2);display:flex;align-items:center;justify-content:center;padding:0}
.hbtn svg{width:18px;height:18px}
.hbtn[aria-pressed="true"] svg{fill:currentColor}

/* cabecera de módulo, con el color de la tarjeta de Inicio */
.hdr{color:#fff;border-bottom:0;padding-bottom:16px}
.hdr::before{content:"";position:absolute;inset:0;background:var(--g-tools);filter:var(--hdr-filter);z-index:-1}
.hdr.m-ronda::before{background:var(--g-ronda)}
.hdr.m-vv::before{background:var(--g-vv)}
.hdr.m-va::before{background:var(--g-va)}
.hdr.m-anti::before{background:var(--g-anti)}
.hdr.m-comp::before{background:var(--g-comp)}
.hdr .back,.hdr .hbtn{background:rgba(255,255,255,.15);color:#fff;margin-left:0}
.hdr .hbtn[aria-pressed="true"]{background:rgba(255,255,255,.3)}
.hdr .title{color:#fff}
.hdr .hsub{font-size:13px;color:rgba(255,255,255,.92);margin-top:3px}
.hdr .hhead{display:flex;align-items:center;gap:12px;margin-top:12px}
.hdr .hic{width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.hdr .hic svg{width:26px;height:26px}
.hdr .hhead .title{font-size:26px}
.hdr.compact{padding-bottom:14px}
.hdr.compact .title{font-size:22px;margin-left:4px}
.hdr .title.big{font-size:27px;margin-top:12px}
.hdr.tall{padding-bottom:38px}
.hchip{height:40px;min-width:118px;border-radius:20px;background:rgba(255,255,255,.15);display:flex;align-items:center;padding:0 0 0 11px;position:relative}
.hchip svg{width:15px;height:15px;flex:0 0 auto;pointer-events:none;position:relative;z-index:1}
/* el select cubre todo el chip, icono incluido, con 2 px de margen arriba y abajo (área de 44 px) */
.hchip select{appearance:none;-webkit-appearance:none;position:absolute;left:0;right:0;top:-2px;bottom:-2px;width:100%;background:transparent;border:0;border-radius:22px;color:#fff;font:600 14px var(--serif);padding:0 10px 0 32px;cursor:pointer;text-overflow:ellipsis}
.hchip select option{color:#131A20}
.menu{position:absolute;right:16px;top:calc(56px + env(safe-area-inset-top,0));background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:230px;overflow:hidden;z-index:10;transform-origin:top right;animation:pop 160ms var(--ease-out)}
.menu button{border:0;background:none;text-align:left;font-size:15px;padding:14px 16px;color:var(--ink)}
.menu button+button{border-top:1px solid var(--line)}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

.seg{display:inline-flex;background:rgba(0,0,0,.18);border-radius:999px;padding:3px;gap:3px;margin-top:12px}
.seg button{font-family:var(--cond);font-weight:600;font-size:14px;border:0;background:none;color:rgba(255,255,255,.9);padding:0 20px;border-radius:999px;height:36px}
.seg button.on{background:#fff;color:var(--ronda-ink);font-weight:700}
/* selector VV/VA de la ronda */
.modesel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.modesel button{display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;text-align:left;min-width:0}
.modesel i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.16)}
.modesel i svg{width:22px;height:22px}
.modesel span{display:flex;flex-direction:column;min-width:0}
.modesel b{font-family:var(--cond);font-weight:700;font-size:16px;line-height:1.15}
.modesel small{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modesel button.on{background:#fff;border-color:#fff;color:#131A20;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.modesel button.on small{color:#4A565F;opacity:1}
.modesel button.on[data-mode="vv"] i{background:#1F6FB2;color:#fff}
.modesel button.on[data-mode="va"] i{background:#B4322E;color:#fff}
html[data-theme="noche"] .modesel button.on{background:var(--surface-3);border-color:var(--line-2);color:var(--ink)}
html[data-theme="noche"] .modesel button.on small{color:var(--ink-2)}
#screen-ronda[data-modo="vv"] .hdr.m-ronda::before{background:var(--g-vv)}
#screen-ronda[data-modo="va"] .hdr.m-ronda::before{background:var(--g-va)}
#screen-ronda[data-modo="vv"] .rsum,#screen-ronda[data-modo="vv"] .content{--ronda:var(--accent)}
#screen-ronda[data-modo="va"] .rsum,#screen-ronda[data-modo="va"] .content{--ronda:var(--va)}
html[data-theme="oscuro"] #screen-ronda[data-modo="vv"] .btn-informe{background:#2665AA}
html[data-theme="oscuro"] #screen-ronda[data-modo="va"] .btn-informe{background:#A63A35}
/* valores derivados en tarjetas */
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dt{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 11px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dt .l{font-size:12px;color:var(--ink-3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;color:var(--ink);white-space:nowrap}
.dt .u{font-family:var(--serif);font-size:12.5px;font-weight:400;color:var(--ink-3);margin-left:4px}
html[data-theme="oscuro"] .seg button.on,html[data-theme="noche"] .seg button.on{background:var(--ink);color:var(--ground)}

/* barra de secciones (chips) bajo la cabecera */
.secnav{flex:0 0 auto;display:flex;gap:7px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--line);padding:7px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative;z-index:2}
.secnav::-webkit-scrollbar{display:none}
.secnav:empty{display:none}
.secnav .chips{margin:0;padding:0;gap:7px}
.secnav button,.chips button{flex:0 0 auto;height:40px;position:relative;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:600 13.5px var(--cond);color:var(--ink-2);padding:0 14px;white-space:nowrap}
.secnav button.on,.chips button.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
#screen-vv .secnav button.on{background:var(--accent);border-color:var(--accent);color:#fff}
#screen-va .secnav button.on{background:var(--va);border-color:var(--va);color:#fff}
html[data-theme="oscuro"] #screen-vv .secnav button.on,html[data-theme="noche"] #screen-vv .secnav button.on,
html[data-theme="oscuro"] #screen-va .secnav button.on,html[data-theme="noche"] #screen-va .secnav button.on{color:var(--ground)}
.chips{display:flex;overflow-x:auto;scrollbar-width:none;padding-block:2px}
.chips::-webkit-scrollbar{display:none}

/* ---- buscador ---- */
.search{margin-top:12px;position:relative;display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:0 14px;color:var(--ink-3)}
.search svg{width:16px;height:16px;flex:0 0 auto}
.search input{flex:1 1 auto;min-width:0;border:0;background:transparent;font:16px var(--serif);color:var(--ink);padding:12px 0;outline:none}
.search.on{margin:0;background:var(--surface);border:2px solid var(--accent);color:var(--accent);flex:1 1 auto}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}
.searchrow{display:flex;align-items:center;gap:8px}
.txtbtn{border:0;background:none;font-size:15px;font-weight:500;color:var(--accent);padding:10px 4px}
.qres{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.qr{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--surface);border:0;width:100%;text-align:left;color:var(--ink)}
.qr .ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2)}
.qr .ic svg{width:18px;height:18px}
.qr .ic.vv{background:var(--accent-soft);color:var(--accent)}
.qr .ic.va{background:var(--va-soft);color:var(--va)}
.qr .ic.comp{background:var(--warn-soft);color:var(--warn)}
.qr .tx{flex:1 1 auto;min-width:0}
.qr .p{font-size:12px;color:var(--ink-3);font-weight:500}
.qr .t{font-size:15px;font-weight:600;margin-top:1px}
.qr .x{font-size:13px;color:var(--ink-2);line-height:1.45;margin-top:3px}
mark{background:#FFE7A3;color:#131A20;border-radius:3px;padding:0 1px}
html[data-theme="oscuro"] mark,html[data-theme="noche"] mark{background:#5A4A17;color:var(--ink)}
.qcount{font-size:13px;font-weight:600;color:var(--ink-2);margin:2px 4px 10px}
.qchips{display:flex;flex-wrap:wrap;gap:8px}
.qchips button{height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14px;color:var(--ink-2);padding:0 14px}
.qempty{font-size:14px;color:var(--ink-2);line-height:1.5}
.flash{animation:flash 1.6s var(--ease-out)}
@keyframes flash{0%,30%{background:rgba(255,214,102,.55)}100%{background:transparent}}

/* ---- contenido ---- */
.content{flex:1 1 auto;overflow-y:auto;padding:16px 16px 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-top:12px}
.grp{font-size:13px;font-weight:600;color:var(--ink-2);margin:20px 4px 8px}
.grp:first-child,#fav-grp[hidden]+[hidden]+.grp{margin-top:2px}
.row{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.item{display:flex;align-items:center;gap:12px;background:var(--surface);padding:12px 14px;min-height:56px;width:100%;border:0;text-align:left;color:var(--ink)}
.item .ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2)}
.item .ic svg{width:18px;height:18px}
.item .tx{flex:1 1 auto;min-width:0}
.item .t{font-size:15px;font-weight:600}
.item .d{font-size:12.5px;color:var(--ink-3);margin-top:2px}
.item .chev{flex:0 0 auto;width:16px;height:16px;color:var(--ink-3)}
.disclaimer{margin-top:18px;background:var(--warn-soft);border-radius:12px;padding:11px 13px;font-size:12.5px;color:var(--ink-2);line-height:1.5}
.disclaimer b{color:var(--ink);font-weight:600}

/* ---- Inicio: tarjetas ---- */
.brand-row{display:flex;align-items:center;gap:12px}
.brand-logo{width:46px;height:46px;border-radius:11px;object-fit:cover;flex:0 0 auto;border:1px solid var(--line)}
.brand{flex:1 1 auto;min-width:0}
.brand b{font-family:var(--cond);font-weight:700;font-size:21px;letter-spacing:-.01em;line-height:1.2}
.gear{width:44px;height:44px;flex:0 0 auto;border-radius:22px;border:0;background:var(--surface-2);color:var(--ink-2);display:flex;align-items:center;justify-content:center}
.gear svg{width:20px;height:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;border:0;border-radius:15px;padding:13px;min-height:96px;text-align:left;box-shadow:0 3px 8px rgba(19,26,32,.14);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;filter:var(--hdr-filter)}
.grid3 .tile{min-height:86px}
.tile .tic{width:29px;height:29px;display:flex;align-items:center;justify-content:center;color:#fff}
.tile .tic svg{width:22px;height:22px}
.tile .tt{font-family:var(--cond);font-weight:700;font-size:15px;color:#fff;margin-top:10px;line-height:1.2}
.grid3 .tile .tt{font-size:13.5px;letter-spacing:-.01em}
.tile.vv::before{background:var(--g-vv)}
.tile.va::before{background:var(--g-va)}
.tile.neutral::before{background:var(--g-anti)}
.tile.warn::before{background:var(--g-warn)}
.tile.light::before{background:var(--g-light)}
.tile.inf::before{background:var(--g-inf)}
.tile.sup::before{background:var(--g-sup)}
.tile.reg::before{background:var(--g-reg)}
.tile,.hero{box-shadow:0 3px 8px rgba(19,26,32,.14),var(--tile-ring)}
.tile .tcount{position:absolute;top:11px;right:11px;min-width:24px;height:24px;border-radius:12px;background:rgba(255,255,255,.22);font:600 12.5px var(--serif);display:flex;align-items:center;justify-content:center;padding:0 7px}
.hero{display:flex;align-items:center;gap:14px;border:0;border-radius:16px;padding:16px;width:100%;text-align:left;color:#fff;box-shadow:0 4px 10px rgba(19,26,32,.18);position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--g-ronda);filter:var(--hdr-filter)}
.hero .hic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.17);display:flex;align-items:center;justify-content:center}
.hero .hic svg{width:26px;height:26px;color:#fff}
.hero .htx{flex:1 1 auto;min-width:0}
.hero .htx .t{font-family:var(--cond);font-weight:700;font-size:17px;line-height:1.2}
.hero .htx .d{font-size:13px;color:rgba(255,255,255,.92);margin-top:2px}
.hero .chev{flex:0 0 auto;width:18px;height:18px;color:rgba(255,255,255,.85)}
html[data-theme="oscuro"] .tile,html[data-theme="noche"] .tile,
html[data-theme="oscuro"] .hero,html[data-theme="noche"] .hero{box-shadow:var(--tile-ring)}
html[data-theme="noche"] .tile .tt,html[data-theme="noche"] .tile .tic,html[data-theme="noche"] .hero{color:#D5DCE1}

/* ---- Ronda: resumen de avisos ---- */
.rsum{flex:0 0 auto;margin:-24px 14px 0;background:var(--surface);border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line);padding:8px 8px 8px 12px;display:flex;align-items:center;gap:6px;position:relative;z-index:4;min-height:50px}
.rsum .sp{flex:1 1 auto}
.badge{font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap;line-height:1.2}
.badge.crit{background:var(--crit-soft);color:var(--crit)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.badge.ok{background:var(--good-soft);color:var(--good)}
.badge.zero{background:var(--surface-2);color:var(--ink-3)}
.badge.vv{background:var(--accent-soft);color:var(--accent)}
.badge.va{background:var(--va-soft);color:var(--va)}
.rsum .go{border:0;background:none;font:600 14px var(--serif);color:var(--ronda);display:flex;align-items:center;gap:2px;padding:0 4px;min-height:44px;flex:0 0 auto}
.rsum .go svg{width:14px;height:14px}
.r-ejemplo{font-size:13.5px;color:var(--ink-2);margin:6px 2px 12px;line-height:1.5;background:var(--surface);border:1px dashed var(--line-2);border-radius:12px;padding:10px 12px}
.r-demo{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;margin:2px 0 12px;padding:9px 10px 9px 12px;border-radius:12px;
  background:repeating-linear-gradient(135deg,var(--warn-soft) 0 12px,color-mix(in srgb,var(--warn-soft) 70%,var(--warn-line)) 12px 24px);border:1.5px solid var(--warn-line);color:var(--ink);box-shadow:var(--shadow)}
.r-demo-tag{flex:0 0 auto;font:700 12.5px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--warn-dot);border-radius:6px;padding:3px 8px}
html[data-theme="oscuro"] .r-demo-tag,html[data-theme="noche"] .r-demo-tag{color:#1D180C}
.r-demo-tx{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.35;font-weight:500}
.r-demo button{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--warn-line);background:var(--surface);color:var(--ink);font:600 14px var(--serif)}
#screen-ronda .content{padding-top:14px;padding-bottom:96px}

/* ---- secciones plegables ---- */
.fieldset{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px;overflow:hidden}
.fs-head{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:54px;width:100%;border:0;background:none;color:var(--ink);text-align:left}
.fs-head .dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.fs-head .gi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;color:var(--gc);background:var(--surface-2);background:color-mix(in srgb,var(--gc) 14%,transparent)}
.fs-head .gi svg{width:21px;height:21px}
.fieldset.open[style*="--gc"]{border-color:var(--line-2)}
.fieldset.open[style*="--gc"]>.fs-head{background:color-mix(in srgb,var(--gc) 6%,transparent)}
.fieldset.open[style*="--gc"]>.fs-body{padding-top:12px}
.fs-head .lbl{font-family:var(--cond);font-weight:700;font-size:16px}
.fs-head .fsx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.fs-head .fs-sum{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fieldset.open .fs-sum{display:none}
.fs-head .fs-cnt{font-size:12px;color:var(--ink-3);flex:0 0 auto}
.fieldset:not(.open) .fs-cnt{display:none}
.fs-head .fs-bdg{display:flex;gap:4px;flex:0 0 auto}
.fieldset.open .fs-bdg{display:none}
.fs-head .chev{width:16px;height:16px;color:var(--ink-3);flex:0 0 auto;transition:transform 180ms var(--ease-out)}
.fs-head[aria-expanded="true"] .chev{transform:rotate(90deg)}
.fs-body{padding:0 12px 12px;display:none}
.fieldset.open .fs-body{display:block}

/* rejilla de valores */
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vt{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:9px 11px 10px;display:flex;flex-direction:column;gap:1px;text-align:left;color:var(--ink);min-height:62px;min-width:0}
.vt .l{font-size:12px;color:var(--ink-3);font-weight:500;display:flex;align-items:center;gap:6px;min-width:0}
.vt .l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vt .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;white-space:nowrap}
.vt .u{font-family:var(--serif);font-size:12.5px;font-weight:400;color:var(--ink-3);margin-left:4px}
.vt .pip{width:7px;height:7px;border-radius:4px;flex:0 0 auto;display:none}
.vt.warn{background:var(--warn-soft);border-color:var(--warn-line)}
.vt.warn .pip{display:inline-block;background:var(--warn-dot)}
.vt.crit{background:var(--crit-soft);border-color:var(--crit-line)}
.vt.crit .pip{display:inline-block;background:var(--crit-dot)}
.vt.empty .v{color:var(--ink-3)}
.vt.calc{grid-column:1/-1;background:var(--surface);border-style:dashed;border-color:var(--line-2)}
.vt.calc .calc-tag{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.vt.calc.warn{background:var(--warn-soft);border-color:var(--warn-line)}
.vt.calc.crit{background:var(--crit-soft);border-color:var(--crit-line)}
.vt{position:relative}
.vt.hasrb{padding-bottom:19px}
.vt .rb{position:absolute;left:11px;right:11px;bottom:9px;height:5px}
.vt .rb .tr{position:absolute;inset:0;border-radius:3px;opacity:.75}
.vt .rb .mk{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.vt .rb .mk.ok{background:var(--good)}
.vt .rb .mk.warn{background:var(--warn-dot)}
.vt .rb .mk.crit{background:var(--crit-dot)}
.vt .rb .mk.info{background:var(--ink-3)}
.vt.warn .rb .mk{border-color:var(--warn-soft)}
.vt.crit .rb .mk{border-color:var(--crit-soft)}
:root{--rb-ok:#9FCFB3;--rb-warn:#E6C77F;--rb-crit:#E3A19E;--rb-info:#C3CED6}
html[data-theme="oscuro"]{--rb-ok:#2F6B4B;--rb-warn:#7A5E22;--rb-crit:#8A3B37;--rb-info:#3A4959}
html[data-theme="noche"]{--rb-ok:#24503A;--rb-warn:#5C4719;--rb-crit:#68302C;--rb-info:#2C3743}
html[data-densidad="comoda"] .vgrid{grid-template-columns:1fr}
html[data-densidad="comoda"] .vt{flex-direction:row;align-items:center;justify-content:space-between;min-height:54px}
html[data-densidad="comoda"] .vt .l{font-size:14px;color:var(--ink-2)}
.field{margin:12px 0 0}
.field>label{display:block;font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:7px}
.fs-body>.note{margin:12px 0 0}

/* controles segmentados (sustituyen a desplegables cortos) */
.segc{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;background:var(--surface-3);border-radius:10px;padding:3px}
.segc button{height:42px;position:relative;border:0;border-radius:8px;background:transparent;font:500 13.5px var(--serif);color:var(--ink-2);padding:0 6px;line-height:1.15}
.segc button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(19,26,32,.15)}
html[data-theme="oscuro"] .segc button.on,html[data-theme="noche"] .segc button.on{background:var(--line-2)}
.segc.mini button{height:38px;font-size:13px;padding:0 10px}
.segsel{display:none}
select.nice{width:100%;font:16px var(--serif);color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}

/* casillas como filas */
.tgroup{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:6px 0 12px}
.chk{display:flex;align-items:center;gap:12px;padding:0 14px;min-height:48px;background:var(--surface);font-size:15px;color:var(--ink);cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:1.75px solid var(--line-2);margin:0;display:grid;place-content:center;background:var(--surface)}
.chk input:checked{background:var(--tools);border-color:var(--tools)}
.chk input:checked::after{content:"";width:6px;height:11px;border:solid var(--surface);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.chk>span{flex:1 1 auto;line-height:1.3;padding:10px 0}
.chk .pts{flex:0 0 auto;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-3);min-width:28px;text-align:right}
.sublbl{font-size:13.5px;font-weight:600;color:var(--ink);margin:14px 2px 6px}

/* ---- avisos ---- */
h3.sub{font-family:var(--cond);font-size:17px;font-weight:700;color:var(--ink);margin:22px 2px 10px}
.tally{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.fi{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:11px 13px;margin-bottom:8px}
.fi.crit{border-color:var(--crit-line);background:var(--crit-soft)}
.fi.warn{border-color:var(--warn-line);background:var(--warn-soft)}
.fi .body{flex:1 1 auto;min-width:0}
.fi .t{font-family:var(--cond);font-weight:700;font-size:14.5px}
.fi.crit .t{color:var(--crit)}
.fi.warn .t{color:var(--warn)}
.fi .val{font-family:var(--mono);color:var(--ink);font-weight:600}
.fi .m{font-size:13px;color:var(--ink-2);margin-top:3px;line-height:1.45}
.fi .src{font-size:12px;font-weight:600;color:var(--ink-3);margin-top:5px;display:block}

/* informe de ronda (botón flotante) */
.informe-box{position:absolute;left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom,0));z-index:5}
.informe-box>.note{display:none}
.btn-informe{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--cond);font-weight:700;font-size:15.5px;color:var(--surface);background:var(--ink);border:0;border-radius:14px;box-shadow:0 6px 16px rgba(19,26,32,.25)}
.btn-informe svg{width:18px;height:18px}
.btn-informe:disabled{background:var(--surface-3)!important;color:var(--ink-2)!important;border:1px solid var(--line-2);box-shadow:none!important}
html[data-theme="oscuro"] .btn-informe{background:#1D7A50;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.45)}
html[data-theme="noche"] .btn-informe{background:var(--surface-3);color:var(--ink);border:1px solid var(--line-2);box-shadow:none}
.informe-fb{position:absolute;left:0;right:0;bottom:60px;margin:0;text-align:center;font-size:13px;font-weight:600;color:var(--surface);background:var(--good);border-radius:10px;padding:9px;display:none}
.informe-fb.on{display:block;animation:pop 200ms var(--ease-out)}
#screen-ronda .informe-box+.note,#screen-ronda h3.sub+.informe-box{margin:0}

/* ---- hoja para escribir un valor ---- */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;opacity:0;transition:opacity 220ms var(--ease-out)}
.scrim.on{opacity:1}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--surface-2);border-radius:22px 22px 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:12px;box-shadow:0 -8px 24px rgba(10,18,24,.2);transform:translateY(100%);transition:transform 320ms var(--ease-drawer);max-width:560px;margin:0 auto}
.sheet.on{transform:translateY(0)}
.sheet .grab{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--line-2)}
.sh-top{display:flex;align-items:flex-start;gap:10px}
.sh-top .tx{flex:1 1 auto;min-width:0}
.sh-ctx{font-size:12.5px;color:var(--ink-2);font-weight:500}
.sh-title{font-family:var(--cond);font-weight:700;font-size:21px;margin:0}
.sh-x{width:36px;height:36px;border-radius:18px;border:0;background:var(--surface-3);color:var(--ink-2);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sh-x svg{width:16px;height:16px}
.sh-card{background:var(--surface);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.sh-val{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sh-num{font-family:var(--mono);font-size:44px;font-weight:600;letter-spacing:-.02em;line-height:1;min-width:0}
.sh-num.ph{color:var(--ink-3)}
.sh-caret{width:2px;height:36px;background:var(--ronda);align-self:center;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.sh-unit{font-size:15px;color:var(--ink-2)}
.sh-val .sp{flex:1 1 auto}
.sh-st{font-size:12px;font-weight:600;border-radius:999px;padding:4px 9px}
.sh-st.crit{color:var(--crit);background:var(--crit-soft)}
.sh-st.warn{color:var(--warn);background:var(--warn-soft)}
.sh-st.ok{color:var(--good);background:var(--good-soft)}
.rbar{position:relative;padding-top:4px}
.rbar .zones{height:10px;border-radius:5px;display:flex;overflow:hidden}
.rbar .zones span{display:block;height:100%}
.rbar .z-ok{background:var(--good-line)}
.rbar .z-warn{background:var(--warn-line)}
.rbar .z-crit{background:var(--crit-line)}
.rbar .mk{position:absolute;top:-2px;width:8px;height:22px;margin-left:-4px;border-radius:3px;background:var(--ink);border:2px solid var(--surface);transition:left 160ms var(--ease-out)}
.rbar .ticks{position:relative;height:16px;font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:6px}
.rbar .ticks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.rbar .ticks .t0{left:0;transform:none}
.rbar .ticks .t1{right:0;left:auto;transform:none}
.sh-ref{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.sh-err{font-size:12.5px;color:var(--crit);font-weight:600}
.sh-rul{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:stretch}
.sh-rul>button{height:64px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink);display:grid;place-items:center;padding:0}
.sh-rul>button svg{width:20px;height:20px}
.rul-w{position:relative;height:64px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2);overflow:hidden;min-width:0}
.rul{height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;outline:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.rul::-webkit-scrollbar{display:none}
.rul-in{width:max-content;height:100%;padding:0 50%}
.rul-tr{position:relative;height:100%}
.rul .tk{position:absolute;left:-.5px;width:calc(100% + 1px);top:12px;height:11px;background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px var(--px))}
.rul .tk.mj{left:-.75px;width:calc(100% + 1.5px);top:7px;height:21px;background:repeating-linear-gradient(90deg,var(--ink-3) 0 1.5px,transparent 1.5px calc(var(--px) * 10))}
.rul .band{position:absolute;left:0;right:0;top:31px;height:4px;border-radius:2px}
.rul .lb{position:absolute;top:39px;transform:translateX(-50%);font:500 12px var(--mono);color:var(--ink-3);white-space:nowrap}
.rul-c{position:absolute;left:50%;top:0;width:3px;height:36px;margin-left:-1.5px;border-radius:0 0 2px 2px;background:var(--ink);pointer-events:none}
.rul-c::before{content:"";position:absolute;left:50%;top:0;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ink);border-bottom:0}
.rbar .z-info{background:var(--line-2)}
.sh-q{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sh-q button{height:40px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);font:600 14px var(--mono);color:var(--ink)}
.sh-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.sh-k button{height:50px;border:0;border-radius:12px;background:var(--surface);box-shadow:0 1px 0 rgba(19,26,32,.12);font:500 22px var(--serif);color:var(--ink);display:flex;align-items:center;justify-content:center}
.sh-k button svg{width:24px;height:24px}
.sh-nav{display:flex;gap:8px}
.sh-nav button{height:50px;border-radius:14px;font:600 14px var(--serif);display:flex;align-items:center;justify-content:center;gap:4px}
.sh-nav .prev{padding:0 14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);flex:0 0 auto;max-width:40%}
.sh-nav .prev span,.sh-nav .next span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-nav .next{flex:1 1 auto;min-width:0;border:0;background:var(--ronda);color:#fff;font:700 15px var(--cond);padding:0 12px}
html[data-theme="oscuro"] .sh-nav .next,html[data-theme="noche"] .sh-nav .next{color:var(--ronda-ink)}
.sh-nav svg{width:16px;height:16px;flex:0 0 auto}
.sh-nav .clr{padding:0 14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);flex:0 0 auto}
@media (max-height:700px){.sh-k button{height:44px}.sh-num{font-size:36px}.sheet{gap:9px}.rul-w,.sh-rul>button{height:58px}}

/* ---- modo crisis ---- */
.crisis{position:fixed;inset:0;z-index:50;background:#111518;color:#F1F4F6;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top,0)) 0 calc(20px + env(safe-area-inset-bottom,0));opacity:0;transition:opacity 200ms var(--ease-out)}
.crisis.on{opacity:1}
html[data-theme="noche"] .crisis{background:#000}
.cr-top{padding:0 16px;display:flex;align-items:center;gap:10px}
.cr-x{width:44px;height:44px;border-radius:22px;background:#22292E;border:0;color:#F1F4F6;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.cr-x svg{width:18px;height:18px}
.cr-top .tx{flex:1 1 auto;min-width:0}
.cr-k{font-size:12.5px;color:#F2A9A4;font-weight:600}
.cr-t{font-family:var(--cond);font-weight:700;font-size:21px;line-height:1.15}
.cr-clock{text-align:right;flex:0 0 auto}
.cr-clock b{font-family:var(--mono);font-size:22px;font-weight:600;display:block}
.cr-clock span{font-size:12px;color:#8F9AA3}
.cr-prog{padding:16px 16px 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}
.cr-prog i{height:5px;border-radius:3px;background:#2A3238}
.cr-prog i.d{background:#E5534B}
.cr-prog i.c{background:#F1F4F6}
.cr-sig{padding:12px 18px 0;font-size:14px;color:#C9D2D8;line-height:1.45}
.cr-done{padding:8px 18px 0;display:flex;flex-direction:column;max-height:24vh;overflow:auto}
.cr-done div{display:flex;gap:10px;align-items:center;font-size:14px;color:#8F9AA3;padding:5px 0}
.cr-done i{flex:0 0 auto;width:22px;height:22px;border-radius:11px;background:#2A3238;display:flex;align-items:center;justify-content:center}
.cr-done i svg{width:12px;height:12px}
.cr-main{flex:1 1 auto;padding:18px 18px 0;display:flex;flex-direction:column;gap:14px;overflow:auto}
.cr-n{font-size:14px;font-weight:600;color:#F2A9A4}
.cr-step{font-size:26px;line-height:1.35;color:#F1F4F6;font-family:var(--cond);font-weight:600}
.cr-step b{color:#FFFFFF;font-weight:700}
.cr-next{padding:14px;border-radius:14px;background:#1B2125;border:1px solid #2A3238;display:flex;flex-direction:column;gap:4px}
.cr-next .k{font-size:12.5px;color:#8F9AA3;font-weight:600}
.cr-next .v{font-size:15px;color:#C9D2D8;line-height:1.4}
.cr-acts{padding:12px 16px 0;display:flex;gap:10px}
.cr-acts button{height:64px;border-radius:16px;font:600 16px var(--serif)}
.cr-acts .bk{padding:0 20px;border:1px solid #3A444B;background:transparent;color:#F1F4F6}
.cr-acts .bk:disabled{opacity:.35}
.cr-acts .ok{flex:1 1 auto;border:0;background:#E5534B;color:#fff;font:700 19px var(--cond);display:flex;align-items:center;justify-content:center;gap:8px}
.cr-acts .ok svg{width:22px;height:22px}
html[data-theme="noche"] .cr-acts .ok{background:#B9433D}

/* ---- Complicaciones: emergencias ---- */
.h2row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:2px 2px 10px}
.h2{font-family:var(--cond);font-weight:700;font-size:19px;margin:0;color:var(--ink)}
#vigilancia{margin:26px 2px 6px}
.hint2{font-size:12.5px;color:var(--ink-3)}
.emgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.em{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:118px;padding:13px;border-radius:15px;background:var(--surface);border:1.5px solid var(--crit-line);text-align:left;color:var(--ink)}
.em .ic{width:38px;height:38px;border-radius:10px;background:var(--crit-dot);display:flex;align-items:center;justify-content:center;color:#fff}
html[data-theme="oscuro"] .em .ic,html[data-theme="noche"] .em .ic{color:var(--ground)}
.em .ic svg{width:20px;height:20px}
.em .t{font-family:var(--cond);font-weight:700;font-size:15.5px;line-height:1.2;display:block}
.em .n{font-size:12px;color:var(--crit);font-weight:600;display:block;margin-top:2px}
.em-src{display:none}

/* ---- texto de referencia ---- */
.ref-lede{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0 2px 16px}
h3.rh{font-family:var(--cond);font-size:18px;font-weight:700;margin:26px 2px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink);scroll-margin-top:10px}
h3.rh:first-of-type{margin-top:4px}
h4.rh4{font-size:14px;font-weight:600;color:var(--ink-2);margin:16px 2px 8px;display:flex;align-items:center;gap:8px}
p.rp{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0 2px 12px}
p.rp b,p.rp strong{color:var(--ink);font-weight:600}
.pill{display:inline-block;font-family:var(--serif);font-size:12px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:5px;text-transform:uppercase;vertical-align:middle;line-height:1.4}
.pill.chub{background:var(--accent-soft);color:var(--accent-ink)}
.pill.elso{background:var(--surface-3);color:var(--ink-2)}
h3.rh .pill,.dl-k .pill{margin-left:0}

.note{background:var(--accent-soft);padding:11px 13px;border-radius:12px;font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 14px}
.note b{color:var(--ink);font-weight:600}
.note.red{background:var(--crit-soft)}
.note.amber{background:var(--warn-soft)}

.deflist{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;margin:0 0 14px}
.deflist .dl-row{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.deflist .dl-row:last-child{border-bottom:0}
.deflist .dl-row.hl{background:var(--good-soft)}
.deflist .dl-k{font-weight:600;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px}
.deflist .dl-v{color:var(--ink-2);line-height:1.5}
.deflist.tight .dl-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;align-items:baseline}
.deflist.tight .dl-k{margin-bottom:0;flex:1 1 auto;min-width:0}
.deflist.tight .dl-v{text-align:right;font-family:var(--mono);font-size:12.5px;flex:1 1 auto;min-width:0;word-break:break-word}
.deflist-cap{font-size:12px;color:var(--ink-3);padding:9px 14px;border-top:1px solid var(--line);line-height:1.5}

.kgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 6px}
.kc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 11px;display:flex;flex-direction:column;gap:2px}
.kc.wide{grid-column:1 / -1}
.kc .kl{font-size:12px;font-weight:600;color:var(--ink-2)}
.kc .kv{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--ink);line-height:1.25}
.kc .kd{font-size:12px;color:var(--ink-2);line-height:1.35}
.kc.crit{background:var(--crit-soft);border-color:var(--crit-line)}
.kc.crit .kl{color:var(--crit)}
.kc.warn{background:var(--warn-soft);border-color:var(--warn-line)}
.kc.warn .kl{color:var(--warn)}
.linkcard{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:var(--accent-soft);color:var(--accent-ink);text-decoration:none;font-size:14px;font-weight:600;margin:4px 0 14px}
.linkcard svg{width:18px;height:18px;flex:0 0 auto}
.linkcard span{flex:1 1 auto}
.linkcard .chev{width:16px;height:16px}

.steps{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:13px 14px;margin:0 0 14px}
.steps .st-h{font-family:var(--cond);font-weight:700;font-size:15px;margin:0 0 2px;color:var(--ink)}
.steps .st-h.crit{color:var(--crit)}
.steps .st-sig{font-size:12.5px;color:var(--ink-3);margin:0 0 10px;line-height:1.45}
.steps ol{list-style:none;margin:0;padding:0;counter-reset:st}
.steps li{counter-increment:st;position:relative;padding-left:30px;min-height:20px;margin-bottom:10px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.steps li:last-child{margin-bottom:0}
.steps li::before{content:counter(st);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--surface);font-family:var(--mono);font-size:12px;font-weight:600;line-height:22px;text-align:center}
.steps.crit li::before{background:var(--crit-dot)}
.steps li b{color:var(--ink)}

/* tablas compactas, listas y etiquetas (menos texto corrido) */
.deflist.tbl .dl-row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:4px 12px;align-items:baseline}
.deflist.tbl .dl-k{margin:0;font-size:13px;line-height:1.35}
.deflist.tbl .dl-v{font-size:13.5px;line-height:1.45}
.lst{list-style:none;margin:0 0 14px;padding:4px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.lst li{position:relative;padding:8px 0 8px 18px;font-size:13.5px;line-height:1.45;color:var(--ink-2);border-bottom:1px solid var(--line)}
.lst li:last-child{border-bottom:0}
.lst li::before{content:"";position:absolute;left:2px;top:15px;width:6px;height:6px;border-radius:3px;background:var(--ink-3)}
.lst li b{color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.tags span{font-size:13px;font-weight:500;padding:6px 10px;border-radius:999px;background:var(--va-soft);color:var(--va)}
.tags.light span{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.esq-btn{display:inline-flex;align-items:center;gap:5px;margin-left:auto;height:36px;position:relative;padding:0 10px;border-radius:999px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font:600 12.5px var(--serif)}
.esq-btn svg{width:15px;height:15px}

/* visor de esquemas */
.viewer{position:fixed;inset:0;z-index:45;background:var(--ground);display:flex;flex-direction:column;opacity:0;transition:opacity 200ms var(--ease-out)}
.viewer.on{opacity:1}
.viewer .vh{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top,0)) 14px 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.viewer .vh .t{flex:1 1 auto;font-family:var(--cond);font-weight:700;font-size:19px}
.viewer .vh .k{font-size:12.5px;color:var(--ink-3)}
.viewer .vb{flex:1 1 auto;overflow:auto;padding:14px;-webkit-overflow-scrolling:touch}
.viewer .fig{background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px;max-width:560px;margin:0 auto}
.viewer .fig img{display:block;width:100%;height:auto}
/* perlas */
.pchips{margin:0 0 12px;gap:7px}
.plist{display:flex;flex-direction:column;gap:10px}
.pcard{display:flex;gap:12px;align-items:stretch;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;color:var(--ink)}
.pthumb{flex:0 0 92px;height:92px;border-radius:10px;background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;position:relative}
.pthumb img{width:100%;height:100%;object-fit:cover}
.pthumb>svg{width:34px;height:34px}
.pthumb.pend{background:var(--surface-2);color:var(--ink-3)}
.pthumb .pl{position:absolute;right:6px;bottom:6px;width:26px;height:26px;border-radius:50%;background:rgba(19,26,32,.72);color:#fff;display:grid;place-items:center}
.pthumb .pl svg{width:13px;height:13px;margin-left:2px}
.ptx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.pcat{font:600 12px var(--cond);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}
.ptx b{font-family:var(--cond);font-size:16px;line-height:1.2}
.pres{font-size:13px;color:var(--ink-2);line-height:1.35}
.pst{margin-top:auto;padding-top:3px;font-size:12px;font-weight:600}
.pst.ok{color:var(--good)}
.pst.pend{color:var(--ink-3)}
.viewer .fig img{display:block;width:100%;height:auto}
.viewer .fig.vid{background:#000;border-color:#000;padding:0;overflow:hidden}
.viewer .fig video{display:block;width:100%;max-height:70vh;background:#000}
.viewer .fig.pend{background:var(--surface-2)}
.viewer .pend-media{padding:34px 16px;text-align:center;color:var(--ink-3);font-size:14px}
.viewer .pend-media svg{width:44px;height:44px}
.viewer .pend-media p{margin:8px 0 0}
.viewer .vpts{max-width:560px;margin:16px auto 0}
.viewer .vpts h4{font:700 16px var(--cond);margin:0 0 8px;color:var(--ink)}
.viewer .vpts .lst li{font-size:14.5px;line-height:1.5}
.viewer .alg{margin:14px 0 0;padding:12px 14px 6px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.viewer .alg h5{margin:0;font:700 16px var(--cond);color:var(--ink)}
.viewer .alg .alg-n{margin:2px 0 8px;font-size:13px;color:var(--ink-3)}
.viewer .alg ol{list-style:none;margin:0;padding:0}
.viewer .alg li{position:relative;display:flex;gap:10px;align-items:flex-start;padding:0 0 12px}
.viewer .alg li:not(:last-child)::before{content:"";position:absolute;left:36px;top:26px;bottom:2px;border-left:2px solid var(--line-2)}
.viewer .alg .ak{flex:0 0 74px;text-align:center;font:700 12px var(--serif);color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:4px 0;margin-top:1px}
.viewer .alg li.ok .ak{color:var(--good);background:var(--good-soft)}
.viewer .alg .at{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.viewer .alg .at b{color:var(--ink)}
.viewer .ir-app{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;margin:12px 0 0;padding:0 14px;border-radius:14px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);font:600 15px var(--serif);text-align:left;cursor:pointer}
.viewer .ir-app svg{flex:none;width:18px;height:18px}
.viewer .vsrc{font-size:12.5px;color:var(--ink-3);margin:10px 0 0}
.grid2.tools .tile{min-height:76px}
.viewer .cap{max-width:560px;margin:12px auto 0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.viewer .cap b{color:var(--ink)}
html[data-theme="noche"] .viewer .fig{filter:brightness(.8)}

/* modo "solo CHUB": oculta lo marcado como externo */
html[data-fuentes="chub"] .ext{display:none!important}

/* ---- tarjetas y calculadoras ---- */
.pane{display:none}
.pane.on{display:block}
.screen>.pane.on{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.screen>.pane.on>.content{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}
.card h3{font-family:var(--cond);font-size:19px;font-weight:700;margin:0 0 2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card .hint{font-size:13px;color:var(--ink-3);margin:0 0 16px;line-height:1.45}
#screen-calc .card{background:transparent;border:0;padding:0}
#screen-calc .content{padding-bottom:110px}
.slider{margin-bottom:16px}
.slider .lbl{display:flex;justify-content:space-between;font-size:13.5px;color:var(--ink-2);font-weight:500;margin-bottom:8px}
.slider .lbl b{font-family:var(--mono);color:var(--ink);font-weight:600}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--surface-3);border-radius:3px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 1px 4px rgba(19,26,32,.3);margin-top:-10px}
input[type=range]::-moz-range-track{height:6px;background:var(--surface-3);border-radius:3px}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--surface)}
.out{margin-top:6px;padding:16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:center}
.out .lbl2,.outbox .lbl2{font-size:12px;font-weight:600;color:var(--ink-3)}
.out .big{font-family:var(--mono);font-size:32px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:2px}
.out .sub{font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.45}
.outrow{display:flex;gap:10px;margin-top:12px}
.outbox{flex:1 1 0;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-align:center}
.outbox .big{font-family:var(--mono);font-size:19px;font-weight:600;margin-top:3px;font-variant-numeric:tabular-nums}
#pane-resp .outrow,#pane-save .outrow{display:none}
#pane-hep .card{padding:14px 14px 12px}
#pane-hep .hint{margin:0 0 8px}
#pane-hep .slider{margin-bottom:0}
#pane-hep .slider .lbl{margin-bottom:0}
.hep-eq{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 0 6px;padding:7px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink)}
.hep-eq b{font-family:var(--mono);font-size:15px;font-weight:600}
.hep-eq span{font-size:13px;color:var(--ink-2)}
.hep-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
.hep-out .outbox{padding:10px 8px 11px}
.hep-out .big{font-size:27px;line-height:1.15;margin-top:2px}
.hep-out .big small,.hep-biva .big small{font-size:13px;font-weight:600;color:var(--ink-2);margin-left:3px}
.hep-out .sub,.hep-biva .sub{font-size:12.5px;color:var(--ink-2);line-height:1.35;margin-top:3px}
.hep-biva{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.hep-biva .bt{flex:1 1 auto;min-width:0}
.hep-biva .lbl2{font-size:12px;font-weight:600;color:var(--ink-3)}
.hep-biva .big{font-family:var(--mono);font-size:22px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.card h3 .reset{margin-left:auto;border:0;background:none;font:600 14px var(--serif);color:var(--accent);padding:0 4px;min-height:44px}
#r-tally{display:none}
#save-msg{font-size:13px;color:var(--ink-2);line-height:1.45}
.calc-top{display:flex;align-items:center;gap:8px;margin:0 2px 4px}
.calc-top .sp{flex:1 1 auto}
.calc-top .reset{border:0;background:none;font:600 14px var(--serif);color:var(--accent);padding:0 4px;min-height:44px}

/* barra de resultado fija */
.resbar{position:absolute;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0));z-index:5;background:#131A20;color:#fff;border-radius:16px;padding:11px 12px 11px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 20px rgba(19,26,32,.3)}
html[data-theme="oscuro"] .resbar,html[data-theme="noche"] .resbar{background:var(--surface-3);color:var(--ink);box-shadow:none;border:1px solid var(--line-2)}
.resbar .c{display:flex;flex-direction:column;min-width:0}
.resbar .c.f{flex:1 1 auto}
.resbar .k{font-size:12px;color:#AAB5BE;white-space:nowrap}
.resbar .v{font-family:var(--mono);font-size:21px;font-weight:600;line-height:1.15;white-space:nowrap}
.resbar .bar{width:1px;align-self:stretch;background:#313B43}
.resbar .cp{width:44px;height:44px;border-radius:22px;border:0;background:#262F36;color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
html[data-theme="oscuro"] .resbar .cp,html[data-theme="noche"] .resbar .cp{background:var(--line-2);color:var(--ink)}
.resbar .cp svg{width:18px;height:18px}

/* criterios de indicación */
.crit-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:13px 14px;margin-bottom:10px}
.crit-card h4{font-family:var(--cond);font-size:16px;font-weight:700;margin:0 0 2px}
.crit-card .csub{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.verdict{display:inline-block;font-family:var(--cond);font-weight:700;font-size:12.5px;padding:4px 10px;border-radius:999px;margin-bottom:8px}
.verdict.si{background:var(--crit-soft);color:var(--crit)}
.verdict.qz{background:var(--warn-soft);color:var(--warn)}
.verdict.no{background:var(--good-soft);color:var(--good)}
.verdict.ex{background:var(--surface-3);color:var(--ink-2)}
.crit-list{list-style:none;margin:0;padding:0}
.crit-list li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink-2);padding:3px 0;line-height:1.4}
.crit-list li.off{color:var(--ink-3)}
.mk{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.mk.y{background:var(--crit-soft);color:var(--crit)}
.mk.n{background:var(--surface-2);color:var(--ink-3)}
.mk.u{background:var(--surface-2);color:var(--ink-3);border:1px dashed var(--line-2)}
.mk.x{background:var(--warn-soft);color:var(--warn)}

/* ---- Supervivencia ---- */
.appbar.plain .segc{margin-top:10px}
.sv-card{margin-bottom:12px;display:flex;flex-direction:column;gap:12px}
.sv-card .ch{font-family:var(--cond);font-weight:700;font-size:17px;margin:0}
.sv-card .cap{font-size:12.5px;color:var(--ink-3);margin:-8px 0 0;line-height:1.45}
.sv-card .cap:last-child{margin:0}
.chrow{display:flex;align-items:center;gap:8px}
.chrow .ch{flex:1 1 auto}
#elso-host{display:flex;flex-direction:column;gap:14px}
#score-host{display:flex;flex-direction:column;gap:8px}
.br{display:flex;flex-direction:column;gap:5px}
.br .h{display:flex;align-items:baseline;gap:8px;font-size:14px}
.br .h i{width:10px;height:10px;border-radius:3px;flex:0 0 auto;align-self:center}
.br .h b{font-family:var(--mono);font-size:17px;font-weight:600;margin-left:auto}
.br .tr{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden}
.br .tr span{display:block;height:100%;border-radius:6px}
.br .n{font-size:12px;color:var(--ink-3)}
.clr{display:grid;grid-template-columns:40px minmax(0,1fr) 46px;align-items:center;gap:10px;font-size:13px}
.clr .k{font-family:var(--mono);font-weight:600;color:var(--ink-2)}
.clr .tr{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.clr .tr span{display:block;height:100%;border-radius:5px;background:var(--tools)}
.clr.me .tr span{background:var(--accent)}
.clr.me .k{color:var(--accent)}
.clr .v{font-family:var(--mono);font-weight:600;text-align:right}

/* ---- Fuentes ---- */
.src-row{display:flex;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-2);line-height:1.5}
.src-row:last-child{border-bottom:0}
.src-row em{font-style:normal;color:var(--ink)}

/* ---- Checklists ---- */
/* Checklists: maletas virtuales */
.mal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:640px){.mal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mal{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px 12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;font:inherit;box-shadow:0 1px 2px rgba(19,26,32,.06);cursor:pointer}
.mal:active{transform:scale(.98)}
.mal>svg{display:block;width:100%;height:128px}
.mal .mt{font-family:var(--cond);font-weight:700;font-size:17px;line-height:1.15}
.mal .mm{font-size:12.5px;color:var(--ink-2)}
.mal .mp{display:flex;align-items:center;gap:8px}
.mal .tr{flex:1 1 auto;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.mal .tr i{display:block;height:100%;background:var(--accent)}
.mal .mp b{font:600 12px var(--mono);color:var(--ink-2)}
.mal.lista .tr i{background:var(--good)}
.mal.lista .mp b{color:var(--good)}
.mal .ok{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--good-soft);color:var(--good);font-size:12px;font-weight:600}
.mal .ok svg{width:13px;height:13px}
.viewer .mal-h{color:#fff;border-bottom:0}
.viewer .mal-h .k{color:rgba(255,255,255,.88)}
.viewer .mal-h .back{background:rgba(255,255,255,.18);color:#fff;border-color:transparent}
.mz>*{max-width:560px;margin-left:auto;margin-right:auto}
.mz-hero{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:12px}
.mz-hero>svg{flex:none;width:84px;height:80px}
.mz-txt{flex:1 1 auto;min-width:0}
.mz-n{font-size:15px;color:var(--ink-2)}
.mz-n b{font:600 30px/1 var(--mono);color:var(--ink);margin-right:4px}
.mz-lista{font:700 24px/1.1 var(--cond);color:var(--good)}
.mz-sub{font-size:13.5px;color:var(--ink-2);margin-top:4px}
.zip{position:relative;height:20px;margin-top:10px}
.zip::before{content:"";position:absolute;left:0;right:0;top:6px;height:8px;border-radius:4px;background:repeating-linear-gradient(90deg,var(--line-2) 0 3px,var(--surface-2) 3px 6px)}
.zip .zc{position:absolute;left:0;top:6px;height:8px;border-radius:4px;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,var(--ink-3) 3px 6px);transition:width 250ms var(--ease-out)}
.zip .zp{position:absolute;top:0;width:16px;height:20px;border-radius:5px;background:#DCE84A;border:2px solid #1B1F24;box-sizing:border-box;transition:left 250ms var(--ease-out)}
.bol{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:12px}
.bol-h{width:100%;min-height:58px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:0;background:var(--surface);text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.bol-h .bi{flex:none;width:30px;height:30px;color:var(--bc)}
.bol.ok .bol-h{background:var(--good-soft)}
.bol.ok .bol-h .bi{color:var(--good)}
.bol-h .bn{flex:1 1 auto;font:700 18px/1.15 var(--cond)}
.bol-h .bc{font:600 13px var(--mono);padding:4px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.bol.ok .bol-h .bc{background:var(--surface);color:var(--good)}
.bol-h .ch{flex:none;width:18px;height:18px;color:var(--ink-2);transition:transform 200ms var(--ease-out)}
.bol-h[aria-expanded="true"] .ch{transform:rotate(180deg)}
.bol-b{border-top:1px solid var(--line)}
.bol-b[hidden]{display:none}
.it{width:100%;min-height:54px;display:flex;align-items:center;gap:12px;padding:8px 14px;border:0;border-bottom:1px solid var(--surface-2);background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.it:last-child{border-bottom:0}
.it .bx{flex:none;width:28px;height:28px;border-radius:8px;box-sizing:border-box;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--surface)}
.it .bx svg{width:16px;height:16px;opacity:0}
.it .tx{font-size:16.5px;line-height:1.35}
.it[aria-pressed="true"] .bx{background:var(--good);border-color:var(--good)}
.it[aria-pressed="true"] .bx svg{opacity:1}
.it[aria-pressed="true"] .tx{color:var(--ink-3);text-decoration:line-through}
.mz-vaciar{display:block;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:600 14.5px var(--serif);margin-top:4px;cursor:pointer}
.mz>.mz-vaciar{margin-left:max(0px,calc((100% - 560px)/2))}
.mz-pie{font-size:12px;color:var(--ink-3);font-weight:600;margin-top:12px}

/* ---- Informes ---- */
.fchip select{appearance:none;-webkit-appearance:none;height:36px;border-radius:18px;border:1px solid var(--line);background:var(--surface);font:600 13px var(--serif);color:var(--ink-2);padding:0 12px;max-width:150px}
.icard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;text-align:left;color:var(--ink);width:100%;margin-bottom:8px}
.icard .top{display:flex;align-items:center;gap:8px}
.icard .bx{font-family:var(--cond);font-weight:700;font-size:16px}
.icard .tm{font-size:12.5px;color:var(--ink-3);margin-left:auto}
.icard .bdg{display:flex;gap:6px;flex-wrap:wrap}
.icard .trd{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);font-family:var(--mono)}
.icard .trd b.up{color:var(--crit)}
.icard .trd b.ok{color:var(--good)}
.narr{font-size:14px;line-height:1.65;color:var(--ink-2);margin:0 2px 4px}
h3.rh.plan{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.plan-list{list-style:none;margin:0;padding:0;counter-reset:plan}
.plan-list li{counter-increment:plan;position:relative;padding:10px 0 10px 28px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.4}
.plan-list li:last-child{border-bottom:0}
.plan-list li::before{content:counter(plan) ".";position:absolute;left:2px;top:10px;font-family:var(--mono);font-weight:700;color:var(--ink-3)}
.plan-list li.crit::before,.plan-list li.crit .t{color:var(--crit)}
.plan-list li.warn::before,.plan-list li.warn .t{color:var(--warn)}
.plan-list .t{font-family:var(--cond);font-weight:700;display:block}
.plan-list .d{color:var(--ink-2);font-size:13px}
.inf-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.ia{height:64px;border:0;border-radius:12px;background:var(--surface-2);color:var(--ink-2);font:600 12.5px var(--serif);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.ia.pri{background:var(--accent-soft);color:var(--accent-ink)}
.ia svg{width:20px;height:20px}
.btn-del-informe{width:100%;margin-top:10px;font-weight:600;font-size:14px;color:var(--crit);background:var(--crit-soft);border:0;border-radius:12px;padding:13px}
.firma{font-size:13px;color:var(--ink-3);margin:16px 2px 0}

/* deslizar un informe: compartir o eliminar */
.swipe{position:relative;margin-bottom:8px;border-radius:14px;overflow:hidden;background:var(--surface-2)}
.swipe .icard{position:relative;margin:0;z-index:1;touch-action:pan-y;transition:transform 240ms var(--ease-drawer)}
.swipe.drag .icard{transition:none}
.sw-acts{position:absolute;top:0;right:0;bottom:0;display:flex;z-index:0}
.sw-acts button{width:84px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:600 12.5px var(--serif);color:#fff}
.sw-acts svg{width:20px;height:20px}
.sw-acts .sw-share{background:#2F6FB5}
.sw-acts .sw-del{background:#B4322E}
.sw-hint{font-size:12.5px;color:var(--ink-3);text-align:center;margin:10px 8px 0;line-height:1.45}

/* resultados del programa */
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kpi{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.kpi .k{font-size:12px;color:var(--ink-3);font-weight:500}
.kpi .v{font-family:var(--mono);font-size:24px;font-weight:600;color:var(--ink);line-height:1.15}
.kpi .s{font-size:12px;color:var(--ink-2)}
.sv-sub{font-size:13.5px;font-weight:600;color:var(--ink);margin:4px 0 -4px}
.yr{display:flex;align-items:flex-end;gap:14px;height:120px;padding-top:6px}
.yr .c{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;height:100%}
.yr .b{width:100%;max-width:64px;border-radius:6px 6px 0 0;background:var(--accent);min-height:3px}
.yr .c.parcial .b{background:repeating-linear-gradient(135deg,var(--accent) 0 6px,transparent 6px 11px),var(--accent-soft)}
.yr .n{font-family:var(--mono);font-weight:600;font-size:14px}
.yr .a{font-size:12px;color:var(--ink-3)}
.ci{position:relative;height:12px;border-radius:6px;background:var(--surface-2)}
.ci .rg{position:absolute;top:4px;height:4px;border-radius:2px;opacity:.45}
.ci .pt{position:absolute;top:0;width:12px;height:12px;margin-left:-6px;border-radius:6px;box-shadow:0 0 0 2px var(--surface)}
.prog .segc{margin-top:0}
#elso-seg{margin:-2px 0 2px}

/* ---- Ajustes ---- */
.sbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.sbox.pad{padding:12px 14px;gap:14px}
.sfield{display:flex;flex-direction:column;gap:7px}
.sl{font-size:14.5px;font-weight:500}
.shint{font-size:12.5px;color:var(--ink-3);line-height:1.4}
.srow{display:flex;align-items:center;gap:12px;padding:6px 14px;min-height:52px;border-top:1px solid var(--line);font-size:15px}
.srow:first-child{border-top:0}
.srow.col{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px}
.srow .sd{flex:1 1 auto}
.srow .segc{flex:0 0 auto}
.sw{appearance:none;-webkit-appearance:none;width:50px;height:30px;border-radius:15px;background:var(--line-2);position:relative;flex:0 0 auto;margin:0;transition:background-color 160ms var(--ease-out)}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform 200ms var(--ease-out)}
.sw:checked{background:var(--ronda)}
.sw:checked::after{transform:translateX(20px)}
.sinput{font:16px var(--serif);color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 10px;min-height:44px;width:160px;text-align:right}
.sinput.num{width:80px}
.fsrow{display:flex;align-items:center;gap:12px}
.fsrow .a1{font-size:13px;color:var(--ink-3)}
.fsrow .a2{font-size:21px}
.favedit{display:flex;flex-direction:column;gap:6px}
.favedit:empty{display:none}
.favedit div{display:flex;align-items:center;gap:8px;font-size:14.5px}
.favedit div span{flex:1 1 auto}
.favedit button{border:0;background:var(--surface-2);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--crit)}
.about{font-size:12.5px;color:var(--ink-3);text-align:center;line-height:1.5;margin:22px 10px 8px}

/* tamaño de letra */
html[data-letra="1"] .content{zoom:1.08}
html[data-letra="2"] .content{zoom:1.16}
html[data-letra="3"] .content{zoom:1.26}

/* ---- barra inferior ---- */
.tabbar{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--surface);padding:7px 4px calc(10px + env(safe-area-inset-bottom,0));position:relative;z-index:6}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 2px;min-height:48px;justify-content:center;background:none;border:0;color:var(--ink-3)}
.tab i{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:15px;transition:background-color 160ms var(--ease-out)}
.tab svg{width:22px;height:22px}
.tab span{font-size:12px;font-weight:500}
.tab.on{color:var(--ink)}
.tab.on span{font-weight:600}
.tab.on i{background:var(--accent-soft);color:var(--accent)}
.tab[data-go="ronda"].on i{background:var(--ronda-soft);color:var(--ronda)}
.tab[data-go="calc"].on i{background:var(--tools-soft);color:var(--tools)}
.tab-em,.tab-em.on{color:var(--crit)}
.tab-em i{color:var(--crit-dot)}
.tab-em.on i{background:var(--crit-soft);color:var(--crit-dot)}

.placeholder{padding:40px 8px;text-align:center;color:var(--ink-3);font-size:14px;line-height:1.6}

/* ---- tacto nativo ---- */
.search input,.sinput{font-size:16px}
button,a,[role="button"],.chk,.vt{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.tile,.hero,.item,.btn-informe,.btn-del-informe,.ia,.vt,.em,.qr,.icard,.seg button,.segc button,.fs-head,.tab,.back,.hbtn,.gear,
.sh-k button,.sh-q button,.sh-nav button,.cr-acts button,.secnav button,.chips button,.linkcard{
  transition:transform 120ms var(--ease-out),background-color 120ms var(--ease-out),filter 120ms var(--ease-out)}
.tile:active,.hero:active,.btn-informe:active,.btn-del-informe:active,.ia:active,.em:active,.icard:active,.linkcard:active,
.cr-acts button:active,.sh-nav button:active{transform:scale(.97)}
.item:active,.fs-head:active,.qr:active,.chk:active{background-color:var(--surface-2)}
.vt:active,.sh-k button:active,.sh-q button:active,.seg button:active,.segc button:active,.tab:active,.back:active,.hbtn:active,.gear:active,
.secnav button:active,.chips button:active{transform:scale(.95)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---- impresión de un informe ---- */
@media print{
  html,body{height:auto;background:#fff;color:#000}
  #app{position:static}
  .screen{display:none!important}
  #screen-informes{display:block!important;position:static;opacity:1}
  #informes-view-lista,.appbar .back,.inf-acts,.btn-del-informe,.tabbar,.scrim,.sheet,.crisis{display:none!important}
  #informes-view-detalle{display:block!important}
  .content{overflow:visible;zoom:1!important}
  .appbar{border:0;padding:0 0 8px}
}

/* ---- accesibilidad: zona táctil de 44 px y foco visible ---- */
/* Controles que se dibujan algo más pequeños: el margen invisible lleva la zona sensible a 44 px. */
.secnav button::after,.chips button::after,.segc button::after{content:"";position:absolute;inset:-2px 0}
.segc.mini button::after{inset:-3px 0}
.esq-btn::after{content:"";position:absolute;inset:-4px -2px}
/* Enlaces dentro del texto («Calculadora»): área táctil ampliada sin mover las líneas. */
.rp a,.ref-lede a,.note a,.dl-v a{display:inline-block;padding:12px 3px;margin:-12px -3px}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}
.hdr :focus-visible{outline-color:#fff}
h1.title{margin:0}
h1.brand{margin:0;font-size:inherit;font-weight:inherit}

/* ---- Escalas: puntuación interactiva (Murray, APSS) ---- */
.score{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px 12px;margin:0 0 14px}
.sc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:44px}
.sc-head .sp{flex:1 1 auto}
.sc-tot{display:flex;flex-direction:column;line-height:1}
.sc-k{font-size:12px;font-weight:600;color:var(--ink-3)}
.sc-n{font:600 30px var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:3px}
.sc-reset{min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:600 13.5px var(--serif)}
.sc-row{margin-bottom:10px}
.sc-l{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 2px 5px}
.sc-p{font-family:var(--mono);color:var(--ink)}
.sc-opts{display:grid;gap:3px;background:var(--surface-3);border-radius:10px;padding:3px}
.sc-opts button{min-height:46px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px 2px;min-width:0}
.sc-opts .o{font:600 12.5px var(--mono);white-space:nowrap}
.sc-opts .pp{font-size:12px;color:var(--ink-3)}
.sc-opts button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(19,26,32,.18)}
.sc-opts button.on .pp{color:var(--ink-2);font-weight:600}
html[data-theme="oscuro"] .sc-opts button.on,html[data-theme="noche"] .sc-opts button.on{background:var(--line-2)}
.sc-band{margin:14px 0 0}
.sc-tr{position:relative;height:10px}
.sc-tr i{position:absolute;top:0;bottom:0;border-radius:5px;border:1px solid var(--surface)}
.sc-tr i.info{background:var(--rb-info)}.sc-tr i.warn{background:var(--rb-warn)}.sc-tr i.crit{background:var(--rb-crit)}
.sc-mk{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--ink);border:3px solid var(--surface);transition:left 200ms var(--ease-out)}
.sc-ms{position:relative;height:16px;margin-top:5px;font:500 12px var(--mono);color:var(--ink-3)}
.sc-ms span{position:absolute;transform:translateX(-50%)}
.sc-ms span:first-child{transform:none}
.sc-ms span:last-child{transform:translateX(-100%)}
.sc-cap{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:8px 0 0}

/* ---- Escalas por etapas: escalera (SCAI, INTERMACS) ---- */
.ladder{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.lad-row{display:grid;grid-template-columns:34px minmax(0,1fr) 92px;gap:4px 10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 11px}
.lad-row.nobar{grid-template-columns:34px minmax(0,1fr)}
.lad-row.ind{background:var(--crit-soft);border-color:var(--crit-line)}
.lad-k{font:600 17px var(--mono);text-align:center;color:var(--ink)}
.lad-row.ind .lad-k,.lad-row.ind .lad-n{color:var(--crit)}
.lad-tx{display:flex;flex-direction:column;min-width:0}
.lad-n{font:700 14.5px var(--cond);color:var(--ink)}
.lad-d{font-size:12.5px;color:var(--ink-2);line-height:1.35;margin-top:1px}
.lad-bar{grid-column:3;grid-row:1;height:8px;border-radius:4px;background:var(--surface-3);position:relative;overflow:hidden;align-self:end;margin-bottom:6px}
.lad-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--ink-3)}
.lad-row.ind .lad-bar i{background:var(--crit-dot)}
.lad-bar.none{background:transparent}
.lad-pct{grid-column:3;grid-row:1;align-self:start;text-align:right;font:600 15px var(--mono);color:var(--ink)}
.lad-row.ind .lad-pct{color:var(--crit)}
.lad-cap{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:4px 2px 14px}
.nw{white-space:nowrap}

/* ---- Perlas interactivas ---- */
.viewer .fig.ix{background:transparent;border:0;padding:0}
.pix-row{display:flex;align-items:center;gap:10px;margin:10px 0 0}
.pix-pausa{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 14px var(--serif)}
.pix-pausa .ico{width:12px;height:12px;border-left:4px solid currentColor;border-right:4px solid currentColor;box-sizing:border-box}
.pix-pausa[aria-pressed="true"] .ico{border:0;border-left:11px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;width:0;height:0}
.pix-nota{font-size:12.5px;color:var(--ink-3);line-height:1.35}

/* respirador: la pantalla es oscura en los tres temas, como un respirador real */
.vent{background:#0E141A;border-radius:18px;padding:12px;color:#EEF3F7;box-shadow:0 6px 16px rgba(19,26,32,.25)}
.vent-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.vent-top .sp{flex:1 1 auto}
.vent-mode{font:700 14px var(--cond);padding:3px 9px;border-radius:6px;background:#1A3049;color:#B3D5F4}
.vent-sub{font-size:12.5px;color:#C6D0DA}
.vent-tag{font:500 12px var(--mono);color:#9CAAB8}
.vent-main{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px}
.vent-cv{width:100%;height:228px;display:block;background:#131C24;border-radius:10px}
.vent-side{display:flex;flex-direction:column;gap:6px}
.vent-side .vm{background:#131C24;border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;position:relative}
.vent-side .k{font-size:12px;color:#9CAAB8}
.vent-side .v{font:600 20px var(--mono);font-variant-numeric:tabular-nums;line-height:1.2}
.vent-side .v.sm{font-size:17px}
.vent-side .u{font-size:12px;color:#9CAAB8}
.vent-side .vte{background:#17352A;outline:1px solid #2F6B4B}
.vent-side .vte .v{color:#8FDBAE;font-size:24px}
.vent-side .tr{position:absolute;right:7px;top:6px;font-size:12px;color:#9CAAB8}
.vent-side .tr.up{color:#8FDBAE}
.vent-knobs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.vent-knobs button{min-height:72px;border-radius:12px;border:2px solid #273441;background:#172029;color:#EEF3F7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px}
.vent-knobs button.on{border-color:#7FB8EC;background:#1A3049}
.vent-knobs .k{font-size:12px;color:#C6D0DA}
.vent-knobs .v{font:600 21px var(--mono);line-height:1.15}
.vent-knobs .u{font-size:12px;color:#9CAAB8}
.vent-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:10px}
.vent-card .h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.vent-card .h b{font:700 17px var(--cond);color:var(--ink)}
.vent-card .h span{font:600 13px var(--mono);color:var(--accent)}
.vent-card p{margin:6px 0 0;font-size:14px;color:var(--ink-2);line-height:1.5}
.vent-card p b{color:var(--ink)}

/* destete */
.dst-seg{margin-bottom:10px}
.dst-seg button{height:46px;font-weight:600}
.dst[data-m="vv"] .dst-seg button.on{color:var(--accent)}
.dst[data-m="va"] .dst-seg button.on{color:var(--va)}
.dst-body{display:flex;flex-direction:column;gap:10px}
.dst-body .note{margin:0}
.dst-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 14px}
.dst-card h5{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 16px var(--cond);color:var(--ink)}
.dst-card p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.dst-card p b{color:var(--ink)}
.dst-card .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--mono);color:#fff;flex:0 0 auto}
.dst-card .n.vv{background:#1F6FB2}.dst-card .n.va{background:#B4322E}
.dst-req{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;font-size:13px;color:var(--ink-2)}
.dst-req li{position:relative;padding-left:18px;line-height:1.35}
.dst-req li::before{content:"";position:absolute;left:1px;top:4px;width:5px;height:9px;border:solid var(--good);border-width:0 2px 2px 0;transform:rotate(45deg)}
.dst-req b{color:var(--ink)}
.dst-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.dst-kpi div{background:var(--surface-2);border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;font-size:12px;color:var(--ink-3)}
.dst-kpi b{font:600 16px var(--mono);color:var(--ink)}
.flujo{width:100%;height:auto;display:block;margin-top:8px}
.flujo .eje{stroke:var(--line-2);stroke-width:1.5}
.flujo .esc{fill:none;stroke:var(--va);stroke-width:3;stroke-linejoin:round;stroke-dasharray:520;stroke-dashoffset:520;animation:esc 7s var(--ease-out) infinite}
.flujo .eco{fill:var(--good);stroke:var(--surface);stroke-width:2;opacity:0;animation:eco 7s linear infinite}
.flujo text{font:500 12px var(--mono);fill:var(--ink-3)}
.flujo text.b{font-weight:600;fill:var(--ink)}
.flujo text.ok{font-weight:600;fill:var(--good)}
@keyframes esc{0%{stroke-dashoffset:520}75%,100%{stroke-dashoffset:0}}
@keyframes eco{0%,48%{opacity:0}52%,100%{opacity:1}}
.dst-pie{font-size:13px;color:var(--ink-2);margin:0 2px}
.dst-pie b{color:var(--ink)}

/* cavitación */
.cav .desl{margin-bottom:10px}
.cav-sc{width:100%;height:auto;display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:10px}
.cav-sc .lb{font:500 12px var(--serif);fill:var(--ink-3)}
.cav-sc .lb.b{font-weight:700;fill:var(--ink)}
.cav-sc .lb.mono{font-family:var(--mono);fill:var(--ink)}
.cav-sc .vaso{fill:none;stroke:var(--line-2);stroke-width:2}
.cav-sc .vaso-in{fill:var(--va-soft);stroke:#C9746F;stroke-width:1.5}
.cav-sc .canula{fill:none;stroke:var(--ink-3);stroke-width:13;stroke-linecap:round}
.cav-sc .sangre{fill:none;stroke:#B4322E;stroke-width:9;stroke-linecap:round}
.cav-sc .toma{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.cav-sc .bomba{fill:var(--surface-2);stroke:var(--ink-3);stroke-width:2.5}
.cav-sc .rotor{fill:none;stroke:var(--ink-2);stroke-width:3;stroke-linecap:round}
.cav-sc .eje{fill:var(--ink-2)}
.cav-sc .salida{stroke:#B4322E;stroke-width:9;stroke-linecap:round}
.cav[data-sev="crit"] .cav-sc{border-color:var(--crit-line)}
.cav-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:11px 14px;margin-top:10px}
.cav-card b{font:700 16px var(--cond);color:var(--ink)}
.cav-card p{margin:4px 0 0;font-size:14px;color:var(--ink-2);line-height:1.5}
.cav-card .src{display:block;font-size:12px;font-weight:600;color:var(--ink-3);margin-top:6px}
.cav-card.ok b{color:var(--good)}
.cav-card.warn{background:var(--warn-soft);border-color:var(--warn-line)}.cav-card.warn b{color:var(--warn)}
.cav-card.crit{background:var(--crit-soft);border-color:var(--crit-line)}.cav-card.crit b{color:var(--crit)}
/* Perla: membrana húmeda (condensación) */
.cnd-sc{width:100%;max-width:440px;height:auto;display:block;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.cnd-sc .caja{fill:#F7DADA;stroke:#C9746F;stroke-width:1.5}
.cnd-sc .hem{fill:#C82834;opacity:.55}
.cnd-sc .fibra{fill:#F4F8FC;stroke:#8FA9C2;stroke-width:1.2}
.cnd-sc.caliente .fibra{fill:#FFF6EA;stroke:#D9A35A}
.cnd-sc .bloq{fill:#AEB7C0;opacity:.75}
.cnd-sc .gas{fill:#2F68D4}
.cnd-sc .gota-agua{fill:#8EC3EA;stroke:#3F7FB8;stroke-width:1}
.cnd-sc .colector{fill:none;stroke:var(--ink-3);stroke-width:2.5;stroke-linejoin:round}
.cnd-sc .flecha-gas{stroke:#2F68D4;stroke-width:3}
.cnd-sc .punta-gas{fill:#2F68D4}
.cnd-sc .puerto{stroke:var(--ink-3);stroke-width:6;stroke-linecap:round}
.cnd-sc .lb{font:600 11.5px var(--serif);fill:var(--ink-2)}
.cnd-sc .lb.s{fill:#A3241E}
.cnd-sc .lupa-m circle{fill:none;stroke:var(--ink);stroke-width:2.5}
.cnd-sc .lupa-m path{stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.cnd-lupa{margin-top:10px}
.lupa-sc{width:100%;max-width:440px;height:auto;display:block;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.lupa-sc .l-gas{fill:#EEF5FC}
.lupa-sc .l-san{fill:#F7DADA}
.lupa-sc .l-agua{fill:#8EC3EA;opacity:.9}
.lupa-sc .l-mem{fill:#8FA9C2}
.lupa-sc .l-borde{fill:none;stroke:var(--ink);stroke-width:3}
.lupa-sc .l-tx{font:700 12px var(--serif);fill:#3E5A75}
.lupa-sc .l-tx.s{fill:#A3241E}
.lupa-sc .l-tx.a{fill:#1F4E79}
.lupa-sc .l-k{font:600 11.5px var(--serif);fill:var(--ink-2)}
.lupa-sc .l-k2{font:700 12px var(--serif);fill:var(--ink)}
.lupa-sc .o2,.lupa-sc .o2t{fill:#2F68D4}
.lupa-sc .co2,.lupa-sc .co2t{fill:#6B7480}
.lupa-sc .l-bar{opacity:.85}
.lupa-sc .l-est{font:700 12.5px var(--serif);fill:var(--good)}
.lupa-sc .l-est.baja{fill:var(--crit)}
.lupa-sc .l-est.warn{fill:var(--warn)}
.lupa-sc .l-agua{transition:none}
.cnd-ind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.cnd-i{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:8px 10px;min-width:0}
.cnd-i .k{display:block;font-size:12px;font-weight:600;color:var(--ink-3);line-height:1.25}
.cnd-i b{display:block;font:700 16px var(--serif);color:var(--good);margin-top:2px;font-variant-numeric:tabular-nums}
.cnd-i b.baja{color:var(--crit)}
.cnd-i .bar{display:block;height:5px;border-radius:3px;background:var(--surface-3);margin-top:5px;overflow:hidden}
.cnd-i .bar i{display:block;height:100%;background:var(--good);transition:width .2s}
.cnd-i .bar i.baja{background:var(--crit)}
.cnd-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
.cnd-flush{min-height:48px;padding:0 18px;border-radius:12px;border:0;background:#2F68D4;color:#fff;font:700 15px var(--serif);cursor:pointer}
.cnd-flush:active{transform:scale(.98)}
.cnd-cal{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--ink-2);cursor:pointer}
.cnd-cal input{width:20px;height:20px;accent-color:var(--accent)}
.cav-card.info{background:var(--accent-soft);border-color:var(--accent)}.cav-card.info b{color:var(--accent-ink)}
/* Perla: síndrome de Arlequín */
.desl{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px 8px}
.desl-l{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;font:700 15px var(--cond);color:var(--ink)}
.desl-l b{font:600 13px var(--serif);color:var(--accent-ink)}
.desl-l b.ok{color:var(--good)}.desl-l b.warn{color:var(--warn)}.desl-l b.crit{color:var(--crit)}
.desl-p{position:relative;height:66px}
.desl-p input{position:relative;z-index:1}
.desl-h{position:absolute;inset:0;pointer-events:none}
.desl-h span{position:absolute;top:44px;left:calc(13px + (100% - 26px) * var(--p) / 100);transform:translateX(-50%);font-size:11.5px;font-weight:600;color:var(--ink-3);white-space:nowrap}
.desl-h i{position:absolute;left:50%;top:-30px;width:2px;height:16px;margin-left:-1px;border-radius:1px;background:var(--c,#8A4FBF)}
.desl-e{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3)}
.arl-sc .hito rect{fill:#8A4FBF}
.arl-sc .hito text{fill:#fff;font:700 11px var(--serif);text-anchor:middle}
.pix-play .ico{border:0;border-left:11px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;width:0;height:0}
.pix-play[aria-pressed="true"] .ico{width:12px;height:12px;border:0;border-radius:2px;background:currentColor}
.desl-nota{margin:6px 2px 0}
.arl-req{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px;margin:0 0 10px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.arl-req span{padding:4px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.arl-req i{font-style:normal;color:var(--ink-3)}
.arl-sc{width:100%;max-width:400px;height:auto;display:block;margin:10px auto 0;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.arl-sc .cuerpo{fill:var(--surface-3)}
.arl-sc .hemi{opacity:.88}
.arl-sc .pul-f{fill:var(--surface-2)}
.arl-sc .pul-l{stroke:var(--line-2);stroke-width:1.5}
.arl-sc .pulmon{fill:url(#arl-pul);stroke:var(--line-2);stroke-width:1}
.arl-sc .corazon{fill:#6A5BB5;stroke:#4B3F8F;stroke-width:1.5}
.arl-sc .vaso{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.5}
.arl-sc [data-v="A"]{stroke:rgb(200,40,52);stroke-width:10}
.arl-sc .vaso.az{stroke:rgb(47,104,212);stroke-width:10;stroke-linecap:butt}
.arl-sc [data-v="BCT"]{stroke-width:7}
.arl-sc [data-v="RL"],.arl-sc [data-v="LI"]{stroke-width:6}
.arl-sc .gota{fill:rgba(255,255,255,.85)}
.arl-sc .m-halo{fill:#8A4FBF;opacity:.3}
.arl-sc .m-pt{fill:#8A4FBF;stroke:#fff;stroke-width:2}
.arl-sc .m-tx{fill:#fff;font:700 9px var(--serif);text-anchor:middle}
.arl-sc .canula{stroke:#3A4149;stroke-width:7;stroke-linecap:round}
.arl-sc .linea-ecmo{fill:none;stroke:rgb(200,40,52);stroke-width:4;stroke-linecap:round}
.arl-sc .ecmo{fill:var(--surface);stroke:var(--ink-3);stroke-width:2}
.arl-sc .ecmo-t{font:700 11px var(--cond);fill:var(--ink);text-anchor:middle}
.arl-sc .lb{font:500 11px var(--serif);fill:var(--ink-3)}
.arl-sc .clip rect{fill:var(--ink-2)}
.arl-ley{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 2px 0;font-size:12.5px;color:var(--ink-2)}
.arl-ley span{display:inline-flex;align-items:center;gap:6px}
.arl-ley i{width:14px;height:8px;border-radius:4px;display:inline-block}
.arl-ley i.az{background:rgb(47,104,212)}.arl-ley i.ro{background:rgb(200,40,52)}.arl-ley i.mz{background:#8A4FBF;width:10px;height:10px;border-radius:50%}
.arl-ley i.pu{height:12px;border-radius:3px;border:1px solid var(--line-2);background:repeating-linear-gradient(45deg,var(--surface-2) 0 3px,var(--line-2) 3px 4.5px)}
.arl-sc .ruta{fill:none;stroke:none}
.arl-sc .canula-v{fill:none;stroke:#3A4149;stroke-width:6;stroke-linecap:round}
.arl-sc .dren-core,.arl-sc .linea-dren{fill:none;stroke:rgb(47,104,212);stroke-linecap:round}
.arl-sc .dren-core{stroke-width:2.5}
.arl-sc .linea-dren{stroke-width:4}
.arl-sc .sensor{fill:var(--ink-2)}
.arl-sc .tag rect,.arl-sc .nirs rect{fill:var(--surface);stroke:var(--line-2);stroke-width:1}
.arl-sc .tag .k,.arl-sc .nirs .k{font:600 10px var(--serif);fill:var(--ink-3)}
.arl-sc .tag .v{font:700 12.5px var(--serif);fill:var(--good)}
.arl-sc .tag path{fill:none;stroke:var(--good);stroke-width:1.4;stroke-linejoin:round}
.arl-sc .tag.baja rect{fill:var(--crit-soft);stroke:var(--crit-line)}
.arl-sc .tag.baja .v{fill:var(--crit)}
.arl-sc .tag.baja path{stroke:var(--crit)}
.arl-sc .nirs .nv{font:700 17px var(--mono);fill:var(--good)}
.arl-sc .nirs .nv.baja{fill:var(--crit)}
@media (prefers-reduced-motion:reduce){.sweep .pinza,.sweep .gas-on,.sweep .cm-bola,.flujo .esc,.flujo .eco{animation:none}.flujo .esc{stroke-dashoffset:0}.flujo .eco{opacity:1}}
.dst-src{font-size:12px !important;color:var(--ink-3) !important;margin-top:8px !important}

.dst-kpi.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.sweep{width:100%;height:auto;display:block;margin-top:8px}
.sweep text{font:500 12px var(--mono);fill:var(--ink-3)}
.sweep text.b{font-weight:600;fill:var(--ink)}
.sweep .cm{fill:var(--surface-2);stroke:var(--line-2);stroke-width:1.5}
.sweep .cm-tubo{stroke:var(--line-2);stroke-width:8;stroke-linecap:round}
.sweep .cm-bola{fill:var(--good);animation:bola 6s var(--ease-out) infinite}
.sweep .gas{stroke:var(--surface-3);stroke-width:8;stroke-linecap:round}
.sweep .gas-on{stroke:var(--good);stroke-width:4;stroke-linecap:round;stroke-dasharray:10 8;animation:gas 6s linear infinite}
.sweep .oxi{fill:var(--surface-2);stroke:var(--ink-3);stroke-width:1.5}
.sweep .pinza path{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.sweep .pinza{animation:pinza 6s var(--ease-out) infinite;transform-origin:150px 46px}
@keyframes pinza{0%,25%{transform:scaleX(1.9);opacity:.35}45%,100%{transform:scaleX(1);opacity:1}}
@keyframes gas{0%{stroke-dashoffset:0;opacity:1}40%{stroke-dashoffset:-36;opacity:1}50%,100%{stroke-dashoffset:-40;opacity:0}}
@keyframes bola{0%,30%{transform:translateY(0)}50%,100%{transform:translateY(6px)}}
.dst-card.aborta{background:var(--crit-soft);border-color:var(--crit-line)}
.dst-card.aborta h5{color:var(--crit)}
.dst-card.aborta .dst-kpi div{background:var(--surface)}
.dst-card.aborta .dst-kpi b{color:var(--crit)}
.vent-tl{margin-top:10px;background:#131C24;border-radius:10px;padding:8px 10px 9px}
.vent-tl .tl-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;color:#9CAAB8}
.vent-tl .tl-h b{color:#EEF3F7;font-weight:600}
.vent-tl .tl-h>b{font:600 13px var(--mono);color:#F1C96E;white-space:nowrap}
.vent-tl .tl-bar{position:relative;height:6px;border-radius:3px;background:#273441;margin:7px 0 6px;overflow:hidden}
.vent-tl .tl-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:#F1C96E}
.vent-tl .tl-sem{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.vent-tl .tl-sem>span{display:flex;flex-direction:column;align-items:center;border-radius:6px;padding:3px 2px;background:#172029}
.vent-tl .tl-sem .k{font-size:12px;color:#9CAAB8}
.vent-tl .tl-sem .v{font:600 13px var(--mono);color:#C6D0DA}
.vent-tl .tl-sem>span.hecho .v{color:#8FDBAE}
.vent-tl .tl-sem>span.on{outline:1px solid #F1C96E}
.vent-fx{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:10px;background:#131C24;border-radius:10px;padding:7px 10px;font-size:12px;color:#9CAAB8}
.vent-fx b{font:600 13px var(--mono);color:#8FDBAE;white-space:nowrap}

/* ---- Perla: revisión diaria de la membrana ---- */
.mb-vista{margin-bottom:8px}
.mb-vista button{height:46px;font-weight:600}
.mb-esc{margin-bottom:10px}
.mb[data-esc="mal"] .mb-esc button.on{color:var(--crit)}
.mb-body{display:flex;flex-direction:column;gap:10px}
.mb-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 14px}
.mb-card h5{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 16px var(--cond);color:var(--ink)}
.mb-card p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.mb-card p+p,.mb-card table+p{margin-top:8px}
.mb-card b{color:var(--ink)}
.mb-card .n,.mb-hoja .n{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font:600 12.5px var(--mono);color:#fff;background:var(--ink-2);flex:0 0 auto;margin-right:6px}
.mb-ref{font-size:12.5px !important;color:var(--ink-3) !important}
.mb-flag{font:600 12px var(--mono);padding:2px 7px;border-radius:999px;white-space:nowrap}
.mb-flag.ok{background:var(--good-soft);color:var(--good)}.mb-flag.warn{background:var(--warn-soft);color:var(--warn)}.mb-flag.crit{background:var(--crit-soft);color:var(--crit)}
.mb-gas{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}
.mb-gas th,.mb-gas td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:right}
.mb-gas thead th{font-size:12px;font-weight:600;color:var(--ink-3)}
.mb-gas th[scope="row"]{text-align:left;font-weight:600;color:var(--ink)}
.mb-gas th small{font-size:12px;color:var(--ink-3);font-weight:400}
.mb-gas td{font:600 15px var(--mono);color:var(--ink)}
.mb-gas td.post{color:var(--accent)}
/* consola: pantalla oscura en los tres temas */
.mb-cons{background:#0E141A;border-radius:18px;padding:12px;color:#EEF3F7}
.mc-top{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.mc-tag{font:500 12px var(--mono);color:#9CAAB8;margin-right:auto}
.mc-big{font-size:12px;color:#9CAAB8}.mc-big b{font:600 22px var(--mono);color:#EEF3F7;margin-right:3px}
.mc-circ{width:100%;height:auto;display:block;background:#131C24;border-radius:10px}
.mc-circ .ln{fill:none;stroke-width:7;stroke-linecap:round}
.mc-circ .ven{stroke:#7C211E}.mc-circ .art{stroke:#C73E37}
.mc-circ .fl{stroke:rgba(255,255,255,.35);stroke-width:2;stroke-dasharray:4 10;animation:mbfl 1.2s linear infinite}
.mc-circ .bomba{fill:#1E2933;stroke:#9CAAB8;stroke-width:2}.mc-circ .rotor{stroke:#C6D0DA;stroke-width:2.5;stroke-linecap:round;transform-origin:82px 76px;animation:mbrot 1s linear infinite}
.mc-circ .oxi{fill:#1E2933;stroke:#9CAAB8;stroke-width:2}.mc-circ .fibras{stroke:#3A4959;stroke-width:2}
.mc-circ .trombo circle{fill:#3A1210;stroke:#FF8A82;stroke-width:1.5}
.mc-circ .toma circle{fill:#0E141A;stroke-width:2.5}.mc-circ .toma.pre circle{stroke:#C6D0DA}.mc-circ .toma.post circle{stroke:#7FB8EC}
.mc-circ text{font:500 12px var(--mono);fill:#C6D0DA}.mc-circ text.lb{fill:#9CAAB8}
.mc-circ .conector rect{fill:#273441;stroke:#9CAAB8;stroke-width:1.5}
.mc-circ .conector.mal rect{stroke:#F1C96E;animation:mbpul 1.4s ease-in-out infinite}
.mc-circ .coag{fill:#3A1210;stroke:#FF8A82;stroke-width:1.5}
.mc-p{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.mc-p div{background:#131C24;border-radius:10px;padding:6px 8px;display:flex;flex-direction:column}
.mc-p span{font-size:12px;color:#9CAAB8}.mc-p b{font:600 20px var(--mono)}
.mc-p .warn b{color:#F1C96E}
.mc-p .dp{outline:1px solid #2F6B4B}.mc-p .dp.ok b{color:#8FDBAE}
.mc-p .dp.warn{outline-color:#7A5E22}.mc-p .dp.crit{outline-color:#8A3B37;background:#3C1D1D}.mc-p .dp.crit b{color:#FF9F98}
@keyframes mbfl{to{stroke-dashoffset:-28}}
@keyframes mbrot{to{transform:rotate(360deg)}}
@keyframes mbpul{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.mc-circ .fl,.mc-circ .rotor,.mc-circ .conector.mal rect{animation:none}}
/* folio de laboratorio: papel en los tres temas */
.folio{position:relative;margin:4px 2px 2px;background:#FDFCF8;color:#1A1F24;border-radius:3px;padding:14px 12px 12px;
  box-shadow:0 1px 1px rgba(0,0,0,.08),0 10px 24px rgba(19,26,32,.22);transform:rotate(-.6deg);
  background-image:linear-gradient(#FDFCF8,#FDFCF8),repeating-linear-gradient(0deg,transparent 0 27px,rgba(31,111,178,.05) 27px 28px);overflow:hidden}
.folio::after{content:"";position:absolute;right:0;top:0;width:26px;height:26px;background:linear-gradient(225deg,#E9E6DC 50%,rgba(0,0,0,.08) 50%,#FDFCF8 56%)}
.fo-hd{display:flex;align-items:center;gap:8px;border-bottom:2px solid #1A1F24;padding-bottom:7px}
.fo-logo{width:30px;height:30px;border-radius:7px;background:#1A1F24;display:grid;place-items:center;flex:0 0 auto}
.fo-logo svg{width:18px;height:18px;fill:none;stroke:#FDFCF8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fo-tit{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.fo-tit b{font:700 14px var(--cond);line-height:1.15}.fo-tit span{font-size:12px;color:#5F6B74}
.fo-meta{display:flex;flex-direction:column;align-items:flex-end;font:500 12px var(--mono);color:#4A565F;line-height:1.3;padding-right:18px;white-space:nowrap;flex:0 0 auto}
.fo-pac{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:#4A565F;padding:6px 0;border-bottom:1px dashed #C3CED6}
.fo-pac i{font-style:normal;color:#1A1F24}
.fo-t{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:4px}
.fo-t thead th{font:600 12px var(--serif);color:#5F6B74;text-align:left;padding:6px 3px 4px;border-bottom:1px solid #1A1F24}
.fo-t tbody th{text-align:left;font-weight:500;padding:6px 3px;color:#1A1F24;line-height:1.25}
.fo-t td{padding:6px 3px;vertical-align:middle;border-bottom:1px dotted #D9E1E7}
.fo-t tbody th{border-bottom:1px dotted #D9E1E7}
.fo-t td.v{font:600 14px var(--mono);white-space:nowrap}
.fo-t td.f{font:700 12px var(--mono);width:22px;color:#9E2B27}
.fo-t td.u{font-size:12px;color:#5F6B74;white-space:nowrap}
.fo-t td.r{font-size:12px;color:#4A565F;line-height:1.3}
.fo-t tr.sec td{border-bottom:0;padding:10px 3px 2px;display:table-cell}
.fo-s{font:700 12px var(--serif);letter-spacing:.06em;text-transform:uppercase;color:#1A1F24}
.pluma{float:right;font:600 16px "Bradley Hand","Segoe Print","Comic Sans MS",cursive;color:#1F4FA8;transform:rotate(-3deg);display:inline-block;line-height:1}
/* rotulador fluorescente sobre los valores alterados */
.fo-t tr.warn .tinta,.fo-t tr.crit .tinta{background:linear-gradient(100deg,transparent 2%,rgba(255,230,60,.85) 6%,rgba(255,226,40,.75) 92%,transparent 98%);padding:1px 4px;margin:-1px -4px;border-radius:3px}
.fo-t tr.crit .tinta{position:relative}
.fo-t tr.crit .tinta::after{content:"";position:absolute;left:-7px;right:-7px;top:-5px;bottom:-5px;border:2px solid #C8312B;border-radius:50% 45% 52% 48%/60% 50% 55% 45%;transform:rotate(-4deg);opacity:.85}
.fo-pie{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#5F6B74;margin-top:8px}
.fo-firma{width:96px;height:24px;display:block;margin:6px 0 0 auto}
.fo-firma path{fill:none;stroke:#1F4FA8;stroke-width:1.6;stroke-linecap:round}
.fo-sello{position:absolute;right:118px;bottom:14px;font:800 16px var(--cond);letter-spacing:.18em;color:rgba(200,49,43,.55);border:2.5px solid rgba(200,49,43,.5);border-radius:6px;padding:2px 8px;transform:rotate(-12deg);pointer-events:none}
html[data-theme="noche"] .folio{filter:brightness(.82)}

/* ---- modo emergencia: una acción por pantalla, letra grande y decisiones Sí/No ---- */
.cr-sig{margin:12px 16px 0;padding:10px 12px;border-radius:12px;background:#2A1615;border:1px solid #5A2826;font-size:15.5px;color:#F6D3D0;line-height:1.4}
.cr-main{padding:18px 18px 0;gap:12px}
.cr-n{font-size:15px;font-weight:700;letter-spacing:.02em;color:#F2A9A4;text-transform:uppercase}
.cr-clave{display:inline-block;padding:1px 8px;border-radius:999px;background:#E5534B;color:#fff;font-size:12.5px;letter-spacing:.06em;vertical-align:1px}
.cr-ic{width:76px;height:76px;border-radius:22px;background:#22292E;color:#F1F4F6;display:grid;place-items:center;flex:0 0 auto}
.cr-ic svg{width:42px;height:42px}
.cr-ic.clave{background:#E5534B;color:#fff}
.cr-ic.q{background:#F1C96E;color:#1D180C}
.cr-ic.ok{background:#1D7A50;color:#fff}
.cr-step{font-size:31px;line-height:1.2;font-weight:700;color:#FFFFFF;letter-spacing:-.005em}
.cr-det{font-size:18px;line-height:1.45;color:#D3DAE0}
.cr-next{margin-top:auto}
.cr-next .v{font-size:16px}
.cr-acts{align-items:stretch}
.cr-acts button{min-height:72px;height:auto}
.cr-acts .ok{font-size:21px}
.cr-sino{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cr-sino button{min-height:96px;border-radius:16px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;text-align:center}
.cr-sino b{font:800 30px var(--cond);line-height:1}
.cr-sino span{font-size:14px;line-height:1.25;font-weight:600}
.cr-sino .si{background:#F1F4F6;color:#111518}
.cr-sino .no{background:#2A3238;color:#F1F4F6;border:1.5px solid #4A555D}
.cr-sino button:active{transform:scale(.97)}
@media (max-height:700px){.cr-step{font-size:26px}.cr-ic{width:60px;height:60px}.cr-ic svg{width:34px;height:34px}.cr-sino button{min-height:84px}}

/* Registro de llamadas */
.reg-acc{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0}
.reg-btn{flex:1 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:700 15px var(--cond);cursor:pointer}
.reg-btn svg{width:18px;height:18px;flex:none}
.reg-btn.prim{background:#1E6B47;border-color:#1E6B47;color:#fff}
.reg-btn.peligro{color:var(--crit);border-color:var(--crit-line);background:var(--crit-soft)}
.reg-todas{margin:2px 0}
.reg-msg{margin:6px 0;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.reg-msg:empty{display:none}
.reg-msg.ok{color:var(--good)}.reg-msg.warn{color:var(--warn)}
.reg-card{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:12px 14px;margin:0 0 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.reg-card .rc-top{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}
.reg-card .rc-top b{font:700 16px var(--cond)}
.reg-card .rc-top span:not(.badge){font-size:13px;color:var(--ink-3)}
.reg-card .rc-top .badge{margin-left:auto}
.reg-card .rc-l{font-size:14.5px;color:var(--ink-2)}
.reg-card .rc-s{font-size:13px;color:var(--ink-3)}
.reg-ayuda{margin-top:14px}
.viewer .rg-g{max-width:560px;margin:0 auto 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px 14px}
.viewer .rg-g h2{margin:0;font:700 17px var(--cond);color:var(--ink)}
.viewer .rg-gh{margin:2px 0 0;font-size:13px;color:var(--ink-3)}
.viewer .rg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:10px}
.viewer .rg-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.viewer .rg-f.rg-w{grid-column:1/-1}
.viewer .rg-f label,.viewer .rg-l{font-size:13px;font-weight:600;color:var(--ink-2);line-height:1.3}
.viewer .rg-f input,.viewer .rg-f select,.viewer .rg-f textarea{width:100%;box-sizing:border-box;min-height:44px;font:16px var(--serif);color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.viewer .rg-f textarea{min-height:88px;resize:vertical}
.viewer .rg-h{font-size:12px;color:var(--ink-3)}
.viewer .rg-sino{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.viewer .rg-sino button{min-height:44px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);font:600 15px var(--serif);cursor:pointer}
.viewer .rg-sino button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.viewer .rg-calc{margin:10px 0 0;font-size:13px;color:var(--ink-3)}
.viewer .rg-pie{display:flex;flex-wrap:wrap;gap:10px;max-width:560px;margin:0 auto 24px}
.reg-todas{background:none;border:0;padding-left:0;padding-right:0}
/* Botón «Iniciar traslado» (Inicio) */
.btn-traslado{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;margin:2px 0 6px;padding:10px 16px;border:0;border-radius:18px;background:linear-gradient(160deg,#C2402F,#8C1F17);color:#fff;text-align:left;font:inherit;cursor:pointer;box-shadow:0 6px 16px rgba(140,31,23,.28)}
.btn-traslado .ico{flex:none;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.btn-traslado .ico svg{width:28px;height:28px}
.btn-traslado .tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.btn-traslado b{font:700 19px var(--cond)}
.btn-traslado small{font-size:13px;color:rgba(255,255,255,.9);line-height:1.3}
.btn-traslado .chev{flex:none;width:20px;height:20px}
.btn-traslado.sigue{background:linear-gradient(160deg,#C77A1E,#8A4E0C);box-shadow:0 0 0 3px rgba(199,122,30,.35),0 6px 16px rgba(138,78,12,.3)}
.btn-traslado:active{transform:scale(.99)}
html[data-theme="noche"] .btn-traslado{background:#3A1714;box-shadow:none;border:1px solid #6B2A24}
html[data-theme="noche"] .btn-traslado.sigue{background:#3A2A12;border-color:#7A5420}
.viewer .rg-aviso{max-width:560px;margin:0 auto 12px;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.reg-card .rc-amb{display:inline-flex;width:24px;height:24px;color:#B4322E}
.reg-card .rc-amb svg{width:22px;height:22px}

/* ---------- Envío al registro: confirmación ---------- */
.reg-conf{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:6px 0 12px;padding:10px 12px 10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.reg-conf[hidden]{display:none}
.reg-conf .rcf-t{flex:1 1 auto;font-size:14px;color:var(--ink-2)}
.reg-conf .reg-btn{flex:0 0 auto;min-height:44px}
.reg-conf.preg{display:block;padding:14px;border-color:var(--accent);background:var(--accent-soft)}
.reg-conf .rcf-q{margin:0 0 4px;font:700 17px var(--cond);color:var(--ink)}
.reg-conf .rcf-s{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}
.reg-conf .rcf-b{display:flex;flex-wrap:wrap;gap:10px}
.reg-conf .rcf-carpeta{display:flex;width:100%;margin:0 0 10px;min-height:48px;text-decoration:none;border-color:var(--accent);color:var(--accent-ink)}
.reg-conf .rcf-b .reg-btn{flex:1 1 150px;min-height:48px}

/* ---------- Acerca de ---------- */
.acerca-link{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:12px 0 0;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.acerca-link>svg:first-child{width:22px;height:22px;flex:none;color:var(--ink-2)}
.acerca-link span{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}
.acerca-link b{font-weight:600;font-size:14.5px}
.acerca-link small{font-size:12.5px;color:var(--ink-3)}
.acerca-link .chev{width:18px;height:18px;flex:none;color:var(--ink-3)}
.acerca-id{display:flex;align-items:center;gap:14px;margin:4px 0 14px}
.acerca-id img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none;background:#fff}
.acerca-id b{display:block;font:700 22px var(--cond);color:var(--ink);line-height:1.15}
.acerca-id span{font-size:14px;color:var(--ink-3)}
.acerca-copy{margin:0 2px 8px;font-size:15px;font-weight:600;color:var(--ink)}
.acerca-p{margin:0 2px 8px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.aviso-clin{background:var(--warn-soft);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55;color:var(--ink)}

/* ---------- Aviso clínico al abrir por primera vez ---------- */
.aviso-ini{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:var(--scrim)}
.aviso-ini[hidden]{display:none}
.aviso-ini .ai-card{width:100%;max-width:420px;max-height:100%;overflow-y:auto;background:var(--surface);color:var(--ink);border-radius:20px;padding:22px 20px 16px;box-shadow:0 16px 40px rgba(10,18,24,.3);display:flex;flex-direction:column;gap:12px;animation:pop 200ms var(--ease-out)}
.aviso-ini .ai-ic{width:44px;height:44px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:var(--warn-soft);color:var(--warn)}
.aviso-ini .ai-ic svg{width:26px;height:26px}
.aviso-ini h2{margin:0;font:700 22px var(--cond)}
.aviso-ini p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.aviso-ini .reg-btn{flex:none;width:100%;margin-top:4px}
.aviso-ini small{font-size:12px;color:var(--ink-3);text-align:center}
