/* inbox-frame.css — self-contained widget frame for the shared inbox when it's
   reused OUTSIDE the overview dashboard (e.g. Cultivation's sidebar). Scoped to
   .torus-inbox so it never touches the overview dashboard's own widget styles.
   The inbox rows themselves are styled by rail/inbox.css (dual-scoped). */

.torus-inbox { display: flex; width: 100%; min-height: 0; height: 100%; }
.torus-inbox .widget {
  display: flex; flex-direction: column; width: 100%; min-height: 0; max-height: 100%;
  padding: 14px 14px 8px; border-radius: var(--r-lg, 16px);
  background: var(--glass-1); border: 1px solid var(--glass-border);
}
.torus-inbox .widget-header { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex: 0 0 auto; }
.torus-inbox .widget-title { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-family: var(--font-display, inherit); font-size: 14px; font-weight: 700; color: var(--text-primary); }
.torus-inbox .widget-title svg { color: var(--accent-cyan); }
.torus-inbox .widget-action { margin-left: auto; display: inline-flex; align-items: center; }
.torus-inbox .widget-body { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; overflow: hidden; }
/* The filter dropdown is a popover. When a short/empty inbox makes the body
   shorter than the open menu, overflow:hidden was cutting the menu off at the
   panel edge. Un-clip the body ONLY while the menu is open so it can show fully. */
.torus-inbox .widget-body:has(.inbox-filtermenu.is-open) { overflow: visible; }
.torus-inbox .widget-footer { display: none; }

.torus-inbox .wg-list-badge { font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 100px; background: var(--glass-2); color: var(--accent-cyan); }
.torus-inbox .wg-pill { display: inline-block; font-size: 9px; font-weight: 700; padding: 2px 8px; border-radius: 100px; background: var(--glass-2); color: var(--text-muted); }
.torus-inbox .wg-pill.is-critical { color: var(--accent-rose); background: rgba(251,113,133,0.14); }
.torus-inbox .wg-pill.is-watch { color: var(--accent-amber); background: rgba(251,191,36,0.14); }
.torus-inbox .wg-pill.is-good { color: var(--accent-emerald); background: rgba(52,211,153,0.14); }

/* filter/emptyState fallbacks */
.torus-inbox .wg-empty, .torus-inbox .wg-emptystate { text-align: center; color: var(--text-dim); font-size: 12px; padding: 26px 12px; }
.torus-inbox .wg-empty-title { color: var(--text-secondary); font-weight: 600; margin-bottom: 4px; }

/* entrance (rail widget carries .wg-enter) — reduced-motion safe */
.torus-inbox .wg-enter { animation: torus-inbox-enter 0.4s var(--ease-out, ease) both; }
@keyframes torus-inbox-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .torus-inbox .wg-enter { animation: none; } }

/* sit inside cultivation's alerts-sidebar slot cleanly */
.alerts-sidebar.is-unified-inbox { padding: 0; overflow: hidden; }
.alerts-sidebar.is-unified-inbox > .torus-inbox { height: 100%; }
