/* SearchPilot. Interfaz al estilo macOS (Finder, Mail, Ajustes): fuente y colores del sistema, listas agrupadas,
   selección redondeada y nada de decoración. La landing (landing.css) conserva la tipografía de la marca. */
@font-face {
  font-family: "Instrument Sans"; src: url("vendor/fonts/instrument-sans.woff2") format("woff2");
  font-weight: 400 700; font-stretch: 75% 100%; font-display: swap;
}

:root {
  color-scheme: light dark;
  /* macOS, apariencia clara (colores del sistema de Apple; texto secundario oscurecido para cumplir contraste AA) */
  --bg:          #ffffff;
  --sidebar:     #ececee;
  --btn:         #ffffff;
  --btn-press:   #ededef;
  --field:       #ffffff;
  --field-line:  rgba(0, 0, 0, 0.22);
  --sheet:       #f5f5f7;
  --material:    rgba(246, 246, 248, 0.84);
  --group:       rgba(0, 0, 0, 0.028);
  --group-line:  rgba(0, 0, 0, 0.085);
  --fill:        rgba(0, 0, 0, 0.05);
  --fill-2:      rgba(0, 0, 0, 0.085);
  --zebra:       rgba(0, 0, 0, 0.03);
  --sep:         rgba(0, 0, 0, 0.1);
  --text:        #1d1d1f;
  --text-2:      #6e6e73;
  --text-3:      #8e8e93;
  --accent:      #0071e3;
  --accent-press:#0062c4;
  --accent-text: #0066cc;
  --accent-soft: rgba(0, 113, 227, 0.12);
  --on-accent:   #ffffff;
  --focus:       rgba(0, 113, 227, 0.45);
  --sel:         #0064e1;
  --on-sel:      #ffffff;
  --sel-idle:    #dcdcde;
  --danger:      #d70015;
  --danger-fill: #d70015;
  --danger-soft: rgba(215, 0, 21, 0.08);
  --warn:        #b25000;
  --warn-soft:   rgba(255, 149, 0, 0.13);
  --ok:          #248a3d;
  --ok-soft:     rgba(52, 199, 89, 0.14);
  --dot-ok: #34c759; --dot-warn: #ff9500; --dot-bad: #ff3b30; --dot-run: #0a84ff; --dot-off: #aeaeb2;
  --mark-hl:     rgba(255, 214, 10, 0.45);
  --skeleton:    rgba(0, 0, 0, 0.06);
  --shadow-ctl:  0 0 0 0.5px rgba(0, 0, 0, 0.16), 0 1px 1.5px rgba(0, 0, 0, 0.1);
  --shadow-pop:  0 0 0 0.5px rgba(0, 0, 0, 0.12), 0 14px 36px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.08);
  /* Tipos de archivo, como los íconos de Finder */
  --t-pdf: #e0443e; --t-doc: #2b6fd6; --t-xls: #1e9d55; --t-ppt: #e8742c; --t-img: #9b59d0; --t-zip: #8e8e93;

  --r-s: 6px; --r-m: 10px; --r-l: 12px;
  --gutter: 24px;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  --font-brand: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  --updown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 14'%3E%3Cpath d='M1.5 5 4.5 2l3 3M1.5 9l3 3 3-3' fill='none' stroke='%238e8e93' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #1e1e1e; --sidebar: #29292b; --btn: #464648; --btn-press: #545456; --field: rgba(255, 255, 255, 0.06);
  --field-line: rgba(255, 255, 255, 0.16); --sheet: #2c2c2e; --material: rgba(44, 44, 46, 0.86);
  --group: rgba(255, 255, 255, 0.04); --group-line: rgba(255, 255, 255, 0.08); --fill: rgba(255, 255, 255, 0.08);
  --fill-2: rgba(255, 255, 255, 0.12); --zebra: rgba(255, 255, 255, 0.035); --sep: rgba(255, 255, 255, 0.1);
  --text: #f5f5f7; --text-2: #98989d; --text-3: #6e6e73;
  --accent-text: #409cff; --accent-soft: rgba(10, 132, 255, 0.2); --focus: rgba(10, 132, 255, 0.5);
  --sel: #0058d0; --sel-idle: #464648;
  --danger: #ff6961; --danger-soft: rgba(255, 69, 58, 0.14); --warn: #ffb340; --warn-soft: rgba(255, 159, 10, 0.16);
  --ok: #30db5b; --ok-soft: rgba(48, 209, 88, 0.16);
  --dot-ok: #30d158; --dot-warn: #ff9f0a; --dot-bad: #ff453a; --dot-run: #0a84ff; --dot-off: #636366;
  --mark-hl: rgba(255, 214, 10, 0.35); --skeleton: rgba(255, 255, 255, 0.08);
  --shadow-ctl: 0 0 0 0.5px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.4);
  --shadow-pop: 0 0 0 0.5px rgba(255, 255, 255, 0.12), 0 14px 36px rgba(0, 0, 0, 0.5);
  --t-pdf: #ff6961; --t-doc: #5a9bff; --t-xls: #34c26a; --t-ppt: #ff9f4a; --t-img: #bf8ae8; --t-zip: #98989d;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #1e1e1e; --sidebar: #29292b; --btn: #464648; --btn-press: #545456; --field: rgba(255, 255, 255, 0.06);
    --field-line: rgba(255, 255, 255, 0.16); --sheet: #2c2c2e; --material: rgba(44, 44, 46, 0.86);
    --group: rgba(255, 255, 255, 0.04); --group-line: rgba(255, 255, 255, 0.08); --fill: rgba(255, 255, 255, 0.08);
    --fill-2: rgba(255, 255, 255, 0.12); --zebra: rgba(255, 255, 255, 0.035); --sep: rgba(255, 255, 255, 0.1);
    --text: #f5f5f7; --text-2: #98989d; --text-3: #6e6e73;
    --accent-text: #409cff; --accent-soft: rgba(10, 132, 255, 0.2); --focus: rgba(10, 132, 255, 0.5);
    --sel: #0058d0; --sel-idle: #464648;
    --danger: #ff6961; --danger-soft: rgba(255, 69, 58, 0.14); --warn: #ffb340; --warn-soft: rgba(255, 159, 10, 0.16);
    --ok: #30db5b; --ok-soft: rgba(48, 209, 88, 0.16);
    --dot-ok: #30d158; --dot-warn: #ff9f0a; --dot-bad: #ff453a; --dot-run: #0a84ff; --dot-off: #636366;
    --mark-hl: rgba(255, 214, 10, 0.35); --skeleton: rgba(255, 255, 255, 0.08);
    --shadow-ctl: 0 0 0 0.5px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.4);
    --shadow-pop: 0 0 0 0.5px rgba(255, 255, 255, 0.12), 0 14px 36px rgba(0, 0, 0, 0.5);
    --t-pdf: #ff6961; --t-doc: #5a9bff; --t-xls: #34c26a; --t-ppt: #ff9f4a; --t-img: #bf8ae8; --t-zip: #98989d;
  }
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font: 13px/1.38 var(--font);
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
code, .mono { font-family: var(--mono); font-size: 12px; font-variant-ligatures: none; } /* KQL literal: sin >= convertido en un solo glifo */
.muted { color: var(--text-2); }
.bad { color: var(--danger); }
.small { font-size: 12px; }
[data-role="lector"] [data-op] { display: none !important; } /* Lector: el servidor también rechaza estas acciones */

/* ---------- Estructura ---------- */
.app {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  height: 100dvh;
}
body[data-inspector] .app { grid-template-columns: 232px minmax(0, 1fr) 320px; }
.inspector { display: none; }
body[data-inspector] .inspector { display: block; }

/* ---------- Barra lateral, como la de Finder ---------- */
.sidebar {
  background: var(--sidebar);
  box-shadow: inset -1px 0 0 var(--sep);
  display: flex; flex-direction: column;
  padding: 12px 10px 10px;
  gap: 4px;
  min-height: 0;
  overflow: auto;
}
.brand {
  display: flex; align-items: center; gap: 8px;
  padding: 2px 8px 8px;
  color: var(--text); text-decoration: none;
  font-size: 13px; font-weight: 600;
}
.mark { width: 22px; height: 22px; flex: none; }
.nav { display: grid; gap: 1px; }
.nav-group { font-size: 11px; font-weight: 600; color: var(--text-2); padding: 12px 8px 4px; }
.nav-group:first-child { padding-top: 4px; }
.nav a {
  display: flex; align-items: center; gap: 8px;
  height: 28px; padding: 0 8px;
  border-radius: var(--r-s);
  color: var(--text);
  text-decoration: none;
}
.nav a i { font-size: 16px; color: var(--accent); }
.nav a[aria-current] { background: var(--fill-2); }
.badge { margin-left: auto; font-size: 11px; color: var(--text-2); font-variant-numeric: tabular-nums; }

.me {
  margin-top: auto;
  display: flex; align-items: center; gap: 8px; width: 100%;
  padding: 6px 8px; border: 0; border-radius: var(--r-s);
  background: transparent; color: var(--text); cursor: pointer; text-align: left;
}
.me:active { background: var(--fill-2); }
.avatar {
  display: grid; place-items: center; flex: none;
  width: 26px; height: 26px; border-radius: 999px;
  background: linear-gradient(#a6a6ab, #86868b); color: #ffffff;
  font-weight: 600; font-size: 11px;
}
.me-text { display: grid; min-width: 0; flex: 1; line-height: 1.25; }
.me-text strong { font-weight: 500; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.me-text small { color: var(--text-2); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.me > i { color: var(--text-2); font-size: 12px; }

/* Menú de la cuenta: material translúcido y resaltado azul, como un menú de macOS */
.menu {
  position: fixed; inset: auto auto 54px 10px; margin: 0;
  width: 240px; padding: 5px;
  border: 0; border-radius: var(--r-m);
  background: var(--material); color: var(--text);
  -webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
  box-shadow: var(--shadow-pop);
  opacity: 1; transform: none;
  transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out), display 150ms allow-discrete, overlay 150ms allow-discrete;
  transform-origin: bottom left;
}
.menu:not(:popover-open) { opacity: 0; transform: scale(0.97); transition-duration: 100ms; }
@starting-style { .menu:popover-open { opacity: 0; transform: scale(0.97); } }
.menu-who { display: grid; padding: 4px 8px 2px; line-height: 1.3; }
.menu-who strong { font-weight: 600; }
.menu-who small { font-size: 11px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-label { font-size: 11px; font-weight: 600; color: var(--text-2); margin: 0; padding: 4px 8px 4px; }
.menu .segmented { margin: 0 4px 4px; }
.menu hr { border: 0; border-top: 0.5px solid var(--sep); margin: 5px 0; }
.menu-item {
  display: flex; align-items: center; gap: 8px; height: 24px; padding: 0 8px;
  border-radius: 5px; color: var(--text); text-decoration: none;
}
.menu-item i { font-size: 14px; }
@media (hover: hover) and (pointer: fine) { .menu-item:hover { background: var(--sel); color: var(--on-sel); } }

/* Control segmentado de macOS */
.segmented {
  display: grid; grid-template-columns: 1fr 1fr;
  padding: 2px; border-radius: 7px;
  background: var(--fill);
}
.segmented.three { grid-template-columns: repeat(3, 1fr); }
.segmented button {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  height: 22px; padding: 0 10px; border: 0; border-radius: 5px;
  background: transparent; color: var(--text); cursor: pointer; font-size: 12px;
}
.segmented button[aria-pressed="true"] { background: var(--btn); box-shadow: var(--shadow-ctl); }
.segmented button i { font-size: 13px; }

/* ---------- Zona principal ---------- */
.main { display: flex; flex-direction: column; min-width: 0; overflow: hidden; position: relative; }

.formal-band {
  display: none; align-items: center; gap: 8px;
  padding: 6px var(--gutter);
  background: var(--warn-soft); color: var(--warn);
  font-size: 12px;
}
.formal-band i { font-size: 14px; }
.formal-band strong { font-weight: 600; }
body[data-mode="formal"][data-view="search"] .formal-band { display: flex; }

.toolbar {
  position: relative; z-index: 2;
  padding: 12px var(--gutter) 10px;
  box-shadow: inset 0 -1px 0 var(--sep);
  background: var(--bg);
}
body:not([data-view="search"]) .toolbar { display: none; }
.toolbar-row { display: flex; align-items: center; gap: 10px; }
.mode-seg { display: inline-grid; grid-auto-flow: column; grid-template-columns: none; flex: none; }
.mode-seg button[data-mode="formal"][aria-pressed="true"] { color: var(--warn); font-weight: 500; }

/* Campo de búsqueda de macOS: relleno gris, sin borde, anillo azul al enfocar */
.search {
  display: flex; align-items: center; gap: 8px; flex: 1;
  height: 32px; padding: 0 8px 0 10px;
  border-radius: 8px;
  background: var(--fill);
  transition: background-color 120ms ease, box-shadow 120ms ease;
}
.search:focus-within { background: var(--field); box-shadow: inset 0 0 0 1px var(--accent), 0 0 0 3px var(--focus); }
.search > i { font-size: 15px; color: var(--text-2); }
.scope {
  flex: none; font-size: 11.5px; font-weight: 500; color: var(--accent-text);
  background: var(--accent-soft); border-radius: 4px; padding: 1px 6px; white-space: nowrap;
}
.search input::-webkit-search-cancel-button { appearance: none; } /* Esc limpia */
.search input { flex: 1; border: 0; outline: 0; background: transparent; font-size: 14px; min-width: 0; }
.search input::placeholder { color: var(--text-3); }
kbd {
  font: 11px/1 var(--font);
  color: var(--text-2);
  border-radius: 4px;
  padding: 3px 5px;
  background: var(--fill);
  white-space: nowrap;
}

.query-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 22px; margin-top: 8px; }
.query-meta:empty { display: none; }
/* Filtros activos: tokens de búsqueda de macOS */
.chip {
  display: inline-flex; align-items: center; gap: 3px;
  height: 22px; padding: 0 2px 0 7px;
  border-radius: 5px;
  background: var(--accent-soft); color: var(--text);
  font-size: 12px;
}
.chip b { font-weight: 500; color: var(--accent-text); }
.chip button {
  display: grid; place-items: center;
  width: 16px; height: 16px;
  border: 0; border-radius: 4px;
  background: transparent; cursor: pointer; color: var(--text-2);
}
.chip button:active { background: var(--fill-2); }
.kql {
  display: inline-flex; align-items: center; gap: 6px;
  border: 0; background: transparent; cursor: text;
  color: var(--text-2);
  height: 22px; padding: 0 6px; border-radius: 5px;
  max-width: min(100%, 720px);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  text-align: left;
}
.kql:active { background: var(--fill); }
.kql span { font: 600 10px/1 var(--font); color: var(--text-2); background: var(--fill); border-radius: 3px; padding: 3px 4px; }
.kql code { overflow: hidden; text-overflow: ellipsis; font-size: 11.5px; }
.query-meta .btn.small { margin-left: auto; }

/* Filtros sobre los resultados: botones emergentes de macOS (flechas arriba y abajo) */
.facets { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.facet {
  appearance: none; height: 22px; padding: 0 22px 0 9px; border-radius: 5px; cursor: pointer;
  field-sizing: content; max-width: 180px; text-overflow: ellipsis;
  border: 0; background: var(--btn) var(--updown) no-repeat right 7px center / 7px 11px; color: var(--text);
  box-shadow: var(--shadow-ctl); font-size: 12px;
}
.facet:active { background-color: var(--btn-press); }

/* Progreso indeterminado bajo la barra */
.progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; overflow: hidden; opacity: 0; transition: opacity 150ms ease; }
.progress.on { opacity: 1; }
.progress::after {
  content: ""; position: absolute; inset: 0; width: 30%;
  background: var(--accent);
  animation: slide 1.1s linear infinite;
}
@keyframes slide { from { transform: translateX(-100%); } to { transform: translateX(340%); } }

.notice { display: flex; gap: 8px; align-items: center; padding: 7px var(--gutter); font-size: 12px; color: var(--warn); background: var(--warn-soft); }

/* ---------- Listas agrupadas, como Ajustes ---------- */
.group { background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m); }
.group-title { font-size: 13px; font-weight: 600; margin: 22px 0 8px; }
.group-title .muted { font-weight: 400; margin-left: 6px; }
.form-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 12px; padding: 8px 12px; color: var(--text); }
.form-row + .form-row { box-shadow: inset 0 0.5px 0 var(--sep); }
.form-row .field { margin: 0; max-width: 440px; }
.form-row select.field { width: auto; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.note {
  display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; margin-bottom: 4px;
  border-radius: var(--r-m); background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line);
}
.note i { font-size: 17px; color: var(--dot-ok); flex: none; margin-top: 1px; }
.note a, .lede a { color: var(--accent-text); text-decoration: none; }
.note a:hover, .lede a:hover { text-decoration: underline; }

/* ---------- Inicio (sin consulta) ---------- */
.results { flex: 1; overflow: auto; }
.start { padding: 26px var(--gutter) 40px; max-width: 980px; }
.start h1 { font-size: 22px; line-height: 1.2; font-weight: 600; margin: 0 0 4px; }
.lede { font-size: 13px; color: var(--text-2); margin: 0 0 22px; max-width: 72ch; }
.start-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 24px; align-items: start; }
.start h2 { font-size: 13px; font-weight: 600; margin: 0 0 8px; }
.tries ul { list-style: none; margin: 0 0 20px; padding: 0; background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m); overflow: hidden; }
.tries li + li button { box-shadow: inset 0 0.5px 0 var(--sep); }
.tries button {
  all: unset; box-sizing: border-box; cursor: pointer;
  display: flex; align-items: center; gap: 8px; width: 100%;
  height: 32px; padding: 0 12px;
  font-family: var(--mono); font-size: 12px;
}
.tries button i { color: var(--accent); font-size: 14px; }
.tries button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tries button:active { background: var(--fill); }
.tries button:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.ref { padding: 0; }
.tokens {
  display: grid; grid-template-columns: max-content 1fr; column-gap: 16px; margin: 0; align-items: center;
  padding: 0 12px; background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m);
}
.tokens dt, .tokens dd { padding: 7px 0; }
.tokens dt:not(:first-of-type), .tokens dd:not(:first-of-type) { box-shadow: inset 0 0.5px 0 var(--sep); }
.tokens dt button { all: unset; cursor: pointer; font-family: var(--mono); font-size: 12px; color: var(--accent-text); }
.tokens dt button:hover { text-decoration: underline; }
.tokens dt button:focus-visible { outline: 3px solid var(--focus); }
.tokens dd { margin: 0; color: var(--text-2); font-size: 12px; }

/* ---------- Estados ---------- */
.state { max-width: 560px; padding: 48px var(--gutter) 40px; }
.state-icon { font-size: 28px; color: var(--text-3); display: block; margin-bottom: 10px; }
.state h1 { font-size: 17px; font-weight: 600; margin: 0 0 4px; }
.state p { color: var(--text-2); margin: 0 0 16px; }
.state ul { list-style: none; padding: 0; margin: 0; }
.state li button { all: unset; cursor: pointer; display: block; padding: 4px 0; color: var(--accent-text); }
.state li button:hover { text-decoration: underline; }
.state li button:focus-visible { outline: 3px solid var(--focus); }
.state.error h1 { color: var(--danger); }

/* ---------- Encabezados de página ---------- */
.page-head { padding: 22px var(--gutter) 14px; }
.page-head h1 { font-size: 20px; font-weight: 600; margin: 0 0 2px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.page-head p { margin: 0; color: var(--text-2); max-width: 72ch; }
.org-head { display: flex; gap: 12px; align-items: center; }
.org-head .id { font-size: 11px; margin-left: 6px; color: var(--text-2); }
.org-tile {
  display: grid; place-items: center; flex: none;
  width: 22px; height: 22px; border-radius: 6px;
  background: linear-gradient(#a6a6ab, #86868b); color: #ffffff;
  font-weight: 600; font-size: 11px;
}
.org-tile.big { width: 40px; height: 40px; border-radius: 9px; font-size: 17px; }
.org-cell { display: inline-flex; align-items: center; gap: 8px; }

/* ---------- Tablas, como la vista de lista de Finder ---------- */
table { width: calc(100% - 16px); margin: 0 8px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
thead th {
  position: sticky; top: 0; z-index: 1;
  background: var(--bg);
  text-align: left; font-weight: 500; font-size: 12px; color: var(--text-2);
  height: 28px; padding: 0 10px;
  box-shadow: inset 0 -1px 0 var(--sep);
  user-select: none;
}
thead th + th { background-image: linear-gradient(var(--sep), var(--sep)); background-size: 1px 14px; background-position: left center; background-repeat: no-repeat; }
thead th button { all: unset; cursor: pointer; display: inline-flex; gap: 4px; align-items: center; }
thead th button:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; border-radius: 3px; }
th[aria-sort] { color: var(--text); }
th[aria-sort] i { font-size: 10px; }
th.num, td.num { text-align: right; }
col.c-name { width: auto; } col.c-loc { width: 22%; } col.c-date { width: 128px; } col.c-author { width: 16%; } col.c-size { width: 88px; }
col.c-status { width: 22%; }

tbody tr { height: 26px; cursor: default; }
tbody tr:nth-child(even) > td { background: var(--zebra); }
td { padding: 0 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
td:first-child, th:first-child { padding-left: calc(var(--gutter) - 8px); }
td:last-child, th:last-child { padding-right: calc(var(--gutter) - 8px); }
td:first-child { border-radius: 5px 0 0 5px; }
td:last-child { border-radius: 0 5px 5px 0; }
td .ic { font-size: 16px; vertical-align: -3px; margin-right: 7px; color: var(--text-2); }
td.num { font-variant-numeric: tabular-nums; color: var(--text-2); }
td.dim { color: var(--text-2); }
td.mono { font-size: 11.5px; }
.ph-file-pdf.ic, .file-head .ph-file-pdf { color: var(--t-pdf); }
.ph-file-doc.ic, .file-head .ph-file-doc { color: var(--t-doc); }
.ph-file-xls.ic, .ph-file-csv.ic, .file-head .ph-file-xls, .file-head .ph-file-csv { color: var(--t-xls); }
.ph-file-ppt.ic, .file-head .ph-file-ppt { color: var(--t-ppt); }
.ph-file-image.ic, .ph-file-video.ic, .file-head .ph-file-image { color: var(--t-img); }
.ph-file-zip.ic, .file-head .ph-file-zip { color: var(--t-zip); }
/* Selección de macOS: azul con la lista enfocada, gris si no */
tbody tr[aria-selected="true"] > td { background: var(--sel-idle); }
#table:focus-within tbody tr[aria-selected="true"] > td { background: var(--sel); color: var(--on-sel); }
#table:focus-within tbody tr[aria-selected="true"] td .ic, #table:focus-within tbody tr[aria-selected="true"] .pill { color: var(--on-sel); }
#table tbody:focus { outline: none; }

.list-foot { display: flex; align-items: center; justify-content: space-between; padding: 10px var(--gutter) 18px; color: var(--text-2); font-size: 12px; }

.skeleton > td { background: none !important; }
.skeleton td span { display: block; height: 9px; border-radius: 4px; background: var(--skeleton); animation: pulse 1.2s ease-in-out infinite alternate; }
@keyframes pulse { to { opacity: 0.45; } }

/* Estado: punto de color y texto, como las etiquetas de Finder (sin píldoras rellenas) */
.pill { display: inline-flex; align-items: center; gap: 6px; color: inherit; font-size: 12.5px; font-weight: 400; white-space: nowrap; vertical-align: middle; }
.pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--dot, var(--dot-off)); flex: none; }
.pill:has(.spin)::before { display: none; }
.pill.ok, .pill.status-ok { --dot: var(--dot-ok); }
.pill.run { --dot: var(--dot-run); }
.pill.warn, .pill.status-warn { --dot: var(--dot-warn); }
.pill.bad { --dot: var(--dot-bad); }
.pill.status-off { color: var(--text-2); }
.pill .spin { font-size: 13px; color: var(--text-2); }
.page-head .pill { font-size: 13px; }

/* ---------- Botones de macOS ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 26px; padding: 0 11px;
  border: 0; border-radius: var(--r-s);
  background: var(--btn);
  color: var(--text);
  font-size: 13px; font-weight: 400;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  box-shadow: var(--shadow-ctl);
  transition: transform 120ms var(--ease-out), background-color 120ms ease;
}
.btn:active { transform: scale(0.98); background: var(--btn-press); }
.btn i { font-size: 14px; }
.btn.primary { background: var(--accent); color: var(--on-accent); box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1), 0 1px 1.5px rgba(0, 0, 0, 0.14); }
.btn.primary:active { background: var(--accent-press); }
.btn.danger { color: var(--danger); }
.btn.danger.solid { background: var(--danger-fill); color: #ffffff; }
.btn.danger.solid:active { background: #b80012; }
.btn.small { height: 22px; padding: 0 9px; font-size: 12px; gap: 5px; }
.btn.small i { font-size: 13px; }
.btn:disabled { opacity: 0.45; cursor: default; transform: none; }

/* ---------- Inspector: la vista previa de Finder ---------- */
.inspector {
  box-shadow: inset 1px 0 0 var(--sep);
  background: var(--bg);
  overflow: auto;
  padding: 20px 18px;
}
.hint { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 14px; color: var(--text-2); }
.hint p { margin: 0; }
.keys { display: grid; grid-template-columns: max-content max-content; gap: 8px 10px; margin: 0; font-size: 12px; align-items: center; text-align: left; }
.keys dt { display: flex; gap: 3px; justify-content: flex-end; }
.keys dd { margin: 0; }
.file-head { display: grid; justify-items: center; text-align: center; gap: 2px; }
.file-head .big { font-size: 60px; line-height: 1; color: var(--accent); margin-bottom: 10px; }
.file-head h2 { font-size: 14px; line-height: 1.3; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.file-head .where { color: var(--text-2); display: flex; gap: 5px; align-items: center; justify-content: center; font-size: 12px; }
.actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0 18px; }
.details { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px 12px; margin: 0; padding-top: 14px; box-shadow: inset 0 0.5px 0 var(--sep); font-size: 12px; }
.details dt { color: var(--text-2); }
.details dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.details dd.path { grid-column: 1 / -1; text-align: left; font-size: 11px; line-height: 1.5; color: var(--text-2); background: var(--fill); border-radius: var(--r-s); padding: 6px 8px; margin-top: -2px; }
.details dt:has(+ dd.path) { grid-column: 1 / -1; }
.snippet { margin-top: 16px; padding-top: 14px; box-shadow: inset 0 0.5px 0 var(--sep); color: var(--text-2); font-size: 12px; }
.snippet h3, .legal h3 { font-size: 12px; font-weight: 600; margin: 0 0 6px; color: var(--text); }
.snippet p { margin: 0; color: var(--text); }
mark { background: var(--mark-hl); color: inherit; border-radius: 2px; padding: 0 1px; }
.legal { margin-top: 16px; padding-top: 14px; box-shadow: inset 0 0.5px 0 var(--sep); font-size: 11.5px; color: var(--text-2); }
.legal p { margin: 0; }
body[data-mode="formal"] .legal, body[data-mode="formal"] .legal h3 { color: var(--warn); }
.inspector .close { display: none; float: right; }

.rcpts { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow: auto; }
.rcpts li { display: grid; grid-template-columns: minmax(0, 1fr) 130px 20px; gap: 8px; align-items: center; padding: 3px 0; font-size: 12px; }
.rcpts li span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.rcpts a { color: var(--text-2); display: grid; place-items: center; height: 20px; border-radius: 4px; }
.rcpts a:hover { color: var(--accent); }

/* ---------- Casos y remediaciones ---------- */
.cases tbody tr, .admin tr[data-tenant] { cursor: pointer; }
.cases tbody tr:focus-visible, .admin tr[data-tenant]:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.rem td { white-space: normal; padding-top: 6px; padding-bottom: 6px; }
.rem tbody tr { height: auto; }
.row-actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.row-actions a { color: var(--accent-text); font-size: 12px; text-decoration: none; }
.row-actions a:hover { text-decoration: underline; }
.spin { animation: spin 0.9s linear infinite; display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }

.case, .admin, .erase { padding: 0 var(--gutter) 48px; max-width: 1040px; }
.case > .back, .admin > .back { margin-top: 18px; }
.case h1 { font-size: 20px; font-weight: 600; margin: 8px 0 2px; }
.case > p { margin: 0 0 12px; }
.case section, .admin section { margin-top: 26px; }
.case h2, .admin h2 { font-size: 13px; font-weight: 600; margin: 0 0 8px; }
.back { display: inline-flex; align-items: center; gap: 2px; color: var(--accent-text); text-decoration: none; font-size: 13px; }
.back:hover { text-decoration: underline; }
.kql-block {
  display: block; padding: 8px 10px;
  background: var(--fill); border-radius: var(--r-s);
  white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text);
  line-height: 1.5;
}
.facts { margin: 0; font-size: 13px; }
.facts strong { font-weight: 600; font-size: 22px; font-variant-numeric: tabular-nums; margin-right: 4px; }
.next { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.next p { margin: 0; }
.case #table, .admin #table { margin-inline: calc(8px - var(--gutter)); width: calc(100% + 2 * var(--gutter) - 16px); }
.items th:nth-child(1) { width: 42%; } .items th:nth-child(3) { width: 168px; } .items th:nth-child(4) { width: 96px; }
.job { max-width: 540px; }
.job-line { display: flex; justify-content: space-between; margin-bottom: 6px; color: var(--text-2); }
.bar { height: 5px; border-radius: 3px; background: var(--fill); overflow: hidden; position: relative; }
.bar span { display: block; height: 100%; border-radius: 3px; background: var(--accent); transform-origin: left; transition: transform 400ms var(--ease-out); }
.bar.indeterminate span { width: 30%; transform: none !important; animation: slide 1.1s linear infinite; }

/* Elementos del caso: lista con desplazamiento propio y filtro */
.items-tools { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.search.mini { height: 26px; max-width: 360px; border-radius: var(--r-s); padding: 0 8px; }
.search.mini > i { font-size: 13px; }
.search.mini input { font-size: 13px; }
.items-box {
  max-height: min(440px, 52vh); overflow: auto; overscroll-behavior: contain;
  background: var(--bg); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m);
}
.case .items-box #table { margin: 0 4px; width: calc(100% - 8px); }
.items-box td:first-child, .items-box th:first-child { padding-left: 10px; }
.items-box td:last-child, .items-box th:last-child { padding-right: 10px; }
.items tr.none td { color: var(--text-2); text-align: center; height: 56px; background: none; }

/* ---------- Administración ---------- */
.admin > .page-head { padding-inline: 0; }
.inline-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-bottom: 6px; }
.inline-form label { display: grid; gap: 4px; font-size: 12px; color: var(--text-2); }
.inline-form .field { margin: 0; width: 240px; }
.inline-form select.field { width: auto; }
/* Pasos de conexión: lista agrupada con estado (sin línea de tiempo) */
.steps { list-style: none; margin: 0; padding: 0; counter-reset: step; max-width: 880px; background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m); }
.steps > li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; }
.steps > li + li { box-shadow: inset 0 0.5px 0 var(--sep); }
.steps > li::before {
  counter-increment: step; content: counter(step);
  display: grid; place-items: center;
  width: 20px; height: 20px; border-radius: 50%; margin-top: 1px;
  background: var(--fill-2); font-size: 11px; font-weight: 600; color: var(--text-2);
}
.steps > li.done::before { content: "✓"; background: var(--dot-ok); color: #ffffff; }
.steps strong { font-weight: 600; display: block; }
.steps p { margin: 2px 0 8px; color: var(--text-2); font-size: 12px; max-width: 76ch; }
.steps .row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.consent-url { font-family: var(--mono); font-size: 11px; color: var(--text-2); max-width: 440px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checks { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 5px; }
.checks li { display: flex; gap: 10px; align-items: baseline; font-size: 12px; }
.checks li > span:first-child { font-weight: 600; flex: none; width: 64px; }
.checks .ok { color: var(--ok); } .checks .no { color: var(--danger); }
.users td { height: 38px; }
.users .row-actions .btn.small { margin: 0; }
.settings { display: grid; max-width: 720px; background: var(--group); box-shadow: inset 0 0 0 0.5px var(--group-line); border-radius: var(--r-m); }
.settings > .check { padding: 10px 14px; gap: 8px; flex-wrap: wrap; }
.settings > .check + .check { box-shadow: inset 0 0.5px 0 var(--sep); }
.settings > .check .muted { flex-basis: 100%; padding-left: 22px; font-size: 11.5px; margin-top: -2px; }
.settings > .check select { margin-left: auto; }
.status-off { color: var(--text-2); }
.danger-zone { max-width: 720px; }
.danger-zone p { margin: 0 0 10px; color: var(--text-2); font-size: 12px; max-width: 76ch; }

/* ---------- Campos ---------- */
.field-label { display: block; font-size: 12px; color: var(--text-2); margin: 0 0 5px; padding: 0; }
.field {
  width: 100%; height: 24px; padding: 0 7px; margin-bottom: 14px;
  border: 0; border-radius: 5px; background: var(--field);
  box-shadow: inset 0 0 0 0.5px var(--field-line), inset 0 0.5px 1px rgba(0, 0, 0, 0.06);
  transition: box-shadow 120ms ease;
}
.field:focus { outline: none; box-shadow: inset 0 0 0 1px var(--accent), 0 0 0 3px var(--focus); }
.field::placeholder { color: var(--text-3); }
/* select: botón emergente de macOS */
select.field {
  appearance: none; padding-right: 22px; cursor: pointer;
  background: var(--btn) var(--updown) no-repeat right 7px center / 7px 11px;
  box-shadow: var(--shadow-ctl);
}
.field.area { height: 60px; padding: 5px 7px; resize: vertical; font: inherit; line-height: 1.4; }
fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.check { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
.check input { accent-color: var(--accent); width: 14px; height: 14px; margin: 0; flex: none; }
.check.radio { align-items: flex-start; padding: 6px 8px; margin: 0 -8px; border-radius: var(--r-s); cursor: pointer; }
.check.radio:has(input:checked) { background: var(--fill); }
.check.radio input { margin-top: 2px; }
.check.radio .muted { font-size: 12px; }
.check.permanent { color: var(--danger); margin: -4px 0 12px 22px; }
.check[hidden] { display: none; }  /* .check usa flex: sin esto el atributo hidden no oculta */
#danger-body > .check:not(.permanent) { margin-bottom: 12px; }
.form-error { color: var(--danger); min-height: 16px; margin: 6px 0 0; font-size: 12px; }

/* ---------- Hojas (<dialog> nativo), como una alerta de macOS ---------- */
dialog.sheet {
  width: min(480px, calc(100vw - 32px));
  padding: 20px 20px 16px;
  border: 0;
  border-radius: var(--r-l);
  background: var(--sheet);
  color: var(--text);
  box-shadow: var(--shadow-pop);
  opacity: 1;
  transform: scale(1);
  transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out);
  @starting-style { opacity: 0; transform: scale(0.97); }
}
dialog.sheet.closing { opacity: 0; transform: scale(0.98); transition-duration: 140ms; }
dialog.sheet::backdrop { background: rgba(0, 0, 0, 0.2); transition: opacity 200ms ease; @starting-style { opacity: 0; } }
dialog.sheet.closing::backdrop { opacity: 0; transition-duration: 140ms; }
.sheet-icon { font-size: 30px; line-height: 1; margin-bottom: 10px; color: var(--warn); }
.danger-sheet .sheet-icon { color: var(--danger); }
.sheet h2 { font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.sheet-sub { color: var(--text-2); margin: 0 0 16px; }
.sheet-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.sheet-actions .btn { min-width: 84px; }
#dg-confirm { font-family: var(--mono); letter-spacing: 0.02em; }

/* ---------- Menú de acciones (⌘K), estilo Spotlight: sin animación, se usa con teclado ---------- */
dialog.cmd {
  width: min(480px, calc(100vw - 32px));
  margin-top: 16vh;
  padding: 6px;
  border: 0;
  border-radius: var(--r-l);
  background: var(--material);
  -webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
  color: var(--text);
  box-shadow: var(--shadow-pop);
}
dialog.cmd::backdrop { background: rgba(0, 0, 0, 0.12); }
.cmd-title { font-size: 12px; color: var(--text-2); padding: 6px 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; box-shadow: inset 0 -0.5px 0 var(--sep); margin-bottom: 4px; }
.cmd-item {
  display: flex; align-items: center; gap: 8px; width: 100%;
  height: 30px; padding: 0 8px;
  border: 0; border-radius: var(--r-s);
  background: transparent; cursor: pointer; text-align: left;
}
.cmd-item kbd { margin-left: auto; }
.cmd-item i { font-size: 15px; color: var(--text-2); }
.cmd-item[aria-selected="true"] { background: var(--sel); color: var(--on-sel); }
.cmd-item[aria-selected="true"] i { color: var(--on-sel); }
.cmd-item[aria-selected="true"] kbd { color: var(--on-sel); background: rgba(255, 255, 255, 0.2); }
.cmd-item:focus-visible { outline: none; } /* la selección ya marca el foco */

/* ---------- Avisos: material translúcido, como las notificaciones de macOS ---------- */
.toasts { position: fixed; right: 16px; bottom: 16px; display: grid; gap: 8px; z-index: 10; }
.toast {
  display: flex; gap: 10px; align-items: center;
  min-width: 260px; max-width: 380px;
  padding: 10px 12px;
  border-radius: var(--r-l);
  background: var(--material); color: var(--text);
  -webkit-backdrop-filter: blur(30px) saturate(1.8); backdrop-filter: blur(30px) saturate(1.8);
  box-shadow: var(--shadow-pop);
  font-size: 13px;
  transition: transform 260ms var(--ease-out), opacity 260ms var(--ease-out);
  @starting-style { transform: translateY(100%); opacity: 0; }
}
.toast.leaving { transform: translateY(100%); opacity: 0; transition-duration: 170ms; }
.toast i { font-size: 17px; color: var(--dot-ok); }
.toast.error i { color: var(--dot-bad); }

/* ---------- Pantallas de acceso (denegado, conexión de organizaciones) ---------- */
.gate {
  max-width: 440px; margin: 14vh auto 0; padding: 24px 24px 22px;
  background: var(--sheet); border-radius: var(--r-l); box-shadow: var(--shadow-pop);
}
.gate-mark { width: 44px; height: 44px; display: block; margin-bottom: 14px; }
.gate h1 { font-size: 17px; font-weight: 600; margin: 0 0 6px; }
.gate p { color: var(--text-2); margin: 0 0 18px; }
.gate .btn { margin-right: 8px; }
.identities { display: grid; gap: 8px; }
.identities .btn { justify-content: space-between; height: 32px; }
.onboard-list { margin: 0 0 14px; padding-left: 18px; color: var(--text); display: grid; gap: 4px; }
.gate .muted { font-size: 12px; }

/* ---------- Auditoría ---------- */
.audit-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 var(--gutter) 12px; }
.audit-tools .field { width: auto; margin: 0; }
.audit-tools .search.mini { max-width: 260px; }
.audit-tools #audit-csv { margin-left: auto; }
.audit-tools select[data-audit="person"] { max-width: 260px; }
.audit-kinds { display: inline-grid; grid-auto-flow: column; grid-template-columns: none; }
.audit col.c-when { width: 84px; } .audit col.c-who { width: 26%; } .audit col.c-what { width: 260px; }
.audit tr.day { height: 30px; }
.audit tr.day > td { background: none !important; font-size: 12px; font-weight: 600; color: var(--text-2); padding-top: 10px; vertical-align: bottom; }
.audit tr.day td::first-letter { text-transform: uppercase; }
.audit tr.none > td { color: var(--text-2); text-align: center; height: 72px; background: none; }

/* ---------- Investiga y borra ---------- */
.erase .note { margin-top: 4px; }
.erase .group-title:first-of-type { margin-top: 4px; }
.erase-msg { margin: 12px 0 0; }
.erase-item { padding: 10px 14px; }
.erase-item + .erase-item { box-shadow: inset 0 0.5px 0 var(--sep); }
.ei-head { display: flex; gap: 10px; align-items: center; }
.ei-ic { font-size: 18px; color: var(--danger); flex: none; }
.ei-main { display: grid; min-width: 0; flex: 1; line-height: 1.3; }
.ei-main strong { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ei-main .muted { font-size: 12px; }
.ei-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; padding-left: 28px; }
.ei-actions [data-erase-go] { margin-left: auto; }
.ei-rcpts { margin: 10px 0 2px 28px; max-height: 240px; }
.ei-rcpts li { grid-template-columns: minmax(0, 1fr) 200px 0; }
.erase-empty { padding: 14px; }
.erase-empty p { margin: 4px 0 0; color: var(--text-2); font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  .btn:active { transform: none; }
  dialog.sheet, dialog.sheet.closing { transform: none; transition: opacity 150ms ease; }
  .menu, .menu:not(:popover-open) { transform: none; }
  .spin { animation: none; }
  .toast, .toast.leaving { transform: none !important; transition: opacity 150ms ease; }
  .progress::after { animation-duration: 2.4s; }
  .skeleton td span { animation: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .menu, dialog.cmd, .toast { background: var(--sheet); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  body[data-inspector] .app { grid-template-columns: 232px minmax(0, 1fr); }
  .inspector {
    position: fixed; top: 0; right: 0; bottom: 0; width: min(340px, 100vw);
    z-index: 5;
    transform: translateX(100%);
    transition: transform 240ms var(--ease-out);
  }
  .inspector.open { transform: none; box-shadow: var(--shadow-pop); }
  .inspector .close { display: inline-flex; }
  .start-grid { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (max-width: 760px) {
  :root { --gutter: 16px; }
  .app, body[data-inspector] .app { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .sidebar { flex-direction: row; align-items: center; gap: 2px; padding: 6px 8px; overflow-x: auto; box-shadow: inset 0 -1px 0 var(--sep); }
  .brand { padding: 2px 6px; }
  .brand span, .nav-group, .me-text, .me > i { display: none; }
  .nav { display: flex; gap: 2px; margin-left: auto; }
  .nav a { font-size: 0; gap: 0; width: 34px; justify-content: center; padding: 0; }
  .nav a i { font-size: 18px; }
  .nav .badge { display: none; }
  .me { width: auto; padding: 4px; margin-top: 0; }
  .menu { inset: 50px 10px auto auto; }
  .toolbar-row { flex-wrap: wrap; }
  .scope { display: none; }
  table { table-layout: auto; }
  colgroup, td:nth-child(2), th:nth-child(2), td:nth-child(4), th:nth-child(4), td:nth-child(5), th:nth-child(5) { display: none; }
  td:first-child { max-width: 0; width: 100%; }
  .state { padding-top: 32px; }
  .inline-form .field { width: 100%; }
  .form-row { grid-template-columns: 1fr; gap: 4px; }
  .audit-tools #audit-csv { margin-left: 0; }
  .ei-actions { padding-left: 0; }
  .ei-actions [data-erase-go] { margin-left: 0; }
}

/* Ajustes puntuales */
td select.field { width: auto; min-width: 116px; margin: 0; }
.mail col.c-date { width: 156px; }
.file-head .big.ph-file-pdf { color: var(--t-pdf); } .file-head .big.ph-file-doc { color: var(--t-doc); }
.file-head .big.ph-file-xls, .file-head .big.ph-file-csv { color: var(--t-xls); } .file-head .big.ph-file-ppt { color: var(--t-ppt); }
.file-head .big.ph-file-image { color: var(--t-img); } .file-head .big.ph-file-zip { color: var(--t-zip); }
body[data-mode="formal"] .toolbar .search:focus-within { box-shadow: inset 0 0 0 1px var(--dot-warn), 0 0 0 3px var(--warn-soft); }
body[data-mode="formal"] .scope { background: var(--warn-soft); color: var(--warn); }
.settings .field { width: auto; margin: 0 0 0 auto; }
.details dd.mono { font-family: var(--font); font-size: inherit; font-variant-numeric: tabular-nums; }
