.page-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: var(--trino-space-2); justify-content: space-between; }
.page-toolbar > :first-child { min-width: 0; }
@media (max-width: 720px) { .page-toolbar { align-items: stretch; flex-direction: column; } }

/* Shell enterprise: largura útil, hierarquia estável e painéis parcialmente alinhados. */
header.topbar {
  background: rgba(8, 12, 31, .97);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
  gap: var(--trino-space-3);
  grid-template-columns: minmax(205px, auto) minmax(420px, 1fr) 450px;
  min-height: 64px;
  padding: var(--trino-space-2) var(--trino-space-4);
  position: sticky;
  top: 0;
  z-index: var(--trino-z-header);
}
.divider { display: none; }
.brand { flex: 0 0 auto; }
.menu-principal { min-width: 0; }
.menu-principal { flex-wrap: nowrap; gap: 2px; }
.menu-item { font-size: 12px; padding: 7px 10px; white-space: nowrap; }
.toolbar { flex-wrap: nowrap; gap: var(--trino-space-2); justify-content: flex-end; min-width: 0; }
.toolbar:empty { min-height: 1px; }
.toolbar .segmented-control button { padding: 0 var(--trino-space-2); }
.toolbar button.btn.cta-ferramenta { font-size: 11px; padding: 8px 12px; white-space: nowrap; }

main.layout {
  gap: var(--trino-space-3) !important;
  grid-template-columns: minmax(0, 1fr) clamp(300px, 25vw, 360px) !important;
  margin: 0 auto;
  max-width: var(--trino-content-max);
  padding: var(--trino-space-3) var(--trino-space-4) var(--trino-space-4) !important;
  width: 100%;
}
main.layout.tem-selecao {
  grid-template-columns: minmax(0, 64fr) minmax(420px, 36fr) !important;
}
main.layout > section.panel {
  border: var(--trino-border-subtle);
  border-radius: var(--trino-radius-lg);
  box-shadow: none;
  min-width: 0;
}
main.layout > section.panel:last-child {
  scrollbar-gutter: stable;
}

.panel-catalogo .mesa-grid-scroll {
  overflow-x: auto !important;
  overflow-y: auto;
  scrollbar-gutter: stable both-edges;
}
.panel-catalogo .mesa-grid-table { min-width: 1190px !important; width: max-content !important; }
.panel-catalogo .mesa-grid-header,
.panel-catalogo .mesa-grid-row { width: max-content !important; }
.mesa-grid-header { min-height: 48px; height: 48px; }
.mesa-grid-head-cell { height: 48px; }
.mesa-grid-pin-data { left: 36px !important; box-shadow: 1px 0 0 var(--border) !important; position: sticky !important; z-index: 3 !important; }
.mesa-grid-header .mesa-grid-pin-data { z-index: 6 !important; }

.catalogo-header {
  align-items: center;
  display: flex;
  gap: var(--trino-space-4);
  justify-content: space-between;
}
.catalogo-header h2 { margin: 0; }
.catalogo-toolbar { display: grid; gap: var(--trino-space-2); margin-bottom: var(--trino-space-2); }

.dashboard-root {
  margin: 0 auto;
  max-width: var(--trino-content-max);
  padding: var(--trino-space-4) var(--trino-space-5) var(--trino-space-8);
}
.dashboard-header {
  align-items: flex-end;
  display: flex;
  gap: var(--trino-space-4);
  justify-content: space-between;
  margin-bottom: var(--trino-space-3);
}
.dashboard-header-copy { color: var(--text-dim); font-size: 11.5px; margin-top: var(--trino-space-1); }
.dashboard-layer { margin-top: var(--trino-space-5); }
.dashboard-layer-title {
  color: var(--text-dim-2);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  margin-bottom: var(--trino-space-2);
  text-transform: uppercase;
}

.drawer.carta-drawer {
  max-width: min(860px, 92vw);
  padding: 0;
  width: min(760px, 92vw);
  transform: none;
}
.carta-drawer .drawer-cab { padding: var(--trino-space-5); position: sticky; top: 0; z-index: 2; }
.carta-drawer-body { padding: 0 var(--trino-space-5) var(--trino-space-6); }
.carta-drawer-summary { display: grid; gap: var(--trino-space-2); grid-template-columns: repeat(4, minmax(0,1fr)); }
.carta-drawer-summary .stat { min-width: 0; }
.carta-drawer-sections { display: grid; gap: var(--trino-space-2); margin-top: var(--trino-space-4); }
.carta-detail-section { background: rgba(255,255,255,.018); border: var(--trino-border-subtle); border-radius: var(--trino-radius-md); }
.carta-detail-section summary { color: var(--text); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; padding: var(--trino-space-3) var(--trino-space-4); }
.carta-detail-section summary::-webkit-details-marker { display: none; }
.carta-detail-section summary::after { color: var(--text-dim-2); content: "+"; float: right; }
.carta-detail-section[open] summary::after { content: "−"; }
.carta-detail-section-body { border-top: var(--trino-border-subtle); padding: var(--trino-space-3) var(--trino-space-4); }

.operations-toolbar { display: grid; gap: var(--trino-space-2); margin-bottom: var(--trino-space-3); }
.operations-filters { display: grid; gap: var(--trino-space-2); grid-template-columns: 1.2fr repeat(4, minmax(130px, .7fr)); }
.operations-stage-map { display: flex; gap: var(--trino-space-1); overflow-x: auto; padding-bottom: var(--trino-space-1); }
.operations-stage { border-top: 2px solid var(--border); color: var(--text-dim-2); flex: 1 0 112px; font-size: 9px; padding: var(--trino-space-2) var(--trino-space-1) 0; text-align: center; }
.operations-stage.active { border-color: var(--gold); color: var(--gold-soft); }
.grid-executive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.comissao-personalizada { margin: var(--trino-space-3) 0; padding: var(--trino-space-3); }
.comissao-personalizada input[type="range"] { accent-color: var(--gold); margin: var(--trino-space-2) 0 var(--trino-space-3); width: 100%; }

.import-page-header p, .import-last-update { color: var(--text-dim) !important; }
.import-main-card {
  background: linear-gradient(145deg, rgba(31, 35, 38,.78), rgba(16, 18, 20,.94)) !important;
  border-color: rgba(201,168,106,.38) !important;
  box-shadow: var(--trino-elevation-1);
}
.import-main-card h3 { color: var(--text) !important; }
.import-main-card p, .import-main-card small { color: var(--text-dim) !important; }
.import-history-compact, .import-technical-details {
  background: rgba(20, 23, 25, .78) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
.import-history-compact > summary, .import-technical-details > summary { color: var(--text) !important; }
.import-monitor-cards { margin: var(--trino-space-4) 0; }
.import-review-queue .system-state { margin: 0 var(--trino-space-4) var(--trino-space-4); }

@media (min-width: 1600px) {
  main.layout.tem-selecao { grid-template-columns: minmax(0, 65fr) minmax(460px, 35fr) !important; }
  .panel-catalogo .mesa-grid-table { min-width: 1260px !important; }
}

@media (max-width: 1320px) {
  header.topbar { align-items: flex-start; display: flex; flex-wrap: wrap; }
  .menu-principal { order: 3; overflow-x: auto; width: 100%; }
  .toolbar { margin-left: auto; }
}

@media (max-width: 1120px) {
  main.layout, main.layout.tem-selecao {
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
    overflow: visible !important;
  }
  main.layout > section.panel:last-child { max-height: none !important; overflow: visible !important; }
  .operations-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  header.topbar { padding: var(--trino-space-3); }
  header.topbar .brand h1 { font-size: 14px; }
  .toolbar { width: 100%; }
  .toolbar .btn { flex: 1; }
  main.layout, .dashboard-root { padding-left: var(--trino-space-2) !important; padding-right: var(--trino-space-2) !important; }
  .carta-drawer-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .operations-filters { grid-template-columns: 1fr; }
}
