/* MiCerebro Neural V5 — componentes secundarios y correcciones finales. */

/* Corrección de la cuadrícula de Biblioteca al añadir arte visual. */
body.nv5 .life-lib-item { grid-template-areas: "thumb card" "thumb date"; }
body.nv5 .nv-memory-thumb { grid-area: thumb; }
body.nv5 .life-lib-card { grid-area: card; min-width: 0; }
body.nv5 .life-lib-date { grid-area: date; align-self: end; }

/* Bandeja de capturas pendientes. */
body.nv5 .uc-backdrop,
body.nv5 .mo-backdrop,
body.nv5 .ea-backdrop,
body.nv5 .history-overlay,
body.nv5 .cp-backdrop {
  background: rgba(0, 3, 11, .70);
  backdrop-filter: blur(14px) saturate(120%);
}
body.nv5 .uc-panel,
body.nv5 .mo-panel,
body.nv5 .history-panel,
body.nv5 .cp-dialog,
body.nv5 .ea-sheet {
  color: #dce7f8;
  border-color: rgba(95, 148, 225, .22);
  background:
    radial-gradient(520px 300px at 75% -10%, rgba(57, 132, 255, .16), transparent 68%),
    radial-gradient(440px 300px at 8% 18%, rgba(151, 67, 255, .10), transparent 70%),
    linear-gradient(150deg, rgba(8, 17, 35, .98), rgba(3, 9, 21, .98));
  box-shadow: -28px 0 90px rgba(0, 0, 0, .46), inset 0 1px 0 rgba(255, 255, 255, .025);
}
body.nv5 .uc-header h2,
body.nv5 .mo-head h2,
body.nv5 .history-head h2,
body.nv5 .ea-title h2 { color: #f2f7ff; }
body.nv5 .uc-header small,
body.nv5 .mo-head small,
body.nv5 .history-head span,
body.nv5 .ea-kicker { color: #59bfff; }
body.nv5 .uc-intro,
body.nv5 .uc-status,
body.nv5 .mo-head p,
body.nv5 .mo-status,
body.nv5 .history-head p,
body.nv5 .ea-title p,
body.nv5 .ea-status { color: #8190aa; }
body.nv5 .uc-close,
body.nv5 .mo-close,
body.nv5 .history-close,
body.nv5 .ea-close {
  border: 1px solid rgba(102, 143, 215, .18);
  color: #d9e6fa;
  background: rgba(18, 34, 63, .72);
}
body.nv5 .uc-card,
body.nv5 .mo-card,
body.nv5 .mo-relation-form,
body.nv5 .mo-relation,
body.nv5 .history-event,
body.nv5 .ea-info-row,
body.nv5 .ea-related > button {
  color: #cad6e8;
  border-color: rgba(104, 144, 214, .15);
  background: linear-gradient(145deg, rgba(15, 28, 53, .88), rgba(7, 15, 31, .88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02), 0 12px 38px rgba(0, 0, 0, .15);
}
body.nv5 .uc-raw,
body.nv5 .mo-cardtop strong,
body.nv5 .mo-person strong,
body.nv5 .mo-choice strong,
body.nv5 .mo-diff > strong,
body.nv5 .mo-relation strong,
body.nv5 .history-event strong,
body.nv5 .ea-info-row b,
body.nv5 .ea-related > strong,
body.nv5 .ea-related b { color: #e8f0ff; }
body.nv5 .uc-meta,
body.nv5 .mo-cardtop small,
body.nv5 .mo-person span,
body.nv5 .mo-impact,
body.nv5 .mo-loading,
body.nv5 .mo-relation span,
body.nv5 .history-event time,
body.nv5 .history-change small,
body.nv5 .ea-info-row span,
body.nv5 .ea-title small { color: #71809b; }
body.nv5 .uc-question { color: #a9b7cf; }
body.nv5 .uc-question input,
body.nv5 .mo-relation-form select,
body.nv5 .mo-relation-form input {
  border-color: rgba(105, 145, 213, .20);
  color: #edf4ff;
  background: rgba(4, 12, 27, .84);
}
body.nv5 .uc-choices button,
body.nv5 .mo-tabs,
body.nv5 .mo-tabs button,
body.nv5 .mo-compare,
body.nv5 .mo-cancel-preview,
body.nv5 .mo-delete-rel,
body.nv5 .mo-distinct,
body.nv5 .history-change,
body.nv5 .ea-actions button {
  border-color: rgba(104, 145, 214, .18);
  color: #9eacc5;
  background: rgba(18, 33, 61, .68);
}
body.nv5 .mo-tabs { background: rgba(5, 13, 29, .82); }
body.nv5 .mo-tabs button.active {
  color: white;
  background: linear-gradient(135deg, rgba(30, 145, 255, .80), rgba(102, 69, 232, .82));
  box-shadow: 0 8px 25px rgba(26, 101, 255, .16);
}
body.nv5 .mo-person,
body.nv5 .mo-diff > div { background: rgba(20, 35, 64, .58); }
body.nv5 .mo-preview { border-color: rgba(106, 143, 209, .12); }
body.nv5 .mo-primary,
body.nv5 .uc-save,
body.nv5 .ea-actions .ea-primary {
  border-color: rgba(64, 190, 255, .42);
  color: white;
  background: linear-gradient(135deg, #139dff, #2e5be9 62%, #714ae6);
  box-shadow: 0 10px 26px rgba(31, 111, 255, .20);
}
body.nv5 .uc-dismiss { border-color: rgba(104, 144, 212, .18); color: #a4b0c6; background: rgba(17, 31, 57, .70); }
body.nv5 .uc-empty,
body.nv5 .mo-empty,
body.nv5 .history-empty,
body.nv5 .history-error {
  border-color: rgba(94, 142, 218, .22);
  color: #7787a3;
  background: rgba(8, 17, 34, .55);
}
body.nv5 .uc-empty strong,
body.nv5 .mo-empty strong { color: #dbe7f8; }

/* Botones flotantes secundarios, integrados en el mismo sistema. */
body.nv5 .uc-fab,
body.nv5 .mo-fab,
body.nv5 .cp-launcher {
  border-color: rgba(89, 178, 255, .25);
  color: #9cddff;
  background: rgba(7, 17, 36, .88);
  box-shadow: 0 15px 42px rgba(0, 0, 0, .30), 0 0 24px rgba(35, 130, 255, .12);
  backdrop-filter: blur(18px);
}
body.nv5 .uc-count,
body.nv5 .mo-fab b { box-shadow: 0 0 16px rgba(199, 72, 255, .40); }

/* Paleta universal. */
body.nv5 .cp-dialog { color: #e2ebfa; }
body.nv5 .cp-search { border-color: rgba(105, 144, 210, .13); }
body.nv5 .cp-search > span { color: #54c8ff; }
body.nv5 .cp-search input { color: #edf4ff; }
body.nv5 .cp-search input::placeholder { color: #65738d; }
body.nv5 .cp-search kbd,
body.nv5 .cp-launcher kbd {
  border-color: rgba(103, 142, 209, .18);
  color: #71809b;
  background: rgba(17, 30, 56, .72);
}
body.nv5 .cp-status,
body.nv5 .cp-section > span,
body.nv5 .cp-row > small,
body.nv5 .cp-empty { color: #72819b; }
body.nv5 .cp-row { color: #d9e4f5; }
body.nv5 .cp-row:hover,
body.nv5 .cp-row:focus-visible { background: rgba(30, 76, 137, .34); }
body.nv5 .cp-row > span { color: #73d1ff; background: rgba(25, 83, 157, .20); box-shadow: inset 0 0 0 1px rgba(77, 173, 255, .20); }

/* Historial reversible. */
body.nv5 .history-head { border-color: rgba(105, 143, 208, .13); }
body.nv5 .history-event.is-undo { background: rgba(20, 34, 61, .70); }
body.nv5 .history-undo { color: #a8dfff; background: rgba(25, 113, 214, .20); }
body.nv5 .history-undo.confirm { color: #ffd092; background: rgba(124, 71, 18, .30); }
body.nv5 .history-state { color: #8ce6c1; background: rgba(27, 103, 78, .28); }
body.nv5 .history-change.created { background: rgba(25, 101, 75, .24); }
body.nv5 .history-change.updated { background: rgba(29, 75, 145, .25); }
body.nv5 .history-change.deleted { background: rgba(120, 35, 54, .25); }
body.nv5 .history-change b { color: #91a5cc; }
body.nv5 .history-extra { color: #7887a1; }

/* Acciones sobre una memoria. */
body.nv5 .ea-sheet { background-color: rgba(5, 12, 27, .96); }
body.nv5 .ea-title > span { color: #7ed8ff; background: rgba(30, 126, 231, .18); }
body.nv5 .ea-actions .ea-danger { color: #ff8795; background: rgba(122, 31, 51, .22); }
body.nv5 .ea-related > button:hover { border-color: rgba(62, 176, 255, .32); background: rgba(27, 59, 105, .48); }

/* Centro de seguridad. */
body.nv5 .security-center .sec-eyebrow { color: #5dcaff; }
body.nv5 .security-center .sec-shield { color: #80d9ff; background: rgba(27, 126, 232, .17); box-shadow: 0 0 24px rgba(41, 143, 255, .12); }
body.nv5 .security-center .sec-block {
  border: 1px solid rgba(105, 144, 210, .14);
  background: linear-gradient(145deg, rgba(15, 28, 53, .82), rgba(7, 15, 31, .82));
}
body.nv5 .security-center .sec-status,
body.nv5 .security-center .sec-facts span,
body.nv5 .security-center .sec-copy-summary { background: rgba(6, 14, 30, .65); }
body.nv5 .security-center .sec-status.ok > span { color: #77e1b8; background: rgba(29, 112, 83, .30); }
body.nv5 .security-center .sec-status.warn > span { color: #ffd187; background: rgba(124, 73, 18, .31); }
body.nv5 .security-center .sec-status small,
body.nv5 .security-center .sec-copy-summary span,
body.nv5 .security-center .sec-help,
body.nv5 .security-center .sec-message { color: #7e8da8; }

/* Calendarios, toggles y zona de peligro. */
body.nv5 .m3-google-card { background: radial-gradient(380px 180px at 100% 0, rgba(50, 137, 255, .14), transparent 70%), linear-gradient(145deg, rgba(14, 27, 52, .90), rgba(7, 15, 31, .90)) !important; }
body.nv5 .m3-divider { border-color: rgba(104, 143, 208, .13); }
body.nv5 .m3-toggle-line,
body.nv5 .m3-switch { color: #cbd7e9; }
body.nv5 .m3-danger-zone summary { color: #ff8493; }

/* Lo próximo. */
body.nv5 .proximo {
  border-color: rgba(62, 164, 255, .24);
  color: #cbd9ed;
  background: linear-gradient(100deg, rgba(25, 103, 211, .20), rgba(111, 65, 217, .14));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
}
body.nv5 .proximo-cuando { color: #a9dcff; background: rgba(34, 131, 233, .20); }
body.nv5 .proximo-ya { border-color: rgba(255, 126, 147, .28); background: linear-gradient(100deg, rgba(131, 39, 68, .24), rgba(119, 70, 20, .18)); }
body.nv5 .proximo-ya .proximo-cuando { color: #ffd092; background: rgba(160, 72, 22, .25); }

/* Pequeños paneles y controles que aún traían fondos claros. */
body.nv5 .empty { color: #74839e; border-color: rgba(104, 143, 210, .17); background: rgba(8, 17, 34, .46); }
body.nv5 .m3-connected-dot { box-shadow: 0 0 0 5px rgba(70, 215, 161, .10), 0 0 15px rgba(70, 215, 161, .35); }
body.nv5 .history-handle,
body.nv5 .ea-handle,
body.nv5 .mobile-more-grabber { background: rgba(107, 137, 192, .34); }

@media (max-width: 760px) {
  body.nv5 .life-lib-item {
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas: "thumb card" "thumb date";
  }
  body.nv5 .uc-header,
  body.nv5 .mo-head,
  body.nv5 .history-head { background: rgba(5, 12, 27, .94); }
  body.nv5 .uc-actions { background: linear-gradient(180deg, transparent, rgba(5, 12, 27, .96) 26%); }
  body.nv5 .history-panel,
  body.nv5 .mo-panel,
  body.nv5 .uc-panel,
  body.nv5 .cp-dialog,
  body.nv5 .ea-sheet { box-shadow: 0 -28px 90px rgba(0, 0, 0, .48); }
}
