/* home-ops.css — sistema visual "torre de control de despacho"
   Ver docs/superpowers/specs/2026-08-15-reconstruccion-visual-base-home-design.md
   y docs/superpowers/specs/2026-08-15-reconstruccion-visual-clientes-design.md
   Generalizado: ya no esta encerrado a una seccion especifica, cualquier pantalla lo puede usar. */

:root {
  --ops-bg: #0B0F17;
  --ops-panel: #111826;
  --ops-border: #232C3B;
  --ops-border-soft: #1C2432;
  --ops-text: #F3F5F8;
  --ops-text-dim: #AEB8C6;
  --ops-text-mute: #5B6779;
  --ops-amber: #E8A33D;
  --ops-blue: #4C86C9;
  --ops-violet: #9B7FE0;
  --ops-green: #4CAF7D;
  --ops-red: #E2574C;
  --ops-font-display: 'Oswald', sans-serif;
  --ops-font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

html[data-sm-theme="light"] {
  --ops-bg: #f7f8fa;
  --ops-panel: #ffffff;
  --ops-border: #e2e5ea;
  --ops-border-soft: #edeff2;
  --ops-text: #111827;
  --ops-text-dim: #4b5563;
  --ops-text-mute: #6b7280;
  --ops-amber: #b5761f;
  --ops-blue: #2f5c8a;
  --ops-violet: #6d54b5;
  --ops-green: #1f8a53;
  --ops-red: #c23b31;
}

/* Zona: agrupa varios .ops-block bajo un titulo comun */
.ops-zone-head { display:flex; align-items:center; gap:10px; margin:22px 0 12px; }
.ops-zone:first-child .ops-zone-head { margin-top:0; }
.ops-zone-title { font-family:var(--ops-font-display) !important; font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:var(--ops-text-mute); white-space:nowrap; }
.ops-zone-line { flex:1; height:1px; background:var(--ops-border); }

/* Bloque de operacion: punto de color por dominio junto al titulo (sin franja lateral) */
.ops-block { position:relative; border-radius:6px; }
.ops-block .dh-panel-title::before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:7px; background:var(--ops-text-mute); vertical-align:middle; }
.ops-block[data-domain="fin"] .dh-panel-title::before { background:var(--ops-amber); }
.ops-block[data-domain="log"] .dh-panel-title::before { background:var(--ops-blue); }
.ops-block[data-domain="cli"] .dh-panel-title::before { background:var(--ops-violet); }
.ops-block[data-domain="met"] .dh-panel-title::before { background:var(--ops-green); }
.ops-block[data-domain="inv"] .dh-panel-title::before { background:var(--ops-red); }

/* Variante para wrappers sin .dh-panel-title propio (contenido 100% dinamico, ej. alertas) */
.ops-dot { position:absolute; top:10px; left:10px; width:7px; height:7px; border-radius:50%; background:var(--ops-text-mute); pointer-events:none; z-index:1; }
.ops-block[data-domain="fin"] .ops-dot { background:var(--ops-amber); }
.ops-block[data-domain="log"] .ops-dot { background:var(--ops-blue); }
.ops-block[data-domain="cli"] .ops-dot { background:var(--ops-violet); }
.ops-block[data-domain="met"] .ops-dot { background:var(--ops-green); }
.ops-block[data-domain="inv"] .ops-dot { background:var(--ops-red); }

/* Zona colapsable (analitico, cerrada por defecto) */
details.ops-accordion { background:var(--ops-panel); border:1px solid var(--ops-border); border-radius:8px; overflow:hidden; margin-top:4px; }
details.ops-accordion > summary { list-style:none; cursor:pointer; user-select:none; display:flex; align-items:center; justify-content:space-between; padding:13px 16px; font-family:var(--ops-font-display) !important; font-weight:600; font-size:12.5px; color:var(--ops-text); letter-spacing:0.3px; text-transform:uppercase; }
details.ops-accordion > summary::-webkit-details-marker { display:none; }
details.ops-accordion > summary::after { content:'Ver detalle \25be'; font-family:var(--ops-font-mono) !important; font-size:9.5px; color:var(--ops-text-mute); font-weight:400; text-transform:none; letter-spacing:normal; }
details.ops-accordion[open] > summary::after { content:'Ocultar \25b4'; }
details.ops-accordion[open] > summary { border-bottom:1px solid var(--ops-border); }
.ops-accordion-body { padding:14px 16px; }

/* Cuadro de lista estilo MyDealer: buscador/pills + contenido con scroll interno acotado.
   No asume tabla -- envuelve tanto <table> como listas de tarjetas ya renderizadas por JS. */
.ops-list-pills { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 2px; }
.ops-list-pill { font-family:var(--ops-font-display) !important; font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.4px; padding:6px 14px; border-radius:999px; border:1px solid var(--ops-border); background:transparent; color:var(--ops-text-dim); cursor:pointer; transition:background .15s,color .15s,border-color .15s; }
.ops-list-pill:hover { border-color:var(--ops-text-mute); }
.ops-list-pill[data-active="true"] { background:var(--ops-amber); border-color:var(--ops-amber); color:#1a1206; }
.ops-list-body { max-height:420px; overflow-y:auto; }
