/* @overa/ui-kit 0.14.1 · Mi bandeja (js/inbox.js): la piel de la de atlas (inventario-explorar), que es la que se veía
   bien. Con los tokens de la app si los tiene (atlas: --radius-*, --crit-w…; Helios: --radio, --sombra-*…) y, si no,
   los de la suite. */
.ov-inbox{--ib-rule:var(--rule,var(--color-border,#e4e8ec));--ib-rule2:var(--rule2,var(--c-linea-suave,#eef1f4));
  --ib-panel:var(--panel,var(--color-surface,#fff));--ib-ink:var(--ink,#1f2937);--ib-ink2:var(--ink2,#4b5563);
  --ib-ink3:var(--ink3,var(--grey,#6b7280));--ib-sunken:var(--color-surface-sunken,var(--panel2,#f3f5f7));
  --ib-hover:var(--color-surface-hover,var(--panel2,#f3f5f7));--ib-primary:var(--color-primary,var(--blue,#2f6fa5));
  --ib-crit:var(--crit,#c0392b);--ib-warn:var(--warn,#b7791f);--ib-ok:var(--ok,#2f855a);
  --ib-crit-w:var(--crit-w,color-mix(in srgb,var(--ib-crit) 12%,transparent));
  --ib-warn-w:var(--warn-w,color-mix(in srgb,var(--ib-warn) 14%,transparent));
  --ib-ok-w:var(--ok-w,color-mix(in srgb,var(--ib-ok) 14%,transparent));
  --ib-r-lg:var(--radius-lg,var(--radio,10px));--ib-r-md:var(--radius-md,8px);--ib-r-sm:var(--radius-sm,var(--radio-s,6px));
  --ib-shadow-xs:var(--shadow-xs,var(--sombra-1,0 1px 2px rgba(16,24,40,.06)));
  --ib-shadow-md:var(--shadow-md,var(--sombra-2,0 4px 12px rgba(16,24,40,.10)));
  --ib-fast:var(--duration-fast,.12s);color:var(--ib-ink);font-size:14px;line-height:1.45}
/* LO QUE PONE LA APP A TODOS LOS TÍTULOS NO ENTRA AQUÍ (0.14.1): Helios pinta cada h3 en mayúsculas, gris y con
   26 px encima; la bandeja tiene que verse igual en cualquier consola */
.ov-inbox h2,.ov-inbox h3{color:var(--ib-ink);text-transform:none;letter-spacing:-.005em}

/* la cabecera: título, ⓘ, el perfil a la derecha y recargar */
.ov-ib-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.ov-ib-head h2{margin:0;font-size:20px;font-weight:650;letter-spacing:-.015em}
.ov-ib-info{color:var(--ib-ink3);cursor:help;font-size:15px}
.ov-ib-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:2px;margin-left:auto;padding:2px;border-radius:var(--ib-r-md);
  background:var(--ib-sunken);border:1px solid var(--ib-rule)}
.ov-ib-seg .ov-ib-btn{height:26px;border:0;background:transparent;box-shadow:none;border-radius:6px;color:var(--ib-ink2);padding:0 12px}
.ov-ib-seg .ov-ib-btn:hover:not([disabled]){background:transparent;color:var(--ib-ink)}
.ov-ib-seg .ov-ib-btn.active,.ov-ib-seg .ov-ib-btn.active:hover{background:var(--ib-panel);color:var(--ib-ink);font-weight:600;box-shadow:var(--ib-shadow-xs)}
.ov-ib-seg+.ov-ib-reload{margin-left:0}
.ov-ib-reload{margin-left:auto;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}

/* los botones (propios: la bandeja no depende de los de cada app) */
.ov-ib-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;line-height:1;padding:7px 12px;
  border:1px solid var(--ib-rule);border-radius:var(--ib-r-sm);background:var(--ib-panel);color:var(--ib-ink);cursor:pointer;
  text-decoration:none;box-shadow:var(--ib-shadow-xs);transition:background-color var(--ib-fast),border-color var(--ib-fast)}
.ov-ib-btn:hover:not([disabled]){background:var(--ib-hover);text-decoration:none;color:var(--ib-ink)}
.ov-ib-btn[disabled]{opacity:.5;cursor:default}
.ov-ib-btn.small{font-size:12.5px;padding:5px 10px}
.ov-ib-btn.primary{background:var(--ib-primary);border-color:var(--ib-primary);color:#fff;font-weight:600}
.ov-ib-btn.primary:hover:not([disabled]){background:color-mix(in srgb,var(--ib-primary) 88%,#000);color:#fff}
.ov-ib-dim{color:var(--ib-ink3);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}

/* Pendientes / Excluidos */
.ov-ib-tabs{display:flex;gap:6px;margin:0 0 12px}
.ov-ib-tabs .ov-ib-btn.active{border-color:var(--ib-primary);color:var(--ib-primary)}

/* el filtro de una clase, lo que aún se calcula y lo que no se pudo mirar */
.ov-ib-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ov-ib-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 4px 2px 10px;border-radius:999px;
  background:var(--ib-sunken);color:var(--ib-ink2)}
.ov-ib-chip-x{appearance:none;border:0;background:none;color:var(--ib-ink3);font-size:15px;line-height:1;width:22px;height:22px;
  border-radius:50%;cursor:pointer}
.ov-ib-chip-x:hover{background:var(--ib-hover);color:var(--ib-ink)}
.ov-inbox .ov-state-computing{padding:6px 2px 12px}
.ov-ib-soft{padding:4px 2px 12px;font-size:12px;color:var(--ib-ink3)}

/* LAS COLUMNAS: urgente a la izquierda, importante en medio, para saber a la derecha; tantas como niveles con avisos */
.ov-ib-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.ov-ib-cols.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ov-ib-cols.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1300px){.ov-ib-cols.n3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px){.ov-ib-cols.n2,.ov-ib-cols.n3{grid-template-columns:minmax(0,1fr)}}
.ov-ib-group h3{font-size:15px;font-weight:650;margin:0 0 10px;display:flex;gap:8px;align-items:baseline}
.ov-ib-tasks{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}

/* CADA AVISO: una tarjeta que lleva a lo concreto, con su icono, su clase y «Excluir» al lado (se nota al pasar) */
.ov-ib-row{display:flex;align-items:flex-start;gap:4px}
.ov-ib-task{flex:1;min-width:0;border:1px solid var(--ib-rule);border-left:3px solid var(--color-border-strong,var(--ib-ink3));
  border-radius:var(--ib-r-lg);background:var(--ib-panel);box-shadow:var(--ib-shadow-xs);transition:box-shadow var(--ib-fast)}
.ov-ib-task:hover{box-shadow:var(--ib-shadow-md)}
.ov-ib-task.crit{border-left-color:var(--ib-crit)}
.ov-ib-task.warn{border-left-color:var(--ib-warn)}
.ov-ib-main{display:flex;align-items:center;gap:12px;padding:10px 14px;color:var(--ib-ink);text-decoration:none;border-radius:inherit}
.ov-ib-main:hover{color:var(--ib-ink);text-decoration:none}
.ov-ib-main:focus-visible{outline:2px solid var(--ib-primary);outline-offset:-2px}
.ov-ib-ico{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:var(--ib-r-md);
  background:var(--ib-sunken);font-size:15px;line-height:1}
.ov-ib-task.crit .ov-ib-ico{background:var(--ib-crit-w);color:var(--ib-crit)}
.ov-ib-task.warn .ov-ib-ico{background:var(--ib-warn-w);color:var(--ib-warn)}
.ov-ib-txt{display:flex;flex-direction:column;flex:1;min-width:0;gap:1px}
.ov-ib-txt b{font-weight:600;overflow-wrap:anywhere}
.ov-ib-detail{display:block;font-size:12px;color:var(--ib-ink3)}
.ov-ib-kind{font-size:12px;color:var(--ib-ink3);white-space:nowrap}
.ov-ib-go{color:var(--ib-ink3);transition:transform var(--ib-fast)}
.ov-ib-main:hover .ov-ib-go{transform:translateX(2px);color:var(--ib-ink2)}
.ov-ib-x{appearance:none;flex:0 0 auto;border:0;background:none;color:var(--ib-ink3);width:30px;height:30px;padding:0;margin-top:10px;
  display:inline-grid;place-items:center;border-radius:var(--ib-r-sm);cursor:pointer;opacity:.35;
  transition:opacity var(--ib-fast),background-color var(--ib-fast),color var(--ib-fast)}
.ov-ib-row:hover .ov-ib-x,.ov-ib-x:focus-visible{opacity:1}
.ov-ib-x:hover{background:var(--ib-crit-w);color:var(--ib-crit)}
/* «QUÉ HACER» DENTRO DE LA TARJETA: debajo del enlace, alineado con el texto (no con el icono), tras una línea fina */
.ov-ib-fix{margin:0 14px 0 56px;border-top:1px solid var(--ib-rule2)}
.ov-ib-fix summary{font-size:12.5px;cursor:pointer;color:var(--ib-ink2);padding:7px 0;list-style-position:inside}
.ov-ib-fix summary:hover{color:var(--ib-ink)}
.ov-ib-fix[open] summary{color:var(--ib-ink);font-weight:600}
.ov-ib-fix-body{padding:0 0 12px;font-size:13px}
.ov-ib-fix-body>:first-child{margin-top:0}
@media (max-width:640px){.ov-ib-kind{display:none}.ov-ib-x{opacity:1}.ov-ib-fix{margin-left:14px}}

/* la paginación de cada columna */
.ov-ib-pager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:6px 2px 0}
.ov-ib-pages{display:flex;align-items:center;gap:4px}
.ov-ib-arrow{appearance:none;border:0;background:none;font:inherit;font-size:14px;color:var(--ib-ink2);min-width:30px;height:30px;
  border-radius:6px;cursor:pointer}
.ov-ib-arrow:hover:not(:disabled){background:var(--ib-hover);color:var(--ib-ink)}
.ov-ib-arrow:disabled{opacity:.35;cursor:default}

/* vacío: todo al día, con el visto bueno en verde */
.ov-ib-empty{padding:32px 20px;text-align:center;color:var(--ib-ink3);font-size:13px;line-height:1.5}
.ov-ib-empty::before{content:"";display:block;width:36px;height:36px;margin:0 auto 10px;border-radius:50%;
  background:var(--ib-sunken) no-repeat 50% 50%/18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a96a3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E")}
.ov-ib-empty.ok{border:1px dashed var(--ib-rule);border-radius:var(--ib-r-lg);background:var(--ib-panel)}
.ov-ib-empty.ok::before{background-color:var(--ib-ok-w);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2346a35a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}

/* Excluidos: una tabla en su caja */
.ov-ib-box{background:var(--ib-panel);border:1px solid var(--ib-rule);border-radius:var(--ib-r-lg);overflow:hidden;box-shadow:var(--ib-shadow-xs)}
.ov-ib-tw{overflow-x:auto}
.ov-ib-table{width:100%;border-collapse:collapse;font-size:13px}
.ov-ib-table th{text-align:left;font-size:11.5px;font-weight:600;color:var(--ib-ink3);background:var(--th-bg,var(--ib-sunken));
  padding:8px 12px;border-bottom:1px solid var(--ib-rule)}
.ov-ib-table td{padding:9px 12px;border-bottom:1px solid var(--ib-rule2);vertical-align:middle}
.ov-ib-table tbody tr:last-child td{border-bottom:0}
.ov-ib-table tbody tr:nth-child(even)>td{background:var(--zebra,transparent)}
.ov-ib-table a{color:inherit}
.ov-ib-small{font-size:12px}
.ov-ib-nowrap{white-space:nowrap}
.ov-ib-tag{display:inline-block;font-size:11px;padding:0 8px;line-height:18px;border-radius:999px;border:1px dashed var(--ib-ink3);color:var(--ib-ink2)}

/* el diálogo del motivo */
.ov-ib-dialog{border:1px solid var(--rule,#e4e8ec);border-radius:var(--radius-lg,var(--radio,10px));padding:18px 20px;width:min(480px,calc(100vw - 32px));
  background:var(--panel,#fff);color:var(--ink,#1f2937);box-shadow:0 12px 40px rgba(16,24,40,.22);font:inherit}
.ov-ib-dialog::backdrop{background:rgba(16,24,40,.35)}
.ov-ib-dialog h3{margin:0 0 8px;font-size:16px;font-weight:650}
.ov-ib-dlg-txt{font-size:13px;margin:0 0 12px;color:var(--ink2,#4b5563)}
.ov-ib-dlg-field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600}
.ov-ib-dlg-field textarea{font:inherit;font-weight:400;font-size:13px;padding:8px 10px;border:1px solid var(--rule,#e4e8ec);border-radius:6px;
  resize:vertical;background:var(--panel,#fff);color:var(--ink,#1f2937)}
.ov-ib-dlg-err{margin-top:8px;font-size:12.5px;color:var(--crit,#c0392b)}
.ov-ib-dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.ov-ib-dialog .ov-ib-btn{appearance:none;font:inherit;font-size:13px;padding:7px 14px;border:1px solid var(--rule,#e4e8ec);border-radius:6px;
  background:var(--panel,#fff);color:var(--ink,#1f2937);cursor:pointer}
.ov-ib-dialog .ov-ib-btn.primary{background:var(--color-primary,var(--blue,#2f6fa5));border-color:var(--color-primary,var(--blue,#2f6fa5));color:#fff;font-weight:600}
.ov-ib-dialog .ov-ib-btn[disabled]{opacity:.5;cursor:default}
