
:root{
  --ct-bg:#f4f6f8; --ct-card:#ffffff; --ct-line:#dfe5ea; --ct-line2:#c9d2da;
  --ct-ink:#14202b; --ct-ink2:#4a5a6a; --ct-mut:#7b8a99;
  --ct-teal:#c8102e; --ct-teal-d:#9c0c24; --ct-teal-l:#fbe9ec;
  --ct-ok:#15803d; --ct-warn:#b45309; --ct-warn-l:#fff4e5; --ct-bad:#7a0619; --ct-bad-l:#f6d9de;
  --ct-font:"Avenir Next","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ct-num:"Avenir Next","Segoe UI",Roboto,Arial,sans-serif;
  --ct-r:12px; --ct-sh:0 1px 2px rgba(20,32,43,.06),0 4px 14px rgba(20,32,43,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.ct-body{background:var(--ct-bg);color:var(--ct-ink);font:16px/1.5 var(--ct-font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #f0a0ae;outline-offset:2px}
.ct-wrap{max-width:1040px;margin:0 auto;padding:0 16px 96px}
/* ===== cabecera fija ===== */
.ct-hdr{position:sticky;top:0;z-index:30;background:rgba(244,246,248,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ct-line)}
.ct-hdr-in{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px;min-height:58px}
.ct-back{border:0;background:transparent;padding:8px;margin-left:-8px;border-radius:10px;cursor:pointer;display:none;font-size:22px;line-height:1;color:var(--ct-teal)}
.ct-back:hover{background:var(--ct-teal-l)}
.ct-hdr h1{margin:0;font-size:17px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-hdr h1 small{display:block;font-size:12px;font-weight:400;color:var(--ct-mut)}
.ct-units{display:inline-flex;border:1px solid var(--ct-line2);border-radius:999px;padding:2px;background:#fff}
.ct-units button{border:0;background:transparent;padding:5px 12px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ct-mut)}
.ct-units button.ct-on{background:var(--ct-teal);color:#fff}
.ct-hist-btn{border:1px solid var(--ct-line2);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.ct-hist-btn b{background:var(--ct-teal);color:#fff;border-radius:999px;min-width:20px;padding:0 6px;text-align:center;font-size:12px;line-height:20px}
/* ===== pantallas ===== */
.ct-screen{display:none}
/* ===== inicio ===== */
.ct-search{width:100%;background:#fff;border:1px solid var(--ct-line2);border-radius:var(--ct-r);padding:13px 16px 13px 44px;font-size:16px;margin:18px 0 6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%237b8a99' stroke-width='2'%3E%3Ccircle cx='9' cy='9' r='6'/%3E%3Cpath d='M14 14l4 4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}
.ct-recent{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.ct-recent a{font-size:13px;border:1px solid var(--ct-line2);background:#fff;border-radius:999px;padding:6px 12px;color:var(--ct-teal-d);text-decoration:none;font-weight:600;cursor:pointer}
.ct-group{margin-top:22px}
.ct-group h2{font-size:15px;margin:0 0 2px;font-weight:600}
.ct-group p{margin:0 0 10px;color:var(--ct-mut);font-size:14px}
.ct-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ct-tile{display:flex;gap:12px;align-items:center;background:var(--ct-card);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:12px 14px;cursor:pointer;text-align:left;min-height:64px;box-shadow:var(--ct-sh)}
.ct-tile:hover,.ct-tile:focus-visible{border-color:var(--ct-teal)}
.ct-tile.ct-off{display:none}
.ct-tile svg{width:40px;height:40px;flex:none;color:var(--ct-teal)}
.ct-tile span{display:block;font-weight:600;font-size:15px;line-height:1.25}
.ct-tile small{display:block;color:var(--ct-mut);font-size:12.5px;margin-top:2px}
.ct-empty{color:var(--ct-mut);padding:30px;text-align:center}
/* ===== pantalla de cálculo ===== */
.ct-calc{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;align-items:start}
.ct-col-in{display:flex;flex-direction:column;gap:14px}
.ct-col-out{position:sticky;top:74px;display:flex;flex-direction:column;gap:14px}
.ct-hero{background:var(--ct-teal);color:#fff;border-radius:16px;padding:18px 20px 16px;box-shadow:0 8px 24px rgba(200,16,46,.25)}
.ct-hero .ct-lbl{font-size:13px;opacity:.85;font-weight:600}
.ct-hero .ct-val{font:600 52px/1.05 var(--ct-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 0;word-break:break-word}
.ct-hero .ct-val i{font-style:normal;font-size:20px;font-weight:500;opacity:.85;margin-left:6px}
.ct-hero .ct-live{font-size:12px;opacity:.75;margin-top:6px}
.ct-hero.ct-warn{background:var(--ct-warn)}
.ct-hero.ct-bad{background:#1f2933;box-shadow:0 8px 24px rgba(0,0,0,.25)} .ct-hero.ct-bad .ct-msg{background:var(--ct-teal)}
.ct-hero .ct-msg{margin-top:8px;font-size:14px;font-weight:600;background:rgba(255,255,255,.18);padding:6px 10px;border-radius:8px}
.ct-box{background:var(--ct-card);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:14px 16px;box-shadow:var(--ct-sh)}
.ct-box h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ct-ink2)}
.ct-outs{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.ct-o{display:flex;flex-direction:column;padding:8px 10px;border-radius:8px;background:var(--ct-bg)}
.ct-o span{font-size:12px;color:var(--ct-ink2);line-height:1.25}
.ct-o b{font:600 22px/1.2 var(--ct-num);font-variant-numeric:tabular-nums;margin-top:2px}
.ct-o b i{font-style:normal;font-size:13px;font-weight:500;color:var(--ct-mut);margin-left:4px}
.ct-o.ct-warn{background:var(--ct-warn-l)} .ct-o.ct-warn b{color:var(--ct-warn)}
.ct-o.ct-bad{background:var(--ct-bad-l)} .ct-o.ct-bad b{color:var(--ct-bad)}
.ct-o em{font-style:normal;font-size:12px;margin-top:3px;color:var(--ct-warn)} .ct-o.ct-bad em{color:var(--ct-bad)}
.ct-diagram svg{width:100%;height:auto;display:block}
.ct-diagram .ct-d-plate{fill:#e8edf1;stroke:#9aa8b5}
.ct-diagram .ct-d-weld{fill:#d9e0e6;stroke:#9aa8b5}
.ct-diagram .ct-d-probe{fill:#3c4a58}
.ct-diagram .ct-d-wedge{fill:#f3d6a3;stroke:#c9a15c}
.ct-diagram .ct-d-ray{stroke:var(--ct-teal);stroke-width:2.2;fill:none}
.ct-diagram .ct-d-ray2{stroke:var(--ct-teal);stroke-width:1.5;fill:none;stroke-dasharray:4 3;opacity:.55}
.ct-diagram .ct-d-dim{stroke:#b45309;stroke-width:1.2;fill:none}
.ct-diagram .ct-d-txt{font:600 11px var(--ct-font);fill:#14202b}
.ct-diagram .ct-d-txt2{font:11px var(--ct-font);fill:#4a5a6a}
.ct-diagram .ct-d-dot{fill:#1f2933;stroke:#fff;stroke-width:1.5}
.ct-diagram .ct-d-grid{stroke:#e2e8ee;stroke-width:1}
.ct-diagram .ct-d-curve{stroke:var(--ct-teal);stroke-width:2.5;fill:none}
.ct-diagram .ct-d-fill{fill:var(--ct-teal);opacity:.12}
.ct-diagram .ct-d-lim{stroke:#1f2933;stroke-width:1.5;stroke-dasharray:6 4;fill:none}
/* entradas */
.ct-field{display:flex;flex-direction:column;gap:6px}
.ct-field label{font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:8px}
.ct-field label small{font-weight:400;color:var(--ct-mut)}
.ct-ctl{display:flex;align-items:stretch;border:1px solid var(--ct-line2);border-radius:10px;background:#fff;overflow:hidden;min-height:50px}
.ct-ctl:focus-within{border-color:var(--ct-teal);box-shadow:0 0 0 3px rgba(200,16,46,.15)}
/* reset agresivo: el tema anfitrión (Avada) vuelve a poner borde, ancho y sombra a input/select */
.ct-app .ct-ctl input,.ct-app .ct-ctl select,.ct-app .ct-ctl textarea,.ct-app .ct-ctl input[type=number],.ct-app .ct-ctl input[type=search]{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:11px 12px!important;font:inherit!important;font-size:18px!important;line-height:1.3!important;color:var(--ct-ink)!important;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}
.ct-app .ct-ctl textarea{font-size:15px!important;min-height:96px!important;resize:vertical;font-family:ui-monospace,Menlo,Consolas,monospace!important}
.ct-app .ct-ctl select{padding-right:36px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%234a5a6a' stroke-width='2'%3E%3Cpath d='M2 5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center!important;cursor:pointer}
.ct-app .ct-ctl input[type=number]{-moz-appearance:textfield}
.ct-app .ct-ctl input[type=number]::-webkit-inner-spin-button,.ct-app .ct-ctl input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ct-ctl .ct-unit{align-self:center;padding:0 10px 0 2px;color:var(--ct-mut);font-size:14px;white-space:nowrap;flex:none}
.ct-app .ct-ctl .ct-step{flex:none;border:0!important;border-left:1px solid var(--ct-line)!important;border-radius:0!important;background:var(--ct-bg)!important;width:48px!important;min-width:48px;height:auto!important;margin:0!important;padding:0!important;font:400 24px/1 var(--ct-font)!important;color:var(--ct-teal-d)!important;cursor:pointer;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.ct-app .ct-ctl .ct-step:hover{background:var(--ct-teal-l)!important}
.ct-app .ct-search{-webkit-appearance:none;appearance:none;box-shadow:none;height:auto;margin:18px 0 6px}
.ct-chips{display:flex;gap:6px;flex-wrap:wrap}
.ct-chip{border:1px solid var(--ct-line2);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ct-ink2)}
.ct-chip.ct-on{background:var(--ct-teal-l);border-color:var(--ct-teal);color:var(--ct-teal-d)}
.ct-hint{font-size:13px;color:var(--ct-mut);margin:-2px 0 0}
/* pasos y ayuda */
details.ct-steps summary{cursor:pointer;font-weight:600;color:var(--ct-teal-d);font-size:14px;list-style:none;display:flex;gap:8px;align-items:center}
details.ct-steps summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-left:2px}
details[open].ct-steps summary::before{transform:rotate(45deg)}
.ct-steps ol{margin:10px 0 0;padding-left:22px;font-size:14px;line-height:1.7;color:var(--ct-ink2);font-variant-numeric:tabular-nums}
.ct-help{font-size:14px;color:var(--ct-ink2);margin:0}
.ct-help p{margin:0 0 6px}
.ct-related{display:flex;gap:8px;flex-wrap:wrap}
.ct-related a{font-size:13px;border:1px solid var(--ct-line2);background:#fff;border-radius:999px;padding:6px 12px;color:var(--ct-teal-d);text-decoration:none;font-weight:600;cursor:pointer}
/* barra de acciones */
.ct-bar{position:fixed;left:0;right:0;bottom:0;z-index:25;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-top:1px solid var(--ct-line);display:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.ct-bar-in{max-width:1040px;margin:0 auto;display:flex;gap:10px;align-items:center}
.ct-app .ct-btn{text-transform:none!important;letter-spacing:0!important;line-height:1.2!important;box-shadow:none!important;width:auto;}
.ct-btn{border:1px solid var(--ct-line2);background:#fff;border-radius:12px;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;min-height:48px}
.ct-btn:hover{border-color:var(--ct-teal)}
.ct-btn.ct-pri{background:var(--ct-teal);border-color:var(--ct-teal);color:#fff;flex:1}
.ct-btn.ct-pri:hover{background:var(--ct-teal-d)}
.ct-btn.ct-danger{color:var(--ct-bad)}
.ct-toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%) translateY(10px);background:var(--ct-ink);color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:600;opacity:0;transition:.2s;pointer-events:none;z-index:40}
.ct-toast.ct-show{opacity:1;transform:translateX(-50%)}
/* ===== historial ===== */
.ct-hist-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.ct-hist-top .ct-btns{display:flex;gap:8px;flex-wrap:wrap}
.ct-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:14px 0}
.ct-app .ct-meta input{border:1px solid var(--ct-line2)!important;border-radius:10px!important;padding:10px 12px!important;background:#fff!important;width:100%!important;height:auto!important;box-shadow:none!important;margin:0!important;font:inherit!important}
.ct-hcard{background:var(--ct-card);border:1px solid var(--ct-line);border-radius:var(--ct-r);padding:12px 14px;margin-bottom:10px;box-shadow:var(--ct-sh);display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.ct-hcard h4{margin:0;font-size:15px}
.ct-hcard .ct-when{color:var(--ct-mut);font-size:12.5px}
.ct-hcard .ct-hin{color:var(--ct-ink2);font-size:13px;grid-column:1/-1}
.ct-hcard .ct-hout{grid-column:1/-1;display:flex;gap:6px 14px;flex-wrap:wrap;font-size:14px;font-variant-numeric:tabular-nums}
.ct-hcard .ct-hout b{color:var(--ct-teal-d)}
.ct-hcard .ct-hout .ct-w{color:var(--ct-bad);font-weight:600}
.ct-hcard .ct-note{grid-column:1/-1;border:0;border-bottom:1px dashed var(--ct-line2);padding:4px 0;background:transparent;font-size:14px}
.ct-hcard .ct-del{border:0;background:transparent;color:var(--ct-mut);cursor:pointer;font-size:18px;padding:0 4px;align-self:start}
.ct-hcard .ct-del:hover{color:var(--ct-bad)}
/* ===== responsive ===== */
@media (max-width:760px){
  .ct-calc{grid-template-columns:1fr;gap:12px}
  .ct-col-out{position:static;order:-1}
  .ct-hero .ct-val{font-size:44px}
  .ct-outs{grid-template-columns:1fr 1fr}
  .ct-meta{grid-template-columns:1fr}
  .ct-units button{padding:5px 9px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* ===== v2.3: favoritos, navegación por método, notas ===== */
.ct-app .ct-fav{display:none;border:0;background:transparent;padding:8px;border-radius:10px;cursor:pointer;color:var(--ct-mut);line-height:0;box-shadow:none;min-height:0}
.ct-app.ct-in-calc .ct-fav{display:inline-flex}
.ct-fav:hover{background:var(--ct-teal-l);color:var(--ct-teal)}
.ct-fav.ct-on{color:var(--ct-teal)} .ct-fav.ct-on svg{fill:currentColor}
.ct-gnav{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 2px}
.ct-app .ct-gnav button{border:1px solid var(--ct-line2);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ct-ink2);cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;min-height:0;line-height:1.3}
.ct-app .ct-gnav button:hover{border-color:var(--ct-teal);color:var(--ct-teal-d)}
.ct-recent a.ct-favchip{background:var(--ct-teal-l);border-color:var(--ct-teal)}
.ct-recent:empty{display:none}
.ct-group{scroll-margin-top:80px}
.ct-o em.ct-onote{color:var(--ct-ink2)}
.ct-help .ct-ref{margin-top:8px;font-size:13px;color:var(--ct-mut)}
/* ===== v2.3: reporte en pantalla ===== */
.ct-jobbox{margin:14px 0}
.ct-jobbox summary{cursor:pointer;font-weight:600;color:var(--ct-teal-d);font-size:15px}
.ct-jset{border:0;margin:14px 0 0;padding:0;min-width:0}
.ct-jset legend{font-size:13px;font-weight:700;color:var(--ct-ink);padding:0;margin-bottom:8px;display:flex;gap:8px;align-items:center}
.ct-jset legend::before{content:"";width:10px;height:10px;background:var(--ct-teal);display:inline-block}
.ct-jgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ct-jtx{display:grid;grid-template-columns:1fr;gap:10px}
.ct-jf{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ct-ink2);font-weight:600;min-width:0}
.ct-app .ct-jf input,.ct-app .ct-jf textarea{border:1px solid var(--ct-line2)!important;border-radius:8px!important;padding:8px 10px!important;background:#fff!important;width:100%!important;height:auto!important;box-shadow:none!important;margin:0!important;font:400 14px/1.4 var(--ct-font)!important;color:var(--ct-ink)!important;resize:vertical}
.ct-app .ct-jf input:focus,.ct-app .ct-jf textarea:focus{border-color:var(--ct-teal)!important;outline:none}
.ct-sum{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.ct-sum:empty{display:none}
.ct-sum-i{flex:1 1 110px;background:#fff;border:1px solid var(--ct-line);border-radius:10px;padding:8px 12px;display:flex;align-items:baseline;gap:8px}
.ct-sum-i b{font:600 24px/1 var(--ct-num);font-variant-numeric:tabular-nums}
.ct-sum-i span{font-size:13px;color:var(--ct-ink2)}
.ct-sum-i.ct-sum-w{background:var(--ct-warn-l);border-color:#f3c98b}
.ct-sum-i.ct-sum-b{background:#1f2933;border-color:#1f2933} .ct-sum-i.ct-sum-b b,.ct-sum-i.ct-sum-b span{color:#fff}
.ct-hcard{display:flex;flex-direction:column;gap:6px}
.ct-hhead{display:flex;align-items:center;gap:10px}
.ct-hhead h4{flex:1;margin:0;font-size:15px}
.ct-hn{font:700 12px var(--ct-num);color:var(--ct-teal)}
.ct-pill{font-size:11px;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:999px;white-space:nowrap}
.ct-s-ok{border:1.5px solid var(--ct-ok);color:var(--ct-ok)}
.ct-s-warn{background:var(--ct-warn-l);color:var(--ct-warn);border:1.5px solid #f3c98b}
.ct-s-bad{background:#1f2933;color:#fff}
.ct-s-info{border:1.5px solid var(--ct-line2);color:var(--ct-ink2)}
.ct-hmeta{font-size:12.5px;color:var(--ct-mut)}
.ct-hbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;align-items:start}
.ct-hprim span{display:block;font-size:12px;color:var(--ct-ink2)}
.ct-hprim b{font:600 26px/1.15 var(--ct-num);font-variant-numeric:tabular-nums;color:var(--ct-ink)}
.ct-hprim b i{font-style:normal;font-size:14px;color:var(--ct-mut);font-weight:500}
.ct-hcard .ct-hbody .ct-hin{font-size:12.5px;line-height:1.55;grid-column:auto}
@media (max-width:760px){.ct-jgrid{grid-template-columns:1fr 1fr}.ct-hbody{grid-template-columns:1fr}}
@media (max-width:420px){.ct-jgrid{grid-template-columns:1fr}}
/* ===== v2.3: documento imprimible (Carta) ===== */
#ctPrint{display:none}
@page{size:letter;margin:12mm 12mm 13mm}
@media print{
  html,body{background:#fff!important}
  body.ct-body .ct-app{display:none!important}
  #ctPrint{display:block!important;color:#1a1a1a;font:10.5pt/1.4 "Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #ctPrint h1,#ctPrint h3,#ctPrint h4,#ctPrint h5,#ctPrint p{margin:0}
  .cp-head{display:flex;align-items:flex-end;gap:14px;padding-bottom:8px;border-bottom:3px solid #c8102e;margin-bottom:10px}
  .cp-logo{width:52px;height:52px;background:#c8102e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:.04em;flex:none}
  .cp-title{flex:1} .cp-title h1{font-size:20pt;font-weight:800;letter-spacing:-.01em;line-height:1.1} .cp-title p{font-size:9pt;color:#555}
  .cp-no{text-align:right;display:flex;flex-direction:column;gap:2px} .cp-no b{font-size:12pt} .cp-no span{font-size:8.5pt;color:#555}
  .cp-sec{margin:0 0 8px;break-inside:avoid}
  .cp-sec h3{font-size:9.5pt;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:6px}
  .cp-sec h3::before{content:"";width:8px;height:8px;background:#c8102e;display:inline-block}
  .cp-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb;border-left:1px solid #bbb}
  .cp-kv{padding:3px 6px;border-right:1px solid #bbb;border-bottom:1px solid #bbb;min-width:0}
  .cp-kv span{display:block;font-size:6.8pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#555}
  .cp-kv b{display:block;font-size:8.8pt;font-weight:500;word-break:break-word}
  .cp-sum{display:flex;gap:6px;margin:8px 0}
  .cp-sum div{flex:1;background:#f2f0ed;padding:5px 9px;font-size:9pt} .cp-sum b{font-size:14pt;margin-right:4px}
  .cp-sum .cp-sum-bad{background:#2b2b2b;color:#fff}
  .cp-concl{display:flex;gap:10px;border:1.5px solid #2b2b2b;padding:6px 10px;margin-bottom:10px;break-inside:avoid} .cp-concl b{font-size:8pt;letter-spacing:.08em;padding-top:1px;white-space:nowrap} .cp-concl p{font-size:9.5pt;white-space:pre-wrap}
  .cp-card{border:1px solid #bbb;margin-bottom:8px;break-inside:avoid}
  .cp-card header{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#f2f0ed;border-bottom:1px solid #bbb}
  .cp-n{font-weight:700;color:#c8102e;font-size:9pt} .cp-card h4{flex:1;font-size:10.5pt} .cp-ref{font-size:8pt;color:#555}
  .cp-pill{font-size:7.5pt;font-weight:700;letter-spacing:.06em;padding:2px 7px;border:1.5px solid #1a1a1a;white-space:nowrap}
  .cp-pill.cp-bad{background:#2b2b2b;color:#fff;border-color:#2b2b2b} .cp-pill.cp-info{border-color:#888;color:#555} .cp-pill.cp-warn{border-style:dashed}
  .cp-body{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;padding:6px 8px 8px}
  .cp-card h5{font-size:7pt;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#555;margin-bottom:2px}
  .cp-row{display:flex;justify-content:space-between;gap:10px;padding:1.5px 0;border-bottom:1px solid #e3e3e3;font-size:8.6pt} .cp-row span{color:#555} .cp-row b{font-weight:600;text-align:right}
  .cp-big{font-size:20pt;font-weight:600;line-height:1.1;margin-bottom:3px} .cp-big i{font-style:normal;font-size:10pt;color:#555}
  .cp-warn{font-size:8pt;font-weight:600;padding:1px 0 2px}
  .cp-note{font-size:8.6pt;padding:0 8px 6px;color:#333}
  .cp-box{border:1px solid #bbb;min-height:40px;padding:5px 8px;font-size:9pt;white-space:pre-wrap}
  .cp-dist{font-size:8.6pt;margin-top:4px!important}
  .cp-keep{break-inside:avoid}
  .cp-sigs{display:flex;gap:22px;margin-top:14px}
  .cp-sig{flex:1;display:flex;flex-direction:column;gap:2px} .cp-line{height:34px;border-bottom:1.5px solid #1a1a1a} .cp-sig b{font-size:9pt} .cp-sig span{font-size:8pt;color:#555}
  .cp-foot{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:5px;border-top:1px solid #bbb;font-size:7.5pt;color:#555}
}
/* v2.3: evita desbordamiento horizontal en móvil (columnas con contenido ancho) */
.ct-calc>*{min-width:0}
@media (max-width:760px){.ct-calc{grid-template-columns:minmax(0,1fr)}}
.ct-app .ct-ctl select{min-width:0!important;text-overflow:ellipsis}
.ct-outs{grid-template-columns:repeat(2,minmax(0,1fr))}
.ct-o b{overflow-wrap:anywhere}
.ct-bar-in .ct-btn{min-width:0}
@media (max-width:480px){.ct-app .ct-bar-in{gap:6px}.ct-app .ct-bar-in .ct-btn{padding:10px 10px;font-size:14px}.ct-app .ct-bar-in .ct-btn.ct-pri{white-space:normal}}
/* ===================== v3.0: flujo por tareas ===================== */
.ct-app .ct-screen{display:none}
.ct-app[data-s=home] #scrHome,.ct-app[data-s=list] #scrList,.ct-app[data-s=task] #scrTask,.ct-app[data-s=hist] #scrHist,.ct-app[data-s=job] #scrJob,.ct-app[data-s=eq] #scrEq{display:block}
.ct-app:not([data-s=home]) .ct-back{display:inline-flex}
.ct-app[data-s=task] .ct-bar{display:block}
.ct-app .ct-iconbtn{border:1px solid var(--ct-line2);background:#fff;border-radius:999px;width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ct-ink2);padding:0;box-shadow:none;min-height:0}
.ct-app .ct-iconbtn[aria-pressed=true]{background:#14202b;color:#ffd84d;border-color:#14202b}
/* inicio */
.ct-jobcard{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--ct-line);border-left:5px solid var(--ct-teal);border-radius:var(--ct-r);padding:14px 16px;margin-top:18px;box-shadow:var(--ct-sh)}
.ct-jc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ct-jc-main b{font-size:17px;line-height:1.3}
.ct-jc-main span{font-size:13.5px;color:var(--ct-ink2)}
.ct-jc-k{font-size:12px!important;font-weight:700;color:var(--ct-teal-d)!important}
.ct-jc-eq{color:var(--ct-mut)!important;font-size:12.5px!important}
.ct-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.ct-app .ct-mth{display:flex;gap:12px;align-items:center;text-align:left;background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:14px;min-height:84px;cursor:pointer;box-shadow:var(--ct-sh);text-transform:none;letter-spacing:0;color:var(--ct-ink)}
.ct-mth:hover,.ct-mth:focus-visible{border-color:var(--ct-teal)}
.ct-mth svg{width:38px;height:38px;flex:none;color:var(--ct-teal)}
.ct-mth b{display:block;font-size:16px;line-height:1.2}
.ct-mth small{display:block;font-size:12.5px;color:var(--ct-mut);margin-top:3px;line-height:1.3}
.ct-app .ct-mth-q{background:transparent;box-shadow:none;border-style:dashed}
#ctSearchRes:empty{display:none}
#ctSearchRes{display:flex;flex-direction:column;gap:10px;margin-top:10px}
/* lista de tareas */
.ct-tasks{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.ct-app .ct-task{display:flex;gap:14px;align-items:center;text-align:left;background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:16px;min-height:76px;cursor:pointer;box-shadow:var(--ct-sh);width:100%;text-transform:none;letter-spacing:0;color:var(--ct-ink)}
.ct-task:hover,.ct-task:focus-visible{border-color:var(--ct-teal)}
.ct-task svg{width:38px;height:38px;flex:none;color:var(--ct-teal)}
.ct-task span{flex:1;min-width:0}
.ct-task b{display:block;font-size:17px;line-height:1.25}
.ct-task small{display:block;font-size:13px;color:var(--ct-ink2);margin-top:2px}
.ct-task i{font-style:normal;font-size:26px;color:var(--ct-mut)}
.ct-listfoot{margin-top:16px}
.ct-listfoot a{color:var(--ct-teal-d);font-weight:600}
.ct-qgrp{margin-top:12px;background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:12px 14px}
.ct-qgrp summary{cursor:pointer;font-weight:700;font-size:16px}
.ct-qgrp summary small{font-weight:500;color:var(--ct-mut);margin-left:6px}
.ct-qgrp .ct-tasks{margin-top:10px}
/* tarea */
.ct-tgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}
.ct-tin,.ct-tout{display:flex;flex-direction:column;gap:14px;min-width:0}
.ct-tout{position:sticky;top:74px}
.ct-eqtag{font-size:11px!important;font-weight:700!important;color:var(--ct-teal-d)!important;background:var(--ct-teal-l);border-radius:999px;padding:1px 7px;margin-left:4px}
details.ct-adv summary{cursor:pointer;font-weight:600;color:var(--ct-teal-d);font-size:14px;list-style:none;display:flex;gap:8px;align-items:center;min-height:32px}
details.ct-adv summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-left:2px}
details[open].ct-adv summary::before{transform:rotate(45deg)}
details.ct-adv summary small{color:var(--ct-mut);font-weight:500}
#ctAdvFields{display:flex;flex-direction:column;gap:14px;margin-top:12px}
#ctFields{display:flex;flex-direction:column;gap:14px}
.ct-field[hidden]{display:none!important}
.ct-res{background:#fff;border:1px solid var(--ct-line);border-radius:16px;overflow:hidden;box-shadow:var(--ct-sh)}
.ct-verdict{display:flex;align-items:center;gap:10px;padding:12px 18px;color:#fff;font:800 20px/1.1 var(--ct-font);letter-spacing:.02em}
.ct-vi{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;font-size:17px}
.ct-v-ok .ct-verdict{background:#15803d}
.ct-v-warn .ct-verdict{background:#b45309}
.ct-v-bad .ct-verdict{background:#9c0c24}
.ct-rbody{padding:14px 18px 16px}
.ct-res .ct-lbl{font-size:13px;font-weight:600;color:var(--ct-ink2)}
.ct-res .ct-val{font:600 48px/1.05 var(--ct-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;word-break:break-word}
.ct-res .ct-val i{font-style:normal;font-size:19px;font-weight:500;color:var(--ct-mut);margin-left:6px}
.ct-v-none .ct-val{color:var(--ct-teal)}
.ct-res .ct-msg{margin-top:8px;font-size:14px;font-weight:600;color:var(--ct-ink2)}
.ct-v-bad .ct-msg{color:#9c0c24} .ct-v-warn .ct-msg{color:#8a4108}
.ct-diagram svg+svg{margin-top:10px;padding-top:10px;border-top:1px dashed var(--ct-line)}
.ct-steps li.ct-sh{list-style:none;margin-left:-22px;font-weight:700;color:var(--ct-ink);margin-top:6px}
/* barra mínima de resultado */
.ct-mini{position:fixed;left:0;right:0;bottom:calc(69px + env(safe-area-inset-bottom));z-index:24;display:none;align-items:center;gap:10px;padding:9px 16px;background:#14202b;color:#fff;cursor:pointer;font-size:14px}
.ct-app.ct-mini-on[data-s=task] .ct-mini{display:flex}
.ct-mini span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}
.ct-mini strong{font:700 18px var(--ct-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-mv{font-size:12px;letter-spacing:.03em;padding:3px 8px;border-radius:999px;white-space:nowrap}
.ct-mini.ct-v-ok .ct-mv{background:#15803d} .ct-mini.ct-v-warn .ct-mv{background:#b45309} .ct-mini.ct-v-bad .ct-mv{background:#c8102e}
@media (min-width:761px){.ct-app.ct-mini-on[data-s=task] .ct-mini{display:none}}
/* barra de acciones */
.ct-app .ct-bar-in .ct-more{flex:none;width:56px;padding:0;font-size:24px;line-height:1}
/* hojas inferiores */
.ct-scrim{position:fixed;inset:0;background:rgba(20,32,43,.45);z-index:55}
.ct-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:520px;background:#fff;border-radius:18px 18px 0 0;z-index:60;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.18)}
.ct-sheet[hidden],.ct-scrim[hidden]{display:none}
.ct-sheet h3{margin:0 0 12px;font-size:17px}
.ct-sheet .ct-menu{display:flex;flex-direction:column;gap:8px}
.ct-app .ct-sheet .ct-menu .ct-btn{width:100%;text-align:left}
.ct-sheet .ct-row2{display:flex;gap:10px;margin-top:14px}
.ct-app .ct-sheet .ct-row2 .ct-btn{flex:1}
.ct-app .ct-sheet input.ct-taginp{width:100%!important;border:1px solid var(--ct-line2)!important;border-radius:10px!important;padding:12px 14px!important;font:500 18px var(--ct-font)!important;background:#fff!important;box-shadow:none!important;margin:0!important;height:auto!important}
.ct-sheet .ct-chips{margin-top:10px}
/* trabajo */
.ct-jobwrap{margin-top:18px}
.ct-app .ct-jf select{border:1px solid var(--ct-line2)!important;border-radius:8px!important;padding:8px 10px!important;background:#fff!important;width:100%!important;height:auto!important;font:400 14px/1.4 var(--ct-font)!important;box-shadow:none!important;margin:0!important}
.ct-jobfoot{display:flex;justify-content:flex-end;margin-top:16px}
/* reporte */
.ct-rephead{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--ct-line);border-left:5px solid var(--ct-teal);border-radius:var(--ct-r);padding:12px 16px;margin:14px 0}
.ct-rephead>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ct-rephead b{font-size:16px} .ct-rephead span{font-size:13px;color:var(--ct-ink2)}
.ct-htag{color:var(--ct-teal-d)}
details.ct-hdet summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ct-teal-d)}
details.ct-hdet .ct-hin{margin:6px 0;font-size:12.5px;color:var(--ct-ink2);line-height:1.55}
details.ct-hdet .ct-hout{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px}
.ct-concl{margin:14px 0}
.ct-app .ct-concl textarea{width:100%!important;border:1px solid var(--ct-line2)!important;border-radius:10px!important;padding:10px 12px!important;font:400 15px/1.45 var(--ct-font)!important;background:#fff!important;box-shadow:none!important;margin:4px 0 10px!important;min-height:70px;resize:vertical;height:auto!important}
.ct-concl label{font-size:14px;font-weight:600}
@media (max-width:760px){
  .ct-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-tgrid{grid-template-columns:minmax(0,1fr)}
  .ct-tout{position:static}
  .ct-res .ct-val{font-size:44px}
  .ct-hdr h1{font-size:16px}
}
@media (max-width:380px){.ct-methods{grid-template-columns:minmax(0,1fr)}.ct-mth{min-height:64px}}
/* modo sol: más contraste y letra más grande */
body.ct-sun{--ct-bg:#fff;--ct-ink:#000;--ct-ink2:#111;--ct-mut:#333;--ct-line:#8c96a0;--ct-line2:#5f6a74;font-size:18px}
body.ct-sun .ct-box,body.ct-sun .ct-res,body.ct-sun .ct-task,body.ct-sun .ct-mth,body.ct-sun .ct-jobcard{box-shadow:none;border-width:2px}
body.ct-sun .ct-field label{font-size:16px}
body.ct-sun .ct-app .ct-ctl input,body.ct-sun .ct-app .ct-ctl select,body.ct-sun .ct-app .ct-ctl textarea{font-size:20px!important;font-weight:600!important}
body.ct-sun .ct-res .ct-val{font-size:58px}
body.ct-sun .ct-verdict{font-size:23px}
body.ct-sun .ct-o b{font-size:25px}
body.ct-sun .ct-o span,body.ct-sun .ct-task small,body.ct-sun .ct-mth small{font-size:14.5px;color:#111}
body.ct-sun .ct-hdr{background:#fff}
.ct-ptitle{margin:16px 0 -4px}
.ct-ptitle h2{margin:0;font-size:22px;line-height:1.2;font-weight:700}
.ct-ptitle p{margin:3px 0 0;font-size:14px;color:var(--ct-ink2)}
body.ct-sun .ct-ptitle h2{font-size:25px}
.ct-hb-i{display:none}
@media (max-width:480px){.ct-hb-t{display:none}.ct-hb-i{display:inline}.ct-app .ct-hist-btn{padding:6px 9px}.ct-app .ct-units button{padding:5px 8px}.ct-hdr-in{gap:6px}.ct-hdr h1 small{display:none}}

/* v3.1: invitado y candados */
.ct-jobcard.ct-guest{background:#14202b;border-color:#14202b;color:#fff}
.ct-jobcard.ct-guest .ct-jc-main b{color:#fff;font-size:18px}
.ct-jobcard.ct-guest .ct-jc-main span{color:#d5dde4}
.ct-jobcard.ct-guest .ct-jc-k{color:#f3b8c2!important;display:inline-flex!important;gap:6px;align-items:center}
.ct-jc-btns{display:flex!important;gap:8px;margin-top:8px;flex-wrap:wrap}
.ct-app .ct-jc-btns .ct-btn{flex:1 1 auto;min-height:46px}
.ct-app .ct-btn.ct-ghost{background:transparent;color:#fff;border-color:#5d6b79}
.ct-app .ct-btn.ct-txt{border-color:transparent;background:transparent;color:var(--ct-ink2)}
.ct-mth{position:relative}
.ct-mth.ct-locked svg:not(.ct-lkb svg),.ct-mth.ct-locked b{opacity:.6}
.ct-lkb{position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:999px;background:#14202b;color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal}
.ct-lkb svg{width:13px;height:13px;opacity:1!important;color:#fff}
.ct-freeb{display:inline-block;margin-top:6px;font-size:11.5px;font-weight:700;color:var(--ct-teal-d);background:var(--ct-teal-l);border-radius:999px;padding:2px 8px}
.ct-task.ct-locked>svg,.ct-task.ct-locked b{opacity:.6}
.ct-lk{flex:none;display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:12px;font-weight:700;color:var(--ct-ink);background:#eef1f4;border-radius:999px;padding:5px 9px}
.ct-lk svg{width:13px;height:13px}
.ct-qgrp summary .ct-lk{margin-left:8px;background:#14202b;color:#fff}
.ct-qgrp.ct-locked summary{color:var(--ct-ink2)}
.ct-locksheet{max-height:92vh;overflow:auto}
.ct-lockhead{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.ct-lockhead h3{margin:0!important;font-size:19px!important;line-height:1.25}
.ct-lockico{flex:none;width:46px;height:46px;border-radius:999px;background:var(--ct-teal-l);color:var(--ct-teal);display:flex;align-items:center;justify-content:center}
.ct-lockp{margin:0 0 12px;font-size:15px;line-height:1.45}
.ct-benef{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}
.ct-benef li{display:flex;flex-direction:column;padding-left:28px;position:relative}
.ct-benef li::before{content:"";position:absolute;left:2px;top:4px;width:12px;height:7px;border-left:3px solid #15803d;border-bottom:3px solid #15803d;transform:rotate(-45deg)}
.ct-benef b{font-size:14.5px}
.ct-benef span{font-size:13px;color:var(--ct-ink2);line-height:1.4}
.ct-lockfoot{text-align:center;margin-top:10px!important}
.ct-app .ct-locksheet .ct-menu .ct-btn{text-align:center}
.ct-app .ct-hist-btn.ct-enter{border-color:var(--ct-teal);color:var(--ct-teal-d)}
.ct-app .ct-hist-btn.ct-enter .ct-hb-t{display:inline!important}
.ct-app .ct-hist-btn.ct-enter .ct-hb-i{display:none!important}

/* v1.0.1: tarjeta del modo invitado */
.ct-jobcard.ct-guest{align-items:stretch}
.ct-jc-list{list-style:none;margin:10px 0 2px;padding:0;display:flex;flex-direction:column;gap:6px}
.ct-jc-list li{position:relative;padding-left:24px;font-size:13.5px;color:#eaeff3;line-height:1.35}
.ct-jc-list li::before{content:"";position:absolute;left:2px;top:3px;width:10px;height:6px;border-left:2.5px solid #7ee2a8;border-bottom:2.5px solid #7ee2a8;transform:rotate(-45deg)}
.ct-jc-fine{font-size:12px!important;color:#9fb0bd!important;text-align:center}
.ct-jc-log{font-size:13.5px!important;color:#d5dde4!important;text-align:center}
.ct-app .ct-linkbtn{border:0;background:transparent;color:#fff;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px 2px;min-height:0;box-shadow:none}
.ct-app .ct-linkbtn:hover{color:#f3b8c2}
.ct-jobcard.ct-guest .ct-jc-btns{margin-top:12px}
/* v1.1: ayuda y glosario */
.ct-app .ct-qm{flex:none;width:22px;height:22px;border-radius:999px;border:1.5px solid var(--ct-line2);background:#fff;color:var(--ct-ink2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;min-height:0;box-shadow:none;margin-left:6px}
.ct-app .ct-qm:hover{border-color:var(--ct-teal);color:var(--ct-teal-d)}
.ct-field label{align-items:center}
.ct-verdict .ct-qm{margin-left:auto;width:26px;height:26px;border-color:rgba(255,255,255,.7);background:transparent;color:#fff}
.ct-app .ct-term{width:auto;height:auto;border:0;border-bottom:1.5px dotted var(--ct-teal-d);border-radius:0;background:transparent;color:inherit;font:inherit;padding:0;margin:0;vertical-align:baseline;display:inline}
.ct-app .ct-term:hover{color:var(--ct-teal-d)}
.ct-helpsheet{max-height:86vh;overflow:auto}
.ct-hshead{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.ct-hshead h3{flex:1;margin:0!important;font-size:19px!important;line-height:1.25}
.ct-app .ct-hshead .ct-btn{flex:none;width:44px;min-width:44px;padding:0;font-size:18px;color:var(--ct-ink2)}
.ct-hp{margin:0 0 10px;font-size:15px;line-height:1.5}
.ct-hnota{margin:0 0 10px;font-size:14px;line-height:1.45;color:var(--ct-ink2);border-left:3px solid var(--ct-teal);padding-left:10px}
.ct-hr{display:flex;gap:12px;padding:7px 0;border-top:1px solid #eef1f4;font-size:13.5px}
.ct-hr span{flex:none;width:118px;color:var(--ct-mut);font-weight:600}
.ct-hr b{flex:1;min-width:0;font-weight:400}
.ct-hsT{margin:0 0 6px;font-size:15px}
.ct-help .ct-hr span{width:118px}
.ct-glist{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ct-app .ct-glitem{width:auto;height:auto;border-radius:999px;padding:7px 12px;font-size:13.5px;font-weight:600;color:var(--ct-ink);border:1px solid var(--ct-line2);margin:0}
.ct-glosbox summary{display:flex;align-items:center;gap:6px}
@media (max-width:420px){.ct-hr{flex-direction:column;gap:2px}.ct-hr span{width:auto}}
body.ct-sun .ct-app .ct-qm{width:26px;height:26px;border-width:2px}
/* v1.2: equipos */
.ct-eqbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 -4px}
.ct-app .ct-eqchip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#fff;border:1px solid var(--ct-line2);border-radius:12px;padding:8px 12px;cursor:pointer;text-align:left;box-shadow:none;min-height:0;text-transform:none;letter-spacing:0}
.ct-eqchip span{font-size:11.5px;color:var(--ct-mut);font-weight:700}
.ct-eqchip b{font-size:13.5px;color:var(--ct-ink)}
.ct-app .ct-eqchip.ct-eqvacio b{color:var(--ct-teal-d)}
.ct-eqchip em,.ct-eqitem em,.ct-eqcard em{font-style:normal;font-size:11.5px;font-weight:700}
.ct-eqven{color:#9c0c24}.ct-eqpv{color:#8a4108}.ct-eqok{color:var(--ct-mut);font-weight:500!important}
.ct-eqgrp{font-size:12px;font-weight:700;color:var(--ct-mut);margin:10px 0 6px}
.ct-app .ct-eqitem{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:#fff;border:1px solid var(--ct-line2);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
.ct-app .ct-eqitem.ct-on{border-color:var(--ct-teal);background:var(--ct-teal-l)}
.ct-eqitem b{font-size:15px}.ct-eqitem span{font-size:12.5px;color:var(--ct-ink2)}
.ct-eqtop{display:flex;gap:12px;align-items:center;margin:16px 0 4px}
.ct-eqtop .ct-hint{flex:1;margin:0}
.ct-eqsec{margin-top:18px}
.ct-eqsec h3{margin:0 0 8px;font-size:16px;border-left:4px solid var(--ct-teal);padding-left:9px}
.ct-eqcard{background:#fff;border:1px solid var(--ct-line);border-radius:14px;padding:12px 14px;margin-bottom:10px}
.ct-eqcard.ct-on{border-color:var(--ct-teal)}
.ct-eqhead{display:flex;align-items:center;gap:10px}
.ct-eqhead b{flex:1;font-size:15.5px}
.ct-eqsub{font-size:13px;color:var(--ct-ink2);margin-top:2px}
.ct-eqprops{font-size:12.5px;color:var(--ct-mut);margin-top:4px}
.ct-eqacc{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ct-app .ct-eqacc .ct-btn{padding:9px 14px;min-height:44px}
#ctEqForm{max-height:88vh;overflow:auto}
#ctEqFBody .ct-jgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:520px){#ctEqFBody .ct-jgrid{grid-template-columns:1fr}}

/* v1.2.1: en escritorio las hojas son ventanas centradas (dentro del marco), no hojas de abajo */
@media (min-width:761px){
  .ct-sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:18px;max-height:88vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.28)}
  .ct-locksheet,.ct-helpsheet,#ctEqForm,#ctEqSheet{max-height:88vh}
}

/* v1.3: instrumentos y accesorios */
.ct-eqh2{margin:20px 0 -6px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ct-mut)}
.ct-eqclase{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.ct-eqcompat{margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.ct-eqcompat>span{font-weight:700}
.ct-eqcompat label{display:flex;gap:8px;align-items:center}
.ct-eqcompat small{color:var(--ct-mut)}
