/* Estilos del bloque data (prefijo dat-) */
.dat-ta{width:100%;min-height:220px;resize:vertical;font:13.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;background:#fff;color:var(--ink);tab-size:2}
.dat-ta.prose{font:15px/1.55 var(--body)}
.dat-ta:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.dat-ta[readonly]{background:#fbfcfd}
.dat-ta.bad{border-color:var(--danger)}
.dat-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;font-size:13.5px}
.dat-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:760px){.dat-cols{grid-template-columns:minmax(0,1fr)}}
.dat-col{display:grid;gap:8px;min-width:0;align-content:start}
.dat-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:34px}
.dat-head>.grow{flex:1;min-width:0;font-weight:700;font-size:15px}
.dat-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dat-bar .input,.dat-bar select.input{width:auto}
.dat-tabs{display:flex;gap:6px;flex-wrap:wrap}
.dat-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer}
.dat-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.dat-status{font-size:14px;color:var(--ink-2);display:flex;gap:6px;align-items:flex-start;min-height:22px;overflow-wrap:anywhere}
.dat-status.ok{color:var(--ok)}
.dat-status.err{color:var(--danger)}
.dat-status svg{flex:none;margin-top:1px}
.dat-scroll{overflow:auto;max-height:60vh;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff}
.dat-table{border-collapse:collapse;font-size:14px;width:100%}
.dat-table th,.dat-table td{padding:6px 10px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.dat-table th{position:sticky;top:0;background:var(--paper);font-weight:700;white-space:nowrap;z-index:1}
.dat-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.dat-table tr.dup td{background:#fff6df}
.dat-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.dat-stat{background:var(--paper);border-radius:var(--radius-m);padding:10px 12px;display:grid;gap:2px}
.dat-stat b{font:700 22px/1.15 var(--display);overflow-wrap:anywhere}
.dat-stat span{font-size:13px;color:var(--ink-2)}
.dat-pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:13.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px;max-height:60vh;overflow:auto}
.dat-hl{background:#ffe27a;border-radius:2px;box-shadow:0 0 0 1px #e5c24c}
.dat-hl.alt{background:#b9e3ff;box-shadow:0 0 0 1px #79bde8}
.dat-hl.cur{outline:2px solid var(--accent)}
.dat-tree{font:13.5px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 10px;max-height:60vh;overflow:auto}
.dat-tree details{margin-left:14px}
.dat-tree>details{margin-left:0}
.dat-tree summary{cursor:pointer;list-style:none;white-space:nowrap}
.dat-tree summary::-webkit-details-marker{display:none}
.dat-tree summary::before{content:'▸';display:inline-block;width:14px;color:var(--ink-3)}
.dat-tree details[open]>summary::before{content:'▾'}
.dat-tree .leaf{margin-left:28px;white-space:pre-wrap;overflow-wrap:anywhere}
.dat-tree .k{color:#7a3e9d}
.dat-tree .s{color:#1d7a46}
.dat-tree .n{color:#1f5fbf}
.dat-tree .b{color:#b4531a}
.dat-tree .z{color:var(--ink-3)}
.dat-tree .c{color:var(--ink-3);font-style:italic}
.dat-chips{display:flex;gap:6px;flex-wrap:wrap}
.dat-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:14px;cursor:pointer;color:var(--ink-2)}
.dat-chip input{accent-color:var(--accent)}
.dat-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.dat-list{display:grid;gap:6px}
.dat-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line-2);border-radius:var(--radius-s);padding:8px 10px;background:#fff}
.dat-item .nm{overflow-wrap:anywhere;font-size:14.5px}
.dat-item .mt{font-size:13px;color:var(--ink-3);white-space:nowrap}
.dat-preview{width:100%;min-height:420px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff}
.dat-md{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 18px;max-height:70vh;overflow:auto;line-height:1.6;overflow-wrap:anywhere}
.dat-md img{max-width:100%}
.dat-md pre{background:var(--paper);padding:10px;border-radius:var(--radius-s);overflow:auto}
.dat-md code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em}
.dat-md table{border-collapse:collapse}.dat-md td,.dat-md th{border:1px solid var(--line);padding:4px 8px}
.dat-md blockquote{margin:0;padding-left:14px;border-left:3px solid var(--line);color:var(--ink-2)}
.dat-chart{position:relative;width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px}
.dat-chart canvas{width:100%!important}
.dat-cheat{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;font-size:13.5px}
.dat-cheat button{display:flex;gap:8px;align-items:baseline;border:none;background:none;text-align:left;padding:3px 4px;border-radius:4px;cursor:pointer;color:var(--ink)}
.dat-cheat button:hover{background:var(--paper)}
.dat-cheat code{font:700 13px ui-monospace,Menlo,Consolas,monospace;color:var(--accent);min-width:58px}
.dat-out{display:grid;gap:6px;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.dat-out .r{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid var(--line-2);padding:6px 0}
.dat-out .r span:first-child{font-family:var(--body);font-weight:700;font-size:14px;color:var(--ink-2)}
.dat-out .r code{overflow-wrap:anywhere;word-break:break-all}
.dat-out .r.match code{color:var(--ok);font-weight:700}
@media (max-width:560px){.dat-out .r{grid-template-columns:minmax(0,1fr) auto}.dat-out .r span:first-child{grid-column:1/-1}}
.dat-swatch{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}
.dat-colors{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.dat-sep{border:0;border-top:1px solid var(--line-2);margin:4px 0}
.dat-fk-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px;align-items:center;border:1px solid var(--line-2);border-radius:var(--radius-s);padding:8px;background:#fff}
.dat-fk-row>.dat-bar{grid-column:1/-1}
.dat-fk-act{display:flex;gap:2px}
@media (max-width:520px){.dat-fk-row{grid-template-columns:minmax(0,1fr) auto}.dat-fk-row>select{grid-column:1/2;grid-row:2}.dat-fk-act{grid-row:1/3;grid-column:2;flex-direction:column}}
