/* ==========================================================================
   WIDOK: RAPORTY GIEŁDOWE — 2-kolumnowy inbox (lewy panel + podgląd)
   ========================================================================== */

#view-raporty-gieldowe:not([hidden]) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

#rg-container {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* --------------------------------------------------------------------------
   Stany ładowania / błędu / pusty
   -------------------------------------------------------------------------- */
.rg-loading,
.rg-empty {
  padding: var(--spacing-xl);
  text-align: center;
  color: var(--fg-3);
  font-size: var(--font-size-sm);
}

.rg-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-xl);
  color: var(--fg-3);
}
.rg-empty-state svg { opacity: 0.25; width: 40px; height: 40px; }
.rg-empty-state__title { margin: 0; font-size: var(--font-size-md); font-weight: var(--font-weight-semibold); color: var(--fg-2); }
.rg-empty-state__desc  { margin: 0; font-size: var(--font-size-sm); text-align: center; line-height: 1.6; }

/* --------------------------------------------------------------------------
   INBOX — 2-kolumnowy kontener
   -------------------------------------------------------------------------- */
.rg-inbox {
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   LEWY PANEL — filtry (góra) + lista komunikatów (dół)
   -------------------------------------------------------------------------- */
.rg-inbox__left {
  width: 360px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border-subtle);
  position: relative;
}

/* ── Panel filtrów (górna część lewego panelu) ───────────────────────── */
.rg-filters-panel {
  flex-shrink: 0;
  background: var(--bg-1);
  border-bottom: 2px solid var(--border-subtle);
  position: relative;
  z-index: 5;
}

/* Nagłówek panelu */
.rg-filters-header {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 10px var(--spacing-md) 8px;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.rg-filters-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--fg-1);
  line-height: 1.3;
}

.rg-filters-update {
  font-size: 10px;
  color: var(--fg-4);
  letter-spacing: 0.02em;
}

/* ── Wiersz filtru ────────────────────────────────────────────────────── */
.rg-filter-row {
  padding: 6px var(--spacing-sm);
  border-bottom: 1px solid var(--border-subtle);
}

/* ── Pole wyszukiwania komunikatów ────────────────────────────────────── */
.rg-list-search-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px var(--spacing-sm);
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition-fast);
}
.rg-list-search-wrap:focus-within { border-color: var(--border-default); }

.rg-list-search-ico { flex-shrink: 0; color: var(--fg-4); }

.rg-list-search {
  flex: 1;
  min-width: 0;
  background: none;
  border: none;
  outline: none;
  color: var(--fg-1);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
}
.rg-list-search::placeholder { color: var(--fg-4); }

/* ── Filtry daty ──────────────────────────────────────────────────────── */
.rg-filter-row--date { }

.rg-date-range {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rg-date-sep {
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  flex-shrink: 0;
}

.rg-date-input {
  flex: 1;
  min-width: 0;
  padding: 5px 7px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--fg-1);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  outline: none;
  transition: border-color var(--transition-fast);
  color-scheme: dark;
}
.rg-date-input:focus { border-color: var(--border-default); }

/* ── Combobox spółek ──────────────────────────────────────────────────── */
.rg-combobox {
  position: relative;
}

.rg-combobox__header {
  display: flex;
  align-items: stretch;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}
.rg-combobox--open .rg-combobox__header,
.rg-combobox__header:focus-within { border-color: var(--border-default); }

.rg-combobox__trigger {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 7px var(--spacing-sm);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  min-width: 0;
}

.rg-combobox__value {
  flex: 1;
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  color: var(--fg-4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rg-combobox__value--selected { color: var(--fg-1); font-weight: var(--font-weight-medium); }

.rg-combobox__chevron {
  flex-shrink: 0;
  display: flex;
  color: var(--fg-4);
  transition: transform var(--transition-fast);
}
.rg-combobox--open .rg-combobox__chevron { transform: rotate(180deg); }

.rg-combobox__clear {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  background: none;
  border: none;
  border-left: 1px solid var(--border-subtle);
  color: var(--fg-4);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-combobox__clear:hover { color: var(--fg-1); background: rgba(255,255,255,0.05); }

.rg-combobox__menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  background: var(--bg-2);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  z-index: 200;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}

.rg-combobox__search-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px var(--spacing-sm);
  border-bottom: 1px solid var(--border-subtle);
}

.rg-search-ico-sm { flex-shrink: 0; color: var(--fg-4); }

.rg-combobox__search {
  flex: 1;
  min-width: 0;
  background: none;
  border: none;
  outline: none;
  color: var(--fg-1);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
}
.rg-combobox__search::placeholder { color: var(--fg-4); }

/* Lista spółek (wewnątrz menu comboboxa) */
.rg-company-list {
  max-height: 200px;
  overflow-y: auto;
  padding: var(--spacing-xs) 0;
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.rg-company-list::-webkit-scrollbar { width: 3px; }
.rg-company-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; }

.rg-company-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 5px var(--spacing-md);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--fg-2);
  font-family: var(--font-family-sans);
  text-align: left;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.rg-company-item:hover   { background: rgba(255,255,255,0.05); color: var(--fg-1); }
.rg-company-item--active { background: rgba(249,115,22,0.10);  color: var(--brand-orange); }

/* ── Checkbox icon (shared by company items + dropdown items) ──────── */
.rg-item-check {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 0;
  color: var(--fg-4);
}
.rg-company-item--active .rg-item-check,
.rg-dropdown__item--active .rg-item-check { color: var(--brand-orange); }

.rg-company-dot {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: var(--radius-full);
}

.rg-company-name {
  flex: 1;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rg-company-count {
  flex-shrink: 0;
  font-size: 11px;
  color: var(--fg-4);
}

/* ── Dropdown (kategorie / źródła) ───────────────────────────────────── */
.rg-dropdown {
  position: relative;
}

.rg-dropdown__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  padding: 7px var(--spacing-sm);
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--transition-fast);
}
.rg-dropdown--open .rg-dropdown__trigger { border-color: var(--border-default); }
.rg-dropdown__trigger:hover { border-color: var(--border-default); }

.rg-dropdown__value {
  flex: 1;
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  color: var(--fg-4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rg-dropdown__value--selected { color: var(--brand-orange); font-weight: var(--font-weight-medium); }

.rg-dropdown__chevron {
  flex-shrink: 0;
  display: flex;
  color: var(--fg-4);
  transition: transform var(--transition-fast);
}
.rg-dropdown--open .rg-dropdown__chevron { transform: rotate(180deg); }

.rg-dropdown__menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  background: var(--bg-2);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  z-index: 200;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
  padding: var(--spacing-xs) 0;
}

.rg-dropdown__item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px var(--spacing-md);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--fg-2);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  text-align: left;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.rg-dropdown__item:hover       { background: rgba(255,255,255,0.05); color: var(--fg-1); }
.rg-dropdown__item--active     { color: var(--brand-orange); background: rgba(249,115,22,0.08); font-weight: var(--font-weight-medium); }

/* Stopka panelu filtrów — "Wyczyść filtry" */
.rg-filters-footer {
  padding: var(--spacing-xs) var(--spacing-md) var(--spacing-sm);
}

.rg-clear-filters {
  width: 100%;
  padding: 5px;
  background: none;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.rg-clear-filters:hover {
  background: rgba(249,115,22,0.08);
  color: var(--brand-orange);
  border-color: rgba(249,115,22,0.3);
}

/* --------------------------------------------------------------------------
   SEKCJA LISTY KOMUNIKATÓW (dolna część lewego panelu)
   -------------------------------------------------------------------------- */
.rg-list-section {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-0);
}

/* Pasek narzędziowy listy */
.rg-list-toolbar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-sm);
  padding: 6px var(--spacing-sm) 6px var(--spacing-md);
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-1);
}

.rg-list-count {
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.rg-list-controls {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* Dropdown sortowania */
.rg-sort-select {
  padding: 3px 6px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--fg-2);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  cursor: pointer;
  outline: none;
  transition: border-color var(--transition-fast);
  appearance: none;
  padding-right: 20px;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
}
.rg-sort-select:focus { border-color: var(--border-default); }

/* Przyciski przełączania widoku */
.rg-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.rg-view-btn:hover      { background: var(--bg-2); color: var(--fg-2); border-color: var(--border-subtle); }
.rg-view-btn--active    { background: rgba(249,115,22,0.10); color: var(--brand-orange); border-color: rgba(249,115,22,0.2); }

/* Przewijalna lista wiadomości */
.rg-list-messages {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}

.rg-list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xl);
  gap: var(--spacing-sm);
  color: var(--fg-4);
  font-size: var(--font-size-sm);
  text-align: center;
  min-height: 200px;
}
.rg-list-empty svg { opacity: 0.2; width: 32px; height: 32px; }

/* ── Paginacja ───────────────────────────────────────────────────────── */
.rg-pagination {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px var(--spacing-sm);
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-1);
  flex-wrap: wrap;
}
.rg-page-info {
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  white-space: nowrap;
  margin: 0 4px;
}
.rg-page-btn {
  min-width: 26px;
  height: 26px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--bg-2);
  color: var(--fg-2);
  font-size: var(--font-size-xs);
  cursor: pointer;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  font-family: var(--font-family-sans);
  line-height: 1;
}
.rg-page-btn:hover:not(:disabled) {
  background: var(--bg-3);
  border-color: var(--border-default);
  color: var(--fg-1);
}
.rg-page-btn:disabled {
  opacity: 0.35;
  cursor: default;
}
.rg-page-num--active {
  background: var(--accent-primary, #3B82F6);
  border-color: var(--accent-primary, #3B82F6);
  color: #fff;
  font-weight: var(--font-weight-semibold);
}
.rg-page-num--active:hover {
  background: var(--accent-primary, #3B82F6);
  border-color: var(--accent-primary, #3B82F6);
  color: #fff;
}
.rg-page-ellipsis {
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  padding: 0 2px;
  line-height: 26px;
}
.rg-page-prev,
.rg-page-next {
  font-size: 13px;
}

/* ── Grupowanie po dacie ─────────────────────────────────────────────── */
.rg-date-label {
  padding: 5px var(--spacing-md);
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.07em;
  color: var(--fg-4);
  background: var(--bg-1);
  border-bottom: 1px solid var(--border-subtle);
  position: sticky;
  top: 0;
  z-index: 1;
}

/* ── Pozycja komunikatu — widok normalny ─────────────────────────────── */
.rg-msg-item {
  display: flex;
  align-items: stretch;
  width: 100%;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  font-family: var(--font-family-sans);
  transition: background var(--transition-fast);
  user-select: none;
}

.rg-msg-item:hover         { background: rgba(255,255,255,0.025); }
.rg-msg-item--active       { background: rgba(249,115,22,0.07); }
.rg-msg-item--active:hover { background: rgba(249,115,22,0.10); }

.rg-msg-dot {
  width: 3px;
  flex-shrink: 0;
  align-self: stretch;
  opacity: 0.8;
}

.rg-msg-body {
  flex: 1;
  min-width: 0;
  padding: 9px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rg-msg-top {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.rg-msg-company {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: var(--radius-full);
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rg-msg-time {
  flex: 1;
  text-align: right;
  font-size: 11px;
  color: var(--fg-4);
  font-family: var(--font-family-mono);
  white-space: nowrap;
}

.rg-msg-star {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 2px;
  background: none;
  border: none;
  color: transparent;
  cursor: pointer;
  transition: color var(--transition-fast);
  line-height: 0;
}
.rg-msg-item:hover .rg-msg-star,
.rg-msg-star:hover { color: var(--fg-3); }
.rg-msg-star--on   { color: var(--brand-amber) !important; }

.rg-msg-title {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--fg-2);
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: left;
}
.rg-msg-item--active .rg-msg-title,
.rg-msg-item--unread .rg-msg-title {
  color: var(--fg-1);
  font-weight: var(--font-weight-semibold);
}

.rg-msg-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 16px;
}

.rg-attach-count {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  color: var(--fg-4);
}

/* ── Widok kompaktowy ────────────────────────────────────────────────── */
.rg-list-messages--compact .rg-msg-body {
  padding: 5px 10px;
  gap: 2px;
}
.rg-list-messages--compact .rg-msg-title {
  -webkit-line-clamp: 1;
}
.rg-list-messages--compact .rg-msg-footer {
  display: none;
}

/* ── Znaczniki ESPI / EBI ────────────────────────────────────────────── */
.rg-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
}
.rg-type-badge--espi {
  background: rgba(249,115,22,0.14);
  color: var(--brand-orange);
  border: 1px solid rgba(249,115,22,0.28);
}
.rg-type-badge--ebi {
  background: rgba(59,130,246,0.14);
  color: #60A5FA;
  border: 1px solid rgba(59,130,246,0.28);
}

/* --------------------------------------------------------------------------
   AI PANEL — trzecia kolumna (prawa)
   -------------------------------------------------------------------------- */
.rg-inbox__ai {
  /* width set by JS (default 592px), resizable via drag handle */
  flex-shrink: 0;
  position: relative;
  border-left: 1px solid var(--border-subtle);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Drag handle — straddles the right border of the left column */
.rg-left-resize-handle {
  position: absolute;
  right: -3px;
  top: 0;
  bottom: 0;
  width: 7px;
  cursor: col-resize;
  z-index: 50;
  transition: background var(--transition-fast);
  border-radius: 2px;
}
.rg-left-resize-handle:hover,
.rg-left-resize-handle--active {
  background: rgba(249,115,22,0.35);
}

/* Drag handle — straddles the left border of the AI column */
.rg-ai-resize-handle {
  position: absolute;
  left: -3px;
  top: 0;
  bottom: 0;
  width: 7px;
  cursor: col-resize;
  z-index: 50;
  transition: background var(--transition-fast);
  border-radius: 2px;
}
.rg-ai-resize-handle:hover,
.rg-ai-resize-handle--active {
  background: rgba(249,115,22,0.35);
}

.rg-ai-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--bg-0);
}

/* Header — kontener elastyczny dla wielu sekcji */
.rg-ai-header {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-1);
  border-bottom: 1px solid var(--border-subtle);
}

/* ── Agent row ─────────────────────────────────────────────────────── */
.rg-agent-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px var(--spacing-md);
}

.rg-agent-avatar {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: rgba(249, 115, 22, 0.12);
  border: 1px solid rgba(249, 115, 22, 0.22);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-orange);
}

.rg-agent-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rg-agent-name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--fg-1);
}

.rg-agent-status {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: var(--fg-4);
}

.rg-agent-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  background: #22C55E;
  box-shadow: 0 0 5px rgba(34, 197, 94, 0.55);
  animation: rg-agent-pulse 2.4s ease-in-out infinite;
}
@keyframes rg-agent-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.45; }
}

.rg-agent-switch {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: none;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  cursor: pointer;
  transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}
.rg-agent-switch:hover,
.rg-agent-switch--open {
  color: var(--fg-2);
  border-color: var(--border-default);
  background: rgba(255, 255, 255, 0.04);
}
.rg-agent-switch--open svg { transform: rotate(180deg); }

/* ── Agent dropdown ──────────────────────────────────────────────── */
.rg-agent-dropdown {
  border-top: 1px solid var(--border-subtle);
  padding: 4px 0 6px;
}

.rg-agent-dropdown-label {
  padding: 5px var(--spacing-md) 3px;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-4);
}

.rg-agent-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px var(--spacing-md);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background var(--transition-fast);
}
.rg-agent-dropdown-item:hover:not(:disabled) { background: rgba(255, 255, 255, 0.04); }
.rg-agent-dropdown-item--active             { background: rgba(249, 115, 22, 0.06); }
.rg-agent-dropdown-item--soon               { opacity: 0.45; cursor: not-allowed; }

.rg-agent-item-marker {
  flex-shrink: 0;
  width: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rg-agent-item-radio {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: var(--radius-full);
  border: 1.5px solid var(--fg-4);
}

.rg-agent-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.rg-agent-item-name {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--fg-2);
}
.rg-agent-dropdown-item--active .rg-agent-item-name { color: var(--brand-orange); }

.rg-agent-item-desc {
  font-size: 10px;
  color: var(--fg-4);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rg-agent-item-soon {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  color: var(--fg-4);
  background: var(--bg-3);
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 1px 5px;
}

/* ── Wyłączona kropka (brak agenta) ─────────────────────────────── */
.rg-agent-dot--off {
  background: var(--fg-4);
  box-shadow: none;
  animation: none;
}

/* ── Pillsy wybranych agentów (pod tytułem "Czat") ───────────────── */
.rg-agent-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 3px;
}

.rg-agent-pill {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  font-size: 10px;
  font-weight: var(--font-weight-medium);
  color: var(--brand-orange);
  background: rgba(249,115,22,0.12);
  border: 1px solid rgba(249,115,22,0.25);
  border-radius: var(--radius-full);
  white-space: nowrap;
}

.rg-agent-pill--none {
  color: var(--fg-4);
  background: transparent;
  border-color: transparent;
  font-weight: var(--font-weight-normal);
  font-style: italic;
}

/* ── Checkboxy w dropdownie agenta — zastępują marker ────────────── */
.rg-agent-item-marker {
  flex-shrink: 0;
  width: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Selektor kontekstu spółek ──────────────────────────────────── */
.rg-ctx-selector {
  border-top: 1px solid var(--border-subtle);
}

.rg-ctx-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 5px var(--spacing-md) 6px;
}

.rg-ctx-label {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fg-4);
}

.rg-ctx-controls {
  display: flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  flex: 1;
  justify-content: flex-end;
}

.rg-ctx-trigger {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  min-width: 0;
  max-width: 200px;
  transition: border-color var(--transition-fast);
}
.rg-ctx-trigger:hover,
.rg-ctx-selector--open .rg-ctx-trigger { border-color: var(--border-default); }

.rg-ctx-value {
  flex: 1;
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  color: var(--fg-4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rg-ctx-value--selected { color: var(--fg-1); font-weight: var(--font-weight-medium); }

.rg-ctx-chevron {
  flex-shrink: 0;
  display: flex;
  color: var(--fg-4);
  transition: transform var(--transition-fast);
}
.rg-ctx-selector--open .rg-ctx-chevron { transform: rotate(180deg); }

.rg-ctx-clear {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-ctx-clear:hover { color: var(--fg-1); background: rgba(255,255,255,0.06); }

.rg-ctx-dropdown {
  background: var(--bg-1);
  border-top: 1px solid var(--border-subtle);
}

.rg-ctx-search-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px 5px var(--spacing-md);
  border-bottom: 1px solid var(--border-subtle);
}

.rg-ctx-search-ico { flex-shrink: 0; color: var(--fg-4); }

.rg-ctx-search-input {
  flex: 1;
  min-width: 0;
  background: none;
  border: none;
  outline: none;
  color: var(--fg-1);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
}
.rg-ctx-search-input::placeholder { color: var(--fg-4); }

.rg-ctx-dropdown-close {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-ctx-dropdown-close:hover { color: var(--fg-1); background: rgba(255,255,255,0.06); }

.rg-ctx-company-list {
  max-height: 180px;
  overflow-y: auto;
  padding: var(--spacing-xs) 0;
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.rg-ctx-company-list::-webkit-scrollbar { width: 3px; }
.rg-ctx-company-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; }

.rg-ctx-company-item {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 5px var(--spacing-md);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--fg-2);
  font-family: var(--font-family-sans);
  text-align: left;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.rg-ctx-company-item:hover   { background: rgba(255,255,255,0.05); color: var(--fg-1); }
.rg-ctx-company-item--active { background: rgba(249,115,22,0.09); color: var(--brand-orange); }
.rg-ctx-company-item--active .rg-item-check { color: var(--brand-orange); }

.rg-ctx-empty {
  padding: 10px var(--spacing-md);
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  text-align: center;
}

/* ── Ekran powitalny agenta (pusta historia) ─────────────────────── */
.rg-agent-welcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: var(--spacing-xl) var(--spacing-md);
  text-align: center;
  min-height: 180px;
}

.rg-agent-welcome__avatar {
  width: 44px;
  height: 44px;
  background: rgba(249, 115, 22, 0.10);
  border: 1px solid rgba(249, 115, 22, 0.20);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-orange);
  margin-bottom: 4px;
}
.rg-agent-welcome__avatar svg { width: 20px; height: 20px; }

.rg-agent-welcome__name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--fg-1);
}

.rg-agent-welcome__desc {
  font-size: var(--font-size-xs);
  color: var(--fg-3);
  line-height: 1.55;
  max-width: 220px;
}

.rg-agent-welcome__ctx {
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 5px 12px;
  margin-top: 4px;
}
.rg-agent-welcome__ctx strong { color: var(--fg-2); }

/* ── Bąbel błędu ─────────────────────────────────────────────────── */
.rg-ai-bubble--error {
  background: rgba(244, 63, 94, 0.10);
  border: 1px solid rgba(244, 63, 94, 0.22);
  color: #f87171;
}

/* Scrollable body */
.rg-ai-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.rg-ai-body::-webkit-scrollbar { width: 3px; }
.rg-ai-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 2px; }

/* Section within body */
.rg-ai-section {
  border-bottom: 1px solid var(--border-subtle);
  padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-md);
}
.rg-ai-section-label {
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.07em;
  color: var(--fg-4);
  padding: 2px var(--spacing-xs);
  margin-bottom: var(--spacing-xs);
}

/* Empty state */
.rg-ai-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-xl) var(--spacing-md);
  text-align: center;
  color: var(--fg-4);
  font-size: var(--font-size-xs);
  line-height: 1.6;
  min-height: 160px;
}
.rg-ai-empty svg { opacity: 0.2; width: 28px; height: 28px; }

/* Suggestions */
.rg-ai-suggestions {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rg-ai-suggestion {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  padding: 7px var(--spacing-sm);
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}
.rg-ai-suggestion:hover {
  border-color: var(--border-default);
  background: var(--bg-3);
}
.rg-ai-suggestion--hypothesis {
  background: rgba(249,115,22,0.05);
  border-color: rgba(249,115,22,0.22);
}
.rg-ai-suggestion--hypothesis:hover {
  background: rgba(249,115,22,0.1);
  border-color: rgba(249,115,22,0.45);
}
.rg-ai-sug__ico {
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1.4;
}
.rg-ai-sug__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rg-ai-sug__tag {
  font-size: 9px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-orange);
}
.rg-ai-sug__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--fg-2);
  line-height: 1.4;
}
.rg-ai-suggestion--hypothesis .rg-ai-sug__label { color: var(--brand-orange); }
.rg-ai-sug__detail {
  font-size: 10px;
  color: var(--fg-4);
  line-height: 1.4;
}
.rg-ai-sug__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: var(--fg-4);
  opacity: 0;
  transition: opacity var(--transition-fast);
}
.rg-ai-suggestion:hover .rg-ai-sug__arrow { opacity: 1; }

/* Messages */
.rg-ai-messages {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.rg-ai-msg { display: flex; flex-direction: column; gap: 4px; }
.rg-ai-msg--user { align-items: flex-end; }
.rg-ai-msg--ai   { align-items: flex-start; }

.rg-ai-role {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  color: var(--fg-4);
  padding: 0 2px;
  letter-spacing: 0.03em;
}

.rg-ai-bubble {
  max-width: 92%;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  line-height: 1.55;
}
.rg-ai-bubble--user {
  background: rgba(249,115,22,0.15);
  color: var(--fg-1);
  border-bottom-right-radius: 2px;
  font-weight: var(--font-weight-medium);
}
.rg-ai-bubble--ai {
  background: var(--bg-2);
  color: var(--fg-2);
  border: 1px solid var(--border-subtle);
  border-bottom-left-radius: 2px;
  max-width: 100%;
}

/* Typing dots */
.rg-ai-bubble--typing {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 14px;
}
.rg-ai-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  background: var(--fg-4);
  animation: rg-ai-blink 1.2s ease-in-out infinite;
}
.rg-ai-dot:nth-child(2) { animation-delay: 0.2s; }
.rg-ai-dot:nth-child(3) { animation-delay: 0.4s; }
@keyframes rg-ai-blink {
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }
  40%           { opacity: 1;   transform: scale(1); }
}

.rg-ai-point {
  display: block;
  padding-left: 2px;
  margin-top: 2px;
}

/* Sources */
.rg-ai-sources {
  max-width: 100%;
  padding: 7px 8px;
  background: var(--bg-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
}
.rg-ai-sources__header {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.07em;
  color: var(--fg-4);
  margin-bottom: 5px;
}
.rg-ai-sources__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rg-ai-source-item {
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-size: 10px;
  color: var(--fg-3);
  line-height: 1.5;
}
.rg-ai-src-badge {
  flex-shrink: 0;
  font-size: 9px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
  color: var(--fg-4);
  background: var(--bg-3);
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 0 4px;
}
.rg-ai-src-text {
  flex: 1;
  min-width: 0;
  line-height: 1.45;
}
.rg-ai-src-link {
  color: var(--brand-orange);
  text-decoration: none;
}
.rg-ai-src-link:hover { text-decoration: underline; }

/* Klikalne źródło — otwiera raport w środkowej kolumnie */
.rg-ai-source-item--link {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  padding: 3px 4px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  text-align: left;
  font-size: 10px;
  color: var(--fg-3);
  line-height: 1.5;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}
.rg-ai-source-item--link:hover {
  background: rgba(249,115,22,0.07);
  border-color: rgba(249,115,22,0.18);
}
.rg-ai-source-item--link:hover .rg-ai-src-text { color: var(--brand-orange); }
.rg-ai-source-item--link svg { flex-shrink: 0; color: var(--fg-4); opacity: 0; transition: opacity var(--transition-fast); }
.rg-ai-source-item--link:hover svg { opacity: 1; color: var(--brand-orange); }

/* Input footer */
.rg-ai-footer {
  flex-shrink: 0;
  padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-xs);
  background: var(--bg-1);
  border-top: 1px solid var(--border-subtle);
}
.rg-ai-input-row {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 5px 5px 5px 10px;
  transition: border-color var(--transition-fast);
}
.rg-ai-input-row:focus-within { border-color: var(--border-default); }

.rg-ai-input {
  flex: 1;
  min-width: 0;
  background: none;
  border: none;
  outline: none;
  resize: none;
  color: var(--fg-1);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  line-height: 1.5;
  max-height: 80px;
  overflow-y: auto;
  padding: 0;
}
.rg-ai-input::placeholder { color: var(--fg-4); }

.rg-ai-send {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--brand-orange);
  border: none;
  border-radius: var(--radius-sm);
  color: white;
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.rg-ai-send:hover { opacity: 0.85; }

.rg-ai-disclaimer {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 5px 2px 0;
  font-size: 10px;
  color: var(--fg-4);
  line-height: 1.4;
}

/* --------------------------------------------------------------------------
   PRAWA KOLUMNA — podgląd komunikatu
   -------------------------------------------------------------------------- */
.rg-inbox__detail {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-0);
}

.rg-detail-loading {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rg-empty-detail-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  color: var(--fg-4);
  font-size: var(--font-size-sm);
  padding: var(--spacing-xl);
  text-align: center;
}
.rg-empty-detail-center svg { opacity: 0.18; width: 36px; height: 36px; }

.rg-detail__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Tryb AI — delikatny pomarańczowy akcent na lewej krawędzi */
.rg-detail__inner--ai-source {
  border-left: 3px solid rgba(249,115,22,0.45);
}

/* Baner "Raport z analizy AI" */
.rg-detail-ai-banner {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px var(--spacing-md);
  background: rgba(249,115,22,0.07);
  border-bottom: 1px solid rgba(249,115,22,0.2);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--brand-orange);
}
.rg-detail-ai-banner svg { flex-shrink: 0; width: 13px; height: 13px; }

.rg-detail-ai-banner__close {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  color: rgba(249,115,22,0.6);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-detail-ai-banner__close:hover {
  color: var(--brand-orange);
  background: rgba(249,115,22,0.12);
}

.rg-detail__header {
  padding: var(--spacing-md) var(--spacing-lg);
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-1);
  flex-shrink: 0;
}

.rg-detail__top-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

.rg-detail__badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.rg-detail__company-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
}

.rg-detail__date {
  font-size: var(--font-size-xs);
  color: var(--fg-3);
  font-family: var(--font-family-mono);
  line-height: 1.5;
}

.rg-detail__header-btns {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.rg-detail-star {
  display: flex;
  align-items: center;
  padding: 5px;
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-detail-star:hover { color: var(--brand-amber); background: rgba(253,224,71,0.08); }
.rg-detail-star--on   { color: var(--brand-amber); }

.rg-detail-dl {
  display: flex;
  align-items: center;
  padding: 5px;
  border-radius: var(--radius-sm);
  color: var(--fg-4);
  text-decoration: none;
  transition: color var(--transition-fast), background var(--transition-fast);
}
.rg-detail-dl:hover { color: var(--fg-1); background: rgba(255,255,255,0.06); }

.rg-detail__title {
  margin: 0 0 var(--spacing-xs);
  font-size: 1.1rem;
  font-weight: var(--font-weight-bold);
  color: var(--fg-1);
  line-height: 1.35;
}

.rg-detail__company-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rg-detail__company-name { font-size: var(--font-size-sm); color: var(--fg-2); font-weight: var(--font-weight-medium); }
.rg-detail__sector       { font-size: var(--font-size-xs); color: var(--fg-3); }
.rg-sep                  { color: var(--fg-4); }

.rg-detail__source {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--font-size-xs);
  color: var(--fg-3);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.rg-detail__source:hover { color: var(--brand-orange); }

/* ── Załączniki ──────────────────────────────────────────────────────── */
.rg-attachments {
  padding: var(--spacing-sm) var(--spacing-lg);
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.rg-attachments__label {
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.07em;
  color: var(--fg-4);
  margin-bottom: var(--spacing-xs);
}

.rg-attachments__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
}

.rg-attach-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px var(--spacing-sm);
  background: var(--bg-2);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-xs);
  color: var(--fg-2);
  text-decoration: none;
  max-width: 220px;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}
.rg-attach-item:hover { background: var(--bg-3); border-color: var(--border-strong); color: var(--fg-1); }
.rg-attach-item svg  { flex-shrink: 0; color: var(--fg-4); }

.rg-attach-item__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Treść komunikatu ────────────────────────────────────────────────── */
.rg-detail__content {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  padding: var(--spacing-md) var(--spacing-lg);
}

.rg-tresc {
  margin: 0;
  font-family: var(--font-family-mono);
  font-size: 12px;
  line-height: 1.7;
  color: var(--fg-2);
  white-space: pre-wrap;
  word-break: break-word;
}

.rg-empty-detail {
  font-size: var(--font-size-sm);
  color: var(--fg-3);
  font-style: italic;
  padding: var(--spacing-sm) 0;
}

/* ==========================================================================
   MOBILNY DRILL-DOWN — trzyekranowa nawigacja (≤ 767px)
   ========================================================================== */
.rg-mobile {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  background: var(--bg-0);
}

.rg-mob-screen {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.rg-mob-screen--detail { overflow: hidden; }

.rg-mob-detail-content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.rg-mob-stats {
  padding: var(--spacing-xs) var(--spacing-md);
  font-size: var(--font-size-xs);
  color: var(--fg-4);
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.rg-mob-stats strong { color: var(--fg-2); font-weight: var(--font-weight-semibold); }

.rg-mob-header {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--spacing-sm) var(--spacing-md);
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-1);
  flex-shrink: 0;
}

.rg-mob-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: var(--brand-orange);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-sans);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.rg-mob-back:hover { opacity: 0.8; }

.rg-mob-header__title {
  margin: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--fg-1);
  line-height: 1.3;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.rg-mob-list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
  overflow-y: auto;
}

.rg-mob-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: 14px var(--spacing-md);
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  transition: background var(--transition-fast);
  min-height: 56px;
}
.rg-mob-item:active { background: rgba(255,255,255,0.04); }

.rg-mob-item__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.rg-mob-item__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rg-mob-item__name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--fg-1);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3;
}

.rg-mob-item__name--sm {
  font-size: var(--font-size-xs);
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.rg-mob-item__meta { font-size: var(--font-size-xs); color: var(--fg-4); }

.rg-mob-item__date {
  font-size: 11px;
  font-family: var(--font-family-mono);
  color: var(--fg-4);
}

.rg-mob-item__attach {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  color: var(--fg-4);
  margin-top: 2px;
}

.rg-mob-item--report { align-items: flex-start; padding: var(--spacing-sm) var(--spacing-md); }

.rg-mob-item__arrow { flex-shrink: 0; color: var(--fg-4); display: flex; align-items: center; }

/* ==========================================================================
   SCROLLBARS
   ========================================================================== */
.rg-list-messages,
.rg-detail__content,
.rg-mob-list,
.rg-mob-detail-content {
  scrollbar-color: rgba(255,255,255,0.22) transparent;
}

.rg-list-messages::-webkit-scrollbar,
.rg-detail__content::-webkit-scrollbar,
.rg-mob-list::-webkit-scrollbar,
.rg-mob-detail-content::-webkit-scrollbar {
  width: 4px;
}

.rg-list-messages::-webkit-scrollbar-track,
.rg-detail__content::-webkit-scrollbar-track,
.rg-mob-list::-webkit-scrollbar-track,
.rg-mob-detail-content::-webkit-scrollbar-track {
  background: transparent;
}

.rg-list-messages::-webkit-scrollbar-thumb,
.rg-detail__content::-webkit-scrollbar-thumb,
.rg-mob-list::-webkit-scrollbar-thumb,
.rg-mob-detail-content::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.22);
  border-radius: 2px;
}

.rg-list-messages::-webkit-scrollbar-thumb:hover,
.rg-detail__content::-webkit-scrollbar-thumb:hover,
.rg-mob-list::-webkit-scrollbar-thumb:hover,
.rg-mob-detail-content::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,0.32);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  .rg-inbox__left { width: 320px; }
}

@media (max-width: 900px) {
  .rg-inbox__left { width: 280px; }
}

@media (max-width: 767px) {
  .rg-inbox  { display: none; }
  .rg-mobile { display: flex; }
}
