/**
 * UI Polish — Phase A (reversible overlay)
 * Brand: green #7ead5a, brown #413225 (logo In Asia Travel)
 *
 * DISABLE: comment out or remove the <link> to this file in index.html
 *          (see “UI polish” comment). styles.css stays unchanged.
 */

:root {
  --brand-green: #7ead5a;
  --brand-green-hover: #88b569;
  --brand-green-dim: #6f9a4f;
  --brand-green-soft: rgba(126, 173, 90, 0.14);
  --brand-green-softer: rgba(126, 173, 90, 0.08);
  --brand-brown: #413225;
  --brand-brown-muted: #7f6b57;
  --brand-brown-border: rgba(65, 50, 37, 0.12);

  --bg: #f3f4f2;
  --surface: #ffffff;
  --surface-2: #f7f6f4;
  --border: #e6e2dc;
  --shell-divider: #ebe8e3;
  --panel-border: #e6e2dc;
  --panel-surface-2: #f9f8f6;
  --modal-border: #e6e2dc;
  --topbar-border: #ebe8e3;
  --muted: var(--brand-brown-muted);
  --text: var(--brand-brown);
  --panel-text: var(--brand-brown);
  --panel-muted: var(--brand-brown-muted);
  --accent: var(--brand-green);
  --accent-dim: var(--brand-green-dim);
  --radius: 8px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 3px rgba(65, 50, 37, 0.06);
  --shadow-md: 0 8px 24px rgba(65, 50, 37, 0.08);
  --shadow-panel: 0 2px 10px rgba(65, 50, 37, 0.05);
  --focus-ring: 0 0 0 3px rgba(126, 173, 90, 0.28);
}

/* —— Panels & cards —— */
.panel {
  border-radius: var(--radius-lg);
  border-color: var(--brand-brown-border);
  box-shadow: var(--shadow-panel);
}

.panel-header {
  padding: 0.7rem 0.95rem;
  background: linear-gradient(180deg, #ffffff 0%, var(--panel-surface-2) 100%);
}

.panel-title {
  font-size: 1.02rem;
  font-weight: 650;
  color: var(--brand-brown);
  letter-spacing: 0.01em;
}

.panel-body-pad {
  padding: 0.85rem 0.95rem;
}

.panel-header--compact {
  padding: 0.55rem 0.85rem;
}

.panel--compact .panel-title {
  font-size: 0.95rem;
}

/* —— Tables (light touch; full table polish = Phase B) —— */
table.data thead th {
  background: var(--panel-surface-2);
  color: var(--brand-brown-muted);
  font-weight: 600;
}

table.data th,
table.data td {
  padding: 0.52rem 0.68rem;
  border-bottom-color: var(--brand-brown-border);
}

table.data tbody tr:hover td {
  background: var(--brand-green-softer);
}

/* —— Buttons —— */
.btn {
  border-radius: var(--radius);
  border-color: var(--border);
  background: #ffffff;
  color: var(--brand-brown);
  font-weight: 500;
  padding: 0.38rem 0.72rem;
  box-shadow: var(--shadow-sm);
}

.btn:hover {
  border-color: rgba(65, 50, 37, 0.22);
  box-shadow: 0 4px 14px rgba(65, 50, 37, 0.07);
}

.btn:active {
  transform: translateY(1px);
  box-shadow: var(--shadow-sm);
}

.btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.btn-primary {
  background: var(--brand-green);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
  font-weight: 650;
}

.btn-primary:hover {
  background: var(--brand-green-hover);
  filter: none;
  border-color: var(--brand-green-dim);
}

.btn-ghost {
  background: transparent;
  box-shadow: none;
}

.btn-ghost:hover {
  background: var(--brand-green-softer);
  border-color: var(--brand-brown-border);
}

.btn-danger {
  color: #9b3030;
  border-color: rgba(155, 48, 48, 0.28);
  background: #fff8f8;
}

.btn-sm {
  border-radius: 7px;
  padding: 0.22rem 0.5rem;
  font-size: 0.8rem;
}

.btn-compact {
  border-radius: 7px;
}

.topbar-actions--requests #btn-primary-action {
  border-radius: var(--radius);
  background: var(--brand-green);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
}

/* —— Badges & chips —— */
.badge {
  border-radius: var(--radius-pill);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.badge-pending {
  background: rgba(65, 50, 37, 0.08);
  color: var(--brand-brown-muted);
}

.badge-confirmed {
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.chip {
  border-radius: var(--radius-pill);
  border: 1px solid var(--brand-brown-border);
  background: var(--panel-surface-2);
  color: var(--brand-brown);
}

/* —— Forms —— */
input,
select,
textarea,
.inp-sm,
.inp-compact {
  border-radius: var(--radius);
  border-color: var(--border);
}

input:focus,
select:focus,
textarea:focus,
.inp-sm:focus,
.inp-compact:focus {
  outline: none;
  border-color: var(--brand-green-dim);
  box-shadow: var(--focus-ring);
}

label.field-label {
  color: var(--brand-brown-muted);
  font-weight: 500;
}

/* —— Modal —— */
.modal-backdrop {
  background: rgba(65, 50, 37, 0.42);
}

.modal-panel {
  border-radius: var(--radius-lg);
  border-color: var(--brand-brown-border);
  box-shadow: var(--shadow-md);
}

.modal-header,
.modal-footer {
  padding: 0.65rem 0.95rem;
}

.modal-title {
  color: var(--brand-brown);
  font-weight: 650;
}

.modal-footer .btn-primary {
  min-width: 5.5rem;
}

/* —— Topbar —— */
.topbar {
  box-shadow: var(--shadow-sm);
}

.page-title {
  color: var(--brand-brown);
  font-weight: 650;
}

.topbar-toggle-chip {
  border-radius: var(--radius);
  color: var(--brand-brown);
}

.topbar-toggle-chip:hover {
  border-color: var(--brand-green-dim);
  background: var(--brand-green-softer);
}

#btn-urgencies-toggle.is-on {
  background: var(--brand-green-soft);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
}

/* —— Sidebar nav (brown text + green highlight, no white-on-green) —— */
.nav-item.is-active {
  color: var(--brand-brown);
  background: var(--brand-green-soft);
  border-color: rgba(126, 173, 90, 0.45);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(126, 173, 90, 0.2);
}

.nav-item:hover {
  color: var(--brand-brown);
}

.sidebar-footer .btn.is-active {
  color: var(--brand-brown);
  background: var(--brand-green-soft);
  border-color: rgba(126, 173, 90, 0.45);
}

.layout:not([data-sidebar-pinned="true"]) .sidebar:not(:hover) .nav-item.is-active {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: var(--sidebar-muted);
}

.layout:not([data-sidebar-pinned="true"]) .sidebar:not(:hover) .nav-item.is-active .nav-item__icon {
  background: var(--brand-green-soft);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
  box-shadow: inset 0 0 0 1px rgba(126, 173, 90, 0.2);
}

/* —— Itinerary tabs —— */
.itv-tab.is-active {
  color: var(--brand-brown);
  border-bottom-color: var(--brand-green);
  background: var(--brand-green-softer);
}

.itv-tab:hover:not(.is-active) {
  color: var(--brand-brown);
  background: rgba(65, 50, 37, 0.04);
}

.btn.itv-quote-variant-chip.is-active {
  background: var(--brand-green-soft);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
}

/* —— KPI / stats on dashboard —— */
.kpi,
.stat-card {
  border-radius: var(--radius-lg);
  border-color: var(--brand-brown-border);
  box-shadow: var(--shadow-panel);
}

/* —— Urgencies rail —— */
.urgencies-rail {
  border-right-color: var(--shell-divider);
}

.urgency-item {
  border-radius: var(--radius);
}

/* —— Icon button —— */
.icon-btn {
  border-radius: 6px;
}

.icon-btn:hover {
  background: var(--brand-green-softer);
  color: var(--brand-brown);
}

/* =============================================================================
   Phase A+ — Dashboard & Requests (more visible, still reversible)
   ============================================================================= */

/* —— Dashboard KPI cards (reference layout) —— */
.grid-stats--dashboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.1rem;
}

@media (max-width: 1100px) {
  .grid-stats--dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .grid-stats--dashboard {
    grid-template-columns: 1fr;
  }
}

.grid-stats--dashboard .stat-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 8.5rem;
  padding: 1.15rem 1.15rem 1rem;
  border: 1px solid var(--brand-brown-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 4px 18px rgba(65, 50, 37, 0.07);
  overflow: hidden;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.grid-stats--dashboard .stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--stat-accent, var(--brand-green));
}

.grid-stats--dashboard .stat-card:hover {
  box-shadow: 0 12px 28px rgba(65, 50, 37, 0.11);
  transform: translateY(-1px);
}

.grid-stats--dashboard .stat-card--requests {
  --stat-accent: var(--brand-green);
  --stat-icon-bg: var(--brand-green-soft);
  --stat-icon-fg: var(--brand-green-dim);
}

.grid-stats--dashboard .stat-card--confirmed {
  --stat-accent: var(--brand-brown);
  --stat-icon-bg: rgba(65, 50, 37, 0.1);
  --stat-icon-fg: var(--brand-brown);
}

.grid-stats--dashboard .stat-card--profit {
  --stat-accent: #c4a035;
  --stat-icon-bg: rgba(196, 160, 53, 0.16);
  --stat-icon-fg: #8a6d12;
}

.grid-stats--dashboard .stat-card--rate {
  --stat-accent: #d45c5c;
  --stat-icon-bg: rgba(212, 92, 92, 0.12);
  --stat-icon-fg: #b03f3f;
}

.grid-stats--dashboard .stat-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}

.grid-stats--dashboard .stat-card__label {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
  line-height: 1.35;
}

.grid-stats--dashboard .stat-card__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9px;
  background: var(--stat-icon-bg, var(--brand-green-soft));
  color: var(--stat-icon-fg, var(--brand-green-dim));
}

.grid-stats--dashboard .stat-card__value {
  margin-top: 0.15rem;
  font-size: 1.85rem;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #1f2937;
}

.grid-stats--dashboard .stat-card__sub {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--brand-brown-muted);
  line-height: 1.35;
}

.grid-stats--dashboard .stat-card__badge {
  align-self: flex-start;
  margin-top: 0.2rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
}

.grid-stats--dashboard .stat-card__badge--up {
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.grid-stats--dashboard .stat-card__badge--down {
  background: rgba(212, 92, 92, 0.14);
  color: #a83838;
}

.grid-stats--dashboard .stat-card__badge--wait {
  background: rgba(65, 50, 37, 0.08);
  color: var(--brand-brown-muted);
}

.grid-stats--dashboard .stat-card__badge--neutral {
  background: var(--panel-surface-2);
  color: var(--brand-brown-muted);
}

/* Legacy stat-card markup (if used elsewhere) */
.grid-stats:not(.grid-stats--dashboard) .stat-card {
  padding: 0.85rem 1rem;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-panel);
}

.grid-stats:not(.grid-stats--dashboard) .stat-label {
  color: var(--brand-brown-muted);
  font-weight: 600;
  font-size: 0.76rem;
}

.grid-stats:not(.grid-stats--dashboard) .stat-value {
  color: var(--brand-brown);
  font-weight: 700;
  font-size: 1.45rem;
}

/* Dashboard “Latest requests” panel (aligned with Requests table) */
.dash-latest-panel.requests-table-panel,
#view-root > .grid-stats + .dash-latest-panel,
.view-root .grid-stats + .dash-latest-panel,
#view-root > .dash-ops-panel + .dash-latest-panel,
.view-root .dash-ops-panel + .dash-latest-panel,
#view-root > .dash-ops-split + .dash-latest-panel,
.view-root .dash-ops-split + .dash-latest-panel {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.dash-ops-panel {
  margin: 0;
  min-width: 0;
}

.dash-ops-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
  margin: 0 0 0.85rem;
}

@media (max-width: 900px) {
  .dash-ops-split {
    grid-template-columns: 1fr;
  }
}

.dash-ops-panel__head.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.dash-ops-panel__date {
  margin: 0.1rem 0 0;
}

.dash-ops-body {
  padding-top: 0.35rem;
}

.dash-ops-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.55rem;
}

.dash-ops-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 0.28rem;
  padding: 0.22rem 0.5rem;
  border-radius: 6px;
  background: #f3f4f6;
  font-size: 0.78rem;
  line-height: 1.2;
}

.dash-ops-chip__n {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.dash-ops-chip__l {
  color: var(--panel-muted);
}

.dash-ops-chip.is-zero {
  opacity: 0.45;
}

.dash-ops-chip--overdue {
  background: #fee2e2;
  color: #991b1b;
}

.dash-ops-chip--overdue .dash-ops-chip__l {
  color: #b91c1c;
}

.dash-ops-chip--today {
  background: #ffedd5;
  color: #9a3412;
}

.dash-ops-chip--today .dash-ops-chip__l {
  color: #c2410c;
}

.dash-ops-chip--soon {
  background: #e0f2fe;
  color: #075985;
}

.dash-ops-chip--soon .dash-ops-chip__l {
  color: #0369a1;
}

.dash-ops-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.28rem;
}

.dash-ops-row {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 0.55rem;
  row-gap: 0.05rem;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: 0.38rem 0.5rem;
  background: #f8f8f8;
}

.dash-ops-row:hover {
  background: #efefef;
}

.dash-ops-row--overdue {
  background: #fef2f2;
}

.dash-ops-row--overdue:hover {
  background: #fee2e2;
}

.dash-ops-row--today {
  background: #fff7ed;
}

.dash-ops-row--today:hover {
  background: #ffedd5;
}

.dash-ops-row--neutral {
  background: #f3f4f6;
}

.dash-ops-row--neutral:hover {
  background: #e5e7eb;
}

.dash-ops-row__k {
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--panel-muted);
}

.dash-ops-row__m {
  font-size: 0.86rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-ops-row__top {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  min-width: 0;
  overflow: hidden;
}

.dash-ops-row--tour .dash-ops-row__top {
  grid-column: 2;
  grid-row: 1;
}

.dash-ops-row--tour .dash-ops-row__s {
  grid-column: 2;
  grid-row: 2;
}

.dash-ops-row__top .dash-ops-row__m {
  flex: 0 1 auto;
  max-width: 42%;
}

.dash-ops-row__meta {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--panel-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}

.dash-ops-row__s {
  font-size: 0.75rem;
  color: var(--panel-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-ops-row--tour .dash-ops-row__s {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--panel-text);
}

.dash-ops-empty {
  margin: 0.15rem 0 0.25rem;
}

.dash-ops-more {
  margin: 0.45rem 0 0;
}

@media (max-width: 640px) {
  .dash-ops-row {
    grid-template-columns: 1fr;
  }
  .dash-ops-row__k {
    grid-row: auto;
  }
}

.dash-latest-panel__head.panel-header,
#view-root > .grid-stats + .dash-latest-panel .panel-header,
.view-root .grid-stats + .dash-latest-panel .panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
  border-bottom: 1px solid var(--brand-brown-border);
}

.dash-latest-panel .table-wrap {
  border-radius: 0;
}

/* —— Requests page —— */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.requests-page .panel.panel--compact,
.operations-page .panel.panel--compact,
.statistics-page .panel.panel--compact {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  margin-bottom: 0.65rem;
}

.requests-page .panel.panel--compact {
  border: 1px solid var(--brand-brown-border);
  background: #ffffff;
}

/* Statistics / Operations / Bookmarks — outer panel border (matches styles.css Step 10 #cfdbea) */
.statistics-page .panel.panel--compact.reqd-panel--tourmenu,
.operations-page .panel.panel--compact.reqd-panel--tourmenu,
.bookmarks-page .panel.panel--compact.reqd-panel--tourmenu,
.services-page .panel.panel--compact.reqd-panel--tourmenu {
  border: 1px solid #cfdbea !important;
  box-shadow: 0 12px 26px rgba(18, 39, 74, 0.07) !important;
  background: #ffffff !important;
}

.requests-page .requests-block1 .panel-header,
.requests-page .requests-table-panel,
.dash-latest-panel.requests-table-panel,
.operations-page .requests-table-panel,
.statistics-page .statistics-table-panel {
  border-color: var(--brand-brown-border);
}

.requests-page .requests-table-panel,
.dash-latest-panel.requests-table-panel,
.operations-page .requests-table-panel,
.statistics-page .statistics-table-panel {
  overflow: hidden;
}

.operations-page .operations-table-panel.requests-table-panel,
.operations-page .operations-table-panel .table-wrap,
.statistics-page .statistics-table-panel.requests-table-panel,
.statistics-page .statistics-table-panel .table-wrap {
  background: #ffffff;
}

.requests-page .requests-table-panel__head,
.operations-page .requests-table-panel__head,
.statistics-page .statistics-table-panel .requests-table-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
}

.requests-page .requests-table-panel__title-wrap,
.operations-page .requests-table-panel__title-wrap,
.statistics-page .statistics-table-panel .requests-table-panel__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.requests-page .requests-table-panel__icon,
.operations-page .requests-table-panel__icon,
.statistics-page .statistics-table-panel .requests-table-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 9px;
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.requests-page .requests-table-panel__title,
.operations-page .requests-table-panel__title,
.statistics-page .statistics-table-panel .requests-table-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--brand-brown);
}

.requests-page .requests-table-panel__count,
.operations-page .requests-table-panel__count,
.statistics-page .statistics-table-panel .requests-table-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
}

.requests-page .requests-table-panel__head-actions {
  display: inline-flex;
  gap: 0.35rem;
}

.requests-page .rq-head-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--brand-brown-border);
  border-radius: var(--radius-pill);
  background: #fff;
  color: var(--brand-brown-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.requests-page .rq-head-icon-btn:hover {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  border-color: var(--brand-green-dim);
}

.requests-page .requests-table-panel .table-wrap,
.dash-latest-panel.requests-table-panel .table-wrap,
.operations-page .requests-table-panel .table-wrap,
.statistics-page .statistics-table-panel .table-wrap {
  border-radius: 0;
}

.requests-page .requests-colhead-panel table.data thead th,
table.requests-table.requests-table--rich thead th,
table.operations-table.requests-table--rich thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

table.requests-table.requests-table--rich .rq-th,
table.operations-table.requests-table--rich .rq-th {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem !important;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-th__label,
table.operations-table.requests-table--rich .rq-th__label {
  display: inline;
}

table.requests-table.requests-table--rich .rq-th-sort,
table.operations-table.requests-table--rich .rq-th-sort {
  display: inline-block;
  margin-left: 0.2rem;
  vertical-align: middle;
  opacity: 0.45;
}

table.operations-table.requests-table--rich .rq-th-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

table.operations-table.requests-table--rich .rq-th.is-sorted .rq-th-sort {
  opacity: 1;
  color: var(--brand-green-dim);
}

table.operations-table.requests-table--rich .rq-th.is-sorted--desc .rq-th-sort {
  transform: scaleY(-1);
}

table.requests-table.requests-table--rich {
  table-layout: fixed;
}

table.requests-table.requests-table--rich col.rq-col-lead-date {
  width: 6.75rem;
}

table.requests-table.requests-table--rich col.rq-col-code {
  width: 4.75rem;
}

table.requests-table.requests-table--rich col.rq-col-contact {
  width: 16%;
}

table.requests-table.requests-table--rich col.rq-col-pax {
  width: 2.85rem;
}

table.requests-table.requests-table--rich col.rq-col-dest {
  width: 9%;
}

table.requests-table.requests-table--rich col.rq-col-dates {
  width: 5.25rem;
}

table.requests-table.requests-table--rich col.rq-col-origin {
  width: 11%;
}

table.requests-table.requests-table--rich col.rq-col-origin-val {
  width: 10%;
}

table.requests-table.requests-table--rich col.rq-col-status {
  width: 9.5rem;
}

table.requests-table.requests-table--rich col.rq-col-tv {
  width: 6.5rem;
}

table.requests-table.requests-table--rich col.rq-col-actions {
  width: 4.75rem;
}

table.requests-table.requests-table--rich .rq-th.th-lead-date .rq-th__label,
table.requests-table.requests-table--rich .rq-th.th-actions .rq-th__label {
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-th.th-actions {
  text-align: right;
  padding-right: 0.65rem !important;
}

table.requests-table.requests-table--rich .rq-lead-date {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

table.requests-table.requests-table--rich .rq-lead-date .req-flag {
  flex-shrink: 0;
  font-size: 1rem;
}

table.requests-table.requests-table--rich .rq-lead-date .rq-date-stack {
  min-width: 0;
}

table.requests-table tbody td,
table.operations-table.requests-table--rich tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
}

table.requests-table.data--zebra tbody tr:nth-child(even) td {
  background: rgba(65, 50, 37, 0.02);
}

table.requests-table.data--zebra .req-row:hover td,
table.requests-table .req-row:hover td {
  background: var(--brand-green-soft) !important;
}

table.requests-table.data--zebra .req-row.req-row--confirmed td,
table.requests-table .req-row.req-row--confirmed td {
  background: var(--brand-green-softer) !important;
}

table.requests-table .req-row:focus-visible td {
  box-shadow: inset 0 0 0 2px var(--brand-green-dim);
}

/* Rich row cells (Requests + Dashboard latest) */
table.requests-table .req-flag {
  font-size: 1.15rem;
  line-height: 1;
}

table.requests-table.requests-table--rich .rq-date-stack {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1.2;
}

table.requests-table.requests-table--rich .rq-date-stack__main {
  font-weight: 700;
  color: #1f2937;
  font-size: 0.82rem;
}

table.requests-table.requests-table--rich .rq-date-stack__sub {
  font-size: 0.72rem;
  color: var(--brand-brown-muted);
}

table.requests-table.requests-table--rich .rq-code-pill,
table.operations-table.requests-table--rich .rq-code-pill {
  display: inline-block;
  padding: 0.18rem 0.45rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--brand-brown-border);
  background: var(--panel-surface-2);
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--brand-brown);
  font-variant-numeric: tabular-nums;
}

table.requests-table.requests-table--rich .rq-contact-cell {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

table.requests-table.requests-table--rich .rq-contact-name,
table.operations-table.requests-table--rich .rq-contact-name {
  font-weight: 700;
  color: #1f2937;
  font-size: 0.82rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-contact-sub {
  font-size: 0.72rem;
  color: var(--brand-brown-muted);
}

table.requests-table.requests-table--rich .rq-pax-badge,
table.operations-table.requests-table--rich .rq-pax-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.35rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
  font-weight: 700;
  font-size: 0.8rem;
}

table.requests-table.requests-table--rich .rq-dest-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

table.requests-table.requests-table--rich .rq-dest-chip,
table.stats-table.stats-table--rich .rq-dest-chip,
table.ibk-table.ibk-table--rich .rq-dest-chip,
table.catalogs-table.catalogs-table--rich .rq-dest-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: var(--radius-pill);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  background: rgba(65, 50, 37, 0.1);
  color: var(--brand-brown);
}

table.requests-table.requests-table--rich .rq-dest-chip[data-cc="VN"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="VN"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="VN"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="VN"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="VN"] {
  background: rgba(59, 130, 246, 0.15);
  color: #1d4ed8;
}

table.requests-table.requests-table--rich .rq-dest-chip[data-cc="KH"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="KH"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="KH"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="KH"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="KH"] {
  background: rgba(239, 68, 68, 0.14);
  color: #b91c1c;
}

table.requests-table.requests-table--rich .rq-dest-chip[data-cc="TH"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="TH"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="TH"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="TH"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="TH"] {
  background: rgba(34, 197, 94, 0.14);
  color: #15803d;
}

table.requests-table.requests-table--rich .rq-dest-chip[data-cc="LA"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="LA"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="LA"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="LA"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="LA"] {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
}

table.requests-table.requests-table--rich .rq-dest-chip[data-cc="TJ"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="UZ"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="KG"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="KA"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="TK"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="KZ"],
table.requests-table.requests-table--rich .rq-dest-chip[data-cc="TM"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="TJ"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="UZ"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="KG"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="KA"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="TK"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="KZ"],
table.stats-table.stats-table--rich .rq-dest-chip[data-cc="TM"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="TJ"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="UZ"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="KG"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="KA"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="TK"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="KZ"],
table.ibk-table.ibk-table--rich .rq-dest-chip[data-cc="TM"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="TJ"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="UZ"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="KG"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="KA"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="TK"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="KZ"],
table.catalogs-table.catalogs-table--rich .rq-dest-chip[data-cc="TM"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="TJ"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="UZ"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="KG"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="KA"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="TK"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="KZ"],
.suppliers-page table.sup-table .rq-dest-chip[data-cc="TM"] {
  background: rgba(99, 102, 241, 0.14);
  color: #4338ca;
}

table.requests-table.requests-table--rich .rq-tour-month,
table.operations-table.requests-table--rich .rq-tour-month {
  font-weight: 700;
  color: #1f2937;
  font-size: 0.82rem;
}

table.requests-table.requests-table--rich .rq-origin-cell {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  max-width: 100%;
}

table.requests-table.requests-table--rich .rq-origin-icon-svg {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
}

table.requests-table.requests-table--rich .rq-origin-icon-svg svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
}

table.requests-table.requests-table--rich .rq-origin-label {
  font-size: 0.74rem;
  color: var(--brand-brown);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-status-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
}

.requests-page .rq-edit-status-block .small.muted,
.newreq-modal .rq-edit-status-block .small.muted,
#modal .rq-edit-status-block .small.muted {
  margin: 0.55rem 0 0;
  line-height: 1.45;
}

/* Edit request modal — status toolbar (badge + action aligned) */
.newreq-modal .rq-edit-status-toolbar,
#modal .rq-edit-status-toolbar {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.35rem;
  padding: 0.55rem 0.7rem;
  background: #fafaf8;
  border: 1px solid var(--brand-brown-border);
  border-radius: 10px;
}

.newreq-modal .rq-edit-status-toolbar .rq-status-pill,
#modal .rq-edit-status-toolbar .rq-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0 0.75rem;
  margin: 0;
  border-radius: var(--radius-pill);
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1;
  flex-shrink: 0;
}

.newreq-modal .rq-edit-status-toolbar .rq-edit-status-btn,
#modal .rq-edit-status-toolbar .rq-edit-status-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  height: 2rem;
  padding: 0 0.85rem !important;
  margin: 0;
  border-radius: var(--radius-pill) !important;
  font-size: 0.74rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.newreq-modal .rq-edit-status-toolbar .rq-edit-status-btn--cancel,
#modal .rq-edit-status-toolbar .rq-edit-status-btn--cancel {
  background: rgba(168, 56, 56, 0.12) !important;
  border: 1px solid rgba(168, 56, 56, 0.28) !important;
  color: #9b3333 !important;
}

.newreq-modal .rq-edit-status-toolbar .rq-edit-status-btn--cancel:hover,
#modal .rq-edit-status-toolbar .rq-edit-status-btn--cancel:hover {
  background: rgba(212, 92, 92, 0.2) !important;
  border-color: #a83838 !important;
  color: #7f2a2a !important;
}

.newreq-modal .rq-edit-status-toolbar .rq-edit-status-btn--reopen,
#modal .rq-edit-status-toolbar .rq-edit-status-btn--reopen {
  background: var(--brand-green-soft) !important;
  border: 1px solid var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.newreq-modal .rq-edit-status-toolbar .rq-edit-status-btn--reopen:hover,
#modal .rq-edit-status-toolbar .rq-edit-status-btn--reopen:hover {
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
}

.newreq-modal .rq-status-pill--pending,
#modal .rq-status-pill--pending {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

.newreq-modal .rq-status-pill--progress,
#modal .rq-status-pill--progress {
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.newreq-modal .rq-status-pill--confirmed,
#modal .rq-status-pill--confirmed {
  background: var(--brand-green);
  color: var(--brand-brown);
}

.newreq-modal .rq-status-pill--cancelled,
#modal .rq-status-pill--cancelled {
  background: rgba(212, 92, 92, 0.14);
  color: #a83838;
}

table.requests-table.requests-table--rich .rq-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

table.requests-table.requests-table--rich .rq-status-action {
  font-size: 0.68rem !important;
  font-weight: 650 !important;
  padding: 0.18rem 0.45rem !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-status-action--cancel {
  color: #a83838 !important;
  border-color: rgba(168, 56, 56, 0.35) !important;
}

table.requests-table.requests-table--rich .rq-status-action--cancel:hover {
  background: rgba(212, 92, 92, 0.12) !important;
  border-color: #a83838 !important;
}

table.requests-table.requests-table--rich .rq-status-action.btn-primary {
  background: var(--brand-green) !important;
  color: var(--brand-brown) !important;
  border-color: var(--brand-green-dim) !important;
}

table.requests-table.requests-table--rich .rq-status-select-wrap,
table.requests-table.requests-table--rich .rq-status-select {
  display: none !important;
}

table.requests-table.requests-table--rich .rq-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.16rem 0.5rem;
  border-radius: var(--radius-pill);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-status-pill__dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: currentColor;
}

table.requests-table.requests-table--rich .rq-status-pill--pending {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

table.requests-table.requests-table--rich .rq-status-pill--progress {
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

table.requests-table.requests-table--rich .rq-status-pill--confirmed {
  background: var(--brand-green);
  color: var(--brand-brown);
}

table.requests-table.requests-table--rich .rq-status-pill--cancelled {
  background: rgba(212, 92, 92, 0.14);
  color: #a83838;
}

table.requests-table.requests-table--rich .rq-status-select-wrap {
  width: 100%;
  max-width: 7.5rem;
}

table.requests-table.requests-table--rich .rq-status-select {
  width: 100%;
  font-size: 0.68rem !important;
  padding: 0.12rem 0.3rem !important;
  border-radius: 6px !important;
  border-color: var(--brand-brown-border) !important;
  background: #fff !important;
}

table.requests-table.requests-table--rich .rq-tv-cell {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 4.5rem;
}

table.requests-table.requests-table--rich .rq-tv-cell__top {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

table.requests-table.requests-table--rich .rq-tv-ratio {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--brand-brown-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-tv-bar {
  flex: 1;
  min-width: 2.5rem;
  height: 0.28rem;
  border-radius: var(--radius-pill);
  background: rgba(65, 50, 37, 0.1);
  overflow: hidden;
}

table.requests-table.requests-table--rich .rq-tv-bar__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--brand-green);
  transition: width 0.2s ease;
}

.requests-page .rq-tv-bar--idle .rq-tv-bar__fill {
  background: rgba(65, 50, 37, 0.25);
}

table.requests-table.requests-table--rich .rq-tv-bar--progress .rq-tv-bar__fill {
  background: #e8a020;
}

table.requests-table.requests-table--rich .rq-tv-bar--done .rq-tv-bar__fill {
  background: var(--brand-green-dim);
}

table.requests-table.requests-table--rich thead th,
table.operations-table.requests-table--rich thead th {
  vertical-align: bottom;
  line-height: 1.2;
}

table.requests-table.requests-table--rich tbody td.td-actions,
table.operations-table.requests-table--rich tbody td.td-actions {
  display: table-cell !important;
  padding-right: 0.5rem !important;
  text-align: right;
  vertical-align: middle;
}

table.requests-table.requests-table--rich .rq-td-actions-rich {
  white-space: nowrap;
}

table.requests-table.requests-table--rich .rq-td-actions-rich .rq-row-actions-newtour {
  display: none !important;
}

table.requests-table.requests-table--rich .rq-td-actions-rich .rq-row-actions-icons {
  display: inline-flex !important;
  align-items: center;
  gap: 0.25rem;
  width: auto !important;
  min-width: 0 !important;
  justify-content: flex-end;
}

table.requests-table.requests-table--rich .rq-icon-btn--round {
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  border-radius: var(--radius-pill);
  border: 1px solid var(--brand-brown-border);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

table.requests-table.requests-table--rich .rq-icon-btn--round:hover {
  background: var(--brand-green-soft);
  border-color: var(--brand-green-dim);
}

/* Pagination footer */
.requests-page .requests-pager.list-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--brand-brown-border);
  background: #fafaf8;
}

.requests-page .requests-pager__meta {
  margin: 0;
  font-size: 0.8rem;
  color: var(--brand-brown-muted);
}

.requests-page .requests-pager__meta strong {
  color: var(--brand-brown);
  font-weight: 700;
}

.requests-page .list-pager__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.requests-page .list-pager__pages {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.requests-page .list-pager__nav,
.requests-page .list-pager__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--brand-brown-muted);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.requests-page .list-pager__nav {
  border-color: var(--brand-brown-border);
  background: #fff;
}

.requests-page .list-pager__nav:hover:not(:disabled),
.requests-page .list-pager__page:hover:not(.is-active) {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
}

.requests-page .list-pager__nav:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.requests-page .list-pager__page.is-active {
  background: var(--brand-green);
  color: var(--brand-brown);
  border-color: var(--brand-green-dim);
  font-weight: 700;
}

.requests-page .list-pager__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  color: var(--brand-brown-muted);
  font-size: 0.85rem;
  user-select: none;
}

/* Requests toolbar: search | filters bar | spacer | New request */
.requests-page .requests-main-toolbar {
  display: grid !important;
  grid-template-columns: minmax(8rem, 0.91fr) auto 1fr auto !important;
  grid-template-areas: "search filters spacer newreq" !important;
  align-items: stretch !important;
  gap: 0.65rem 0.55rem !important;
  width: 100%;
}

.requests-page .rq-main-search-wrap {
  grid-area: search !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  justify-self: start;
}

.requests-page .rq-filters-bar {
  grid-area: filters;
  display: flex;
  align-items: center;
  min-height: 2.72rem;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid var(--brand-brown-border);
  background: var(--panel-surface-2);
  padding: 0.22rem 0.4rem;
}

.requests-page .rq-filters-bar .rq-status-tabs {
  display: inline-flex !important;
  align-items: center;
  gap: 0.28rem;
  flex-wrap: nowrap !important;
  white-space: nowrap;
  height: 100%;
  margin: 0;
  padding: 0.12rem 0.15rem !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.requests-page .rq-filters-bar #rq-toggle-advanced,
.requests-page .rq-filters-bar #rq-clear-filters {
  flex-shrink: 0;
  min-height: 2.1rem !important;
  height: auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 0.45rem !important;
  border-radius: 8px !important;
}

.requests-page .rq-filters-bar .rq-icon-btn-label {
  font-size: 0.78rem !important;
}

.requests-page .requests-toolbar-new {
  grid-area: newreq;
  display: flex;
  align-items: center;
  justify-self: end;
}

.requests-page .requests-new-btn {
  min-height: 2.72rem !important;
  height: 2.72rem;
  border-radius: 12px !important;
  padding: 0 1.1rem !important;
  font-size: 0.86rem !important;
  font-weight: 650 !important;
  white-space: nowrap;
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.requests-page .requests-new-btn:hover {
  background: var(--brand-green-dim) !important;
}

@media (max-width: 900px) {
  .requests-page .requests-main-toolbar {
    grid-template-columns: 1fr auto !important;
    grid-template-areas:
      "search newreq"
      "filters filters"
      "spacer spacer" !important;
  }

  .requests-page .rq-filters-bar {
    width: 100%;
  }

  .requests-page .rq-filters-bar .rq-status-tabs {
    flex-wrap: wrap !important;
    white-space: normal;
  }
}

/* Status filter pills (override blue theme in styles.css) */
.requests-page .rq-filters-bar .rq-status-tab {
  color: var(--brand-brown-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  padding: 0.32rem 0.58rem !important;
  box-shadow: none !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.requests-page .rq-filters-bar .rq-status-tab:hover {
  color: var(--brand-brown) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border-color: var(--brand-brown-border) !important;
}

.requests-page .rq-filters-bar .rq-status-tab.is-active {
  color: var(--brand-brown) !important;
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
  font-weight: 650 !important;
  padding: 0.42rem 0.82rem !important;
}

.requests-page .rq-filters-bar .rq-status-tab.is-active:hover {
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
}

.requests-page .rq-main-search,
.requests-page .rq-main-search.filter-contact {
  border-color: var(--border) !important;
  color: var(--brand-brown) !important;
}

.requests-page .rq-main-search:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
}

.requests-page .date-scope-toggle.is-active {
  color: var(--brand-brown) !important;
  border-color: var(--brand-green-dim) !important;
  background: var(--brand-green-soft) !important;
}

.requests-page .rq-icon-btn:hover {
  background: var(--brand-green-softer) !important;
}

.requests-page .rq-icon-btn-label {
  color: var(--brand-brown-muted) !important;
}

.requests-page .requests-pager .btn {
  font-weight: 600;
}

@media (max-width: 900px) {
  .requests-page .requests-pager.list-pager {
    flex-direction: column;
    align-items: stretch;
  }

  .requests-page .list-pager__actions {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Status badges inside request rows */
.requests-page .badge-pending {
  background: rgba(65, 50, 37, 0.1);
  color: var(--brand-brown-muted);
}

.requests-page .badge-confirmed {
  background: var(--brand-green);
  color: var(--brand-brown);
}

/* —— Itinerary: slightly stronger panels (same file, reversible) —— */
.itv-day-by-day-panel.panel,
.reqd-panel.panel--compact {
  box-shadow: var(--shadow-md);
}

.itv-pdf-sidebar .itv-pdf-field--row input[type="checkbox"] {
  accent-color: var(--brand-green-dim);
}

.itv-pdf-sidebar .itv-pdf-quot-variant input[type="checkbox"] {
  accent-color: var(--brand-green-dim);
}

/* —— Clients page (search + rich table + pagination, aligned with Requests) —— */
.clients-page .clients-block1 .panel-header,
.clients-page .clients-table-panel {
  border-color: var(--brand-brown-border);
}

.clients-page .clients-table-panel {
  overflow: hidden;
}

.clients-page .clients-table-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
  border-bottom: 1px solid var(--brand-brown-border);
}

.clients-page .clients-table-panel__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.clients-page .clients-table-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  flex-shrink: 0;
}

.clients-page .clients-table-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.4rem;
  border-radius: var(--radius-pill);
  background: rgba(65, 50, 37, 0.08);
  color: var(--brand-brown-muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.clients-page .clients-table-panel .table-wrap {
  border-radius: 0;
}

.clients-page .rq-main-search-wrap {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.clients-page .rq-main-search,
.clients-page .rq-main-search.filter-contact {
  border-color: var(--border) !important;
  color: var(--brand-brown) !important;
  min-height: 2.72rem !important;
  border-radius: 12px !important;
}

.clients-page .rq-main-search:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
}

table.clients-table.clients-table--rich thead th {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--brand-brown-muted);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
  padding: 0.55rem 0.45rem;
}

table.clients-table.clients-table--rich .cl-th {
  white-space: nowrap;
  vertical-align: bottom;
}

table.clients-table.clients-table--rich .cl-th__label {
  margin-right: 0.2rem;
}

table.clients-table.clients-table--rich .cl-th--plain .cl-th__label {
  display: inline-block;
}

table.clients-table.clients-table--rich .cl-th--sortable {
  padding: 0;
}

table.clients-table.clients-table--rich .cl-th-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  width: 100%;
  margin: 0;
  padding: 0.55rem 0.45rem;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

table.clients-table.clients-table--rich .th-requests .cl-th-sort-btn,
table.clients-table.clients-table--rich .th-activity .cl-th-sort-btn {
  justify-content: center;
  text-align: center;
}

table.clients-table.clients-table--rich .cl-th-sort-btn:hover {
  color: var(--brand-brown);
}

table.clients-table.clients-table--rich .cl-th.is-sorted .cl-th-sort-btn {
  color: var(--brand-brown);
}

table.clients-table.clients-table--rich .cl-th-sort {
  opacity: 0.45;
  vertical-align: middle;
  flex-shrink: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

table.clients-table.clients-table--rich .cl-th.is-sorted .cl-th-sort {
  opacity: 1;
  color: var(--brand-green-dim);
}

table.clients-table.clients-table--rich .cl-th.is-sorted--desc .cl-th-sort {
  transform: scaleY(-1);
}

table.clients-table.clients-table--rich {
  table-layout: fixed;
  width: 100%;
}

table.clients-table.clients-table--rich col.cl-col-name {
  width: 28%;
}

table.clients-table.clients-table--rich col.cl-col-contact {
  width: 36%;
}

table.clients-table.clients-table--rich col.cl-col-requests {
  width: 12%;
}

table.clients-table.clients-table--rich col.cl-col-activity {
  width: 24%;
}

.clients-page table.clients-table.clients-table--rich tbody td {
  padding: 0.86rem 0.63rem !important;
  vertical-align: middle;
  border-bottom: 1px solid rgba(65, 50, 37, 0.06);
}

table.clients-table.data--zebra tbody tr:nth-child(even) td {
  background: rgba(65, 50, 37, 0.02);
}

table.clients-table .clients-data-row:hover td {
  background: var(--brand-green-soft) !important;
  cursor: pointer;
}

table.clients-table .clients-data-row:focus-visible td {
  box-shadow: inset 0 0 0 2px var(--brand-green-dim);
}

table.clients-table .cl-name-cell {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

table.clients-table .cl-name-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex-shrink: 0;
  border-radius: 9px;
  box-sizing: border-box;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #ffffff;
}

table.clients-table .cl-name-primary {
  font-weight: 700;
  font-size: 0.86rem;
  line-height: 1.25;
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

table.clients-table .cl-name-card--tone-0 {
  background: #6b9a4d;
}

table.clients-table .cl-name-card--tone-1 {
  background: #3b82c4;
}

table.clients-table .cl-name-card--tone-2 {
  background: #d4921c;
}

table.clients-table .cl-name-card--tone-3 {
  background: #8b5cf6;
}

table.clients-table .cl-name-card--tone-4 {
  background: #db5c96;
}

table.clients-table .cl-name-card--tone-5 {
  background: #14a89a;
}

table.clients-table .cl-contact-cell {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

table.clients-table .cl-contact-line {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

table.clients-table .cl-contact-icon {
  flex-shrink: 0;
  color: var(--brand-brown-muted);
  opacity: 0.85;
}

table.clients-table .cl-contact-text {
  font-size: 0.72rem;
  color: var(--brand-brown);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

table.clients-table .cl-contact-line--empty .cl-contact-text.muted {
  color: var(--brand-brown-muted);
}

table.clients-table .cl-th.th-requests,
table.clients-table .cl-td-requests,
table.clients-table .cl-th.th-activity,
table.clients-table .cl-td-activity {
  text-align: center;
}

table.clients-table .cl-activity-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

table.clients-table .cl-req-badge-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

table.clients-table .cl-req-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 0.4rem;
  border-radius: var(--radius-pill);
  font-size: 0.78rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

table.clients-table .cl-req-badge--none {
  background: rgba(65, 50, 37, 0.08);
  color: var(--brand-brown-muted);
}

table.clients-table .cl-req-badge--low {
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

table.clients-table .cl-req-badge--high {
  background: var(--brand-green);
  color: var(--brand-brown);
}

table.clients-table .cl-activity {
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1.25;
}

table.clients-table .cl-activity--recent {
  color: var(--brand-green-dim);
}

table.clients-table .cl-activity--medium {
  color: var(--brand-brown);
}

table.clients-table .cl-activity--old,
table.clients-table .cl-activity--none {
  color: var(--brand-brown-muted);
}

.clients-page .requests-pager.list-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--brand-brown-border);
  background: #fafaf8;
}

.clients-page .requests-pager__meta {
  margin: 0;
  font-size: 0.8rem;
  color: var(--brand-brown-muted);
}

.clients-page .requests-pager__meta strong {
  color: var(--brand-brown);
  font-weight: 700;
}

.clients-page .list-pager__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.clients-page .list-pager__pages {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.clients-page .list-pager__nav,
.clients-page .list-pager__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--brand-brown-muted);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.clients-page .list-pager__nav {
  border-color: var(--brand-brown-border);
  background: #fff;
}

.clients-page .list-pager__nav:hover:not(:disabled),
.clients-page .list-pager__page:hover:not(.is-active) {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
}

.clients-page .list-pager__nav:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.clients-page .list-pager__page.is-active {
  background: var(--brand-green);
  color: var(--brand-brown);
  border-color: var(--brand-green-dim);
  font-weight: 700;
}

.clients-page .list-pager__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  color: var(--brand-brown-muted);
  font-size: 0.85rem;
  user-select: none;
}

@media (max-width: 900px) {
  .clients-page .requests-pager.list-pager {
    flex-direction: column;
    align-items: stretch;
  }

  .clients-page .list-pager__actions {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* —— Suppliers (list + edit — aligned with Services / Hotel toolbar) —— */
.suppliers-page {
  gap: 0.65rem;
}

.suppliers-page .panel.panel--compact.reqd-panel--tourmenu {
  border: 1px solid #cfdbea !important;
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 26px rgba(18, 39, 74, 0.07) !important;
  background: #ffffff !important;
}

.suppliers-page .suppliers-block1 {
  overflow: hidden;
}

.suppliers-page .suppliers-block1-toolbar,
.suppliers-page .sup-page-toolbar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.65rem 0.75rem !important;
  width: 100%;
  box-sizing: border-box;
  padding: 0.7rem 1rem 0.65rem !important;
  border-bottom: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.suppliers-page .sup-toolbar-main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.75rem;
  margin: 0;
}

.suppliers-page .sup-toolbar-icons {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.35rem;
  margin-left: 0;
}

.suppliers-page .sup-country-flags {
  flex-shrink: 0;
  gap: 0.35rem;
  margin-left: 0;
}

.suppliers-page .sup-country-flags .tg-lang-filter-btn {
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0.2rem 0.45rem;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 10px !important;
}

.suppliers-page .sup-country-flags .tg-lang-filter-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  box-shadow: inset 0 0 0 1px rgba(126, 173, 90, 0.25);
}

.suppliers-page .sup-page-toolbar .tg-guide-block1-new,
.suppliers-page .sup-page-toolbar .suppliers-new-btn {
  margin-left: auto !important;
  flex-shrink: 0;
}

.suppliers-page .suppliers-new-btn {
  min-height: 2.35rem !important;
  border-radius: 12px !important;
  font-weight: 650 !important;
  white-space: nowrap;
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.suppliers-page .suppliers-new-btn:hover {
  background: var(--brand-green-dim) !important;
}

.suppliers-page.supplier-edit-shell {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.suppliers-page .supplier-edit-panel {
  overflow: hidden;
}

.suppliers-page .supplier-edit-page {
  padding: 0.85rem 1rem 1rem;
  box-sizing: border-box;
}

.suppliers-page .supplier-edit-page .ce-main,
.suppliers-page .supplier-edit-page .supplier-edit-bank {
  border: 1px solid #cfdbea;
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 160%);
  box-shadow: 0 8px 20px rgba(18, 39, 74, 0.05);
}

.suppliers-page .supplier-edit-page .ce-main {
  padding: 1rem 1.1rem 1.15rem;
}

.suppliers-page .supplier-edit-page .supplier-edit-bank {
  margin-top: 0;
  padding: 1rem 1.1rem 1.15rem;
}

.suppliers-page .supplier-edit-page .ce-lbl {
  color: var(--brand-brown-muted);
  font-weight: 600;
}

.suppliers-page .supplier-edit-page select.ce-inp,
.suppliers-page .supplier-edit-page input.ce-inp,
.suppliers-page .supplier-edit-page textarea.ce-inp {
  border-color: var(--border) !important;
  border-radius: 10px !important;
  color: var(--brand-brown) !important;
  background: #ffffff !important;
}

.suppliers-page .supplier-edit-page select.ce-inp:focus,
.suppliers-page .supplier-edit-page input.ce-inp:focus,
.suppliers-page .supplier-edit-page textarea.ce-inp:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
  outline: none;
}

.suppliers-page .supplier-edit-page .ce-upload-btn span {
  border-radius: 10px !important;
  border-color: var(--border) !important;
  color: var(--brand-brown) !important;
  background: #ffffff !important;
}

.suppliers-page .supplier-edit-page .ce-upload-btn:hover span {
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
  background: var(--brand-green-softer) !important;
}

.suppliers-page .supplier-edit-bank .ce-aside-title {
  color: var(--brand-brown);
  font-weight: 700;
}

.suppliers-page .panel.panel--compact.reqd-panel--tourmenu.sup-region-strip {
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
  border: 1px solid var(--brand-brown-border);
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-lg);
  padding: 0.62rem 0.95rem;
}

.suppliers-page .sup-region-title {
  color: var(--brand-brown);
  font-weight: 650;
}

.suppliers-page table.data thead th {
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--brand-brown-muted);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
}

.suppliers-page table.data tbody tr:nth-child(even) td {
  background: rgba(65, 50, 37, 0.02);
}

.suppliers-page .sup-row:hover td {
  background: var(--brand-green-soft) !important;
  font-weight: inherit;
}

.suppliers-page table.data td {
  border-bottom-color: rgba(65, 50, 37, 0.06);
  color: var(--brand-brown);
}

.suppliers-page .empty-state {
  color: var(--brand-brown-muted);
}

.suppliers-page table.sup-table .sup-cc-cell {
  text-align: left;
  vertical-align: middle;
}

/* Suppliers CC — square rounded cards (size only; colors via [data-cc] rules above) */
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  border-radius: 9px;
  box-sizing: border-box;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1;
}

/* Myanmar — same chip family as Requests (MM stored on suppliers) */
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="MM"] {
  background: rgba(14, 165, 233, 0.15);
  color: #0369a1;
}

/* Country colors (after size block — must beat .sup-cc-chip-only layout rule) */
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="VN"] {
  background: rgba(59, 130, 246, 0.15);
  color: #1d4ed8;
}

.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="KH"] {
  background: rgba(239, 68, 68, 0.14);
  color: #b91c1c;
}

.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="TH"] {
  background: rgba(34, 197, 94, 0.14);
  color: #15803d;
}

.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="LA"] {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
}

.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="TJ"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="UZ"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="KG"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="KA"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="TK"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="KZ"],
.suppliers-page table.sup-table .sup-cc-chip.rq-dest-chip[data-cc="TM"] {
  background: rgba(99, 102, 241, 0.14);
  color: #4338ca;
}

@media (max-width: 900px) {
  .suppliers-page .sup-toolbar-main {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .suppliers-page .sup-country-flags {
    flex-wrap: wrap;
  }
}

/* —— Operations page (reuses Requests table + panel classes) —— */
.operations-page .operations-page__note {
  margin: 0.55rem 1rem 0.65rem;
  color: var(--brand-brown-muted);
}

.operations-page .requests-table-panel .table-wrap {
  border-radius: 0;
}

table.operations-table.requests-table--rich {
  table-layout: fixed;
  width: 100%;
}

table.operations-table.requests-table--rich col.op-col-arrival,
table.operations-table.requests-table--rich col.op-col-departure {
  width: 11%;
}

table.operations-table.requests-table--rich col.op-col-request {
  width: 10%;
}

table.operations-table.requests-table--rich col.op-col-client {
  width: 18%;
}

table.operations-table.requests-table--rich col.op-col-tour {
  width: 28%;
}

table.operations-table.requests-table--rich col.op-col-pax {
  width: 8%;
}

table.operations-table.requests-table--rich col.op-col-actions {
  width: 10%;
}

.operations-page .empty-state {
  color: var(--brand-brown-muted);
}

.operations-page table.data tbody td {
  color: var(--brand-brown) !important;
}

/* Same even-row tint as Clients / Requests (.clients-page table.data … #fbfdff in styles.css) */
.operations-page table.data tbody tr:nth-child(even) td,
table.operations-table.data--zebra tbody tr:nth-child(even) td {
  background: #fbfdff;
}

table.operations-table.data--zebra tbody tr.op-row {
  cursor: pointer;
}

table.operations-table.data--zebra tbody tr.op-row:hover td,
table.operations-table.data--zebra tbody tr.op-row:nth-child(even):hover td,
table.operations-table.data--zebra tbody tr.op-row:nth-child(odd):hover td {
  background: rgba(126, 173, 90, 0.14) !important;
}

.operations-page .operations-view-tabs {
  display: inline-flex;
  gap: 0.35rem;
  flex-shrink: 0;
}

.operations-page .op-view-btn {
  border-radius: 999px !important;
  border-color: var(--brand-brown-border) !important;
  background: #fff !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650;
}

.operations-page .op-view-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.operations-page .operations-page__note-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin: 0.55rem 1rem 0.65rem;
  flex-wrap: wrap;
}

.operations-page .operations-page__note-wrap .operations-page__note {
  margin: 0;
}

.operations-page .operations-cal-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.operations-page .operations-cal-nav__label {
  min-width: 8.2rem;
  text-align: center;
  color: var(--brand-brown);
}

.operations-page .operations-calendar-wrap {
  max-height: 70vh;
  overflow: auto;
}

table.operations-calendar-table {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  min-width: max-content;
}

table.operations-calendar-table thead th {
  position: sticky;
  top: 0;
  background: #fafaf8 !important;
  background-clip: padding-box;
  z-index: 40;
  border-bottom: 1px solid var(--brand-brown-border);
  box-shadow: 0 2px 0 #fafaf8, 0 3px 6px rgba(15, 23, 42, 0.1);
}

table.operations-calendar-table thead th.opcal-tour-head {
  z-index: 38;
}

table.operations-calendar-table thead th:first-child {
  left: 0;
  z-index: 45;
  min-width: var(--opcal-date-col-width, 8.8rem);
  width: var(--opcal-date-col-width, 8.8rem);
  box-shadow: 2px 2px 0 #fafaf8, 2px 3px 6px rgba(15, 23, 42, 0.1);
}

table.operations-calendar-table .opcal-tour-col {
  border-left: 2px solid #111 !important;
  border-right: 2px solid #111 !important;
}

table.operations-calendar-table .opcal-tour-head {
  vertical-align: top;
  padding: 0 !important;
  box-shadow: inset 0 -2px 0 #111;
}

table.operations-calendar-table .opcal-tour-head-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.18rem;
  width: 100%;
  padding: 0.55rem 0.52rem;
  border: none;
  background: #fafaf8;
  text-align: left;
  cursor: pointer;
}

table.operations-calendar-table .opcal-head-client {
  font-weight: 700;
  color: var(--brand-brown);
}

table.operations-calendar-table .opcal-head-meta,
table.operations-calendar-table .opcal-head-pay {
  font-size: 0.72rem;
  color: var(--brand-brown-muted);
}

table.operations-calendar-table .opcal-head-tour {
  font-size: 0.76rem;
  color: #2e4462;
  font-weight: 600;
}

table.operations-calendar-table tbody td {
  position: relative;
  z-index: 1;
  border-right: 1px solid var(--brand-brown-border);
  border-bottom: 1px solid var(--brand-brown-border);
  padding: 0.12rem !important;
}

table.operations-calendar-table .opcal-date-cell {
  position: sticky;
  left: 0;
  z-index: 8;
  min-width: var(--opcal-date-col-width, 8.8rem);
  width: var(--opcal-date-col-width, 8.8rem);
  background: #f4f7fb;
  background-clip: padding-box;
  color: var(--brand-brown);
  font-weight: 650;
  white-space: nowrap;
  box-shadow: 2px 0 4px rgba(15, 23, 42, 0.06);
}

table.operations-calendar-table tr.opcal-row--month-start td {
  border-top: 2px solid #111;
}

table.operations-calendar-table .opcal-td--empty {
  background: #fff;
}

table.operations-calendar-table .opcal-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  width: 100%;
  min-height: 3.15rem;
  padding: 0.28rem 0.32rem;
  border: 2px solid #111;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.42);
  color: #0f3654;
  text-align: left;
  cursor: pointer;
  position: relative;
  z-index: 0;
}

table.operations-calendar-table .opcal-cell.opcal-pay--paid {
  background: rgba(22, 163, 74, 0.22);
  border-color: #15803d;
}

table.operations-calendar-table .opcal-cell.opcal-pay--partial {
  background: rgba(217, 119, 6, 0.2);
  border-color: #b45309;
}

table.operations-calendar-table .opcal-cell.opcal-pay--unpaid {
  background: rgba(220, 38, 38, 0.14);
  border-color: #b91c1c;
}

table.operations-calendar-table .opcal-cell:hover {
  filter: brightness(0.97);
}

table.operations-calendar-table .opcal-tour-head.opcal-pay--paid {
  background: rgba(22, 163, 74, 0.1) !important;
}

table.operations-calendar-table .opcal-tour-head.opcal-pay--partial {
  background: rgba(217, 119, 6, 0.12) !important;
}

table.operations-calendar-table .opcal-tour-head.opcal-pay--unpaid {
  background: rgba(220, 38, 38, 0.08) !important;
}

/* Country row colors: inline via JS (OPCAL_COUNTRY_COLOR + transition blend). */

table.operations-calendar-table .opcal-svc-badge {
  display: inline-block;
  max-width: 100%;
  padding: 0.06rem 0.32rem;
  border-radius: 4px;
  font-size: 0.66rem;
  font-weight: 650;
  line-height: 1.25;
  border: 1px solid transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

table.operations-calendar-table .opcal-svc-badge--pending {
  background: rgba(220, 38, 38, 0.18);
  border-color: #b91c1c;
  color: #7f1d1d;
}

table.operations-calendar-table .opcal-svc-badge--requested {
  background: rgba(234, 179, 8, 0.28);
  border-color: #ca8a04;
  color: #713f12;
}

table.operations-calendar-table .opcal-svc-badge--confirmed {
  background: rgba(22, 163, 74, 0.22);
  border-color: #15803d;
  color: #14532d;
}

table.operations-calendar-table .opcal-cell__meta-muted {
  font-size: 0.68rem;
  opacity: 0.75;
}

.operations-page .operations-cal-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem 0.85rem;
}

.operations-page .operations-cal-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
}

.operations-page .operations-cal-filter {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
}

.operations-page .operations-cal-filter > .small.muted {
  font-size: 0.72rem;
  line-height: 1;
  white-space: nowrap;
  margin: 0;
}

.operations-page .operations-cal-filter .inp-sm {
  min-width: 5.8rem;
  max-width: 8.5rem;
  width: auto;
  padding: 0.18rem 0.42rem;
  font-size: 0.78rem;
  line-height: 1.2;
  box-sizing: border-box;
}

.operations-page .operations-cal-span-group {
  display: inline-flex;
  gap: 0.2rem;
  margin-left: 0.25rem;
}

.operations-page .op-cal-span-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
  font-weight: 700;
}

.operations-page .operations-cal-window-group {
  display: inline-flex;
  gap: 0.2rem;
  margin-left: 0.35rem;
  padding-left: 0.45rem;
  border-left: 1px solid var(--brand-brown-border);
}

.operations-page .op-cal-window-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
  font-weight: 700;
}

.operations-page .op-view-btn--trial {
  border-style: dashed !important;
}

.operations-page .op-cal-density-btn.is-active {
  background: rgba(37, 99, 235, 0.12) !important;
  border-color: #3b82f6 !important;
  font-weight: 700;
}

.operations-page .operations-cal-zoom-group,
.operations-page .operations-cal-datecol-group {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  margin-left: 0.35rem;
  padding-left: 0.45rem;
  border-left: 1px solid var(--brand-brown-border);
}

.operations-page .operations-cal-datecol-caption {
  margin-right: 0.08rem;
}

.operations-page .operations-cal-datecol-label {
  min-width: 2.6rem;
  text-align: center;
}

.operations-page .operations-cal-zoom-label {
  min-width: 2.2rem;
  text-align: center;
}

.operations-page .opcal-density-bar {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  width: 100%;
  margin: 0.35rem 0 0.5rem;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid var(--brand-brown-border);
}

.operations-page .opcal-density-bar__year {
  font-weight: 700;
  color: var(--brand-brown);
  margin-right: 0.35rem;
  align-self: center;
}

.operations-page .opcal-density-cell {
  flex: 1;
  min-width: 2.2rem;
  max-width: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.12rem;
  padding: 0.2rem 0.15rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}

.operations-page .opcal-density-cell:hover {
  background: rgba(126, 173, 90, 0.12);
  border-color: var(--brand-green-dim);
}

.operations-page .opcal-density-cell.is-active {
  background: var(--brand-green-soft);
  border-color: var(--brand-green-dim);
}

.operations-page .opcal-density-cell__bar {
  width: 70%;
  min-height: 8px;
  border-radius: 3px 3px 0 0;
  background: var(--brand-green-dim);
}

.operations-page .opcal-density-cell__n {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--brand-brown);
}

.operations-page .opcal-density-cell__m {
  font-size: 0.62rem;
  color: var(--brand-brown-muted);
}

/* Calendar column zoom (more columns on screen at lower %) */
.operations-calendar-wrap.opcal-zoom--100 {
  --opcal-tour-col-w: 18rem;
  --opcal-tour-col-w2: 9.5rem;
  --opcal3-meta-w: 6.2rem;
  --opcal3-day-w: 12.5rem;
  --opcal-cell-min-h: 3.15rem;
  --opcal-font-title: 0.72rem;
  --opcal-font-meta: 0.68rem;
}

.operations-calendar-wrap.opcal-zoom--85 {
  --opcal-tour-col-w: 14.5rem;
  --opcal-tour-col-w2: 8rem;
  --opcal3-meta-w: 5.4rem;
  --opcal3-day-w: 10rem;
  --opcal-cell-min-h: 2.75rem;
  --opcal-font-title: 0.67rem;
  --opcal-font-meta: 0.63rem;
}

.operations-calendar-wrap.opcal-zoom--70 {
  --opcal-tour-col-w: 11.5rem;
  --opcal-tour-col-w2: 6.5rem;
  --opcal3-meta-w: 4.8rem;
  --opcal3-day-w: 8rem;
  --opcal-cell-min-h: 2.35rem;
  --opcal-font-title: 0.62rem;
  --opcal-font-meta: 0.58rem;
}

.operations-calendar-wrap.opcal-zoom--55 {
  --opcal-tour-col-w: 9rem;
  --opcal-tour-col-w2: 5.2rem;
  --opcal3-meta-w: 4.2rem;
  --opcal3-day-w: 6.2rem;
  --opcal-cell-min-h: 2rem;
  --opcal-font-title: 0.58rem;
  --opcal-font-meta: 0.54rem;
}

table.operations-calendar-table .opcal-tour-head {
  min-width: var(--opcal-tour-col-w, 18rem);
  width: var(--opcal-tour-col-w, 18rem);
}

table.operations-calendar-table.opcal2-grid-table .opcal-tour-col,
table.operations-calendar-table.opcal2-grid-table .opcal2-col-head {
  min-width: var(--opcal-tour-col-w2, 9.5rem);
  width: var(--opcal-tour-col-w2, 9.5rem);
}

table.operations-calendar-table .opcal-cell {
  min-height: var(--opcal-cell-min-h, 3.15rem);
}

table.operations-calendar-table .opcal-cell__title {
  font-size: var(--opcal-font-title, 0.72rem);
}

table.operations-calendar-table .opcal-cell__meta,
table.operations-calendar-table .opcal-svc-badge {
  font-size: var(--opcal-font-meta, 0.68rem);
}

/* Calendar 2 — sidebar + compact grid (experimental) */
.opcal2-layout {
  display: flex;
  align-items: stretch;
  gap: 0;
  max-height: 70vh;
  border: 1px solid var(--brand-brown-border);
  border-radius: 8px;
  overflow: hidden;
}

.opcal2-sidebar {
  flex: 0 0 15.5rem;
  max-width: 15.5rem;
  border-right: 2px solid #111;
  background: #fafaf8;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.opcal2-sidebar__title {
  position: sticky;
  top: 0;
  z-index: 12;
  padding: 0.45rem 0.55rem;
  font-weight: 700;
  font-size: 0.78rem;
  color: var(--brand-brown);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
}

.opcal2-sidebar__list {
  overflow: auto;
  flex: 1;
  padding: 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.opcal2-tour-card {
  border: 1px solid var(--brand-brown-border);
  border-radius: 6px;
  background: #fff;
}

.opcal2-tour-card.opcal-pay--paid {
  border-color: #15803d;
  background: rgba(22, 163, 74, 0.06);
}

.opcal2-tour-card.opcal-pay--partial {
  border-color: #b45309;
  background: rgba(217, 119, 6, 0.08);
}

.opcal2-tour-card.opcal-pay--unpaid {
  border-color: #b91c1c;
  background: rgba(220, 38, 38, 0.05);
}

.opcal2-tour-card-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  width: 100%;
  padding: 0.4rem 0.45rem;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.opcal2-tour-card__client {
  font-weight: 700;
  font-size: 0.76rem;
  color: var(--brand-brown);
}

.opcal2-tour-card__code {
  font-size: 0.68rem;
  color: var(--brand-brown-muted);
}

.opcal2-tour-card__dates,
.opcal2-tour-card__pax {
  font-size: 0.65rem;
  color: var(--brand-brown-muted);
}

.opcal2-tour-card__name {
  font-size: 0.7rem;
  font-weight: 600;
  color: #2e4462;
}

.opcal2-tour-card__pay {
  font-size: 0.64rem;
  color: var(--brand-brown-muted);
}

.opcal2-grid-wrap {
  flex: 1;
  min-width: 0;
  max-height: 70vh;
  overflow: auto;
}

table.operations-calendar-table.opcal2-grid-table thead th.opcal2-col-head {
  padding: 0 !important;
  vertical-align: bottom;
}

table.operations-calendar-table .opcal2-col-head-btn {
  width: 100%;
  padding: 0.35rem 0.2rem;
  border: none;
  background: #fafaf8;
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
  color: var(--brand-brown);
}

table.operations-calendar-table .opcal-date-head {
  min-width: var(--opcal-date-col-width, 5.5rem);
  width: var(--opcal-date-col-width, 5.5rem);
}

/* Calendar 3 — fixed 30/70 tour block, meta rowspan, photo zoom */
.opcal3-scroll {
  max-height: 70vh;
  overflow: auto;
}

.opcal3-zoom-inner {
  display: inline-block;
  min-width: 100%;
}

table.operations-calendar-table.opcal3-table {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  width: max-content;
  min-width: 100%;
}

table.operations-calendar-table.opcal3-table col.opcal3-col-date {
  width: var(--opcal-date-col-width, 5.5rem);
}

table.operations-calendar-table.opcal3-table col.opcal3-col-meta {
  width: 6.75rem;
}

table.operations-calendar-table.opcal3-table col.opcal3-col-program {
  width: 15.75rem;
}

table.operations-calendar-table.opcal3-table thead th.opcal-date-head {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 45;
  min-width: var(--opcal-date-col-width, 5.5rem);
  width: var(--opcal-date-col-width, 5.5rem);
  background: #fafaf8 !important;
  box-shadow: 0 2px 0 #fafaf8, 0 3px 6px rgba(15, 23, 42, 0.08);
}

table.operations-calendar-table.opcal3-table thead th.opcal3-head-pad {
  height: 0;
  padding: 0;
  border: none;
  line-height: 0;
  font-size: 0;
  background: transparent !important;
  box-shadow: none;
}

table.operations-calendar-table.opcal3-table tbody td.opcal-date-cell {
  position: sticky;
  left: 0;
  z-index: 8;
  min-width: var(--opcal-date-col-width, 5.5rem);
  width: var(--opcal-date-col-width, 5.5rem);
  background: #f4f7fb;
  background-clip: padding-box;
  box-shadow: 2px 0 4px rgba(15, 23, 42, 0.06);
}

/* Tour block = one black frame around meta (left) + program (right) columns */
table.operations-calendar-table.opcal3-table td.opcal3-meta--merged.opcal3-tour-block {
  border: 2px solid #111 !important;
  border-right: none !important;
  padding: 0 !important;
  vertical-align: top;
  background: #fafaf8;
}

table.operations-calendar-table.opcal3-table td.opcal3-meta--merged.opcal3-tour-block--stacked {
  border-top-width: 4px !important;
}

table.operations-calendar-table.opcal3-table td.opcal3-day.opcal3-tour-block {
  border-right: 2px solid #111 !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 0.12rem !important;
  vertical-align: top;
  overflow: hidden;
}

table.operations-calendar-table.opcal3-table td.opcal3-day.opcal3-tour-block--start {
  border-top: 2px solid #111 !important;
}

table.operations-calendar-table.opcal3-table td.opcal3-day.opcal3-tour-block--end {
  border-bottom: 2px solid #111 !important;
}

table.operations-calendar-table.opcal3-table td.opcal3-day.opcal3-tour-block--stacked.opcal3-tour-block--start {
  border-top-width: 4px !important;
}

table.operations-calendar-table.opcal3-table .opcal3-meta-btn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0.5rem 0.42rem;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}

table.operations-calendar-table.opcal3-table .opcal3-meta__top {
  display: flex;
  flex-direction: column;
  gap: 0.14rem;
}

table.operations-calendar-table.opcal3-table .opcal3-meta__client {
  font-weight: 700;
  font-size: 0.74rem;
  line-height: 1.25;
  color: var(--brand-brown);
  word-break: break-word;
}

table.operations-calendar-table.opcal3-table .opcal3-meta__pax {
  font-size: 0.68rem;
  line-height: 1.2;
  color: var(--brand-brown-muted);
}

table.operations-calendar-table.opcal3-table .opcal3-meta__code {
  font-size: 0.72rem;
  font-weight: 700;
  color: #2e4462;
  letter-spacing: 0.02em;
}

table.operations-calendar-table.opcal3-table .opcal3-meta__amounts {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-top: auto;
  padding-top: 0.35rem;
  border-top: 1px solid var(--brand-brown-border);
}

table.operations-calendar-table.opcal3-table .opcal3-pay-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem;
  font-size: 0.64rem;
  line-height: 1.25;
  color: var(--brand-brown);
}

table.operations-calendar-table.opcal3-table .opcal3-pay-lbl {
  font-weight: 700;
  min-width: 1.1rem;
}

table.operations-calendar-table.opcal3-table .opcal3-pay-badge {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  flex-shrink: 0;
}

table.operations-calendar-table.opcal3-table .opcal3-pay-badge--ok {
  background: #16a34a;
  box-shadow: 0 0 0 1px #15803d;
}

table.operations-calendar-table.opcal3-table .opcal3-pay-badge--due {
  background: #dc2626;
  box-shadow: 0 0 0 1px #b91c1c;
}

table.operations-calendar-table.opcal3-table td.opcal3-day--empty {
  background: #fff;
}

table.operations-calendar-table.opcal3-table td.opcal3-meta.opcal-pay--paid {
  background: rgba(22, 163, 74, 0.08) !important;
}

table.operations-calendar-table.opcal3-table td.opcal3-meta.opcal-pay--partial {
  background: rgba(217, 119, 6, 0.1) !important;
}

table.operations-calendar-table.opcal3-table td.opcal3-meta.opcal-pay--unpaid {
  background: rgba(220, 38, 38, 0.06) !important;
}

table.operations-calendar-table.opcal3-table .opcal-cell {
  max-width: 100%;
  box-sizing: border-box;
}

table.operations-calendar-table.opcal3-table .opcal-cell__title,
table.operations-calendar-table.opcal3-table .opcal-cell__meta {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

table.operations-calendar-table .opcal-cell__title {
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

table.operations-calendar-table .opcal-cell__meta {
  font-size: 0.68rem;
  line-height: 1.2;
}

/* —— Statistics page (panel + table aligned with Operations / Clients) —— */
.statistics-page .statistics-block1-toolbar {
  padding: 0.65rem 0.75rem 0.55rem;
  border-bottom: none;
  background: transparent;
}

.statistics-page .stats-toolbar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.statistics-page .stats-main-toolbar {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
  width: 100%;
  flex-wrap: wrap;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.statistics-page .stats-period-modes {
  display: inline-flex;
  gap: 0.3rem;
  flex-shrink: 0;
  align-items: center;
}

.statistics-page .stats-period-btn {
  border-radius: 999px !important;
  border-color: var(--brand-brown-border) !important;
  background: #fff !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650;
}

.statistics-page .stats-period-btn.is-active {
  background: var(--brand-green-soft, #e8f5e1) !important;
  color: var(--brand-green-dim, #3d6b2e) !important;
  border-color: var(--brand-green, #7ead5a) !important;
}

.statistics-page .stats-year-filter-wrap.is-hidden {
  display: none !important;
}

.statistics-page .stats-year-filter-wrap:not(:has(.rq-main-search-icon)) .stats-year-select {
  padding-left: 0.65rem !important;
}

.statistics-page .stats-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.55rem;
  margin: 0.25rem 0 0.35rem;
}

.statistics-page .stats-kpi {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  min-width: 0;
}

.statistics-page .stats-kpi__label {
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.statistics-page .stats-kpi__value {
  font-size: 1.25rem;
  font-weight: 750;
  color: var(--brand-brown, #413225);
  font-variant-numeric: tabular-nums;
}

.statistics-page .stats-kpi__hint {
  font-size: 0.7rem;
  line-height: 1.25;
}

.statistics-page .stats-section {
  margin: 1rem 0.75rem 1.15rem;
}

.statistics-page .stats-section__title {
  margin: 0 0 0.45rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--brand-brown, #413225);
}

.statistics-page .stats-section__hint {
  margin: 0 0 0.45rem;
}

.statistics-page .stats-subsection__title {
  margin: 0.65rem 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--brand-brown-muted, #6b5a4a);
}

.statistics-page .stats-sales-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 0.75rem;
}

.statistics-page .stats-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(14rem, 0.85fr);
  gap: 0.85rem;
  align-items: start;
}

.statistics-page .stats-split__table,
.statistics-page .stats-split__chart {
  min-width: 0;
}

.statistics-page .stats-charts-stack {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.statistics-page .stats-charts-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.55rem;
}

@media (max-width: 900px) {
  .statistics-page .stats-charts-row {
    grid-template-columns: 1fr;
  }
}

.statistics-page .stats-chart {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.55rem 0.65rem 0.45rem;
}

.statistics-page .stats-chart__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--brand-brown, #413225);
  margin-bottom: 0.25rem;
}

.statistics-page .stats-chart__legend {
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

.statistics-page .stats-swatch {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 2px;
  vertical-align: middle;
}

.statistics-page .stats-swatch--a {
  background: #7ead5a;
}

.statistics-page .stats-swatch--b {
  background: #413225;
}

.statistics-page .stats-chart__empty {
  margin: 0.35rem 0;
}

.statistics-page .stats-chart__bars {
  display: flex;
  align-items: flex-end;
  gap: 0.35rem;
  min-height: 9.5rem;
  padding: 0.15rem 0.1rem 0;
  overflow-x: auto;
}

.statistics-page .stats-chart__col {
  flex: 1 1 2rem;
  min-width: 1.85rem;
  max-width: 3.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.statistics-page .stats-chart__col--grouped {
  min-width: 2.4rem;
  max-width: 3.6rem;
}

.statistics-page .stats-chart__val {
  font-size: 0.62rem;
  font-weight: 650;
  color: var(--muted, #64748b);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: center;
}

.statistics-page .stats-chart__bar-track {
  width: 100%;
  height: 7.2rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(65, 50, 37, 0.04);
  border-radius: 4px 4px 2px 2px;
}

.statistics-page .stats-chart__bar-track--thin {
  width: 42%;
}

.statistics-page .stats-chart__group {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.15rem;
  width: 100%;
  height: 7.2rem;
}

.statistics-page .stats-chart__bar {
  width: 70%;
  min-height: 0;
  border-radius: 3px 3px 1px 1px;
  background: #7ead5a;
  transition: height 0.15s ease;
}

.statistics-page .stats-chart__bar--a {
  width: 100%;
  background: #7ead5a;
}

.statistics-page .stats-chart__bar--b {
  width: 100%;
  background: #413225;
}

.statistics-page .stats-chart__lbl {
  font-size: 0.62rem;
  font-weight: 600;
  color: var(--brand-brown-muted, #6b5a4a);
  text-align: center;
  line-height: 1.15;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .statistics-page .stats-split {
    grid-template-columns: 1fr;
  }
}

.statistics-page .stats-mini-table {
  width: 100%;
}

.statistics-page .stats-mini-table .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.statistics-page .stats-year-filter-wrap {
  width: min(100%, 14rem);
  min-width: 0;
}

.statistics-page .stats-year-select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 2.72rem !important;
  padding: 0 0.65rem 0 1.65rem !important;
  border-radius: 12px !important;
  font-size: 0.86rem !important;
  font-weight: 550;
  color: var(--brand-brown) !important;
  border-color: var(--border) !important;
  background: #fff !important;
  appearance: auto;
  cursor: pointer;
}

.statistics-page .stats-year-select:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
  outline: none;
}

.statistics-page .statistics-page__summary {
  margin: 0;
  padding: 0.35rem 1rem 0.55rem;
  color: var(--brand-brown-muted);
}

.statistics-page .statistics-page__empty {
  padding: 1.1rem 1.15rem;
  margin: 0;
  color: var(--brand-brown-muted);
}

table.stats-table.stats-table--rich {
  table-layout: fixed;
  width: 100%;
}

table.stats-table.stats-table--rich thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

table.stats-table.stats-table--rich .rq-th {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem !important;
}

table.stats-table.stats-table--rich .rq-th__label {
  display: inline-block;
  max-width: 100%;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

table.stats-table.stats-table--rich tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
  color: var(--brand-brown) !important;
}

table.stats-table.stats-table--rich col.st-col-country {
  width: 16%;
}

table.stats-table.stats-table--rich col.st-col-single,
table.stats-table.stats-table--rich col.st-col-multi {
  width: 18%;
}

table.stats-table.stats-table--rich col.st-col-status-single,
table.stats-table.stats-table--rich col.st-col-status-multi {
  width: 24%;
}

table.stats-table.stats-table--rich .st-country-name {
  font-weight: 650;
  color: var(--brand-brown);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.statistics-page table.data tbody tr:nth-child(even) td,
table.stats-table.data--zebra tbody tr:nth-child(even) td {
  background: #fbfdff;
}

table.stats-table.data--zebra tbody tr.st-row:hover td,
table.stats-table.data--zebra tbody tr.st-row:nth-child(even):hover td,
table.stats-table.data--zebra tbody tr.st-row:nth-child(odd):hover td {
  background: rgba(126, 173, 90, 0.14) !important;
}

table.stats-table.stats-table--rich .st-country-cell {
  vertical-align: middle;
}

table.stats-table.stats-table--rich .st-country-cell__main {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

table.stats-table.stats-table--rich .st-country-abbr {
  font-size: 0.78rem;
  color: var(--brand-brown-muted);
}

table.stats-table.stats-table--rich .st-metric-cell,
table.stats-table.stats-table--rich .stats-status-cell {
  font-variant-numeric: tabular-nums;
}

table.stats-table.stats-table--rich .stats-status-cell {
  min-width: 0;
  font-size: 0.82rem;
  color: var(--brand-brown-muted);
}

/* —— Itinerary bookmarks page —— */
#view-root:has(.bookmarks-page) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.bookmarks-page.ibk-lib-page.reqd-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.bookmarks-page .panel.panel--compact {
  border-radius: var(--radius-lg);
  margin-bottom: 0;
}

.bookmarks-page .bookmarks-table-panel {
  overflow: hidden;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.bookmarks-page .bookmarks-table-panel.requests-table-panel,
.bookmarks-page .bookmarks-table-panel .table-wrap {
  background: #ffffff;
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__head,
.bookmarks-page .bookmarks-page__note,
.bookmarks-page .bookmarks-block1-toolbar {
  flex-shrink: 0;
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 9px;
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--brand-brown);
}

.bookmarks-page .bookmarks-table-panel .requests-table-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
}

.bookmarks-page .bookmarks-table-panel .table-wrap {
  border-radius: 0;
}

.bookmarks-page .bookmarks-page__note {
  margin: 0;
  padding: 0.55rem 1rem 0.35rem;
  color: var(--brand-brown-muted);
}

.bookmarks-page .bookmarks-block1-toolbar {
  padding: 0 0.75rem 0.65rem;
  border-bottom: none;
  background: transparent;
}

.bookmarks-page .ibk-lib-filter-row,
.bookmarks-page .ibk-main-toolbar {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
  width: 100%;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}

.bookmarks-page .ibk-country-filter-wrap {
  width: min(100%, 22rem);
  min-width: 0;
}

.bookmarks-page .ibk-country-select,
.bookmarks-page .ibk-lib-filter-select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 2.72rem !important;
  padding: 0 0.65rem 0 1.65rem !important;
  border-radius: 12px !important;
  font-size: 0.86rem !important;
  font-weight: 550;
  color: var(--brand-brown) !important;
  border-color: var(--border) !important;
  background: #fff !important;
  appearance: auto;
  cursor: pointer;
}

.bookmarks-page .ibk-country-select:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
  outline: none;
}

.bookmarks-page.ibk-lib-page .ibk-lib-split.catalogs-split,
.bookmarks-page .catalogs-split {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 0.75rem;
  padding: 0 1rem 1rem 0.45rem;
}

.bookmarks-page .catalogs-col {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--brand-brown-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #ffffff;
}

.bookmarks-page .catalogs-col-heading {
  margin: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
  flex-shrink: 0;
}

.bookmarks-page .catalogs-col--list .catalogs-col-heading {
  padding-left: 0.5rem;
}

.bookmarks-page .catalogs-col .table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border-radius: 0;
}

.bookmarks-page .catalogs-col--list .table-wrap {
  overflow-x: hidden;
}

.bookmarks-page .catalogs-col--list table.catalogs-table thead th:first-child,
.bookmarks-page .catalogs-col--list table.catalogs-table tbody td:first-child {
  padding-left: 0.38rem !important;
}

.bookmarks-page .catalogs-col--preview {
  background: #fafaf8;
}

.bookmarks-page .ibk-lib-preview-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 0.65rem 0.85rem 0.85rem;
}

.bookmarks-page .bookmarks-preview-placeholder {
  margin: 0;
  color: var(--brand-brown-muted);
}

.bookmarks-page .ibk-load-preview-inner {
  color: var(--brand-brown);
}

.bookmarks-page .ibk-load-preview-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--brand-brown);
}

.bookmarks-page .ibk-load-preview-meta {
  margin: 0 0 0.65rem;
  color: var(--brand-brown-muted);
}

.bookmarks-page .ibk-load-preview-day {
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(65, 50, 37, 0.08);
}

.bookmarks-page .ibk-load-preview-day__title {
  font-weight: 650;
  color: var(--brand-brown);
}

.bookmarks-page .ibk-load-preview-day__desc {
  margin-top: 0.2rem;
  line-height: 1.4;
  color: var(--brand-brown-muted);
}

table.ibk-table.ibk-table--rich {
  table-layout: fixed;
  width: 100%;
}

table.ibk-table.ibk-table--rich thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

table.ibk-table.ibk-table--rich .rq-th {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem !important;
}

table.ibk-table.ibk-table--rich .rq-th__label {
  white-space: nowrap;
}

table.ibk-table.ibk-table--rich tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
  color: var(--brand-brown) !important;
}

.bookmarks-page .catalogs-col--list table.catalogs-table col.ibk-col-name,
table.ibk-table.ibk-table--rich col.ibk-col-name {
  width: 32%;
}

.bookmarks-page .catalogs-col--list table.catalogs-table col.ibk-col-countries,
table.ibk-table.ibk-table--rich col.ibk-col-countries {
  width: 24%;
}

.bookmarks-page .catalogs-col--list table.catalogs-table col.ibk-col-duration,
table.ibk-table.ibk-table--rich col.ibk-col-duration {
  width: 10%;
}

.bookmarks-page .catalogs-col--list table.catalogs-table col.ibk-col-updated,
table.ibk-table.ibk-table--rich col.ibk-col-updated {
  width: 12%;
}

.bookmarks-page .catalogs-col--list table.catalogs-table col.ibk-col-actions,
table.ibk-table.ibk-table--rich col.ibk-col-actions {
  width: 22%;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich thead th,
.bookmarks-page table.catalogs-table.catalogs-table--rich tbody td {
  min-width: 0;
  overflow: hidden;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich .cat-name-cell {
  overflow: hidden;
  text-overflow: ellipsis;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich .cat-name {
  font-weight: 650;
  color: var(--brand-brown);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich .cat-countries-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  align-items: center;
  min-width: 0;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich td.td-actions {
  text-align: right;
  white-space: nowrap;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich .td-actions .btn-compact {
  min-height: 2rem;
  border-radius: 10px !important;
  font-weight: 600;
}

.bookmarks-page table.catalogs-table.catalogs-table--rich .td-actions .icon-btn {
  border-radius: var(--radius);
}

.bookmarks-page table.data tbody tr:nth-child(even) td,
table.ibk-table.data--zebra tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.bookmarks-page .catalog-row.ibk-lib-row,
.bookmarks-page .ibk-lib-row {
  cursor: pointer;
}

.bookmarks-page .catalog-row:hover td,
.bookmarks-page .catalog-row.ibk-lib-row:hover td,
.bookmarks-page .ibk-lib-row:hover td,
.bookmarks-page table.catalogs-table.data--zebra tbody tr.ibk-lib-row:hover td {
  background: rgba(126, 173, 90, 0.14) !important;
  font-weight: inherit;
}

.bookmarks-page .catalog-row.is-active td,
.bookmarks-page .catalog-row.ibk-lib-row.is-selected td,
.bookmarks-page .ibk-lib-row.is-selected td,
.bookmarks-page table.catalogs-table.data--zebra tbody tr.ibk-lib-row.is-selected td {
  background: var(--brand-green-softer) !important;
}

table.ibk-table.ibk-table--rich .ibk-name {
  font-weight: 650;
  color: var(--brand-brown);
}

table.ibk-table.ibk-table--rich .ibk-notes {
  margin-top: 0.2rem;
  color: var(--brand-brown-muted);
}

table.ibk-table.ibk-table--rich .ibk-countries-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}

table.ibk-table.ibk-table--rich .ibk-duration-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.1rem;
  padding: 0.12rem 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

table.ibk-table.ibk-table--rich .ibk-updated-cell {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.bookmarks-page td.td-actions {
  text-align: right;
}

.bookmarks-page .ibk-lib-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.bookmarks-page .ibk-lib-del-btn {
  color: var(--brand-brown-muted);
  border-radius: var(--radius);
}

.bookmarks-page .ibk-lib-del-btn:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
}

.bookmarks-page .empty-state {
  color: var(--brand-brown-muted);
}

@media (max-width: 960px) {
  .bookmarks-page.ibk-lib-page .ibk-lib-split.catalogs-split,
  .bookmarks-page .catalogs-split {
    grid-template-columns: 1fr;
  }

  .bookmarks-page .catalogs-col--preview {
    max-height: 360px;
  }
}

/* —— Catalogs page —— */
#view-root:has(.catalogs-page),
#view-root:has(.daytour-page),
#view-root:has(.act-catalog-page) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.catalogs-page.reqd-page,
.daytour-page.reqd-page,
.act-catalog-page.reqd-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.catalogs-page .panel.panel--compact,
.daytour-page .panel.panel--compact {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  border-color: var(--brand-brown-border);
}

.catalogs-page .catalogs-toolbar-panel,
.daytour-page .daytour-toolbar-panel {
  flex-shrink: 0;
  overflow: hidden;
}

.catalogs-page .catalogs-split-panel,
.daytour-page .daytour-table-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
}

.catalogs-page .catalogs-toolbar-panel .requests-table-panel__head,
.daytour-page .daytour-toolbar-panel .requests-table-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
}

.catalogs-page .catalogs-toolbar-panel__actions,
.daytour-page .daytour-toolbar-panel__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.catalogs-page .catalogs-new-btn,
.daytour-page .daytour-new-btn {
  min-height: 2.35rem;
  border-radius: 12px !important;
  font-weight: 650 !important;
}

.catalogs-page .catalogs-toolbar-panel .requests-table-panel__title-wrap,
.daytour-page .daytour-toolbar-panel .requests-table-panel__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.catalogs-page .catalogs-toolbar-panel .requests-table-panel__icon,
.daytour-page .daytour-toolbar-panel .requests-table-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 9px;
  background: var(--brand-green-soft);
  color: var(--brand-green-dim);
}

.catalogs-page .catalogs-toolbar-panel .requests-table-panel__title,
.daytour-page .daytour-toolbar-panel .requests-table-panel__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--brand-brown);
}

.catalogs-page .catalogs-toolbar-panel .requests-table-panel__count,
.daytour-page .daytour-toolbar-panel .requests-table-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
}

.catalogs-page .catalogs-country-nav,
.daytour-page .daytour-country-nav {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 0.75rem 0.55rem !important;
  margin: 0 !important;
}

.catalogs-page .dt-country-group,
.daytour-page .dt-country-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem 0.65rem;
  flex-wrap: wrap;
}

.catalogs-page .catalogs-country-nav > .dt-country-group:first-child,
.daytour-page .daytour-country-nav > .dt-country-group:first-child {
  padding-top: 0.35rem;
}

.catalogs-page .dt-country-label,
.daytour-page .dt-country-label {
  flex: 0 0 auto;
  min-width: 7.75rem;
  margin: 0;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
}

.catalogs-page .dt-country-buttons,
.daytour-page .dt-country-buttons {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.catalogs-page .dt-country-btn,
.daytour-page .dt-country-btn {
  border-radius: 10px !important;
  border-color: var(--border) !important;
  background: #fff !important;
  color: var(--brand-brown) !important;
  font-weight: 550;
}

.catalogs-page .dt-country-btn.is-active,
.daytour-page .dt-country-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.catalogs-page .catalog-combo-row {
  padding: 0 0.75rem 0.55rem;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}

.catalogs-page .catalog-combo-label {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
}

.catalogs-page .catalog-combo-chip.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.catalogs-page .catalogs-block1-toolbar,
.daytour-page .daytour-block1-toolbar {
  padding: 0 0.75rem 0.7rem;
  border-bottom: none;
  background: transparent;
}

.catalogs-page .catalogs-main-toolbar,
.daytour-page .daytour-main-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem;
  width: 100%;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}

.catalogs-page label.rq-main-search-wrap.catalogs-search-wrap,
.daytour-page label.rq-main-search-wrap.catalogs-search-wrap,
.daytour-page label.rq-main-search-wrap.daytour-search-wrap {
  flex: 1 1 84rem !important;
  display: inline-flex !important;
  align-items: center;
  width: 84rem !important;
  max-width: 100% !important;
  min-width: 42rem !important;
  box-sizing: border-box;
}

.catalogs-page .catalogs-search-wrap .catalogs-search-input,
.catalogs-page .catalogs-search-wrap #catalog-filter-search,
.catalogs-page .catalogs-search-wrap .rq-main-search.filter-contact,
.daytour-page .daytour-search-wrap .daytour-search-input,
.daytour-page .daytour-search-wrap #daytour-filter-city,
.daytour-page .daytour-search-wrap .rq-main-search.filter-contact {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
  min-height: 2.72rem !important;
  border-radius: 12px !important;
  color: var(--brand-brown) !important;
  border-color: var(--border) !important;
  background: #fff !important;
}

.catalogs-page .catalogs-search-input:focus,
.daytour-page .daytour-search-input:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
  outline: none;
}

.catalogs-page .dt-lang-flags {
  display: inline-flex;
  gap: 0.35rem;
  flex-shrink: 0;
}

.catalogs-page .dt-lang-btn {
  border-radius: 10px !important;
  border-color: var(--border) !important;
  background: #fff !important;
}

.catalogs-page .dt-lang-btn.is-active:not(.catalog-lang-btn) {
  background: var(--brand-green) !important;
  border-color: var(--brand-green-dim) !important;
  color: var(--brand-brown) !important;
}

.catalogs-page .catalog-lang-btn {
  background: #f3f4f6 !important;
  border-color: #d1d5db !important;
  color: #6b7280 !important;
}

.catalogs-page .catalog-lang-btn.is-active.is-lang-it {
  background: #dcfce7 !important;
  border-color: #16a34a !important;
  color: #14532d !important;
}

.catalogs-page .catalog-lang-btn.is-active.is-lang-en {
  background: #dbeafe !important;
  border-color: #2563eb !important;
  color: #1e3a8a !important;
}

.catalogs-page .catalogs-split {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 0.75rem;
  padding: 0 1rem 1rem 0.45rem;
}

.catalogs-page .catalogs-col--list .catalogs-col-heading {
  padding-left: 0.5rem;
}

.catalogs-page .catalogs-col--list table.catalogs-table thead th:first-child,
.catalogs-page .catalogs-col--list table.catalogs-table tbody td:first-child {
  padding-left: 0.38rem !important;
}

.catalogs-page .catalogs-col {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--brand-brown-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #ffffff;
}

.catalogs-page .catalogs-col-heading {
  margin: 0;
  padding: 0.65rem 0.85rem;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
  flex-shrink: 0;
}

.catalogs-page .catalogs-col .table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  border-radius: 0;
}

.catalogs-page .catalogs-col--list .table-wrap {
  overflow-x: hidden;
}

table.catalogs-table.catalogs-table--rich,
table.catalogs-days-table.catalogs-table--rich {
  table-layout: fixed;
  width: 100%;
  max-width: 100%;
}

table.catalogs-table.catalogs-table--rich thead th,
table.catalogs-days-table.catalogs-table--rich thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

table.catalogs-table.catalogs-table--rich .rq-th,
table.catalogs-days-table.catalogs-table--rich .rq-th {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.68rem !important;
}

table.catalogs-table.catalogs-table--rich tbody td,
table.catalogs-days-table.catalogs-table--rich tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
  color: var(--brand-brown) !important;
}

.catalogs-page table.data tbody tr:nth-child(even) td,
table.catalogs-table.data--zebra tbody tr:nth-child(even) td,
table.catalogs-days-table.data--zebra tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.catalogs-page .catalog-row {
  cursor: pointer;
}

.catalogs-page .catalog-row:hover td,
table.catalogs-table.data--zebra tbody tr.catalog-row:hover td {
  background: rgba(126, 173, 90, 0.14) !important;
  font-weight: inherit;
}

.catalogs-page .catalog-row.is-active td,
table.catalogs-table.data--zebra tbody tr.catalog-row.is-active td {
  background: var(--brand-green-softer) !important;
}

table.catalogs-table.catalogs-table--rich col.cat-col-code {
  width: 9%;
}

table.catalogs-table.catalogs-table--rich col.cat-col-country {
  width: 12%;
}

table.catalogs-table.catalogs-table--rich col.cat-col-name {
  width: 28%;
}

table.catalogs-table.catalogs-table--rich col.cat-col-route {
  width: 24%;
}

table.catalogs-table.catalogs-table--rich col.cat-col-length {
  width: 8%;
}

table.catalogs-table.catalogs-table--rich col.cat-col-actions {
  width: 19%;
}

.catalogs-page table.catalogs-table.catalogs-table--rich thead th,
.catalogs-page table.catalogs-table.catalogs-table--rich tbody td {
  min-width: 0;
  overflow: hidden;
}

table.catalogs-table.catalogs-table--rich .cat-th-country,
table.catalogs-table.catalogs-table--rich .cat-country-cell {
  text-align: left;
}

table.catalogs-table.catalogs-table--rich .cat-th-length .rq-th__label {
  white-space: nowrap;
}

table.catalogs-table.catalogs-table--rich .cat-code-cell {
  padding-right: 0.28rem !important;
}

table.catalogs-table.catalogs-table--rich .cat-country-cell {
  padding-left: 0.32rem !important;
  padding-right: 0.4rem !important;
}

table.catalogs-table.catalogs-table--rich .cat-code-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.4rem;
  border-radius: var(--radius-pill);
  background: rgba(65, 50, 37, 0.08);
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--brand-brown);
}

table.catalogs-table.catalogs-table--rich .cat-country-cell__main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.22rem;
  min-width: 0;
}

table.catalogs-table.catalogs-table--rich .cat-flags {
  display: inline-flex;
  align-items: center;
  gap: 0.05rem;
  flex-shrink: 0;
  font-size: 0.88rem;
  line-height: 1;
  letter-spacing: -0.06em;
}

table.catalogs-table.catalogs-table--rich .cat-countries-chips {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  align-items: center;
  min-width: 0;
}

table.catalogs-table.catalogs-table--rich .cat-name-cell,
table.catalogs-table.catalogs-table--rich .cat-route-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

table.catalogs-table.catalogs-table--rich .cat-name {
  font-weight: 650;
  color: var(--brand-brown);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

table.catalogs-table.catalogs-table--rich .cat-route-cell {
  font-size: 0.82rem;
}

table.catalogs-table.catalogs-table--rich .cat-duration-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.12rem 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

table.catalogs-days-table.catalogs-table--rich col.cat-days-col-day {
  width: 4.25rem;
}

table.catalogs-days-table.catalogs-table--rich col.cat-days-col-title {
  width: auto;
}

table.catalogs-days-table.catalogs-table--rich .cat-th-day,
table.catalogs-days-table.catalogs-table--rich td.cat-day-num {
  width: 4.25rem !important;
  max-width: 4.25rem;
  padding-right: 0.35rem !important;
  padding-left: 0.45rem !important;
  white-space: nowrap;
  vertical-align: top;
}

table.catalogs-days-table.catalogs-table--rich .cat-th-title,
table.catalogs-days-table.catalogs-table--rich tbody td:last-child {
  width: auto;
  padding-left: 0.4rem !important;
  padding-right: 0.45rem !important;
  line-height: 1.35;
  vertical-align: top;
}

table.catalogs-days-table.catalogs-table--rich .cat-day-num {
  font-weight: 650;
  white-space: nowrap;
  color: var(--brand-brown-muted);
}

.catalogs-page table.catalogs-table.catalogs-table--rich td.td-actions {
  text-align: right;
  white-space: nowrap;
  overflow: visible;
  padding-left: 0.3rem !important;
  padding-right: 0.35rem !important;
  vertical-align: middle;
}

.catalogs-page table.catalogs-table.catalogs-table--rich .td-actions .btn-compact {
  padding-left: 0.45rem;
  padding-right: 0.45rem;
  font-size: 0.74rem;
}

.catalogs-page table.catalogs-table.catalogs-table--rich .td-actions .icon-btn {
  flex-shrink: 0;
}

.catalogs-page .cat-del-btn:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
}

.catalogs-page .empty-state {
  color: var(--brand-brown-muted);
}

@media (max-width: 960px) {
  .catalogs-page .catalogs-split {
    grid-template-columns: 1fr;
  }

  .catalogs-page .catalogs-col {
    border-bottom: none;
  }

  .catalogs-page .catalogs-main-toolbar,
  .daytour-page .daytour-main-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .catalogs-page .catalogs-search-wrap,
  .daytour-page .daytour-search-wrap,
  .daytour-page .catalogs-search-wrap {
    max-width: none;
  }
}

/* —— Day tours (Activities) — table + pagination —— */
.daytour-page .daytour-col-heading {
  margin: 0;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--brand-brown);
  background: #fafaf8;
  border-bottom: 1px solid var(--brand-brown-border);
  flex-shrink: 0;
}

.daytour-page .daytour-col-heading-flag {
  font-size: 1.35rem;
  line-height: 1;
  flex-shrink: 0;
}

.daytour-page .daytour-col-heading-text {
  font-weight: inherit;
}

.daytour-page .daytour-completeness-filters {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.daytour-page .daytour-completeness-btn {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 700;
  font-size: 0.72rem;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #6b7280;
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  height: auto;
  min-height: 1.7rem;
}

.daytour-page .daytour-completeness-btn:hover {
  background: #f9fafb;
  color: #374151;
}

.daytour-page .daytour-completeness-btn.is-active.is-incomplete {
  background: #fee2e2;
  border-color: #ef4444;
  color: #991b1b;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18);
}

.daytour-page .daytour-completeness-btn.is-active.is-complete {
  background: #dcfce7;
  border-color: #16a34a;
  color: #14532d;
  box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.18);
}

.daytour-page .daytour-table-panel .table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.daytour-page table.dt-table thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

.daytour-page table.dt-table tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
  color: var(--brand-brown) !important;
}

.daytour-page table.dt-table tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.daytour-page table.dt-table tbody tr.dt-row:hover td {
  background: rgba(126, 173, 90, 0.14) !important;
  font-weight: inherit;
}

.daytour-page .dt-lang-flags .dt-lang-btn {
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0.2rem 0.45rem;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 10px !important;
}

.daytour-page .dt-lang-flags .dt-lang-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  box-shadow: inset 0 0 0 1px rgba(126, 173, 90, 0.25);
}

.daytour-page .empty-state {
  color: var(--brand-brown-muted);
}

@media (max-width: 960px) {
  .daytour-page .daytour-main-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Day tours pagination (same as Requests) */
.daytour-page .requests-pager.list-pager,
.act-catalog-page .requests-pager.list-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--brand-brown-border);
  background: #fafaf8;
}

.daytour-page .requests-pager__meta,
.act-catalog-page .requests-pager__meta {
  margin: 0;
  font-size: 0.8rem;
  color: var(--brand-brown-muted);
}

.daytour-page .requests-pager__meta strong,
.act-catalog-page .requests-pager__meta strong {
  color: var(--brand-brown);
  font-weight: 700;
}

.daytour-page .list-pager__actions,
.act-catalog-page .list-pager__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.daytour-page .list-pager__pages,
.act-catalog-page .list-pager__pages {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}

.daytour-page .list-pager__nav,
.daytour-page .list-pager__page,
.act-catalog-page .list-pager__nav,
.act-catalog-page .list-pager__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--brand-brown-muted);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.daytour-page .list-pager__nav,
.act-catalog-page .list-pager__nav {
  border-color: var(--brand-brown-border);
  background: #fff;
}

.daytour-page .list-pager__nav:hover:not(:disabled),
.daytour-page .list-pager__page:hover:not(.is-active),
.act-catalog-page .list-pager__nav:hover:not(:disabled),
.act-catalog-page .list-pager__page:hover:not(.is-active) {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
}

.daytour-page .list-pager__nav:disabled,
.act-catalog-page .list-pager__nav:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.daytour-page .list-pager__page.is-active,
.act-catalog-page .list-pager__page.is-active {
  background: var(--brand-green);
  color: var(--brand-brown);
  border-color: var(--brand-green-dim);
  font-weight: 700;
}

.daytour-page .list-pager__ellipsis,
.act-catalog-page .list-pager__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  color: var(--brand-brown-muted);
  font-size: 0.85rem;
  user-select: none;
}

@media (max-width: 720px) {
  .daytour-page .requests-pager.list-pager,
  .act-catalog-page .requests-pager.list-pager {
    flex-direction: column;
    align-items: stretch;
  }

  .daytour-page .list-pager__actions,
  .act-catalog-page .list-pager__actions {
    justify-content: center;
  }
}

/* Sightseeings / Other — sortable table headers */
table.sgh-table.act-catalog-table .sgh-th--sortable {
  padding: 0;
}

table.sgh-table.act-catalog-table .sgh-th-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  width: 100%;
  margin: 0;
  padding: 0.55rem 0.45rem;
  border: none;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

table.sgh-table.act-catalog-table .sgh-th-sort-btn:hover {
  color: var(--brand-brown);
}

table.sgh-table.act-catalog-table .sgh-th.is-sorted .sgh-th-sort-btn {
  color: var(--brand-brown);
}

table.sgh-table.act-catalog-table .sgh-th-sort {
  opacity: 0.45;
  vertical-align: middle;
  flex-shrink: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

table.sgh-table.act-catalog-table .sgh-th.is-sorted .sgh-th-sort {
  opacity: 1;
  color: var(--brand-green-dim);
}

table.sgh-table.act-catalog-table .sgh-th.is-sorted--desc .sgh-th-sort {
  transform: scaleY(-1);
}

.act-catalog-page table.sgh-table thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

.act-catalog-page table.sgh-table tbody td {
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
  color: var(--brand-brown) !important;
}

.act-catalog-page table.sgh-table tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.act-catalog-page table.sgh-table tbody tr.sgh-row:hover td {
  background: rgba(126, 173, 90, 0.14) !important;
  font-weight: inherit;
}

.act-catalog-page table.sgh-table .th-actions {
  width: 3rem;
}

/* —— Services (Guide, fees, transport, hotel, restaurant) —— */
#view-root:has(.services-page) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.services-page.reqd-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.services-page .ce-tabs.services-tabs {
  flex-shrink: 0;
  margin-bottom: 0.5rem;
  border-bottom-color: var(--brand-brown-border);
}

.services-page .ce-tabs.services-tabs .ce-tab.is-active {
  color: var(--brand-brown);
  border-bottom-color: var(--brand-green);
  background: var(--brand-green-softer);
}

.services-page .tg-guides-page,
.services-page .gf-fees-page,
.services-page .trn-page {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.services-page .panel-title,
.services-page .tg-lang-heading {
  color: var(--brand-brown);
  font-weight: 700;
}

.services-page .tg-count-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0.08rem 0.4rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
}

.services-page .tg-guide-block1-toolbar,
.services-page .gf-fee-svc-toolbar,
.services-page .trn-block1-head,
.services-page .htl-page-toolbar,
.services-page .rst-page-toolbar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.services-page .tg-guide-block1 .panel-header--compact {
  padding: 0.85rem 1rem 0.35rem;
  border-bottom: 1px solid var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
}

.services-page .rq-main-search-wrap:not(.tg-guide-search-wrap) {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 22rem;
}

.services-page .tg-guide-block1-toolbar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.65rem 0.75rem !important;
}

.services-page .tg-guide-block1-toolbar .tg-guide-block1-new {
  margin-left: auto !important;
}

.services-page .tg-guide-toolbar-main {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  gap: 0.75rem;
}

.services-page .tg-guide-toolbar-icons {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.35rem;
}

.services-page .tg-guide-search-wrap {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto !important;
  width: 42rem;
  max-width: min(42rem, calc(100vw - 22rem)) !important;
  min-width: 0 !important;
  min-height: 0;
}

.services-page .tg-guide-search-wrap .tg-guide-search,
.services-page .tg-guide-search-wrap .rq-main-search {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box;
}

.services-page .tg-guide-lang-flags {
  flex-shrink: 0;
  gap: 0.35rem;
  margin-left: 0;
}

.services-page .tg-guide-lang-flags .tg-lang-filter-btn {
  min-width: 2.35rem;
  min-height: 2.35rem;
  padding: 0.2rem 0.45rem;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 10px !important;
}

.services-page .tg-guide-lang-flags .tg-lang-filter-btn.is-active {
  background: var(--brand-green-soft) !important;
  border-color: var(--brand-green-dim) !important;
  box-shadow: inset 0 0 0 1px rgba(126, 173, 90, 0.25);
}

.services-page .tg-guide-cal-btn {
  flex-shrink: 0;
  min-width: 2.35rem;
  min-height: 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}

.services-page .tg-guide-cal-btn:hover {
  color: var(--brand-brown);
  border-color: var(--brand-green-dim) !important;
  background: var(--brand-green-softer) !important;
}

.services-page .tg-guide-colhead-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  width: 100%;
}

.services-page .tg-guide-sections-btn {
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--brand-brown-muted);
  border-radius: 8px;
}

.services-page .tg-guide-sections-btn:hover:not(:disabled) {
  color: var(--brand-brown);
  background: var(--brand-green-softer);
}

.services-page .tg-guide-sections-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.services-page .tg-guide-lang-section.is-collapsed .tg-guide-table-wrap,
.services-page .htl-country-section.is-collapsed .tg-guide-table-wrap,
.services-page .rst-country-section.is-collapsed .tg-guide-table-wrap {
  display: none;
}

.services-page .rs-rest-page.htl-list-page .htl-list-block .htl-page-toolbar,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-list-block .htl-page-toolbar,
.services-page .rs-rest-page.rst-list-page .rst-list-block .rst-page-toolbar,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-list-block .rst-page-toolbar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: 0.65rem 0.75rem !important;
  width: 100%;
  box-sizing: border-box;
  padding: 0.7rem 1rem 0.65rem !important;
}

.services-page .rs-rest-page.htl-list-page .htl-toolbar-main,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-toolbar-main,
.services-page .rs-rest-page.rst-list-page .rst-toolbar-main,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-toolbar-main {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.75rem;
  margin: 0;
}

.services-page .rs-rest-page.htl-list-page .htl-search-wrap,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-search-wrap,
.services-page .rs-rest-page.rst-list-page .rst-search-wrap,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-search-wrap {
  flex: 0 0 auto !important;
  width: 42rem;
  max-width: min(42rem, calc(100vw - 28rem)) !important;
  min-width: 16rem !important;
  margin: 0 !important;
}

.services-page .rs-rest-page.htl-list-page .htl-toolbar-icons,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-toolbar-icons,
.services-page .rs-rest-page.rst-list-page .rst-toolbar-icons,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-toolbar-icons {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.35rem;
  margin-left: 0;
}

.services-page .rs-rest-page.htl-list-page .htl-country-flags,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-country-flags,
.services-page .rs-rest-page.rst-list-page .rst-country-flags,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-country-flags {
  margin-left: 0;
}

.services-page .rs-rest-page.htl-list-page .htl-page-toolbar .tg-guide-block1-new,
.services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-page-toolbar .tg-guide-block1-new,
.services-page .rs-rest-page.rst-list-page .rst-page-toolbar .tg-guide-block1-new,
.services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-page-toolbar .tg-guide-block1-new {
  margin-left: auto !important;
  flex-shrink: 0;
}

.services-page .tg-guide-orphan-section {
  border-color: #e8c97a !important;
  box-shadow: 0 8px 20px rgba(180, 120, 20, 0.08) !important;
}

.services-page .tg-guide-orphan-section .tg-orphan-heading {
  margin: 0;
  padding: 0.7rem 1rem 0.35rem;
  font-size: 0.92rem;
  border-bottom: 1px solid rgba(180, 120, 20, 0.22);
  background: linear-gradient(180deg, #fffdf8 0%, #fff6e8 160%);
  color: var(--brand-brown);
}

.services-page .tg-orphan-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 6px;
  background: rgba(212, 146, 28, 0.18);
  color: #9a6700;
  font-size: 0.82rem;
  font-weight: 800;
}

.services-page .tg-orphan-count-chip {
  background: rgba(212, 146, 28, 0.2);
  color: #7a5200;
}

.services-page .tg-orphan-note {
  margin: 0;
  padding: 0.45rem 1rem 0.55rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--brand-brown-muted);
  border-bottom: 1px solid rgba(65, 50, 37, 0.08);
}

.services-page .tg-orphan-title-hint {
  font-size: 0.82rem;
  font-weight: 650;
  color: #9a6700;
}

.services-page .tg-name-stack {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.12rem;
}

.services-page .tg-orphan-langs {
  font-size: 0.72rem;
  line-height: 1.2;
}

.services-page .tg-lang-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
}

.services-page .tg-lang-heading-flag {
  font-size: 1.15rem;
  line-height: 1;
}

.services-page .tg-lang-heading-text {
  font-weight: inherit;
}

.services-page table.tg-guide-table.tg-guide-table--rich .tg-guide-data-row:hover td {
  background: var(--brand-green-soft) !important;
  cursor: pointer;
}

.services-page table.tg-guide-table.tg-guide-table--rich .tg-guide-data-row:focus-visible td {
  box-shadow: inset 0 0 0 2px var(--brand-green-dim);
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-cell {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex-shrink: 0;
  border-radius: 9px;
  box-sizing: border-box;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #ffffff;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-primary {
  font-weight: 700;
  font-size: 0.86rem;
  line-height: 1.25;
  color: var(--brand-brown);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-0 {
  background: #6b9a4d;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-1 {
  background: #3b82c4;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-2 {
  background: #d4921c;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-3 {
  background: #8b5cf6;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-4 {
  background: #db5c96;
}

.services-page table.tg-guide-table.tg-guide-table--rich .cl-name-card--tone-5 {
  background: #14a89a;
}

.services-page .rq-main-search,
.services-page .rq-main-search.filter-contact,
.services-page .tg-guide-block1-filters .filter-contact,
.services-page .tg-guide-block1-filters .select-compact,
.services-page .rs-rest-filter-control,
.services-page .gf-fees-page .select-compact,
.services-page .gf-fees-page .gf-lang-input,
.services-page .gf-fees-page .gf-price-input,
.services-page .gf-fee-lang-section-head {
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
  border-bottom: 1px solid var(--brand-brown-border);
}

.services-page .gf-fee-lang-section.is-collapsed .gf-fee-lang-section-head {
  border-bottom: none;
}

.services-page .gf-fee-lang-section-head .gf-fee-lang-grid-title {
  color: var(--brand-brown);
  font-weight: 700;
}

.services-page .gf-fee-lang-section-head .gf-fee-lang-grid-add {
  border-radius: 12px !important;
  font-weight: 650 !important;
}

.services-page .gf-fees-page .gf-u-cell.inp-compact,
.services-page .trn-page .inp-compact {
  border-color: var(--border) !important;
  color: var(--brand-brown) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

.services-page .rq-main-search,
.services-page .rq-main-search.filter-contact {
  min-height: 2.72rem !important;
  border-radius: 12px !important;
}

.services-page .rq-main-search:focus,
.services-page .tg-guide-block1-filters .filter-contact:focus,
.services-page .rs-rest-filter-control:focus {
  border-color: var(--brand-green-dim) !important;
  box-shadow: var(--focus-ring) !important;
}

.services-page table.data thead th {
  background: #fafaf8 !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.65rem 0.5rem !important;
  vertical-align: middle;
}

.services-page table.data tbody td {
  color: var(--brand-brown) !important;
  border-bottom-color: var(--brand-brown-border);
  padding-top: 0.62rem !important;
  padding-bottom: 0.62rem !important;
  vertical-align: middle;
}

.services-page table.data tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.services-page table.data tbody tr:hover td,
.services-page .tg-guide-data-row:hover td,
.services-page .trn-row:hover td {
  background: rgba(126, 173, 90, 0.14) !important;
}

.services-page .tg-guide-data-row:focus-visible,
.services-page .trn-row:focus-visible {
  outline: 2px solid rgba(126, 173, 90, 0.45);
  outline-offset: -2px;
}

.services-page table.trn-matrix-table thead th.trn-th--sortable {
  padding: 0;
  vertical-align: bottom;
}

.services-page .trn-th-dep-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.5rem 0.45rem 0.45rem;
}

.services-page .trn-th-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-weight: 650;
  color: var(--brand-brown-muted);
  cursor: pointer;
  text-align: left;
}

.services-page .trn-th-sort-btn:hover {
  color: var(--brand-brown);
}

.services-page table.trn-matrix-table thead th.trn-th--sortable.is-sorted .trn-th-sort-btn {
  color: var(--brand-brown);
}

.services-page .trn-th-sort {
  flex-shrink: 0;
  opacity: 0.45;
}

.services-page table.trn-matrix-table thead th.trn-th--sortable.is-sorted .trn-th-sort {
  opacity: 1;
  color: var(--brand-green-dim);
}

.services-page table.trn-matrix-table thead th.trn-th--sortable.is-sorted--desc .trn-th-sort {
  transform: scaleY(-1);
}

.services-page .trn-th-reset-order {
  padding: 0.1rem 0.35rem !important;
  font-size: 0.68rem !important;
  line-height: 1.2;
  min-height: 0 !important;
}

.services-page .tg-guide-lang-section .tg-lang-heading {
  margin: 0;
  padding: 0.7rem 1rem 0.45rem;
  font-size: 0.92rem;
  border-bottom: 1px solid rgba(65, 50, 37, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 160%);
}

.services-page .tg-lang-heading--toggle {
  cursor: pointer;
  user-select: none;
}

.services-page .tg-lang-heading--toggle:hover,
.services-page .tg-lang-heading--toggle:focus-visible {
  background: linear-gradient(180deg, #ffffff 0%, rgba(126, 173, 90, 0.22) 160%);
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(126, 173, 90, 0.28);
}

.services-page .tg-guide-lang-section.is-collapsed .tg-lang-heading--toggle,
.services-page .htl-country-section.is-collapsed .tg-lang-heading--toggle,
.services-page .rst-country-section.is-collapsed .tg-lang-heading--toggle {
  border-bottom: none;
}

.services-page .icon-btn.tg-guide-del-btn,
.services-page .icon-btn.trn-del-btn,
.services-page .gf-fees-page .td-actions .icon-btn {
  color: var(--brand-brown-muted);
  border-radius: var(--radius);
}

.services-page .icon-btn.tg-guide-del-btn:hover,
.services-page .icon-btn.trn-del-btn:hover,
.services-page .gf-fees-page .td-actions .icon-btn:hover {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.08);
}

.services-page .empty-state {
  color: var(--brand-brown-muted);
}

.services-page .client-edit-page .ce-tabs {
  border-bottom-color: var(--brand-brown-border);
}

.services-page .client-edit-page .ce-tab.is-active {
  color: var(--brand-brown);
  border-bottom-color: var(--brand-green);
  background: var(--brand-green-softer);
}

.services-page .client-edit-page .ce-progress-label,
.services-page .client-edit-page .ce-progress-pct {
  color: var(--brand-brown-muted);
}

.services-page .client-edit-page .ce-progress-fill {
  background: var(--brand-green);
}

.services-page .client-edit-page .panel.panel--compact,
.services-page .rs-rest-detail-page .panel.panel--compact {
  border-radius: var(--radius-lg);
}

@media (max-width: 960px) {
  .services-page .rq-main-search-wrap:not(.tg-guide-search-wrap) {
    max-width: none;
  }

  .services-page .tg-guide-toolbar-main {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .services-page .tg-guide-search-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .services-page .tg-guide-block1-toolbar,
  .services-page .htl-main-toolbar,
  .services-page .rst-main-toolbar {
    flex-wrap: wrap;
  }

  .services-page .rs-rest-page.htl-list-page .htl-search-wrap,
  .services-page .tg-guides-page.rs-rest-page.htl-list-page .htl-search-wrap,
  .services-page .rs-rest-page.rst-list-page .rst-search-wrap,
  .services-page .tg-guides-page.rs-rest-page.rst-list-page .rst-search-wrap {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Communications: override global .inp-sm max-width:140px */
.postconfirm-panel--comms .inp-sm,
.postconfirm-panel--comms input.inp-sm,
.postconfirm-panel--comms select.inp-sm,
.postconfirm-panel--comms textarea.inp-sm {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* —— Visits (Activities → Visits) —— */
.vis-page {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.vis-page .vis-toolbar-panel,
.vis-page .vis-table-panel {
  border-color: var(--brand-brown-border);
}

.vis-page__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.vis-page__title {
  margin: 0;
}

.vis-page__subtitle {
  margin: 0.25rem 0 0;
}

.vis-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 0.85rem;
  padding: 0.65rem 0.95rem 0.85rem;
  border-top: 1px solid var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 160%);
}

.vis-search-wrap {
  flex: 1 1 16rem;
  min-width: 0;
  max-width: 22rem;
}

.vis-country-field {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 9rem;
}

.vis-country-field__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--brand-brown-muted);
}

.vis-country-select {
  min-width: 9rem;
}

.vis-table-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.vis-table-panel__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.vis-table-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  flex-shrink: 0;
}

.vis-table-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0.08rem 0.45rem;
  border-radius: var(--radius-pill);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  font-size: 0.78rem;
  font-weight: 700;
}

.vis-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.vis-page table.vis-table--rich thead th {
  background: var(--panel-surface-2) !important;
  color: var(--brand-brown-muted) !important;
  font-weight: 650 !important;
  border-bottom: 1px solid var(--brand-brown-border) !important;
  padding: 0.6rem 0.65rem !important;
}

.vis-page table.vis-table--rich tbody td {
  padding: 0.55rem 0.65rem;
  vertical-align: middle;
}

.vis-page table.vis-table--rich tbody tr:nth-child(even) td {
  background: rgba(126, 173, 90, 0.03);
}

.vis-page table.vis-table--rich tbody tr:hover td {
  background: var(--brand-green-softer);
}

.vis-page .requests-pager.list-pager {
  margin: 0;
  padding: 0.65rem 0.95rem;
  border-top: 1px solid var(--brand-brown-border);
  background: var(--panel-surface-2);
}

.vis-page .list-pager__page.is-active {
  background: var(--brand-green);
  border-color: var(--brand-green-dim);
  color: var(--brand-brown);
}

/* —— Finance / Bilanci —— */
.finance-page .panel-title {
  color: var(--brand-brown);
}

.finance-cash-cards {
  gap: 0.75rem;
}

.finance-cash-card {
  border-color: var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 140%);
  box-shadow: var(--shadow-sm);
}

.finance-cash-card--usd,
.finance-cash-card--eur {
  border-left: 3px solid var(--brand-green);
}

.finance-cash-card__lbl {
  color: var(--brand-brown-muted);
}

.finance-cash-card__val {
  color: var(--brand-brown);
  font-weight: 700;
}

.finance-tabs .tab {
  color: var(--brand-brown-muted);
  border-bottom-color: transparent;
}

.finance-tabs .tab.is-active {
  color: var(--brand-brown);
  border-bottom-color: var(--brand-green);
  background: var(--brand-green-softer);
}

.finance-toolbar__field .muted {
  color: var(--brand-brown-muted);
}

.finance-page__sub {
  color: var(--brand-brown);
}

.finance-page__hint {
  color: var(--brand-brown-muted);
}

.finance-page table.finance-table thead th {
  background: var(--panel-surface-2);
  color: var(--brand-brown-muted);
  font-weight: 650;
  border-bottom-color: var(--brand-brown-border);
}

.finance-page table.finance-table tbody tr:hover td {
  background: var(--brand-green-softer);
}

.finance-page table.finance-table tbody tr:nth-child(even) td {
  background: rgba(126, 173, 90, 0.03);
}

.finance-asset-table tr.finance-asset-total td {
  background: var(--brand-green-softer);
  border-top-color: var(--brand-green-dim);
  color: var(--brand-brown);
}

/* —— Communications —— */
.gcom-page .inp-sm,
.gcom-filters .inp-sm {
  width: 100% !important;
  max-width: none !important;
}

.gcom-panel__header .panel-title {
  color: var(--brand-brown);
}

.gcom-panel__header .pc-com-hint {
  color: var(--brand-brown-muted);
}

.gcom-filters {
  border-color: var(--brand-brown-border);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, #ffffff 0%, var(--brand-green-softer) 120%);
  box-shadow: var(--shadow-sm);
}

.gcom-filters .pc-com-field > span {
  color: var(--brand-brown-muted);
}

.gcom-filters .inp-sm:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.gcom-filters__count {
  color: var(--brand-brown-muted);
}

.gcom-filters__count strong {
  color: var(--brand-brown);
}

.gcom-inbox__list {
  border-color: var(--brand-brown-border);
  background: linear-gradient(165deg, #fafaf8 0%, var(--brand-green-softer) 48%, #ffffff 100%);
}

.gcom-inbox__list-title {
  color: var(--brand-brown-muted);
}

.gcom-item.is-active {
  border-color: rgba(126, 173, 90, 0.35);
}

.gcom-item.is-active::before {
  background: var(--brand-green);
}

.gcom-item__title {
  color: var(--brand-brown);
}

.gcom-inbox__detail {
  border-color: var(--brand-brown-border);
  box-shadow: var(--shadow-md);
}

.gcom-detail-empty {
  background:
    radial-gradient(ellipse at 30% 20%, var(--brand-green-soft), transparent 55%),
    #fff;
  color: var(--brand-brown-muted);
}

.gcom-detail__head {
  border-bottom-color: var(--brand-brown-border);
  background: linear-gradient(180deg, #ffffff 0%, var(--panel-surface-2) 100%);
}

/* —— Settings —— */
.settings-page .tabs-settings .tab {
  color: var(--brand-brown-muted);
  border-bottom-color: transparent;
}

.settings-page .tabs-settings .tab.is-active {
  color: var(--brand-brown);
  border-bottom-color: var(--brand-green);
  background: var(--brand-green-softer);
}

.settings-page .panel-title,
.settings-page h3,
.settings-page h4 {
  color: var(--brand-brown);
}

.settings-page .panel {
  border-color: var(--brand-brown-border);
}

.settings-page table.data thead th {
  background: var(--panel-surface-2);
  color: var(--brand-brown-muted);
}

.settings-page table.data tbody tr:hover td {
  background: var(--brand-green-softer);
}

/* —— Backup modal —— */
.backup-restore-intro {
  border-color: var(--brand-brown-border);
  background: var(--brand-green-softer);
  color: var(--brand-brown-muted);
}

.backup-restore-section {
  border-color: var(--brand-brown-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.backup-restore-section__head {
  background: linear-gradient(180deg, #ffffff 0%, var(--panel-surface-2) 100%);
  border-bottom-color: var(--brand-brown-border);
}

.backup-restore-section__title {
  color: var(--brand-brown);
}

.backup-restore-section__subtitle {
  color: var(--brand-brown-muted);
}

.backup-restore-section--recover .backup-restore-section__badge {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
}

.backup-restore-section--cloud .backup-restore-section__badge {
  background: rgba(126, 173, 90, 0.22);
  color: var(--brand-brown);
}

.backup-restore-section--export .backup-restore-section__badge {
  background: var(--brand-green-softer);
  color: var(--brand-brown);
}

.backup-restore-section--import .backup-restore-section__badge {
  background: var(--brand-green-soft);
  color: var(--brand-brown);
}

.backup-restore-section--auto .backup-restore-section__badge {
  background: rgba(127, 107, 87, 0.12);
  color: var(--brand-brown);
}

.backup-restore-help {
  border-color: var(--brand-brown-border);
  background: var(--brand-green-softer);
}

.backup-restore-note {
  color: var(--brand-brown-muted);
  line-height: 1.45;
}

.backup-restore-section--import .backup-restore-note {
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius);
  border: 1px solid var(--brand-brown-border);
  background: var(--brand-green-softer);
}

.backup-restore-section--import #backup-mdl-history-bundled {
  border-color: var(--brand-green-dim);
  background: var(--brand-green-soft);
  color: var(--brand-brown);
  font-weight: 600;
}

.backup-restore-paste:focus-visible,
.backup-restore-inline-field input:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.backup-restore-check--bordered {
  border-color: var(--brand-brown-border);
  background: var(--brand-green-softer);
}
