/* Expedientes técnicos (/expedientes) — fase 5. */

.dx-workspace{max-width:860px;margin:2.2rem auto 3rem;padding:0 1.5rem;}
.dx-workspace [hidden]{display:none!important;}

.dx-nav{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.6rem;font-family:var(--mono);font-size:0.82rem;}
.dx-nav a{color:var(--cyan);text-decoration:none;border-bottom:1px solid transparent;}
.dx-nav a:hover{border-bottom-color:var(--cyan);}

.dx-hero{margin-bottom:2rem;}
.dx-eyebrow{font-family:var(--mono);font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--cyan);margin:0 0 0.7rem;}
.dx-workspace h1{color:var(--white);font-size:2rem;line-height:1.15;margin:0 0 0.7rem;}
.dx-lead{color:var(--gray);line-height:1.7;max-width:70ch;margin:0 0 0.9rem;}
.dx-notice{color:#c3ccd6;background:rgba(255,157,60,0.08);border:1px solid rgba(255,157,60,0.4);border-radius:10px;padding:0.7rem 0.95rem;font-size:0.88rem;line-height:1.55;margin:0 0 1rem;}
.dx-muted{color:var(--gray);font-size:0.9rem;line-height:1.6;}
.dx-workspace :is(a,button,input,summary):focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}

/* Filtro (solo con JS) */
.dx-filter{margin-bottom:1.2rem;}
.dx-filter label{display:block;font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--cyan);margin-bottom:0.35rem;}
.dx-filter input{width:100%;max-width:420px;background:#0a0e14;border:1px solid var(--border);border-radius:8px;color:var(--white);font-family:var(--mono);font-size:0.9rem;padding:0.55rem 0.8rem;}
.dx-filter input:focus{outline:none;border-color:var(--cyan);box-shadow:var(--ring);}

/* Índice */
.dx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;}
.dx-item{margin:0;}
.dx-card{border:1px solid var(--border);border-left:4px solid var(--cyan);border-radius:12px;background:var(--bg-card2);padding:1.2rem 1.3rem;}
.dx-kicker{font-family:var(--mono);font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--gray);margin:0 0 0.4rem;}
.dx-card h2{font-size:1.2rem;margin:0 0 0.5rem;line-height:1.25;}
.dx-card h2 a{color:var(--white);text-decoration:none;border-bottom:1px solid transparent;}
.dx-card h2 a:hover{border-bottom-color:var(--cyan);}
.dx-question{color:#c3ccd6;font-size:0.98rem;line-height:1.55;margin:0 0 0.5rem;}
.dx-context{color:var(--gray);font-size:0.9rem;line-height:1.6;margin:0 0 0.8rem;}
.dx-tags{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center;margin:0 0 0.8rem;}
.dx-more{margin:0;}
.dx-more a{color:var(--cyan);font-family:var(--mono);font-size:0.85rem;text-decoration:none;}
.dx-more a:hover{text-decoration:underline;}

.dx-badge{display:inline-block;font-family:var(--mono);font-size:0.74rem;border-radius:999px;padding:0.2rem 0.65rem;border:1px solid var(--border);color:#c3ccd6;}
.dx-badge-lg{font-size:0.86rem;padding:0.3rem 0.85rem;margin:0 0 0.7rem;}
.dx-ok{border-color:#3ecf8e;color:#3ecf8e;background:rgba(62,207,142,0.08);}
.dx-warn{border-color:#ff9d3c;color:#ff9d3c;background:rgba(255,157,60,0.08);}
.dx-crit{border-color:#ff5a76;color:#ff5a76;background:rgba(255,90,118,0.08);}
.dx-chip{font-family:var(--mono);font-size:0.74rem;color:#c3ccd6;background:#12181f;border:1px solid var(--border);border-radius:6px;padding:0.15rem 0.5rem;}
.dx-measured{color:var(--cyan);border-color:var(--cyan-dim);background:var(--cyan-faint);}

/* Ficha */
.dx-detail section{margin-bottom:2rem;}
.dx-detail h2{color:var(--white);font-size:1.15rem;margin:0 0 0.6rem;padding-bottom:0.4rem;border-bottom:1px solid var(--border);}
.dx-detail p{color:#c3ccd6;line-height:1.7;}
.dx-detail code{font-family:var(--mono);color:#bfe9ff;font-size:0.9em;}

.dx-cites{margin:0.8rem 0 0;padding-left:1.4rem;display:flex;flex-direction:column;gap:0.9rem;}
.dx-cites li{color:#c3ccd6;}
.dx-cite-src{font-family:var(--mono);font-size:0.8rem;color:var(--gray);margin:0 0 0.3rem;}
.dx-cites p{margin:0;}

.dx-steps{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:0.9rem;}
.dx-steps li{color:#c3ccd6;}
.dx-steps p{margin:0;}
.dx-refs{font-size:0.84rem;color:var(--gray);margin-top:0.35rem!important;}
.dx-refs a{color:var(--cyan);text-decoration:underline;margin-right:0.5rem;}

.dx-alts{margin:0.6rem 0 0;}
.dx-alts div{border-left:2px solid var(--border);padding-left:0.9rem;margin-bottom:0.9rem;}
.dx-alts dt{color:var(--white);font-weight:600;margin-bottom:0.25rem;}
.dx-alts dd{color:var(--gray);margin:0;font-size:0.92rem;line-height:1.6;}

.dx-metrics{width:100%;border-collapse:collapse;margin:0.9rem 0;font-family:var(--mono);}
.dx-metrics caption{text-align:left;color:var(--gray);font-size:0.84rem;margin-bottom:0.5rem;font-family:var(--font);}
.dx-metrics th{text-align:left;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--gray);border-bottom:1px solid var(--border);padding:0.4rem 0.6rem 0.4rem 0;font-weight:600;}
.dx-metrics td{font-size:1.4rem;color:var(--white);padding:0.6rem 0.6rem 0.6rem 0;}

.dx-attack,.dx-limits,.dx-repro{margin:0.6rem 0 0;padding-left:1.3rem;display:flex;flex-direction:column;gap:0.45rem;}
.dx-attack li,.dx-limits li,.dx-repro li{color:#c3ccd6;line-height:1.6;}
.dx-attack a,.dx-repro a{color:var(--cyan);text-decoration:underline;}
.dx-limits li{color:var(--gray);}

.dx-back{margin-top:2rem;}
.dx-back a{color:var(--cyan);font-family:var(--mono);font-size:0.86rem;text-decoration:none;}
.dx-back a:hover{text-decoration:underline;}

@media (max-width:560px){
  .dx-workspace h1{font-size:1.6rem;}
  .dx-metrics td{font-size:1.1rem;}
}
