/* Sistema visual del Tablero de Gobierno del Dueño · CCQ
   © Esteban De Gyves · Filosofía SER Dueño. Derechos reservados. */

:root{
  --ground:#FAF8F4; --surface:#FFFFFF; --surface-2:#F3EFE7;
  --ink:#1A1713; --ink-2:#4A4339; --muted:#7A7264; --hair:#E4DED3; --hair-2:#D2C9B9;
  --gold:#B8851A; --gold-soft:#F3E6C6; --gold-ink:#7A5809;
  --crit:#B1362A; --crit-soft:#F7DFDB; --crit-ink:#7E241B;
  --ok:#356E5C; --ok-soft:#DCEBE4; --ok-ink:#245045;
  --bar:#0F0D0A; --bar-ink:#F5F1E8;
  --shadow:0 1px 2px rgba(26,23,19,.05), 0 8px 24px -16px rgba(26,23,19,.28);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#131110; --surface:#1C1917; --surface-2:#24201C;
    --ink:#F1EDE4; --ink-2:#C6BEB1; --muted:#948B7C; --hair:#2E2924; --hair-2:#3D362E;
    --gold:#DFA736; --gold-soft:#3A2F14; --gold-ink:#EFC978;
    --crit:#E0705F; --crit-soft:#3A211C; --crit-ink:#F0A093;
    --ok:#63A88E; --ok-soft:#1D2E28; --ok-ink:#8FC7B1;
    --bar:#0B0A08; --bar-ink:#F1EDE4;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --ground:#131110; --surface:#1C1917; --surface-2:#24201C;
  --ink:#F1EDE4; --ink-2:#C6BEB1; --muted:#948B7C; --hair:#2E2924; --hair-2:#3D362E;
  --gold:#DFA736; --gold-soft:#3A2F14; --gold-ink:#EFC978;
  --crit:#E0705F; --crit-soft:#3A211C; --crit-ink:#F0A093;
  --ok:#63A88E; --ok-soft:#1D2E28; --ok-ink:#8FC7B1;
  --bar:#0B0A08; --bar-ink:#F1EDE4;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.7);
}

*{box-sizing:border-box;}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Newsreader", Georgia, "Times New Roman", serif; font-weight:500; text-wrap:balance; margin:0;}
.mono{font-family:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace; font-variant-numeric:tabular-nums;}
.wrap{max-width:1240px; margin:0 auto; padding:0 24px;}

/* ---------- masthead ---------- */
.mast{background:var(--bar); color:var(--bar-ink); border-bottom:3px solid var(--gold);}
.mast-in{max-width:1240px;margin:0 auto;padding:20px 24px 0;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:18px;}
.logo{height:52px;width:auto;display:block;}
.brand-txt{border-left:1px solid #38322A;padding-left:18px;}
.brand h1{font-size:20px;color:var(--bar-ink);line-height:1.2;}
.brand .sub{display:block;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8C8375;margin-top:6px;}
.cut{text-align:right;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8C8375;}
.cut strong{display:block;font-size:14px;letter-spacing:.04em;color:var(--gold);margin-top:3px;font-weight:500;}
.rights{display:block;margin-top:12px;font-size:9px;letter-spacing:.1em;line-height:1.7;color:#6E675B;}
@media (max-width:640px){.logo{height:40px;} .brand-txt{border-left:0;padding-left:0;}}
.tabs{display:flex;gap:2px;margin-top:18px;}
.tab{appearance:none;border:0;background:transparent;color:#948B7C;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding:11px 16px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .15s;}
.tab:hover{color:var(--bar-ink);}
.tab[aria-selected="true"]{color:var(--bar-ink);border-bottom-color:var(--gold);}
.tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}

/* ---------- verdict strip ---------- */
.verdict{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);margin:28px 0;box-shadow:var(--shadow);}
.vcell{background:var(--surface);padding:18px 20px;display:flex;flex-direction:column;gap:3px;}
.vcell .n{font-family:"Newsreader",serif;font-size:42px;line-height:1;font-variant-numeric:tabular-nums;}
.vcell .lbl{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.vcell .note{font-size:12.5px;color:var(--ink-2);line-height:1.4;}
.vcell.c-rojo .n{color:var(--crit);} .vcell.c-ambar .n{color:var(--gold);} .vcell.c-verde .n{color:var(--ok);}

.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:34px 0 12px;flex-wrap:wrap;}
.sec-head h2{font-size:23px;}
.sec-head p{margin:0;font-size:13px;color:var(--muted);max-width:62ch;}

/* ---------- roster ---------- */
.tablebox{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow);overflow-x:auto;}
table{border-collapse:collapse;width:100%;min-width:1150px;}
thead th{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-align:left;padding:11px 12px;border-bottom:1px solid var(--hair-2);font-weight:500;white-space:nowrap;background:var(--surface-2);}
tbody tr{border-bottom:1px solid var(--hair);cursor:pointer;transition:background .12s;}
tbody tr:hover{background:var(--surface-2);}
tbody tr:last-child{border-bottom:0;}
td{padding:11px 12px;vertical-align:middle;}
td.stripe{padding:0;width:5px;}
.sg{display:block;width:5px;height:52px;}
.sg.rojo{background:var(--crit);} .sg.ambar{background:var(--gold);} .sg.verde{background:var(--ok);}
.who{font-weight:500;font-size:13.5px;line-height:1.3;min-width:150px;}
.who small{display:block;font-weight:400;font-size:11.5px;color:var(--muted);margin-top:2px;text-transform:none;}
.chip{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--hair-2);color:var(--ink-2);white-space:nowrap;}
.chip.rojo{background:var(--crit-soft);border-color:transparent;color:var(--crit-ink);}
.chip.ambar{background:var(--gold-soft);border-color:transparent;color:var(--gold-ink);}
.chip.verde{background:var(--ok-soft);border-color:transparent;color:var(--ok-ink);}
.idx{display:flex;align-items:center;gap:9px;}
.idxn{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;min-width:32px;}
.dlt{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-variant-numeric:tabular-nums;padding:1px 5px;}
.dlt.up{color:var(--ok-ink);background:var(--ok-soft);} .dlt.dn{color:var(--crit-ink);background:var(--crit-soft);}
.dlt.flat{color:var(--gold-ink);background:var(--gold-soft);} .dlt.na{color:var(--muted);}
.track{position:relative;height:6px;background:var(--surface-2);border:1px solid var(--hair);width:96px;}
.track i{position:absolute;top:0;bottom:0;left:0;background:var(--ink-2);}
.track b{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--hair-2);}
.track b.gate{background:var(--crit);}
.acount{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--muted);white-space:nowrap;}
.acount em{font-style:normal;color:var(--crit);font-weight:600;}

/* ---------- panels ---------- */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start;}
.card{border:1px solid var(--hair);background:var(--surface);padding:20px;box-shadow:var(--shadow);}
.card h3{font-size:17px;margin-bottom:3px;}
.card .cap{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.brow{display:grid;grid-template-columns:minmax(96px,auto) 1fr auto;gap:10px;align-items:center;padding:5px 0;font-size:13px;}
.brow .bt{height:9px;background:var(--surface-2);border:1px solid var(--hair);position:relative;}
.brow .bt i{position:absolute;inset:0 auto 0 0;background:var(--gold);}
.brow .bv{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums;}

/* ---------- bandeja ---------- */
.bandeja{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;align-items:start;}
.col h3{font-size:18px;}
.col .cap{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:3px 0 12px;}
.al{border:1px solid var(--hair);border-left:3px solid var(--muted);background:var(--surface);padding:12px 14px;margin-bottom:9px;box-shadow:var(--shadow);}
.al.s1{border-left-color:var(--crit);} .al.s2{border-left-color:var(--gold);} .al.s3{border-left-color:var(--hair-2);}
.al .t{font-weight:600;font-size:13.5px;line-height:1.3;}
.al .w{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:3px;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;}
.al .d{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.45;}
.al .a{font-size:12.5px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--hair-2);color:var(--ink);}
.al .a::before{content:"→ ";color:var(--gold);}
.al .plazo{float:right;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-left:8px;}
/* protocolo */
details.proto{margin-top:9px;border-top:1px solid var(--hair);padding-top:8px;}
details.proto>summary{cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--gold-ink);list-style:none;
  display:flex;align-items:center;gap:6px;}
details.proto>summary::-webkit-details-marker{display:none;}
details.proto>summary::before{content:"▸";font-size:11px;transition:transform .15s;}
details.proto[open]>summary::before{transform:rotate(90deg);}
details.proto>summary:hover{color:var(--ink);}
.proto-body{padding-top:10px;}
.proto-body h5{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin:12px 0 5px;font-weight:500;}
.proto-body h5:first-child{margin-top:0;}
.proto-body p{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-2);}
.proto-body ol{margin:0;padding-left:17px;font-size:12.5px;line-height:1.55;color:var(--ink-2);}
.proto-body ol li{margin-bottom:5px;}
.proto-body ul.guion{margin:0;padding:0;list-style:none;}
.proto-body ul.guion li{font-size:12.5px;line-height:1.45;color:var(--ink);font-style:italic;
  border-left:2px solid var(--gold);padding:2px 0 2px 10px;margin-bottom:6px;}
.proto-cierra{background:var(--ok-soft);color:var(--ok-ink);padding:8px 10px;font-size:12px;
  line-height:1.45;}
.proto-escala{background:var(--surface-2);color:var(--ink-2);padding:8px 10px;font-size:12px;
  line-height:1.45;border-left:2px solid var(--hair-2);}
/* decisión del responsable */
.dec-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;padding-top:9px;
  border-top:1px solid var(--hair);}
.btn{appearance:none;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;padding:6px 10px;border:1px solid var(--hair-2);background:var(--surface);
  color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s,border-color .12s;}
.btn:hover{background:var(--surface-2);color:var(--ink);}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px;}
.btn.ok:hover{background:var(--ok);border-color:var(--ok);color:#fff;}
.btn.no:hover{background:var(--crit);border-color:var(--crit);color:#fff;}
.btn.dev:hover{background:var(--gold);border-color:var(--gold);color:#1A1713;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}
.sello{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:9px 11px;font-size:12px;
  line-height:1.45;border-left:3px solid var(--hair-2);}
.sello.aceptada{background:var(--ok-soft);border-left-color:var(--ok);color:var(--ok-ink);}
.sello.descartada{background:var(--surface-2);border-left-color:var(--muted);color:var(--ink-2);}
.sello.devuelta{background:var(--gold-soft);border-left-color:var(--gold);color:var(--gold-ink);}
.sello .est{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;white-space:nowrap;font-weight:600;}
.sello .und{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:9.5px;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;opacity:.75;}
.al.resuelta{opacity:.62;}
.dec-form{margin-top:9px;padding-top:9px;border-top:1px solid var(--hair);}
.dec-form label{display:block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:5px;}
.dec-form textarea{width:100%;min-height:58px;font-family:"IBM Plex Sans",sans-serif;font-size:12.5px;
  line-height:1.45;padding:8px 9px;border:1px solid var(--hair-2);background:var(--surface);
  color:var(--ink);resize:vertical;}
.dec-form textarea:focus{outline:2px solid var(--gold);outline-offset:-1px;}
.dec-form .row{display:flex;gap:6px;margin-top:7px;align-items:center;}
.dec-form .hint{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4;}
.dec-bar .quien{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-right:2px;}
.sello.pendiente{background:var(--gold-soft);border-left-color:var(--gold);color:var(--gold-ink);}
.sello.escalada{background:var(--crit-soft);border-left-color:var(--crit);color:var(--crit-ink);}
.estado-cap{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;padding:8px 12px;margin:0 0 14px;background:var(--surface-2);
  color:var(--muted);border:1px solid var(--hair);display:flex;gap:10px;align-items:center;}
.estado-cap b{color:var(--ink-2);font-weight:600;}
.estado-cap .pt{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none;}
.estado-cap.viva .pt{background:var(--ok);}
.estado-cap.lectura .pt{background:var(--gold);}

/* ---------- expediente ---------- */
.exp-head{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:22px;}
.exp-head h2{font-size:30px;line-height:1.1;}
.exp-head .meta{font-size:13px;color:var(--muted);margin-top:5px;}
.big{text-align:right;}
.big .n{font-family:"Newsreader",serif;font-size:54px;line-height:1;font-variant-numeric:tabular-nums;}
.big .lbl{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.radar{width:100%;max-width:360px;height:auto;display:block;margin:0 auto;}
.legend{display:flex;gap:14px;justify-content:center;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:10px;}
.legend i{display:inline-block;width:11px;height:2px;vertical-align:middle;margin-right:5px;}
.retro-item{border-top:1px solid var(--hair);padding:9px 0;font-size:13px;}
.retro-item:first-child{border-top:0;}
.retro-item .k{font-size:12px;color:var(--ink-2);line-height:1.35;}
.retro-item .v{font-family:"IBM Plex Mono",monospace;font-size:12px;margin-top:3px;}
.retro-item .v s{text-decoration:none;color:var(--muted);}
.quote{font-family:"Newsreader",serif;font-size:16px;font-style:italic;line-height:1.55;color:var(--ink-2);border-left:2px solid var(--gold);padding-left:14px;}
.backlink{appearance:none;border:0;background:none;font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:0;margin-bottom:16px;}
.backlink:hover{color:var(--ink);}
.picker{margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:11px;padding:6px 8px;background:var(--surface);color:var(--ink);border:1px solid var(--hair-2);max-width:260px;}

.foot{border-top:1px solid var(--hair);margin-top:48px;padding:22px 0 44px;font-size:12.5px;color:var(--muted);line-height:1.6;}
.foot strong{color:var(--ink-2);font-weight:600;}
.foot-rights{display:flex;gap:18px;align-items:flex-start;padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid var(--hair);}
.foot-logo{height:86px;width:auto;flex:none;}
@media (max-width:560px){.foot-rights{flex-direction:column;gap:12px;}}
.hide{display:none;}
.baseline{border-left:3px solid var(--gold);background:var(--surface);padding:14px 18px;
  margin:28px 0 4px;font-size:13px;line-height:1.55;color:var(--ink-2);box-shadow:var(--shadow);}
.baseline strong{color:var(--ink);}
/* escalera de etapas */
.ladder{display:flex;gap:3px;align-items:center;}
.rung{height:22px;flex:1;background:var(--surface-2);border:1px solid var(--hair);position:relative;}
.rung.done{background:var(--ok-soft);border-color:transparent;}
.rung.here{background:var(--gold);border-color:transparent;}
.rung.todo{background:var(--surface-2);}
.rung span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);}
.rung.here span{color:#1A1713;font-weight:600;}
.rung.done span{color:var(--ok-ink);}
/* criterios */
.crit{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow);margin-bottom:18px;}
.crit-h{background:var(--surface-2);border-bottom:1px solid var(--hair-2);padding:12px 18px;display:flex;
  justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.crit-h h3{font-size:18px;}
.crit-h .n{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.crit-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) minmax(200px,1.3fr);
  gap:18px;padding:14px 18px;border-bottom:1px solid var(--hair);}
.crit-row:last-child{border-bottom:0;}
.crit-row .t{font-weight:600;font-size:13.5px;line-height:1.35;}
.crit-row .u{font-size:12.5px;color:var(--ink-2);line-height:1.45;}
.crit-row .e{font-size:12.5px;color:var(--muted);line-height:1.45;}
.crit-row .e::before{content:"Evidencia · ";font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);}
@media (max-width:760px){.crit-row{grid-template-columns:1fr;gap:6px;}}
/* decalogo */
.dec{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--hair);}
.dec:first-of-type{border-top:0;}
.dec .num{font-family:"Newsreader",serif;font-size:22px;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums;}
.dec .p{display:block;font-size:13.5px;font-weight:500;line-height:1.35;}
.dec .g{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px;}
.dec .s{font-family:"IBM Plex Mono",monospace;font-size:12px;text-align:right;white-space:nowrap;}
/* filtros */
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;}
.filtros select,.filtros input{font-family:"IBM Plex Mono",monospace;font-size:11px;padding:7px 9px;
  background:var(--surface);color:var(--ink);border:1px solid var(--hair-2);}
.filtros input{min-width:190px;}
.filtros .cuenta{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--muted);margin-left:auto;}
/* scorecard */
.sc{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow);margin-bottom:16px;}
.sc-h{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:16px 20px;
  border-bottom:1px solid var(--hair);}
.sc-h h3{font-size:19px;}
.sc-h .rol{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);margin-top:3px;display:block;}
.sc-tot{font-family:"Newsreader",serif;font-size:40px;line-height:1;font-variant-numeric:tabular-nums;}
.sc-lbl{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);text-align:right;display:block;margin-bottom:2px;}
.sc-body{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;padding:18px 20px;}
@media (max-width:760px){.sc-body{grid-template-columns:1fr;} .sc-h{grid-template-columns:1fr auto;}}
.sc-comp{display:grid;grid-template-columns:110px 1fr 58px;gap:10px;align-items:center;padding:5px 0;font-size:12.5px;}
.sc-comp .bt{height:9px;background:var(--surface-2);border:1px solid var(--hair);position:relative;}
.sc-comp .bt i{position:absolute;inset:0 auto 0 0;}
.sc-comp .pv{font-family:"IBM Plex Mono",monospace;font-size:12px;text-align:right;}
.sc-comp small{display:block;font-size:9.5px;font-family:"IBM Plex Mono",monospace;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);}
.sc-cli{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:6px 0;
  border-top:1px solid var(--hair);font-size:12.5px;}
.sc-cli:first-of-type{border-top:0;}
.dot-s{display:inline-block;width:9px;height:9px;border-radius:50%;}
.dot-s.rojo{background:var(--crit);} .dot-s.ambar{background:var(--gold);}
.dot-s.verde{background:var(--ok);} .dot-s.na{background:var(--hair-2);}
.hallazgo{border-left:3px solid var(--crit);background:var(--crit-soft);padding:16px 18px;margin:0 0 22px;}
.hallazgo h3{font-size:17px;color:var(--crit-ink);margin-bottom:6px;}
.hallazgo p{margin:0;font-size:13px;line-height:1.6;color:var(--ink-2);}
.hallazgo p+p{margin-top:10px;}
.quote-cli{border-left:2px solid var(--gold);padding-left:12px;margin:8px 0;font-size:12.5px;
  font-style:italic;color:var(--ink-2);line-height:1.5;}
.demo{border:1px dashed var(--hair-2);background:var(--surface-2);padding:13px 16px;margin:26px 0 18px;
  font-size:13px;line-height:1.55;color:var(--ink-2);}
.demo strong{color:var(--ink);}
.frame{border:2px solid var(--ink);background:var(--surface);padding:26px;box-shadow:var(--shadow);}
.frame-tag{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bar-ink);background:var(--bar);display:inline-block;padding:5px 11px;margin-bottom:-1px;}
.crit-state{display:grid;grid-template-columns:22px 1fr;gap:11px;padding:11px 0;border-top:1px solid var(--hair);}
.crit-state:first-of-type{border-top:0;}
.crit-state .dot{width:14px;height:14px;border-radius:50%;margin-top:3px;}
.crit-state .dot.si{background:var(--ok);} .crit-state .dot.no{background:var(--crit);}
.crit-state .dot.parcial{background:var(--gold);}
.crit-state .t{font-weight:600;font-size:13.5px;line-height:1.35;}
.crit-state .u{font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-top:3px;}
.crit-state .ev{font-size:12px;color:var(--muted);line-height:1.4;margin-top:4px;}
.oculto{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.oculto ul{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.7;color:var(--ink-2);}
.oculto li{margin-bottom:3px;}
@media (max-width:700px){.oculto{grid-template-columns:1fr;}}
.warn{font-size:12px;line-height:1.5;color:var(--gold-ink);background:var(--gold-soft);
  padding:9px 11px;margin:0 0 14px;border-left:2px solid var(--gold);}
.coachrow{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;
  padding:8px 0;border-top:1px solid var(--hair);font-size:13px;}
.coachrow:first-of-type{border-top:0;}
.coachrow.vacio{opacity:.55;}
.coachrow .cn{display:block;font-size:13px;}
.coachrow .cr{display:block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:2px;}
.aviso{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);border-top:1px solid var(--hair);margin-top:16px;padding-top:10px;}
/* la promesa · escalón de ausencia y techo de horas (umbrales firmados) */
.prom{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow);
  border-left:4px solid var(--gold);padding:20px;margin-bottom:20px;}
.prom h3{font-size:17px;margin-bottom:3px;}
.prom .cap{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.prom.ok{border-left-color:var(--ok);}
.prom.mal{border-left-color:var(--crit);}
.prom-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;
  margin-top:14px;}
.pm{border-top:1px solid var(--hair);padding-top:12px;}
.pm .k{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.pm .v{font-family:"Newsreader",serif;font-size:34px;line-height:1;font-variant-numeric:tabular-nums;
  color:var(--ink);}
.pm .v small{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;
  color:var(--muted);margin-left:5px;}
.pm .m{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--ink-2);margin-top:7px;
  font-variant-numeric:tabular-nums;}
.pm .bar{height:9px;background:var(--surface-2);border:1px solid var(--hair);position:relative;
  margin:10px 0 0;}
.pm .bar i{position:absolute;inset:0 auto 0 0;background:var(--gold);}
.pm .bar i.ok{background:var(--ok);}
.pm .bar i.mal{background:var(--crit);}
.pm .bar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55;}
.pm .n{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px;display:block;}
.prom-regla{border-top:1px solid var(--hair);margin-top:16px;padding-top:12px;font-size:12.5px;
  color:var(--muted);line-height:1.55;}
.prom-regla strong{color:var(--ink-2);}
.prom-flag{background:var(--crit-soft);color:var(--crit-ink);border-left:3px solid var(--crit);
  padding:10px 14px;margin-top:14px;font-size:12.5px;line-height:1.55;}
.eje{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-ink);background:var(--gold-soft);padding:2px 6px;
  margin-right:8px;vertical-align:2px;}
.sc.mio{border-left:4px solid var(--gold);background:var(--surface);}
.dec.ok .num{color:var(--ok-ink);}
.compuerta{border-left:3px solid var(--crit);background:var(--crit-soft);padding:13px 16px;
  margin:0 0 16px;}
.compuerta.ok{border-left-color:var(--ok);background:var(--ok-soft);}
.compuerta .k{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--crit-ink);margin-bottom:6px;}
.compuerta.ok .k{color:var(--ok-ink);}
.compuerta .v{font-family:"Newsreader",serif;font-size:26px;line-height:1.1;color:var(--ink);}
.compuerta .v small{display:block;font-family:"IBM Plex Sans",sans-serif;font-size:12px;
  color:var(--ink-2);margin-top:4px;line-height:1.45;}
.compuerta p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:9px 0 0;}
/* compromiso del trimestre */
.comp{border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow);
  border-left:4px solid var(--gold);padding:20px;margin-bottom:20px;}
.comp.firmado{border-left-color:var(--ok);}
.comp.roto{border-left-color:var(--crit);}
.comp h3{font-size:17px;margin:0 0 3px;}
.comp .cap{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.comp .promesa{font-family:"Newsreader",serif;font-size:21px;line-height:1.35;color:var(--ink);
  border-left:3px solid var(--gold);padding-left:16px;margin:0 0 14px;}
.comp .porque{font-size:13px;color:var(--ink-2);line-height:1.6;margin:0 0 14px;}
.comp .salto{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--muted);
  border-top:1px solid var(--hair);padding-top:12px;}
.comp .salto b{font-family:"Newsreader",serif;font-size:24px;font-weight:400;color:var(--ink);}
.comp .salto .flecha{color:var(--gold);}
.comp .pie{font-size:12.5px;color:var(--muted);line-height:1.55;margin:12px 0 0;
  border-top:1px solid var(--hair);padding-top:11px;}
/* la puerta · quién está trabajando */
#gate.hide{display:none;}
#gate{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;
  padding:56px 22px 80px;background:var(--ground);}
.gate-in{width:100%;max-width:760px;}
.gate-h{border-bottom:3px solid var(--gold);padding-bottom:22px;margin-bottom:26px;}
.gate-h h2{font-family:"Newsreader",serif;font-size:clamp(26px,4.4vw,38px);line-height:1.1;
  margin:12px 0 10px;font-weight:500;}
.gate-h p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin:0;max-width:62ch;}
.gate-grupo{margin-bottom:26px;}
.gate-rol{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-ink);margin-bottom:10px;}
.gate-b{display:block;width:100%;text-align:left;background:var(--surface);
  border:1px solid var(--hair);border-left:3px solid var(--hair-2);padding:14px 16px;
  margin-bottom:8px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow);
  transition:border-left-color .12s,transform .12s;}
.gate-b:hover,.gate-b:focus-visible{border-left-color:var(--gold);transform:translateX(2px);}
.gate-b .gn{display:block;font-family:"Newsreader",serif;font-size:19px;color:var(--ink);}
.gate-b .gs{display:block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:3px 0 6px;}
.gate-b .gv{display:block;font-size:13px;color:var(--ink-2);line-height:1.5;}
.gate-pie{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);border-top:1px solid var(--hair);
  padding-top:16px;margin:32px 0 0;line-height:1.7;}
/* barra de identidad */
.quien{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.08);padding:9px 0 0;margin-top:4px;}
.quien .qn{font-family:"Newsreader",serif;font-size:16px;color:var(--bar-ink);}
.quien .qr{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);border:1px solid rgba(184,133,26,.45);
  padding:2px 7px;}
.quien .qv{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.06em;
  color:#8E8577;}
.quien button{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.18);
  color:#B5AC9C;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 10px;cursor:pointer;}
.quien button:hover{border-color:var(--gold);color:var(--gold);}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
