@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap');

:root {
  --bg: #eef5fb;
  --panel: #ffffff;
  --panel-soft: #f8fbfe;
  --text: #142235;
  --muted: #66768d;
  --line: #d7e3ef;
  --primary: #0582CA;
  --primary-dark: #003554;
  --primary-soft: #e6f4fb;
  --danger: #b42318;
  --warn: #b54708;
  --ok: #067647;
  --shadow: 0 14px 32px rgba(16, 48, 74, .08);
  --shadow-soft: 0 6px 18px rgba(16, 48, 74, .06);
}
.crm-transfer-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.crm-transfer-tabs .button{width:auto}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  background:
    linear-gradient(135deg, #f8fbff 0%, var(--bg) 44%, #f4f7fb 100%);
  color: var(--text);
  font-family: "Poppins", Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.45;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-title,
.card-title,
.dashboard-hero h1,
.profile-heading h2,
.app-notification h3,
.request-history-tools h2,
.bonus-progress-card h3,
.sales-chart-panel h2,
.store-detail-hero h2,
.store-crm-box h3,
.modal h2,
.crm-dashboard-heading h2,
.crm-page-heading h2,
.variation-prices h3,
.store-report h2,
.store-report h3,
.report-header h1,
.marketing-print-heading h1 {
  font-family: "Plus Jakarta Sans", "Poppins", Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}

a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 700;
}

.sidebar {
  position: fixed;
  inset: 14px auto 14px 14px;
  width: 230px;
  max-height: calc(100vh - 28px);
  background: linear-gradient(180deg, #0582CA 0%, #056da9 52%, #003554 100%);
  color: white;
  padding: 14px 14px;
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(0, 53, 84, .28);
  overflow: hidden;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .35) transparent;
}

.sidebar::-webkit-scrollbar {
  width: 6px;
}

.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .28);
  border-radius: 999px;
}

.brand {
  margin-bottom: 12px;
  padding: 6px 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.brand img {
  display: block;
  max-width: 178px;
  max-height: 64px;
  object-fit: contain;
}

.brand a {
  display: block;
}

.sidebar-primary-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 12px;
  background: #6EC1E4;
  color: var(--primary-dark);
  border-radius: 6px;
  padding: 10px 12px;
  text-align: center;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(0, 53, 84, .16);
}

.sidebar-primary-action:hover {
  background: #82cbea;
  color: var(--primary-dark);
}

.sidebar nav {
  display: grid;
  align-content: start;
  flex: 1 1 auto;
  min-height: 0;
  gap: 3px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .35) transparent;
}

.sidebar nav::-webkit-scrollbar { width: 6px; }
.sidebar nav::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .28); border-radius: 999px; }

.sidebar a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
  border-radius: 6px;
  padding: 9px 11px;
  transition: background .18s ease, transform .18s ease;
}

.sidebar a:hover {
  background: rgba(255, 255, 255, .16);
  transform: translateX(2px);
}

.nav-icon {
  width: 19px;
  height: 19px;
  display: inline-flex;
  flex: 0 0 19px;
  align-items: center;
  justify-content: center;
}

.nav-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.nav-icon i {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  line-height: 1;
}

.nav-dropdown {
  display: grid;
  gap: 3px;
}

.nav-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  justify-content: flex-start;
  background: transparent;
  border: 0;
  color: white;
  padding: 9px 11px;
  font-weight: 800;
  transition: background .18s ease;
}

.nav-dropdown-toggle:hover {
  background: rgba(255, 255, 255, .16);
}

.nav-dropdown-toggle::after {
  content: "v";
  font-size: 12px;
  margin-left: auto;
}

.nav-dropdown.open .nav-dropdown-toggle::after {
  content: "^";
}

.nav-dropdown-menu {
  display: none;
  gap: 2px;
  padding-left: 12px;
}

.nav-dropdown.open .nav-dropdown-menu {
  display: grid;
}

.nav-dropdown-menu a {
  font-size: 14px;
  padding: 7px 10px;
}

.mobile-menu-backdrop,
.mobile-bottom-nav {
  display: none;
}

.sidebar-credit {
  padding: 8px 8px 2px;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  line-height: 1.4;
}

.sidebar-footer {
  flex: 0 0 auto;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  background: transparent;
}

.main {
  margin-left: 258px;
  padding: 26px 28px;
}

.login-main {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}

.topbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
  padding: 2px 2px 0;
}

.topbar > div:first-child {
  flex: 0 0 auto;
}

.topbar-extra {
  display: flex;
  justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

.notification-bell,
.profile-chip {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.82);
  color: var(--primary-dark);
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0,53,84,.06);
}

.notification-bell {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  flex: 0 0 42px;
}

.notification-bell .nav-icon { display: inline-flex; margin: 0; }
.notification-bell b {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  border: 2px solid #f3f8fc;
  font-size: 10px;
}

.profile-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 5px 11px 5px 5px;
  border-radius: 8px;
  font-weight: 800;
}

.topbar .profile-chip > span:last-child { margin: 0; color: var(--text); font-size: 13px; }
.profile-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-weight: 900;
}
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-avatar-large { width: 76px; height: 76px; font-size: 28px; flex: 0 0 76px; }
.profile-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.profile-heading h2 { margin: 0 0 4px; }
.profile-grid { align-items: start; }
.profile-form small { display: block; margin-top: 5px; color: var(--muted); font-weight: 500; }

.transfer-price-card {
  align-self: end;
  display: grid;
  gap: 2px;
  min-height: 70px;
  padding: 10px 13px;
  border: 1px solid #b9ddf3;
  border-radius: 8px;
  background: #eef8fe;
}
.transfer-price-card[hidden] { display: none; }
.transfer-price-card span { color: var(--muted); font-size: 12px; font-weight: 800; }
.transfer-price-card strong { color: var(--primary-dark); font-size: 18px; }

.app-notification-stack {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  display: grid;
  gap: 10px;
  width: min(390px, calc(100vw - 32px));
}

.app-notification {
  position: relative;
  padding: 16px 42px 14px 16px;
  border: 1px solid rgba(5,130,202,.2);
  border-left: 4px solid var(--primary);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 48px rgba(0,53,84,.2);
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.app-notification p { word-break: break-word; overflow-wrap: break-word; }
.app-notification.type-atencao { border-left-color: #f79009; background: rgba(255,250,235,.92); }
.app-notification.type-critico,
.app-notification.type-erro { border-left-color: var(--danger); background: rgba(255,245,245,.93); }
.app-notification small { color: var(--muted); font-weight: 800; }
.app-notification h3 { margin: 4px 0 6px; font-size: 16px; }
.app-notification p { margin: 0; color: var(--text); line-height: 1.45; }
.app-notification > div { display: flex; justify-content: space-between; gap: 12px; margin-top: 11px; font-size: 12px; }
.app-notification time { color: var(--muted); }
.app-notification a { color: var(--primary); font-weight: 900; }
.app-notification-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  width: 28px;
  height: 28px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.85);
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
  box-shadow: none;
  cursor: pointer;
  border-radius: 4px;
}

.notification-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.notification-history { display: grid; gap: 10px; }
.notification-history-item { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 8px; border-left: 4px solid var(--primary); }
.notification-history-item.type-atencao { border-left-color: #f79009; }
.notification-history-item.type-critico,.notification-history-item.type-erro { border-left-color: var(--danger); }
.notification-history-item.is-dismissed { opacity: .6; }
.notification-history-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #eaf5fc; color: var(--primary-dark); font-weight: 900; }
.notification-history-title { display: flex; justify-content: space-between; gap: 12px; }
.notification-history-title span,.notification-history-item small { color: var(--muted); font-size: 12px; }
.notification-history-item p { margin: 5px 0; }
.notification-admin-form { grid-template-columns: repeat(4,minmax(0,1fr)); }
.status-pill.neutral { background: #eef2f6; color: #475467; }

.topbar strong {
  font-size: 18px;
  letter-spacing: .01em;
}

.topbar span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 3px;
}

.topbar .profile-avatar {
  display: grid;
  margin-top: 0;
  color: #fff;
  font-size: 14px;
}

.panel,
.login-card,
.cards article {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.panel {
  padding: 20px;
  margin-bottom: 20px;
  overflow-x: auto;
}

.login-card {
  width: min(420px, 100%);
  padding: 28px;
}

.login-logo {
  display: block;
  max-width: 210px;
  max-height: 92px;
  width: auto;
  height: auto;
  margin: 0 auto 24px;
  object-fit: contain;
}

.marketing-template-form {
  display: grid;
  gap: 14px;
}

.marketing-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.marketing-template-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.marketing-template-form textarea,
.marketing-launch-form textarea,
.json-preview {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

.marketing-launch-form {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-soft);
}

.json-preview {
  margin: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6fbff;
  overflow-x: auto;
  white-space: pre-wrap;
}

@media (max-width: 1100px) {
  .marketing-template-grid,
  .marketing-template-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .marketing-template-grid,
  .marketing-template-grid.two {
    grid-template-columns: 1fr;
  }
}

h1,
h2 {
  margin: 0 0 14px;
}

h2 {
  font-size: 19px;
  color: #0f1f33;
}

.cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.cards article {
  padding: 18px 20px;
  border-color: #dbe8f3;
  position: relative;
  overflow: hidden;
}

.cards article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), #6EC1E4);
}

.cards span,
.login-card p {
  color: var(--muted);
}

.cards small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 8px;
}

.cards strong {
  display: block;
  font-size: 32px;
  margin-top: 8px;
  color: #0b1828;
  line-height: 1;
}

.form,
.grid-form,
.inline-form {
  display: grid;
  gap: 12px;
}

.grid-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-form.compact {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.warehouse-query-total {
  align-self: end;
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
  min-height: 46px;
  padding: 0 4px 10px;
  color: var(--muted);
  white-space: nowrap;
}

.warehouse-query-total strong {
  color: var(--text);
  font-size: 20px;
  line-height: 1;
}

/* Commands inside form grids should keep button dimensions, not fill the row. */
.grid-form > button:not(.full),
.grid-form > .button:not(.full) {
  align-self: end;
  justify-self: start;
  width: auto;
  max-height: 46px;
  white-space: nowrap;
}

.form-span {
  grid-column: 1 / -1;
}

.inline-form {
  grid-template-columns: 1fr auto;
  margin-bottom: 12px;
}

.actions-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.actions-cell .inline-form {
  display: inline-flex;
  margin: 0;
}

.alert {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 12px 0;
  background: #f8fbff;
  color: var(--text);
}

.alert.warning {
  border-color: #f6d98b;
  background: #fff8e6;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 800;
  background: #edf2f7;
  color: #475569;
}

.badge.pendente,
.badge.warning {
  background: #fff3cd;
  color: #8a5a00;
}

.badge.atendida,
.badge.success {
  background: #dcfce7;
  color: #166534;
}

.badge.cancelada,
.badge.danger {
  background: #fee2e2;
  color: #991b1b;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 700;
}

input,
select,
textarea,
button,
.button {
  min-height: 42px;
  border-radius: 6px;
  border: 1px solid var(--line);
  padding: 10px 12px;
  font: inherit;
}

input,
select,
textarea {
  width: 100%;
  background: #fbfdff;
  color: var(--text);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  min-height: 0;
  padding: 0;
  flex: 0 0 16px;
  accent-color: var(--primary);
  box-shadow: none;
}

input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: var(--primary);
  background: white;
  box-shadow: 0 0 0 3px rgba(5, 130, 202, .14);
}

textarea {
  resize: vertical;
}

.input-warning {
  border-color: var(--danger) !important;
  background: #fff7f7 !important;
  box-shadow: 0 0 0 3px rgba(224, 72, 56, .14) !important;
}

.field-warning {
  min-height: 16px;
  color: var(--danger);
  font-size: 12px;
  font-weight: 800;
}

.settings-box {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(5, 130, 202, .18);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(5, 130, 202, .08), rgba(110, 193, 228, .12));
}

button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  border-color: var(--primary);
  color: white;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(5, 130, 202, .16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

button:hover,
.button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(5, 130, 202, .2);
}

button.secondary,
.button.secondary {
  background: #f9fcff;
  color: var(--primary);
  box-shadow: none;
}

button.small,
.button.small {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1;
}

button.danger,
.button.danger {
  background: var(--danger);
  border-color: var(--danger);
  color: white;
}

button.icon {
  min-height: 34px;
  padding: 6px 8px;
  background: white;
  color: var(--danger);
  border-color: #f3c2bd;
}

.check {
  display: flex;
  align-items: center;
  gap: 8px;
}

.check input {
  width: auto;
}

.switch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(5, 130, 202, .18);
  border-radius: 8px;
  background: #f8fbfe;
  color: var(--text);
}

.switch-row span {
  display: grid;
  gap: 3px;
}

.switch-row small {
  color: var(--muted);
  font-weight: 500;
}

.switch-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.switch-row i {
  width: 54px;
  height: 30px;
  border-radius: 999px;
  background: #d8e4ef;
  border: 1px solid #cbd9e7;
  position: relative;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.switch-row i::before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  top: 2px;
  left: 2px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 3px 8px rgba(16, 48, 74, .2);
  transition: transform .18s ease;
}

.switch-row input:checked + i {
  background: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 8px 18px rgba(5, 130, 202, .18);
}

.switch-row input:checked + i::before {
  transform: translateX(24px);
}

.switch-row input:focus-visible + i {
  outline: 3px solid rgba(5, 130, 202, .18);
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 13px;
  background: #f8fbfe;
  font-weight: 800;
}

tbody tr {
  transition: background .16s ease;
}

tbody tr:hover {
  background: #f9fcff;
}

.compact-table input {
  min-height: 34px;
  padding: 7px 9px;
}

.scanner-box {
  display: flex;
  align-items: end;
  gap: 14px;
  padding: 14px;
  margin: 12px 0;
  border: 1px solid rgba(5, 130, 202, .18);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(5, 130, 202, .08), rgba(110, 193, 228, .12));
}

.scanner-box label {
  flex: 1;
}

.imei-list {
  display: grid;
  gap: 8px;
  max-height: 340px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdff;
}

.imei-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
}

.transfer-form > button {
  justify-self: start;
}

.table-tools,
.detail-header,
.actions,
.row-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.table-tools {
  margin-bottom: 10px;
}

.request-history-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.request-history-tools h2 {
  margin: 0;
}

.request-history-filters {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
}

.request-history-filters label {
  display: grid;
  gap: 6px;
  min-width: 160px;
  color: var(--muted);
  font-weight: 700;
}

.request-history-filters select {
  min-height: 42px;
}

.request-history-filters button {
  min-height: 42px;
}

.user-filter-form {
  margin: 14px 0 18px;
  align-items: end;
}

.user-filter-form button,
.user-filter-form .button {
  min-height: 42px;
}

@media (max-width: 760px) {
  .request-history-tools,
  .request-history-filters {
    align-items: stretch;
    flex-direction: column;
  }
}

.detail-header span {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.model-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}

.muted-row {
  opacity: .56;
}

.error-row {
  background: #fff4f2;
}

.error-row td:first-child {
  color: var(--danger);
  font-weight: 800;
}

.warning-row {
  background: #fff9e8;
}

.warning-row td:first-child {
  color: #9a5b00;
  font-weight: 800;
}

.model-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  display: grid;
  gap: 12px;
  box-shadow: var(--shadow-soft);
}

.model-card.inactive {
  opacity: .58;
}

.model-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.model-card strong {
  display: block;
  font-size: 18px;
  margin-top: 3px;
}

.model-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.model-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.model-card dd {
  margin: 2px 0 0;
  font-weight: 800;
}

.tabs {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
  overflow-x: auto;
}

.tab-button {
  background: transparent;
  color: var(--primary-dark);
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  box-shadow: none;
}

.tab-button:hover,
button.icon:hover {
  transform: none;
  box-shadow: none;
}

.tab-button.active {
  border-bottom-color: var(--primary);
  color: var(--primary);
}

.sales-tabs {
  align-items: flex-end;
  gap: 0;
  margin-top: 24px;
  margin-bottom: 0;
  padding-top: 14px;
  border-bottom: 1px solid var(--line);
}

.sales-tabs .tab-button {
  padding: 10px 16px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-bottom-color: var(--line);
  border-radius: 10px 10px 0 0;
  background: #f8fbff;
  color: var(--muted);
  font-weight: 800;
  margin-right: 6px;
  margin-bottom: -1px;
}

.sales-tabs .tab-button.active {
  background: #ffffff;
  border-color: var(--line);
  border-bottom-color: #ffffff;
  color: var(--primary);
}

.sales-context-filter {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr);
  gap: 18px;
  align-items: end;
}

.sales-context-filter .grid-form {
  margin: 0;
}

.sales-context-filter > .hint {
  grid-column: 1 / -1;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.simple-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.simple-list li {
  background: #e7f4fc;
  border-radius: 999px;
  padding: 8px 11px;
  color: var(--primary-dark);
  font-weight: 700;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bonus-progress-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.seller-bonus-total {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  text-align: right;
}

.seller-bonus-total strong {
  color: var(--primary-dark);
  font-size: 30px;
  line-height: 1.05;
}

.seller-bonus-total small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.bonus-progress-card {
  border: 1px solid #d9e7f5;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bonus-progress-card span {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
}

.bonus-progress-card h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.25;
}

.bonus-progress-card strong {
  color: #0b1b33;
  font-size: 18px;
}

.bonus-progress-card small {
  color: #526783;
  line-height: 1.35;
}

.bonus-progress-card b {
  margin-top: auto;
  color: #0b1b33;
}

.bonus-progress-card.is-done {
  border-color: #b7ebc6;
  background: #f7fdf9;
}

.bonus-progress-card.is-done span {
  background: #dcfce7;
  color: #067647;
}

.bonus-progress-card.is-pending {
  border-color: #fedf89;
  background: #fffcf5;
}

.bonus-progress-card.is-pending span {
  background: #fef0c7;
  color: #b54708;
}

.bonus-progress-card.is-empty {
  border-color: #e4e7ec;
  background: #f8fafc;
}

.bonus-progress-card.is-empty span {
  background: #eef2f6;
  color: #475467;
}

.dashboard-grid > article {
  min-width: 0;
}

.code-block {
  max-height: 520px;
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f6f9fc;
  color: var(--text);
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}

.segmented {
  display: flex;
  gap: 8px;
}

.form-actions {
  display: flex;
  align-items: end;
  gap: 10px;
}

.dashboard-filter-panel {
  margin-top: -8px;
}

.dashboard-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding: 26px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 78% 20%, rgba(110, 193, 228, .36), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f2f9fe 48%, #e8f5fc 100%);
  border: 1px solid #d8eaf6;
  box-shadow: var(--shadow);
}

.dashboard-hero span {
  color: var(--primary);
  font-weight: 800;
  font-size: 13px;
}

.dashboard-hero h1 {
  margin: 6px 0 6px;
  font-size: 34px;
  line-height: 1.1;
  letter-spacing: 0;
}

.dashboard-hero p {
  margin: 0;
  color: var(--muted);
  max-width: 560px;
}

.metric-cards {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(260px, .8fr);
  gap: 18px;
  margin-bottom: 20px;
}

.chart-panel,
.quick-panel {
  margin-bottom: 0;
}

.chart-panel .table-tools strong {
  color: var(--primary-dark);
  font-size: 22px;
}

.line-chart {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 10px;
}

.line-chart line {
  stroke: #e5edf5;
  stroke-width: 1;
}

.chart-area {
  fill: url(#chartFill);
}

.chart-line {
  fill: none;
  stroke: var(--primary);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.line-chart circle {
  fill: white;
  stroke: var(--primary);
  stroke-width: 3;
}

.line-chart text {
  fill: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.line-chart .chart-value {
  fill: var(--primary-dark);
  font-size: 13px;
  font-weight: 800;
}

.sales-line-chart {
  display: block;
  width: 100%;
  height: auto;
  min-height: 220px;
}

.sales-line-chart .chart-axis {
  stroke: #d7e3ef;
  stroke-width: 1.4;
}

.sales-line-chart .chart-line {
  fill: none;
  stroke: var(--primary);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sales-line-chart .chart-dot {
  fill: white;
  stroke: var(--primary);
  stroke-width: 3;
}

.sales-dashboard-filters {
  display: grid;
  grid-template-columns: minmax(132px, .75fr) minmax(132px, .75fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(150px, .85fr) auto;
  align-items: end;
  gap: 10px;
  width: min(1160px, 100%);
  margin-bottom: 20px;
}

.sales-dashboard-filters label {
  gap: 5px;
  font-size: 12px;
}

.sales-dashboard-filters input,
.sales-dashboard-filters select {
  min-height: 42px;
  padding: 9px 12px;
  font-size: 13px;
}

.sales-dashboard-filters button {
  min-height: 42px;
  padding: 9px 18px;
  white-space: nowrap;
}

.sales-dashboard-filters .filter-actions {
  display: flex;
  gap: 10px;
  align-items: end;
}

.sales-dashboard-filters .filter-actions .button {
  min-height: 42px;
  padding: 9px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.marketing-dashboard-filters {
  width: 100%;
  grid-template-columns: minmax(132px, .8fr) minmax(132px, .8fr) minmax(180px, 1fr) minmax(150px, .9fr) auto 1fr auto;
}

.marketing-export-button {
  justify-self: end;
}

.print-only {
  display: none !important;
}

.sales-metric-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.sales-metric-card {
  min-height: 132px;
  padding: 16px 18px;
}

.sales-metric-card .sales-card-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border-radius: 8px;
  color: var(--primary);
  background: #edf7fd;
  border: 1px solid #d3eafa;
}

.sales-metric-card .sales-card-icon svg {
  width: 20px;
  height: 20px;
}

.sales-metric-card span {
  display: block;
  min-height: 34px;
  font-size: 14px;
}

.sales-metric-card strong {
  font-size: 28px;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.sales-metric-card small {
  font-size: 11px;
  line-height: 1.35;
}

.sales-metric-card.featured {
  background: linear-gradient(135deg, #0582CA, #006494);
  border-color: rgba(5, 130, 202, 0.35);
  box-shadow: 0 20px 42px rgba(5, 130, 202, 0.22);
}

.sales-metric-card.featured::before {
  background: rgba(255, 255, 255, 0.34);
}

.sales-metric-card.featured span,
.sales-metric-card.featured small,
.sales-metric-card.featured strong {
  color: #ffffff;
}

.sales-metric-card.featured .sales-card-icon {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.28);
}

.seller-bonus-column {
  position: sticky;
  right: 0;
  z-index: 2;
  min-width: 132px;
  background: #fff;
  box-shadow: -8px 0 14px rgba(15, 41, 64, .08);
}

thead .seller-bonus-column {
  z-index: 3;
  background: #f4f8fc;
}

.seller-bonus-column strong {
  color: var(--primary-dark);
  white-space: nowrap;
}

.seller-network-compact th,
.seller-network-compact td {
  padding: 10px 8px;
  white-space: nowrap;
  text-align: center;
}

.seller-network-compact th { cursor: pointer; }

.seller-network-compact th:nth-child(2),
.seller-network-compact td:nth-child(2) {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 190px;
  max-width: 240px;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  background: #fff;
  box-shadow: 7px 0 12px rgba(15, 41, 64, .05);
}

.seller-network-compact thead th:nth-child(2) {
  z-index: 3;
  background: #f4f8fc;
}

.seller-network-compact .seller-bonus-column { min-width: 104px; }
.sales-metric-card.danger .sales-card-icon {
  color: var(--danger);
  background: #fff1f0;
  border-color: #ffd1cc;
}

.sales-metric-card.muted {
  background: #f6f9fc;
  border-color: #dbe5ef;
  box-shadow: none;
}

.sales-metric-card.muted .sales-card-icon {
  color: var(--muted);
  background: #eef3f8;
  border-color: #d8e2ec;
}

.sales-metric-card.muted span,
.sales-metric-card.muted small {
  color: var(--muted);
}

.sales-visual-grid {
  align-items: stretch;
  margin-bottom: 20px;
}

.sales-chart-panel {
  overflow: hidden;
}

.sales-visual-grid > .panel {
  margin-bottom: 0;
}

.sales-chart-panel h2 {
  margin-bottom: 6px;
}

.sales-chart-panel .table-tools {
  align-items: start;
}

.sales-chart-panel .table-tools strong {
  color: var(--primary-dark);
  font-size: 24px;
}

.sales-projected-value {
  color: #9aa8b7;
  font-weight: 500;
}

.sales-chart-wide {
  grid-column: span 2;
}

.sales-line-chart-rich {
  min-height: 260px;
  margin-top: 8px;
}

.sales-line-chart .chart-grid {
  stroke: #e8eff6;
  stroke-width: 1;
}

.sales-line-chart .chart-area-soft {
  fill: url(#salesLineFill);
}

.sales-line-chart .chart-bar {
  fill: #d9e7f3;
  opacity: .78;
}

.sales-line-chart .chart-meta {
  stroke: #aebdcb;
  stroke-width: 2;
  stroke-dasharray: 7 8;
}

.sales-line-chart .chart-meta-label,
.sales-line-chart .chart-value-label,
.sales-line-chart .chart-day-label {
  font-size: 12px;
  font-weight: 800;
  fill: var(--muted);
}

.sales-line-chart .chart-value-label {
  fill: var(--primary-dark);
}

.mkt-daily-total {
  display: grid;
  justify-items: end;
  gap: 2px;
}

.mkt-daily-total small,
.mkt-daily-values small {
  color: #8b9bad;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.mkt-daily-values {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.mkt-daily-values span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #d8e7f4;
  border-radius: 8px;
  background: #f8fbfe;
  color: var(--primary-dark);
  font-weight: 800;
  text-align: center;
}

.mkt-daily-values b {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.mkt-daily-values small {
  display: block;
  margin-top: 3px;
}

.sales-donut-wrap {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 230px;
}

.sales-donut {
  width: 190px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--donut));
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(0, 53, 84, .06);
}

.sales-donut::after {
  content: "";
  position: absolute;
  inset: 42px;
  border-radius: 50%;
  background: white;
  box-shadow: inset 0 0 0 1px #e2edf6;
}

.sales-donut span {
  position: relative;
  z-index: 1;
  color: var(--primary-dark);
  font-size: 18px;
  font-weight: 900;
}

.sales-donut-legend {
  display: grid;
  gap: 10px;
}

.sales-donut-legend div {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid #e6eef6;
}

.sales-donut-legend i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.sales-donut-legend span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
}

.sales-donut-legend strong {
  color: var(--primary-dark);
}

.sales-gauge,
.sales-gauge-empty {
  min-height: 288px;
  display: grid;
  place-items: center;
  text-align: center;
}

.sales-gauge {
  align-content: center;
  gap: 10px;
  padding-top: 8px;
}

.sales-gauge-meter {
  width: min(320px, 100%);
  aspect-ratio: 2 / 1;
  overflow: hidden;
  position: relative;
  display: grid;
  place-items: end center;
  margin-bottom: 18px;
}

.sales-gauge-meter::before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 1 / 1;
  inset: 0;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from 270deg, transparent 0 6.5deg, rgba(255,255,255,.82) 6.5deg 8.4deg, transparent 8.4deg 10deg),
    conic-gradient(from 270deg, var(--primary) 0 var(--gauge-arc), #d9e8f6 0 50%, transparent 0);
  transform: translateZ(0);
}

.sales-gauge-meter::after {
  content: "";
  position: absolute;
  left: 16%;
  top: 32%;
  width: 68%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: white;
  box-shadow: inset 0 0 0 1px #e2edf6;
}

.sales-gauge-meter strong {
  position: relative;
  z-index: 3;
  margin-bottom: 14px;
  color: var(--primary);
  font-size: 44px;
  line-height: 1;
  font-weight: 900;
}

.sales-gauge span,
.sales-gauge-empty span {
  color: var(--muted);
  max-width: 260px;
}

.sales-gauge span {
  display: block;
  line-height: 1.25;
}

.sales-gauge span b {
  color: var(--primary-dark);
  font-weight: 900;
}

.sales-gauge-empty {
  padding: 28px;
  border: 1px dashed #cbd9e7;
  border-radius: 8px;
  background: #f8fbfe;
}

.sales-gauge-empty strong {
  color: var(--primary-dark);
}

.sales-map-panel {
  margin-bottom: 20px;
}

.sales-map-panel .table-tools > strong {
  color: var(--primary-dark);
  font-size: 22px;
}

.sales-region-map {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
}

.sales-map-canvas {
  min-height: 420px;
  border: 1px solid #d8e7f4;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 24% 30%, rgba(5, 130, 202, .12), transparent 24%),
    radial-gradient(circle at 72% 64%, rgba(0, 100, 148, .10), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #edf6fd 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72);
}

.sales-leaflet-map {
  min-height: 520px;
  background: #e8f1f7;
  isolation: isolate;
}

/* Base cartográfica neutra; mantém pins, pop-ups e controles coloridos. */
.sales-leaflet-map .leaflet-tile-pane {
  filter: grayscale(100%) saturate(0) brightness(1.08) contrast(.9);
}

.sales-leaflet-map .leaflet-control-zoom a,
.sales-map-fit-control button {
  color: var(--primary-dark);
  font: 800 13px/30px "Plus Jakarta Sans", sans-serif;
}

.sales-map-fit-control button {
  width: 48px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: #fff;
  cursor: pointer;
}

.sales-map-fit-control button:hover {
  background: #f1f7fb;
}

.sales-leaflet-marker-anchor {
  border: 0;
  background: transparent;
}

.sales-leaflet-marker-shape {
  --pin-color: #8fa4b8;
  position: relative;
  width: 42px;
  height: 42px;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 10px;
  display: grid !important;
  place-items: center;
  background: var(--pin-color);
  color: #fff;
  transform: rotate(-45deg);
  box-shadow: 0 10px 22px rgba(0, 53, 84, .30);
}

.sales-leaflet-marker-shape span {
  position: relative;
  z-index: 1;
  max-width: 30px;
  overflow: hidden;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  transform: rotate(45deg);
}

.sales-leaflet-marker-shape::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
}

.sales-leaflet-marker-shape.is-ok { --pin-color: #079455; }
.sales-leaflet-marker-shape.is-watch { --pin-color: var(--primary); }
.sales-leaflet-marker-shape.is-danger { --pin-color: #d92d20; }
.sales-leaflet-marker-shape.is-empty { --pin-color: #8fa4b8; }

.expansion-map{height:560px;margin-top:14px}.expansion-legend{display:flex;gap:18px;flex-wrap:wrap}.expansion-legend span{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700}.expansion-legend i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:#0d8bd7;color:#fff}.expansion-legend .is-poi{background:#12b76a}.expansion-legend .is-implementation{background:#f79009}.expansion-grid,.expansion-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.expansion-card-list{display:grid;gap:10px}.expansion-item-card{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:13px;background:#fff}.expansion-item-card>div:nth-child(2){display:grid;gap:3px}.expansion-item-card span,.expansion-item-card small{color:var(--muted)}.expansion-item-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;background:#d1fadf}.expansion-item-card.implementation .expansion-item-icon{background:#ffead5}.expansion-marker-anchor{background:transparent!important;border:0!important}.expansion-marker{--pin:#168bd2;width:40px;height:40px;border-radius:50% 50% 50% 0;background:var(--pin);border:3px solid #fff;box-shadow:0 5px 14px #172b4d55;transform:rotate(-45deg);display:grid;place-items:center}.expansion-marker span{transform:rotate(45deg);color:#fff;font-weight:800;font-size:12px}.expansion-marker.is-poi{--pin:#12b76a}.expansion-marker.is-poi span,.expansion-marker.is-implementation span{font-size:19px}.expansion-marker.is-implementation{--pin:#f79009}.expansion-progress{height:10px;background:#eaf0f5;border-radius:999px;overflow:hidden;margin:16px 0 8px}.expansion-progress i{display:block;height:100%;background:#12b76a;border-radius:inherit}.expansion-phone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.expansion-checklist{display:grid;gap:8px}.expansion-check{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,2fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--border);border-radius:12px}.expansion-check.is-done{background:#ecfdf3;border-color:#a6f4c5}.expansion-check.is-done strong{text-decoration:line-through;color:#067647}.expansion-timeline{display:grid;gap:0}.expansion-timeline>div{position:relative;padding:0 0 20px 24px;display:grid;gap:2px}.expansion-timeline i{position:absolute;left:4px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--primary)}.expansion-timeline>div:before{content:"";position:absolute;left:8px;top:15px;bottom:0;width:2px;background:var(--border)}.expansion-timeline span{font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.expansion-grid,.expansion-detail-grid{grid-template-columns:1fr}.expansion-map{height:440px}.expansion-check{grid-template-columns:1fr}.expansion-phone-grid{grid-template-columns:1fr}}
.expansion-card-progress{height:7px;max-width:260px;margin-top:6px;background:#e9eff5;border-radius:999px;overflow:hidden}.expansion-card-progress i{display:block;height:100%;border-radius:inherit;background:#12b76a;transition:width .25s ease}.expansion-card-progress-label{font-size:.72rem!important;color:#667085!important}

.sales-map-popup {
  min-width: 210px;
  display: grid;
  gap: 5px;
  color: var(--text);
}

.sales-map-popup strong {
  color: var(--primary-dark);
  font-size: 15px;
}

.sales-map-popup small {
  color: var(--muted);
}

.sales-map-popup .button {
  margin-top: 7px;
  justify-self: start;
  text-decoration: none;
}

.sales-map-load-error {
  min-height: 420px;
  display: grid;
  place-items: center;
  color: var(--danger);
  font-weight: 700;
}

.sales-map-grid {
  position: absolute;
  inset: 0;
  opacity: .55;
  background-image:
    linear-gradient(rgba(0, 53, 84, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 53, 84, .055) 1px, transparent 1px);
  background-size: 52px 52px;
}

.sales-map-labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.sales-map-labels span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  max-width: 120px;
  padding: 3px 7px;
  border: 1px solid rgba(8, 82, 125, .08);
  border-radius: 999px;
  background: rgba(255, 255, 255, .58);
  color: rgba(0, 53, 84, .50);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(10, 72, 110, .06);
}

.sales-map-pin {
  --pin-color: #8fb6d9;
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 42px;
  height: 42px;
  border-radius: 50% 50% 50% 10px;
  display: grid;
  place-items: center;
  background: var(--pin-color);
  border: 3px solid #ffffff;
  color: #ffffff;
  text-decoration: none;
  transform: translate(-50%, -100%) rotate(-45deg);
  box-shadow: 0 14px 24px rgba(0, 53, 84, .22);
  z-index: 3;
  transition: transform .16s ease, box-shadow .16s ease;
}

.sales-map-pin::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .22);
}

.sales-map-pin span {
  position: relative;
  z-index: 1;
  transform: rotate(45deg);
  font-size: 11px;
  font-weight: 900;
  max-width: 30px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-map-pin:hover {
  transform: translate(-50%, -100%) rotate(-45deg) scale(1.08);
  box-shadow: 0 18px 32px rgba(0, 53, 84, .28);
}

.sales-map-pin.is-ok,
.sales-map-legend .is-ok,
.sales-map-list .is-ok {
  --pin-color: #079455;
  background: #079455;
}

.sales-map-pin.is-watch,
.sales-map-legend .is-watch,
.sales-map-list .is-watch {
  --pin-color: var(--primary);
  background: var(--primary);
}

.sales-map-pin.is-danger,
.sales-map-legend .is-danger,
.sales-map-list .is-danger {
  --pin-color: #d92d20;
  background: #d92d20;
}

.sales-map-pin.is-empty,
.sales-map-legend .is-empty,
.sales-map-list .is-empty {
  --pin-color: #8fa4b8;
  background: #8fa4b8;
}

.sales-map-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.sales-map-legend,
.sales-map-list {
  border: 1px solid #e0eaf4;
  border-radius: 8px;
  background: #fbfdff;
  padding: 12px;
}

.sales-map-legend {
  display: grid;
  gap: 10px;
}

.sales-map-legend span,
.sales-map-list div {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
}

.sales-map-legend i,
.sales-map-list i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.sales-map-list {
  display: grid;
  gap: 10px;
}

.sales-map-list strong,
.sales-map-list small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-map-list strong {
  color: var(--text);
}

.sales-map-list small {
  color: var(--muted);
  font-size: 12px;
}

.sales-map-empty {
  min-height: 220px;
  border: 1px dashed #cbd9e7;
  border-radius: 8px;
  background: #f8fbfe;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 24px;
}

.sales-map-empty strong {
  color: var(--primary-dark);
  font-size: 18px;
}

.sales-map-empty span {
  color: var(--muted);
  max-width: 520px;
}

.quick-panel {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.quick-actions {
  display: grid;
  gap: 10px;
}

.ranking-panel .dashboard-grid > div {
  padding: 14px;
  border: 1px solid #e0eaf4;
  border-radius: 8px;
  background: #fbfdff;
}

.flash {
  border-radius: 8px;
  margin-bottom: 16px;
  padding: 12px 14px;
  background: #ecfdf3;
  color: var(--ok);
  border: 1px solid #abefc6;
}

.flash.error {
  background: #fef3f2;
  border-color: #fecdca;
  color: var(--danger);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.status-pill.success {
  background: #dcfae6;
  color: var(--ok);
}

.status-pill.warning {
  background: #fef0c7;
  color: #b54708;
}

.status-pill.danger {
  background: #fef3f2;
  color: var(--danger);
}

.status {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 800;
  font-size: 12px;
}

.status.enviado,
.status.finalizada,
.status.concluido {
  background: #dcfae6;
  color: var(--ok);
}

.status.erro {
  background: #fee4e2;
  color: var(--danger);
}

.status.ignorado {
  background: #eaecf0;
  color: #475467;
}

.status.aberta,
.status.relatorio_emitido,
.status.aguardando_conferencia,
.status.pendente,
.status.processando {
  background: #fef0c7;
  color: var(--warn);
}

.error-cell {
  max-width: 360px;
  word-break: break-word;
  color: #475467;
  font-size: 13px;
}

.hint {
  color: var(--muted);
  margin: 6px 0 0;
}

.error-text {
  color: var(--danger);
  font-weight: 800;
}

.narrow {
  max-width: 520px;
}

.config-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.config-cards-grid .panel {
  margin: 0;
  min-width: 0;
}

.config-card .form {
  height: 100%;
}

.config-card code {
  display: block;
  margin-top: 8px;
  overflow-wrap: anywhere;
}

.alert-settings-form {
  display: grid;
  gap: 18px;
}

.alert-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.alert-settings-card {
  margin: 0;
}

.alert-number-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.store-detail-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.store-detail-hero h2 {
  margin-top: 14px;
}

.store-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.vault-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.vault-card { margin:0; }
.vault-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.vault-card-head h2 { margin:0; }
.vault-details { display:grid; gap:10px; margin:18px 0 0; }
.vault-details > div { border-top:1px solid var(--line); padding-top:10px; }
.vault-details dt { color:var(--muted); font-size:.82rem; font-weight:700; }
.vault-details dd { margin:4px 0 0; display:flex; align-items:center; justify-content:space-between; gap:10px; overflow-wrap:anywhere; }
.vault-edit { margin-top:16px; border-top:1px solid var(--line); padding-top:12px; }
.vault-edit summary { color:var(--primary); cursor:pointer; font-weight:800; }
.vault-edit form { margin-top:12px; }
.vault-auth-panel { max-width:760px; }
.vault-phone { font-size:1.25rem; }
.vault-code-form { display:grid; grid-template-columns:minmax(180px,260px) auto; align-items:end; gap:12px; margin-top:18px; }
.vault-levels { display:flex; flex-wrap:wrap; gap:14px; border:1px solid var(--line); padding:14px; border-radius:8px; }
.vault-levels label { display:flex; align-items:center; gap:6px; }
.compact-button { min-height:36px; height:36px; padding:0 14px; }
@media (max-width: 760px) { .vault-grid { grid-template-columns:1fr; } .vault-code-form { grid-template-columns:1fr; } }

.stores-table th:last-child,
.stores-table td:last-child {
  width: 220px;
}

.stores-table td {
  vertical-align: top;
}

.store-name-link {
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  color: var(--text);
}

.store-name-link:hover {
  color: var(--primary);
}

.store-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 800;
}

.store-fiscal-cell,
.store-sync-cell,
.store-token-cell {
  display: grid;
  gap: 4px;
}

.store-defaults-cell {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 190px;
}

.store-defaults-cell span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f1f7fc;
  color: var(--muted);
  font-size: 12px;
}

.store-defaults-cell strong {
  color: var(--text);
}

.store-actions-cell {
  min-width: 210px;
  vertical-align: top;
}

.store-action-row,
.store-secondary-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.store-secondary-actions {
  margin-top: 8px;
}

.store-icon-action,
button.store-icon-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--primary);
  box-shadow: none;
}

.store-icon-action svg,
.mini-link svg {
  width: 17px;
  height: 17px;
}

.store-icon-action:hover,
button.store-icon-action:hover {
  background: var(--primary-soft);
  border-color: rgba(5, 130, 202, .34);
  color: var(--primary-dark);
}

.mini-link,
button.mini-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  box-shadow: none;
}

.mini-link:hover,
button.mini-link:hover {
  background: var(--primary-soft);
  border-color: rgba(5, 130, 202, .18);
  color: var(--primary-dark);
}

.store-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.store-detail-grid > .full-span {
  grid-column: 1 / -1;
}

.store-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-info-grid > div {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--panel-soft);
}

.store-info-grid small,
.store-whatsapp-card span,
td small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.store-info-grid strong,
.store-whatsapp-card strong {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.store-whatsapp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.store-whatsapp-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: var(--shadow-soft);
}

.store-whatsapp-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.store-whatsapp-card-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: max-content;
}

.uazapi-connect-body {
  display: grid;
  gap: 16px;
  overflow-y: auto;
  padding: 18px 22px 24px;
}

.uazapi-status-line,
.uazapi-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.uazapi-details {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-soft);
}

.uazapi-details small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.uazapi-details strong {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.uazapi-qr-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 16px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  background: #f8fbff;
  text-align: center;
}

.uazapi-qr-image {
  display: block;
  width: min(300px, 100%);
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.messaging-token-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.messaging-token-actions .compact-button {
  width: auto;
  min-height: 34px;
  padding: 7px 12px;
  line-height: 1;
}

.store-crm-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 18px;
  margin-top: 18px;
}

.store-crm-box {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: var(--panel-soft);
}

.store-crm-box h3 {
  margin: 0 0 12px;
  font-size: 16px;
}

.switch-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  white-space: nowrap;
}

.switch-inline input {
  width: auto;
  min-height: 0;
}

.inline-action-form {
  display: inline-flex;
  margin: 0;
}

.inline-action-form button.small {
  min-height: 34px;
}

.manager-owner-form {
  align-items: end;
}

.manager-owner-form button {
  align-self: end;
  min-height: 46px;
}

.seller-ranking-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}

.seller-ranking-filter {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(240px, 1.4fr) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbff;
}

.seller-ranking-filter label {
  margin: 0;
}

.seller-ranking-filter button {
  white-space: nowrap;
}

.seller-manager-switch {
  grid-template-columns: minmax(0, max-content) auto;
  gap: 10px;
  margin: 0;
}

.seller-manager-switch span {
  gap: 0;
}

.seller-manager-switch small {
  font-size: 11px;
}

.seller-manager-switch i {
  width: 44px;
  height: 24px;
}

.seller-manager-switch i::before {
  width: 18px;
  height: 18px;
}

.seller-manager-switch input:checked + i::before {
  transform: translateX(20px);
}

@media (max-width: 1180px) {
  .store-detail-grid,
  .store-whatsapp-grid,
  .store-crm-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .seller-ranking-filter {
    grid-template-columns: 1fr;
  }

  .store-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  .config-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alert-settings-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .config-cards-grid {
    grid-template-columns: 1fr;
  }

  .alert-number-grid {
    grid-template-columns: 1fr;
  }
}

.tiny {
  grid-template-columns: 150px 90px auto;
  margin: 0;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  background: rgba(16, 24, 40, .55);
  padding: 16px;
}

.modal-backdrop[hidden] {
  display: none;
}

.modal {
  width: min(560px, 100%);
  max-height: calc(100dvh - 32px);
  background: white;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(16, 48, 74, .28);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.modal > .table-tools {
  flex: 0 0 auto;
  padding: 18px 22px 12px;
  border-bottom: 1px solid var(--line);
}

.modal > form {
  overflow-y: auto;
  padding: 18px 22px 24px;
  overscroll-behavior: contain;
}

.modal.wide {
  width: min(980px, 100%);
}

.modal-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 6px -22px 0;
  padding: 14px 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), #fff 28%);
  border-top: 1px solid var(--line);
}

.modal-actions button {
  min-width: 180px;
}

.check-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  background: #fbfdff;
}

.check-group legend {
  color: var(--muted);
  font-weight: 800;
  padding: 0 6px;
}

.permission-groups {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  grid-column: 1 / -1;
  background: #fbfdff;
}

.permission-groups legend {
  color: var(--muted);
  font-weight: 800;
  padding: 0 6px;
}

.permission-groups p {
  margin: 0 0 12px;
  color: var(--muted);
}

.permission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.permission-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.permission-card strong {
  display: block;
  margin-bottom: 8px;
}

.permission-card .check {
  margin: 7px 0;
}

.modal h2 {
  font-size: 24px;
}

/* CRM */
.info-banner{margin-top:18px;padding:14px 16px;border:1px solid #b9def1;border-radius:12px;background:#eef9ff;color:#174b67}.info-banner strong{color:#073a57}.crm-transfer-filters{margin-bottom:16px}.crm-transfer-card{border-left:4px solid var(--primary,#078bc6)}.crm-transfer-total{font-size:1.35rem;color:var(--primary,#078bc6)}.crm-transfer-stats{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;margin:4px 0 18px}.crm-transfer-stats span{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #d9e5ee;border-radius:10px;background:#f8fbfd;color:#536b7d}.crm-transfer-stats strong{color:#102b3d}.crm-transfer-card .check small{display:block;margin-left:26px}.crm-transfer-card select{max-width:100%}
.crm-transfer-search-label{position:relative}.crm-transfer-search-results{position:absolute;z-index:40;top:100%;left:0;right:0;max-height:340px;overflow:auto;margin-top:5px;padding:6px;border:1px solid #cbdce8;border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(28,64,84,.18)}.crm-transfer-search-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#102b3d;text-align:left}.crm-transfer-search-results button:hover,.crm-transfer-search-results button:focus{background:#eef8fd}.crm-transfer-search-results button small{color:#6a8190;font-weight:500;text-align:right}.crm-transfer-no-results,.crm-transfer-empty{padding:18px;border:1px dashed #cad9e3;border-radius:10px;color:#718796;text-align:center;background:#fafcfd}.crm-transfer-empty{margin:8px 0 2px}
@media(max-width:800px){.crm-transfer-stats{grid-template-columns:1fr 1fr}.crm-transfer-card .table-tools{align-items:flex-start}.crm-transfer-total{font-size:1.1rem}}
.crm-dashboard-heading,
.crm-page-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.crm-dashboard-heading h2,
.crm-page-heading h2 {
  margin-bottom: 4px;
}

.crm-dashboard-heading p,
.crm-page-heading p {
  margin: 0;
}

.crm-dashboard-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(130px, .75fr)) minmax(180px, 1fr) minmax(190px, 1fr) auto;
  align-items: end;
  gap: 10px;
  width: min(880px, 100%);
}

.crm-dashboard-filters label,
.crm-leads-filter-grid label {
  gap: 4px;
  font-size: 12px;
}

.crm-summary-cards {
  grid-template-columns: repeat(6, minmax(145px, 1fr));
  margin-bottom: 18px;
}

.crm-acquisition-grid {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 18px;
}

.crm-acquisition-grid > .panel {
  min-width: 0;
  margin-bottom: 0;
}

.crm-channel-matrix {
  min-width: 520px;
}

.crm-channel-matrix th:not(:first-child),
.crm-channel-matrix td:not(:first-child) {
  text-align: center;
}

.crm-channel-matrix-total td {
  background: #edf6fc;
  color: var(--text);
}

.crm-dashboard-cards article.featured {
  background: linear-gradient(145deg, var(--primary), #006494);
  border-color: transparent;
}

.crm-dashboard-cards article.featured::before {
  background: rgba(255, 255, 255, .45);
}

.crm-dashboard-cards article.featured span,
.crm-dashboard-cards article.featured strong,
.crm-dashboard-cards article.featured small {
  color: white;
}

.crm-dashboard-grid {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  margin-bottom: 18px;
}

.crm-dashboard-grid > .panel,
.crm-pie-grid > .panel,
.crm-detail-grid > .panel {
  min-width: 0;
  margin-bottom: 0;
}

.crm-chart-panel {
  min-height: 390px;
}

.crm-pie-grid,
.crm-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
  align-items: stretch;
}

.crm-pie-panel,
.crm-ranking-panel,
.crm-channel-store-panel {
  height: 100%;
}

.crm-donut-wrap {
  min-height: 260px;
}

.crm-chart-area {
  fill: url(#crmLineFill);
}

.crm-action-metric-cards { grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:18px; }
.crm-action-metric-cards article { background:#f8fafc; }
.crm-flow-grid { grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px;align-items:stretch; }
.crm-flow-grid > .panel { margin:0;min-width:0; }
.crm-daily-bars { min-height:210px;display:flex;align-items:end;gap:clamp(5px,1vw,16px);padding:32px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto; }
.crm-daily-group { min-width:42px;flex:1;text-align:center; }
.crm-daily-columns { height:160px;display:flex;align-items:end;justify-content:center;gap:4px; }
.crm-daily-columns i { position:relative;width:min(20px,42%);border-radius:7px 7px 2px 2px;background:var(--primary); }
.crm-daily-columns i.is-moved { background:#aebac7; }
.crm-daily-columns b { position:absolute;left:50%;top:-20px;transform:translateX(-50%);font-size:10px;color:var(--text);font-style:normal; }
.crm-daily-group small { display:block;margin:7px 0;color:var(--muted);font-size:10px; }
.crm-chart-legend { display:flex;gap:18px;justify-content:center;margin-top:12px;color:var(--muted);font-size:12px; }
.crm-chart-legend span { display:flex;align-items:center;gap:6px; }.crm-chart-legend i { width:11px;height:11px;border-radius:3px;background:var(--primary); }.crm-chart-legend i.is-moved { background:#aebac7; }
.crm-funnel { display:grid;gap:8px;margin-top:20px;justify-items:center; }
.crm-funnel div { width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;color:#fff;border-radius:8px;font-weight:800;clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%); }
.crm-funnel div:nth-child(2){width:88%}.crm-funnel div:nth-child(3){width:76%}.crm-funnel div:nth-child(4){width:64%}.crm-funnel div:nth-child(5){width:52%}
.crm-funnel .is-new{background:#006494}.crm-funnel .is-service{background:#0582ca}.crm-funnel .is-scheduled{background:#e8a317}.crm-funnel .is-positive{background:#099268}.crm-funnel .is-negative{background:#98a2b3}
.crm-funnel strong { font-size:1.25rem; }
.crm-preview-section-head { display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px; }.crm-preview-section-head span { font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--primary); }.crm-preview-section-head h2 { margin:4px 0 0; }.crm-ranking-position { display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--primary);background:#e5f4fc;font-size:11px;font-weight:900; }
.crm-lead-workspace { display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px; }
.crm-lead-workspace > .panel { margin:0;min-width:0; }
.crm-lead-workspace-unified { grid-template-columns:minmax(0,1fr); }
.crm-update-secondary-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line); }
.crm-update-secondary-grid > section { min-width:0; }
.crm-update-secondary-grid h3 { margin:0 0 4px;font-size:18px; }
.crm-inline-action-panel,.crm-inline-observation-panel { padding:0; }
.crm-inline-action-panel .crm-action-picker { margin:14px 0; }
.crm-inline-observation-panel .crm-observation-list { margin-top:12px; }
.crm-update-secondary-grid.is-actions-hidden .crm-inline-observation-panel { grid-column:1/-1; }
.crm-status-flow { display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:18px 0; }
.crm-status-flow label input { position:absolute;opacity:0;pointer-events:none; }
.crm-status-flow label span { min-height:74px;display:grid;align-content:center;padding:10px 14px;border:2px solid #d8e4ef;background:#f8fafc;color:var(--text);cursor:pointer;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,8% 50%); }
.crm-status-flow label:first-child span { clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%); }
.crm-status-flow label:not(:first-child) span { padding-left:28px; }
.crm-status-flow strong { line-height:1.15; }
.crm-status-flow small { color:inherit;opacity:.75;font-size:11px; }
.crm-status-flow input:checked + span { color:#fff;border-color:transparent;box-shadow:0 6px 18px rgba(0,53,84,.18); }
.crm-status-flow .is-nova input:checked+span{background:#006494}.crm-status-flow .is-em_atendimento input:checked+span{background:#0582ca}.crm-status-flow .is-agendada input:checked+span{background:#57b8d1}.crm-status-flow .is-convertida input:checked+span{background:#10b981}.crm-status-flow .is-perdida input:checked+span{background:#dc2626}
.crm-status-details { display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:10px;align-items:end; }
.crm-observation-panel form { display:grid;gap:9px; }.crm-observation-panel textarea { resize:vertical; }.crm-observation-list { display:grid;gap:8px;margin-top:14px;max-height:230px;overflow:auto; }.crm-observation-list article { padding:10px 12px;background:#f5f7fa;border-radius:9px; }.crm-observation-list p { margin:0 0 4px; }.crm-observation-list small { color:var(--muted); }
.crm-action-picker { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0; }.crm-action-picker input{position:absolute;opacity:0}.crm-action-picker span{display:flex;align-items:center;gap:9px;min-height:58px;padding:10px 12px;border:2px solid var(--line);border-radius:10px;cursor:pointer}.crm-action-picker input:checked+span{border-color:var(--primary);background:var(--primary-soft)}.crm-action-picker b{font-size:20px}
.crm-action-picker-direct { margin:14px 0 0; }
.crm-action-picker-direct .crm-action-direct-button { display:flex;min-height:58px;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;border:2px solid var(--line);border-radius:10px;color:var(--text);background:#fff;box-shadow:none;font-weight:800;text-align:left;cursor:pointer; }
.crm-action-picker-direct .crm-action-direct-button:hover { border-color:var(--primary);color:var(--primary);background:var(--primary-soft);transform:none; }
.crm-action-picker-direct .crm-action-direct-button:has(input:checked) { border-color:var(--primary);color:var(--primary);background:var(--primary-soft); }
.crm-action-direct-button .sales-card-icon { display:inline-flex;width:34px;height:34px;min-height:34px;flex:0 0 34px;align-items:center;justify-content:center;padding:0;border:1px solid #d3eafa;border-radius:8px;color:var(--primary);background:#edf7fd;cursor:inherit; }
.crm-action-direct-button .sales-card-icon svg { width:20px;height:20px; }
.crm-lead-action-form { display:grid;gap:12px; }.crm-movement-type { display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf2f7;font-size:11px;font-weight:800;white-space:nowrap; }.crm-movement-type.is-mensagem_whatsapp,.crm-movement-type.is-ligacao_whatsapp{background:#e8f7ee;color:#067647}.crm-movement-type.is-ligacao_telefone{background:#eaf3ff;color:#175cd3}.crm-movement-type.is-video_bolinha{background:#fff4e5;color:#b54708}.crm-movement-type.is-observacao_lead{background:#f4f3ff;color:#5925dc}
.crm-sale-modal-shell{width:min(1120px,94vw);max-height:94vh;padding:18px}.crm-sale-modal-frame{display:block;width:100%;height:min(760px,80vh);border:0;border-radius:12px;background:#f4f8fb}.crm-sale-embed{margin:0;padding:10px;background:#f4f8fb}.crm-sale-embed .panel{margin:0}.crm-sale-embed-success{display:grid;min-height:100vh;place-items:center;margin:0;padding:20px;background:#f4f8fb}.crm-sale-embed-success .panel{text-align:center}
.stock-audit-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px;min-width:420px;max-height:260px;overflow:auto;margin-top:8px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.stock-audit-codes code{display:grid;gap:2px;padding:7px;border-radius:6px;font-size:11px;white-space:normal}.stock-audit-codes code.is-success{color:#067647;background:#ecfdf3}.stock-audit-codes code.is-error{color:#b42318;background:#fff1f0}.stock-audit-codes code span{color:var(--text);font-family:inherit}.stock-audit-codes code small{font:10px/1.3 inherit}
@media (max-width: 900px) { .crm-update-secondary-grid { grid-template-columns:1fr; }.crm-status-flow { overflow-x:auto; }.crm-status-details { grid-template-columns:1fr 1fr; } }
@media (max-width: 620px) { .crm-status-details,.crm-action-picker { grid-template-columns:1fr; }.crm-update-secondary-grid { gap:18px;margin-top:18px;padding-top:18px; } }
.crm-history-grid { grid-template-areas:'movement movement' 'entry tutela'; }.crm-history-grid .crm-movement-panel{grid-area:movement}.crm-history-grid .crm-entry-panel{grid-area:entry}.crm-history-grid .crm-tutela-panel{grid-area:tutela}.crm-history-grid .crm-entry-panel{grid-column:auto}

.crm-heading-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.crm-leads-filter-panel {
  padding: 16px 18px;
  position: relative;
  z-index: 15;
  overflow: visible;
}

.crm-leads-list-panel {
  position: relative;
  z-index: 1;
}

.crm-leads-filter-grid {
  display: grid;
  gap: 10px;
}

.crm-leads-filter-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  align-items: end;
}

.crm-leads-filter-main {
  grid-template-columns: minmax(280px, 2fr) repeat(2, minmax(180px, 1fr));
}

.crm-leads-filter-actions {
  grid-template-columns: minmax(150px, 1fr) minmax(180px, 1fr) minmax(220px, 2fr);
}

.crm-filter-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .85rem;
  color: var(--text-secondary, #555);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.crm-multi-filter {
  position: relative;
  min-width: 0;
}

.crm-multi-filter summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.crm-multi-filter summary::-webkit-details-marker {
  display: none;
}

.crm-multi-filter summary::after {
  content: "v";
  color: var(--muted);
  font-size: 15px;
}

.crm-multi-filter[open] summary::after {
  transform: rotate(180deg);
}

.crm-multi-filter-options {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 5px);
  z-index: 12;
  max-height: 260px;
  overflow-y: auto;
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(16, 48, 74, .18);
}

.crm-multi-filter-options label {
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 6px;
  color: var(--text);
  font-size: 13px;
  cursor: pointer;
}

.crm-multi-filter-options label:hover {
  background: var(--primary-soft);
}

.crm-multi-filter-options input {
  flex: 0 0 auto;
  margin: 0;
}

.crm-bulk-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(210px, 1.2fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel-soft);
}

.crm-bulk-bar > div {
  display: grid;
  gap: 3px;
  align-self: center;
}

.crm-bulk-bar small {
  color: var(--muted);
}

.stock-bulk-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
  margin: 10px 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfe;
}

.stock-bulk-bar > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 150px;
}

.stock-bulk-bar small {
  color: var(--muted);
}

.stock-select-filter {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 600;
  color: var(--primary-dark);
}

.stock-check-cell {
  width: 42px;
  text-align: center;
}

.stock-check-cell input {
  display: inline-block;
  margin: 0;
}

.bulk-price-actions {
  align-items: end;
  background: var(--panel-soft);
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
  margin-top: 18px;
  padding: 16px;
}

.bulk-price-actions label {
  margin: 0;
  min-width: 220px;
}

.crm-selected-count {
  margin-left: 5px;
  color: var(--primary);
  font-weight: 700;
}

.crm-table-total {
  text-align: right;
  white-space: nowrap;
  color: var(--primary);
}

.crm-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.crm-pagination nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.crm-page-link {
  min-width: 36px;
  width: 36px;
  min-height: 36px;
  padding: 6px;
}

.crm-page-link.is-current {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}

.crm-check-cell {
  width: 42px;
  text-align: center;
}

.crm-check-cell input {
  display: inline-block;
  vertical-align: middle;
}

.crm-compact-button {
  width: auto;
  min-height: 36px;
  padding: 7px 12px;
  white-space: nowrap;
}

.crm-attendance-lock {
  display: inline-flex;
  max-width: 240px;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.25;
}

.crm-action-form {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.5fr) auto;
  gap: 12px;
  align-items: end;
}

.crm-action-form > button {
  justify-self: start;
}

.crm-transfer-form {
  grid-template-columns: minmax(150px, 1fr) minmax(190px, 1.1fr) minmax(150px, .8fr) auto;
}

.modal-form .full {
  grid-column: 1 / -1;
}

.crm-lead-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.crm-lead-header h2 { margin: 6px 0 4px; }
.crm-lead-header p { margin: 0; color: var(--muted); }

.crm-lead-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.crm-lead-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.crm-contact-action {
  width: 38px;
  height: 38px;
  min-width: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #d8e4ef;
  background: #fff;
  color: var(--primary);
  text-decoration: none;
  padding: 0;
}

.crm-contact-action svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.system-whatsapp-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: currentColor;
  -webkit-mask: url('/assets/img/whatsapp.svg') center / contain no-repeat;
  mask: url('/assets/img/whatsapp.svg') center / contain no-repeat;
}
.crm-contact-action > .system-whatsapp-icon { width:18px;height:18px;flex-basis:18px; }

.crm-contact-action.whatsapp {
  color: #128c7e;
  border-color: #bfe8dd;
  background: #effbf7;
}

.crm-contact-action.phone {
  color: #0f6ba8;
  border-color: #cfe4f5;
  background: #f0f8ff;
}
.crm-contact-action.blocklist {
  color: #b42318;
  border-color: #f3b8b3;
  background: #fff3f2;
}
.crm-contact-action.transfer {
  color: #6f42c1;
  border-color: #d9c8f5;
  background: #f7f3ff;
}
.crm-lead-status {
  display: grid;
  justify-items: end;
  gap: 9px;
}

.crm-lead-contact-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.crm-lead-assignment {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 120px;
}
.crm-lead-assignment strong { font-size: 14px; }
.crm-lead-assignment small { color: var(--muted); }
#crm-blocklist-action,
#crm-transfer-action { scroll-margin-top: 88px; }
.crm-webhook-help { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.crm-webhook-help p { margin: 6px 0; overflow-wrap: anywhere; }
.crm-detail-table tr.is-current td { background: var(--primary-soft); }
.crm-detail-table td { vertical-align: top; }
.crm-entry-panel { grid-column: 1 / -1; }

.crm-blocklist-panel {
  align-items: center;
  border-left: 5px solid #dc2626;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.crm-blocklist-panel form {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.crm-update-panel { grid-column: 1 / -1; }
.crm-blocked-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  border-left: 5px solid #dc2626;
  color: #991b1b;
}
.crm-blocked-summary span { color: var(--muted); }
.crm-entry-audit-table { min-width: 1080px; }
.crm-channel-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf5fc;
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.crm-channel-pill.is-botconversa { background: #e8f7ee; color: #067647; }
.crm-channel-pill.is-formulario { background: #eaf3ff; color: #175cd3; }
.crm-channel-pill.is-manual { background: #f2f4f7; color: #344054; }
.crm-channel-pill.is-importacao { background: #fff4e5; color: #b54708; }
.crm-channel-pill.is-api { background: #eef4ff; color: #3538cd; }
.crm-channel-pill.is-invalid { background: #feeceb; color: #b42318; }
.crm-audit-id {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.table-responsive { overflow-x: auto; }
.table-scroll-top {
  width: 100%;
  height: 16px;
  margin: 8px 0 4px;
  overflow-x: auto;
  overflow-y: hidden;
}
.table-scroll-top > div { height: 1px; }
.table-total-row td {
  border-top: 2px solid var(--border);
  background: #f8fbff;
  font-weight: 800;
}

.actions-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.danger-card {
  border-color: #fecaca !important;
  background: #fff7f7;
}

.text-danger {
  color: var(--danger);
}
td small { display: block; margin-top: 3px; color: var(--muted); }

@media (max-width: 1280px) {
  .crm-dashboard-heading { align-items: flex-start; }
  .crm-dashboard-filters { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .crm-summary-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .crm-leads-filter-row { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .crm-leads-filter-main { grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(160px, 1fr)); }
  .crm-leads-filter-actions { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
  .crm-status-flow { overflow-x:auto;grid-template-columns:repeat(5,minmax(150px,1fr)); }
  .crm-status-details { grid-template-columns:1fr 1fr; }
}

@media (max-width: 900px) {
  .crm-dashboard-heading,
  .crm-page-heading { display: grid; align-items: stretch; }
  .crm-dashboard-filters { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-dashboard-grid,
  .crm-pie-grid,
  .crm-detail-grid { grid-template-columns: 1fr; }
  .crm-summary-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-action-metric-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-flow-grid,.crm-lead-workspace { grid-template-columns:1fr; }
  .crm-history-grid { grid-template-areas:'movement' 'entry' 'tutela';grid-template-columns:1fr; }
  .crm-leads-filter-row,.crm-bulk-bar,.crm-action-form,.crm-transfer-form { grid-template-columns: 1fr 1fr; }
  .crm-pagination { align-items: flex-start; flex-direction: column; }
  .crm-pagination nav { justify-content: flex-start; }
  .crm-lead-header { align-items: flex-start; }
  .notification-admin-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .crm-summary-cards { grid-template-columns: 1fr; }
  .crm-action-metric-cards,.crm-action-picker,.crm-status-details { grid-template-columns:1fr; }
  .crm-dashboard-filters,.crm-leads-filter-row,.crm-bulk-bar,.crm-action-form,.crm-transfer-form { grid-template-columns: 1fr; }
  .crm-heading-actions { justify-content: stretch; }
  .crm-heading-actions > * { flex: 1 1 auto; }
  .crm-lead-header { display: grid; }
  .crm-lead-status { justify-content: flex-start; }
  .crm-lead-status { justify-items: start; }
  .crm-lead-assignment { justify-items: start; width: 100%; }
  .notification-admin-form { grid-template-columns: 1fr; }
  .notification-page-heading { align-items: stretch; flex-direction: column; }
  .notification-history-item { grid-template-columns: 34px minmax(0,1fr); }
  .notification-history-item > .button { grid-column: 2; justify-self: start; }
  .stock-bulk-bar {
    align-items: stretch;
    flex-direction: column;
  }
  .stock-bulk-bar .actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .stock-bulk-bar .actions > * {
    width: 100%;
  }
}

.modal p {
  font-size: 15px;
  line-height: 1.4;
}

.variation-prices h3 {
  margin: 4px 0 0;
}

.variation-price-table {
  max-height: 240px;
  overflow: auto;
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.variation-price-table table {
  margin: 0;
  min-width: 620px;
}

.variation-price-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
}

.variation-price-table td,
.variation-price-table th {
  padding: 8px 10px;
}

@media (max-width: 720px) {
  .modal-backdrop {
    padding: 8px 8px max(8px, env(safe-area-inset-bottom));
    place-items: stretch;
  }

  .modal {
    width: 100%;
    max-height: calc(100dvh - 16px - env(safe-area-inset-bottom));
  }

  .modal > .table-tools {
    padding: 14px 16px 10px;
  }

  .modal > form {
    padding: 14px 16px calc(18px + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .modal-actions {
    margin-left: -16px;
    margin-right: -16px;
    padding: 12px 16px;
  }

  .modal-actions button {
    width: 100%;
  }

  .uazapi-connect-body {
    padding: 14px 16px calc(18px + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .uazapi-qr-box {
    padding: 10px;
  }

  .uazapi-qr-image {
    width: min(280px, 100%);
  }

  .uazapi-details {
    grid-template-columns: 1fr;
  }
}

.print-report {
  background: white;
  color: #111;
  padding: 24px;
}

.store-report {
  break-before: page;
  page-break-before: always;
  break-after: auto;
  page-break-after: auto;
  margin-bottom: 38px;
  position: relative;
}

.print-report .store-report:first-of-type {
  break-before: auto;
  page-break-before: auto;
}

.store-report h2 {
  border-bottom: 2px solid #111;
  padding-bottom: 8px;
}

.store-report h3 {
  margin: 18px 0 8px;
}

.signature {
  margin-top: 42px;
  page-break-inside: avoid;
}

.signature-line {
  border-bottom: 1px solid #111;
  height: 48px;
  width: 70%;
}

.summary-list {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
}

.summary-list div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #f8fbfe;
}

.summary-list span {
  color: var(--muted);
}

.report-header {
  border-bottom: 2px solid #111;
  margin-bottom: 18px;
  padding-bottom: 12px;
}

.report-header h1 {
  margin: 0 0 8px;
}

.signature-block {
  margin-top: 54px;
  page-break-inside: avoid;
}

.signature-block div {
  border-bottom: 1px solid #111;
  height: 52px;
  width: 70%;
}

.signature-block span {
  display: block;
  margin-top: 8px;
}

.store-page-label {
  display: none;
}

.maintenance-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.maintenance-card {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 190px;
  padding: 18px;
}

.maintenance-card.is-recommended {
  border-color: rgba(5, 130, 202, 0.36);
  box-shadow: 0 20px 42px rgba(5, 130, 202, 0.14);
}

.maintenance-card .check {
  align-items: flex-start;
  display: flex;
  gap: 12px;
}

.maintenance-card .check span {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.maintenance-card p {
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}

.maintenance-card-footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: auto;
}

.maintenance-card-footer span {
  color: var(--text);
  font-weight: 800;
}

@media print {
  @page {
    size: A4;
    margin: 10mm;
  }

  body {
    background: white;
    font-size: 12px;
  }

  .sidebar,
  .topbar,
  .mobile-menu-backdrop,
  .mobile-bottom-nav,
  .no-print,
  .flash {
    display: none !important;
  }

  .main {
    margin: 0;
    padding: 0;
  }

  .print-report {
    padding: 0;
  }

  .print-only {
    display: block !important;
  }

  .marketing-print-heading {
    margin-bottom: 14px;
  }

  .marketing-print-heading h1 {
    margin: 0 0 4px;
    font-size: 22px;
  }

  .marketing-print-heading p {
    margin: 0;
    color: #555;
  }

  .store-report {
    min-height: 0;
    margin: 0;
    break-after: auto;
    page-break-after: auto;
  }

  .store-page-label {
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 10px;
    color: #555;
  }

  .store-page-label::after {
    content: " " counter(page);
  }

  table {
    page-break-inside: auto;
  }

  tr {
    page-break-inside: avoid;
  }
}

.rh-eyebrow{display:block;margin-bottom:5px;color:#d62828;font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.rh-hero{background:linear-gradient(125deg,#fff 50%,#fff7ed)}.rh-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.rh-metric{display:flex;flex-direction:column;gap:5px;border-top:3px solid #1f6f8b}.rh-metric>span{color:#64748b;font-size:12px;font-weight:750}.rh-metric strong{font-size:30px;color:#102a43}.rh-metric small{color:#94a3b8}.rh-metric.is-warning{border-top-color:#e59b22}.rh-funnel{display:grid;gap:13px}.rh-funnel>div{display:grid;grid-template-columns:145px 1fr 35px;align-items:center;gap:12px;font-size:12px}.rh-funnel i{height:8px;background:#edf2f7;border-radius:9px;overflow:hidden}.rh-funnel b{display:block;height:100%;background:linear-gradient(90deg,#1f6f8b,#52a7bd);border-radius:9px}.rh-callout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;margin-top:12px;background:#f0f9ff;border-radius:10px}.rh-callout strong{font-size:28px}.rh-callout a{font-weight:800;color:#1f6f8b}.rh-callout.danger{background:#fff7ed}.rh-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.rh-job-card{display:flex;flex-direction:column;gap:15px}.rh-job-card h3{font-size:22px;margin:10px 0 5px}.rh-job-card p{color:#64748b;line-height:1.5}.rh-job-card code{background:#f3f5f7;padding:8px;border-radius:6px}.rh-job-stats strong{font-size:24px;margin-right:7px}.status-badge,.rh-stage{display:inline-flex;width:max-content;padding:5px 9px;border-radius:99px;background:#eaf3ff;color:#175cd3;font-size:11px;font-weight:800}.status-badge.is-publicada,.rh-stage.is-contratado,.rh-stage.is-aprovado{background:#dcfce7;color:#15803d}.status-badge.is-pausada,.rh-stage.is-nao_selecionado{background:#fff1f2;color:#b42318}.rh-stage.is-entrevista,.rh-stage.is-avaliacao{background:#f3e8ff;color:#7e22ce}.rh-filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:12px;align-items:end}.rh-filter-grid label{margin:0}.rh-table-panel{padding:0;overflow:hidden}.rh-table td{vertical-align:middle}.rh-table td small,.rh-table td strong{display:block;margin:3px 0}.rh-person{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.rh-person>span,.rh-avatar{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#e7f1f5;color:#176b87;font-weight:900}.rh-overdue{color:#b42318;font-weight:700}.rh-profile-head{padding-bottom:22px}.rh-back{display:inline-block;margin-bottom:22px;color:#64748b;text-decoration:none;font-size:13px}.rh-profile-main{display:flex;align-items:center;gap:15px}.rh-profile-main>div{flex:1}.rh-profile-main h2{margin:2px 0;font-size:30px}.rh-avatar{width:58px;height:58px;font-size:24px}.rh-profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px}.rh-profile-grid>div,.rh-profile-grid>aside{display:grid;gap:18px;align-content:start}.rh-details{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:0}.rh-details div{border-bottom:1px solid #edf0f4;padding-bottom:10px}.rh-details dt{color:#64748b;font-size:11px;text-transform:uppercase;font-weight:800}.rh-details dd{margin:5px 0 0;font-weight:700}.rh-application,.rh-document{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #edf0f4}.rh-application>div{display:flex;flex-direction:column;gap:6px}.rh-application small,.rh-document small{display:block;color:#64748b;margin-top:4px}.rh-timeline article{position:relative;display:grid;grid-template-columns:18px 1fr;gap:8px;padding-bottom:20px}.rh-timeline i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#1f6f8b;box-shadow:0 0 0 4px #e7f1f5}.rh-timeline article:not(:last-child):before{content:'';position:absolute;left:4px;top:15px;bottom:0;border-left:1px solid #cbd5e1}.rh-timeline p{margin:6px 0;line-height:1.45}.rh-timeline small{color:#64748b}.pagination{display:flex;gap:6px;padding:16px}

.rh-job-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rh-sponsored{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff4e5;color:#b54708;font-size:11px;font-weight:800}.rh-job-meta{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:13px;background:var(--panel-soft);border:1px solid var(--line);border-radius:6px}.rh-job-meta small{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.rh-campaign-code{color:var(--primary-dark);font:800 17px "Plus Jakarta Sans",sans-serif;letter-spacing:.8px}.rh-public-link{display:flex;align-items:center;gap:8px}.rh-public-link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rh-job-card.is-closed{background:#f6f8fa}.rh-job-card.is-closed h3,.rh-job-card.is-closed p{color:#718096}.rh-check-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--primary-soft)}.rh-check-option input{width:auto;margin-top:4px}.rh-check-option span{display:flex;flex-direction:column;gap:3px}.rh-check-option small{color:var(--muted);font-weight:500}.modal.rh-vacancy-modal{width:min(780px,100%)}.rh-vacancy-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.rh-vacancy-form>.full{grid-column:1/-1}.rh-vacancy-form label{align-content:start}.rh-vacancy-form textarea{min-height:126px}.rh-vacancy-form .rh-check-option{min-height:auto}.rh-vacancy-form>.actions{display:flex;justify-content:flex-end;padding-top:2px}.rh-vacancy-form>.actions button{min-width:150px}
.rh-vacancy-form>.rh-vacancy-create-actions{justify-content:flex-start}.rh-vacancy-create-actions .secondary{background:#eef1f4;color:#44546a;border-color:#d5dde6;box-shadow:none}.rh-vacancy-create-actions .secondary:hover{background:#dfe5eb;color:#28384d}.rh-vacancy-form>.rh-vacancy-edit-actions{align-items:center;justify-content:space-between}.rh-vacancy-edit-actions>div{display:flex;gap:10px}.rh-vacancy-form>.actions .rh-danger-link{min-width:auto;padding:8px 0;background:transparent;color:var(--danger);border:0;box-shadow:none;text-decoration:none}.rh-vacancy-form>.actions .rh-danger-link:hover{background:transparent;color:#8f1d14;text-decoration:underline}.rh-vacancy-edit-actions .secondary{background:#eef1f4;color:#44546a;border-color:#d5dde6;box-shadow:none}.rh-vacancy-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(125px,1fr)) auto;gap:12px;align-items:end}.rh-vacancy-filters label{margin:0}.rh-vacancy-filters .actions{display:flex;gap:8px}.rh-vacancies-panel{padding:0;overflow:hidden}.rh-vacancies-table{min-width:1040px}.rh-vacancies-table td{vertical-align:middle}.rh-vacancies-table td:first-child{min-width:230px}.rh-vacancies-table td:first-child strong,.rh-vacancies-table td:first-child small{display:block}.rh-vacancies-table td:first-child small{max-width:320px;margin-top:4px;color:var(--muted);line-height:1.35}.rh-vacancies-table code{padding:5px 7px;color:var(--primary-dark);background:var(--primary-soft);border-radius:5px;font-size:12px;font-weight:800}.rh-vacancies-table tr.is-closed{background:#f7f8fa;color:#718096}.rh-actions-heading{text-align:right}.rh-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.rh-icon-form{display:inline-flex;margin:0}.rh-icon-action{display:inline-grid;place-items:center;width:34px!important;min-width:34px!important;height:34px;padding:0!important;color:var(--primary-dark);background:#fff!important;border:1px solid var(--line)!important;border-radius:6px!important;box-shadow:none!important}.rh-icon-action:hover{color:var(--primary);background:var(--primary-soft)!important;border-color:#9bc9e4!important}.rh-icon-action.is-copied{color:var(--ok);background:#ecfdf3!important;border-color:#a6e7c5!important}.rh-icon-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rh-function-tag{display:inline-flex;padding:5px 9px;color:#175cd3;background:#eaf3ff;border:1px solid #c9e0fb;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
@media (max-width: 1100px){.rh-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-filter-grid{grid-template-columns:repeat(3,1fr)}.rh-search{grid-column:span 2}.rh-vacancy-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-vacancy-search{grid-column:1/-1}}
@media (max-width: 860px) {
  .rh-profile-grid{grid-template-columns:1fr}.rh-filter-grid{grid-template-columns:1fr}.rh-search{grid-column:auto}.rh-profile-main{align-items:flex-start;flex-wrap:wrap}.rh-profile-main .button{width:100%}.rh-details{grid-template-columns:1fr}.rh-vacancy-form{grid-template-columns:1fr}.rh-vacancy-form>.full{grid-column:auto}.rh-vacancy-form>.actions button{width:100%}.rh-vacancy-form>.rh-vacancy-edit-actions{align-items:stretch;flex-direction:column-reverse}.rh-vacancy-edit-actions>div{display:grid;grid-template-columns:1fr}.rh-vacancy-filters{grid-template-columns:1fr}.rh-vacancy-search{grid-column:auto}.rh-vacancy-filters .actions,.rh-vacancy-filters .actions .button,.rh-vacancy-filters .actions button{width:100%}
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(320px, 86vw);
    border-radius: 0 8px 8px 0;
    z-index: 80;
    transform: translateX(-105%);
    transition: transform .22s ease;
    overflow: hidden;
    padding-bottom: 14px;
  }

  body.mobile-menu-open .sidebar {
    transform: translateX(0);
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    display: block;
    background: rgba(10, 25, 40, .42);
    z-index: 70;
  }

  .mobile-menu-backdrop[hidden] {
    display: none !important;
  }

  .mobile-bottom-nav {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 90;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 4px;
    min-height: 62px;
    padding: 7px;
    border: 1px solid rgba(215, 227, 239, .95);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(16, 48, 74, .18);
    backdrop-filter: blur(10px);
  }

  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--primary-dark);
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.1;
    border-radius: 6px;
    padding: 6px 4px;
  }

  .mobile-bottom-nav a:hover,
  .mobile-bottom-nav button:hover {
    background: var(--primary-soft);
  }

  .mobile-bottom-nav .nav-icon {
    width: 21px;
    height: 21px;
  }

  .main {
    margin-left: 0;
    padding: 16px 16px calc(140px + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(140px + env(safe-area-inset-bottom));
  }

  .main > :last-child {
    margin-bottom: 24px;
  }

  .topbar-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .topbar-extra {
    order: 3;
    flex-basis: 100%;
  }

  .app-notification-stack {
    right: 16px;
    bottom: 86px;
  }

  .cards,
  .catalog-grid,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .sales-context-filter {
    grid-template-columns: 1fr;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-extra {
    justify-content: stretch;
  }

  .sales-dashboard-filters {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .sales-dashboard-filters .filter-actions,
  .sales-dashboard-filters .filter-actions .button,
  .marketing-export-button {
    width: 100%;
  }

  .marketing-export-button {
    justify-self: stretch;
  }

  .sales-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  .sales-chart-wide {
    grid-column: auto;
  }

  .sales-donut-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .sales-donut-legend {
    width: 100%;
  }

  .sales-region-map {
    grid-template-columns: 1fr;
  }

  .sales-map-canvas {
    min-height: 320px;
  }

  .metric-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-layout,
  .dashboard-hero {
    grid-template-columns: 1fr;
    display: grid;
  }

  .dashboard-hero h1 {
    font-size: 28px;
  }
}

.rh-invite-form{margin:0}.rh-invite-form button{white-space:nowrap}.rh-settings-panel{max-width:820px}.rh-period-filter{display:flex;align-items:end;gap:10px}.rh-period-filter label{margin:0;min-width:145px}.rh-campaign-metrics{min-width:1200px}.rh-campaign-metrics td>strong,.rh-campaign-metrics td>small{display:block}.rh-campaign-metrics code{display:inline-block;margin-top:5px}.rh-hero .actions{display:flex;gap:10px;align-items:center}
.finance-hero,.finance-filter,.finance-inline,.expense-row{display:flex;gap:14px;align-items:end}.finance-hero{justify-content:space-between}.finance-hero h2{margin:0 0 6px}.finance-filter label,.finance-inline label,.expense-row label{margin:0}.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.finance-metrics article{background:#fff;border:1px solid #dbe5ef;border-radius:12px;padding:18px}.finance-metrics span,.finance-metrics strong{display:block}.finance-metrics span{color:#64748b;font-size:.85rem;margin-bottom:7px}.finance-metrics strong{font-size:1.35rem}.expense-row{display:grid;grid-template-columns:1.4fr 1fr .7fr 1.4fr auto;padding:14px 0;border-bottom:1px solid #e2e8f0}.finance-summary{margin:22px 0 16px;margin-left:auto;max-width:440px;border-radius:12px;background:#f8fafc;padding:14px 18px}.finance-summary div{display:flex;justify-content:space-between;gap:24px;padding:7px 0}.finance-summary div:last-child{border-top:1px solid #cbd5e1;font-size:1.08rem}.finance-confirm{display:block;background:#fff1f2;border:1px solid #fda4af;color:#9f1239;padding:14px;border-radius:9px;margin:12px 0}.finance-close{display:block;margin-left:auto}.finance-bars>div{display:grid;grid-template-columns:minmax(130px,220px) 1fr 130px;gap:14px;align-items:center;margin:16px 0}.finance-bars i{height:18px;background:#e8eef5;border-radius:9px;overflow:hidden}.finance-bars b{display:block;height:100%;background:#0582ca;border-radius:9px}.finance-lock{max-width:700px;margin:10vh auto;text-align:center}.finance-lock h2{color:#b91c1c}
.finance-fund-card{position:relative}.finance-edit-fund{position:absolute;right:12px;top:10px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#64748b;font-size:20px;box-shadow:none}.finance-edit-fund:hover{background:#eaf3fb;color:#006494}.finance-fund-dialog{width:min(460px,calc(100% - 32px));border:0;border-radius:14px;padding:22px;box-shadow:0 24px 70px #0f172a40}.finance-fund-dialog::backdrop{background:#0f172a80}.finance-fund-dialog form{margin:0}.finance-fund-dialog h3{margin:0}
.finance-sync-dialog{width:min(460px,calc(100% - 32px));border:0;border-radius:16px;padding:34px;text-align:center;box-shadow:0 24px 70px #0f172a40}.finance-sync-dialog::backdrop{background:#0f172a99}.finance-sync-dialog h3{margin:18px 0 8px}.finance-sync-dialog p{color:#64748b;line-height:1.5;margin:0 0 20px}.finance-sync-spinner{width:48px;height:48px;margin:auto;border:5px solid #dbeafe;border-top-color:#0582ca;border-radius:50%;animation:finance-spin .8s linear infinite}.finance-sync-spinner.success{border-color:#22c55e;animation:none;position:relative}.finance-sync-spinner.success:after{content:'✓';display:grid;place-items:center;height:100%;color:#16a34a;font-size:26px;font-weight:800}@keyframes finance-spin{to{transform:rotate(360deg)}}
.finance-closed-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#86efac;background:#f0fdf4}.finance-closed-panel h3{margin:8px 0 4px}.finance-closed-panel .actions{flex:none}
.finance-rectification-panel{border-color:#fcd34d;background:#fffbeb}.finance-rectification-panel h2,.finance-rectification-panel h3{margin:9px 0}.finance-closed-panel .actions{display:flex;gap:10px;flex-wrap:wrap}
.finance-list-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff 55%,#e8f4fc)}.finance-list-hero h2{font-size:28px;margin:5px 0}.finance-eyebrow{color:#0582ca;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.finance-primary-close{font-size:1.08rem;padding:14px 28px;box-shadow:0 10px 24px #0582ca2e}.finance-back-link{display:inline-block;margin-bottom:8px;color:#006494;font-weight:700;text-decoration:none}.finance-hero+.panel{display:none}
.finance-list-filter{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr)) auto;gap:14px;align-items:end}.finance-list-filter label{margin:0}.finance-list-filter button{white-space:nowrap}.finance-list-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.finance-list-metrics article{background:#fff;border:1px solid #dbe5ef;border-radius:13px;padding:17px 19px;box-shadow:0 5px 18px rgba(30,64,99,.05)}.finance-list-metrics span,.finance-list-metrics strong,.finance-list-metrics small{display:block}.finance-list-metrics span{color:#64748b;font-size:.82rem;margin-bottom:6px}.finance-list-metrics strong{color:#102a43;font-size:1.45rem}.finance-list-metrics small{color:#64748b;margin-top:5px}.finance-list-metrics .is-open{border-left:4px solid #f59e0b}.finance-list-metrics .is-closed{border-left:4px solid #22c55e}.finance-empty-state{display:grid;gap:5px;text-align:center;padding:30px;color:#64748b}.finance-empty-state strong{color:#334155;font-size:1.05rem}
@media(max-width:760px){.rh-period-filter{width:100%;display:grid;grid-template-columns:1fr}.rh-period-filter label{min-width:0}.rh-profile-main .rh-invite-form,.rh-profile-main .rh-invite-form button{width:100%}.rh-hero .actions{width:100%;display:grid;grid-template-columns:1fr}.rh-hero .actions .button{width:100%}}
@media(max-width:760px){.finance-hero,.finance-filter,.finance-inline{display:grid;grid-template-columns:1fr;width:100%}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-row{grid-template-columns:1fr}.finance-bars>div{grid-template-columns:1fr}.finance-close{width:100%}}
@media(max-width:760px){.finance-list-hero{align-items:stretch;display:grid}.finance-primary-close{width:100%;text-align:center}}
@media(max-width:1100px){.finance-list-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-list-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.finance-list-filter,.finance-list-metrics{grid-template-columns:1fr}.finance-list-filter button{width:100%}}
.finance-divergence-alert{border-color:#fca5a5;background:#fff7f7}.finance-divergence-alert h3{margin:9px 0 4px}.finance-divergence-value{color:#b91c1c;font-weight:800}.finance-divergence-dialog{width:min(560px,calc(100% - 32px));border:0;border-radius:18px;padding:30px;text-align:center;box-shadow:0 24px 70px #0f172a4d}.finance-divergence-dialog::backdrop{background:#0f172aa6}.finance-divergence-dialog h3{font-size:1.3rem;margin:12px 0 7px}.finance-divergence-icon{display:grid;place-items:center;margin:auto;width:52px;height:52px;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:30px;font-weight:900}.finance-divergence-list{margin:16px 0;max-height:220px;overflow:auto;text-align:left}.finance-divergence-list div{display:flex;justify-content:space-between;gap:15px;padding:10px;border-bottom:1px solid #e2e8f0}.finance-divergence-list span{color:#64748b;text-align:right}.finance-divergence-dialog>button{margin:5px}
.payslip-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) auto;gap:12px;align-items:end}.payslip-filters .actions{margin:0}.payslip-actions{display:flex;align-items:center;gap:8px}.payslip-actions form{margin:0}.table-subline{display:block;margin-top:3px;color:var(--text-secondary,#64748b)}.profile-payslips{width:100%;margin-top:18px}.text-right{text-align:right}@media(max-width:760px){.payslip-filters{grid-template-columns:1fr}.payslip-actions{align-items:stretch;flex-direction:column}.payslip-actions .button,.payslip-actions button{width:100%}}
.gr-cred-brand{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}.gr-cred-logo{display:inline-block;width:auto;height:28px;max-width:150px;object-fit:contain;vertical-align:middle}.gr-cred-logo.is-small{height:20px;max-width:105px}.gr-cred-logo.is-card{height:24px;max-width:125px;margin-bottom:8px}.gr-cred-logo.is-print{height:22px;max-width:115px}@media(max-width:760px){.gr-cred-logo{height:23px;max-width:125px}}
.op2-menu-launcher{position:relative;display:flex!important;align-items:center;width:100%;gap:10px;border:1px solid #38bdf855!important;background:linear-gradient(135deg,#082f49,#075985)!important;color:#e0f2fe!important;box-shadow:0 8px 22px #0369a133}.op2-menu-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e2b}.op2-drawer-backdrop{position:fixed;inset:0;z-index:1100;background:#02061799;backdrop-filter:blur(2px)}.op2-drawer{position:fixed;z-index:1101;inset:0 0 0 auto;width:min(390px,100%);display:flex;flex-direction:column;background:#071827;color:#e2e8f0;transform:translateX(105%);transition:transform .22s ease;box-shadow:-20px 0 60px #02061780}.op2-drawer.open{transform:none}.op2-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #ffffff18}.op2-drawer>header div{display:grid;gap:3px}.op2-drawer>header small{color:#7dd3fc;text-transform:uppercase;font-size:.69rem;font-weight:800;letter-spacing:.12em}.op2-drawer>header strong{font-size:1.35rem}.op2-drawer>header button{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#ffffff12;color:#fff;font-size:26px}.op2-drawer-environment{display:flex;justify-content:space-between;gap:12px;margin:16px 20px 8px;padding:12px 14px;border:1px solid #38bdf844;border-radius:10px;background:#0c4a6e55}.op2-drawer-environment span{color:#bae6fd}.op2-drawer nav{display:grid;gap:3px;padding:10px 14px;overflow:auto}.op2-drawer nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:9px;color:#dbeafe;text-decoration:none}.op2-drawer nav a:hover{background:#ffffff12;color:#fff}.op2-drawer footer{margin-top:auto;padding:18px 24px;border-top:1px solid #ffffff18;color:#94a3b8;font-size:.8rem}.op2-drawer-open{overflow:hidden}.op2-shell{display:grid;gap:18px}.op2-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff 55%,#e0f2fe)}.op2-badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#082f49;color:#e0f2fe;font-size:.72rem;font-weight:900;letter-spacing:.08em}.op2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.op2-card{display:grid;gap:8px;padding:18px;border:1px solid #dbe5ef;border-radius:13px;background:#fff;text-decoration:none;color:inherit}.op2-card strong{font-size:1.05rem}.op2-card small{color:#64748b}.op2-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.op2-form-grid .full{grid-column:1/-1}.op2-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e2e8f0;font-size:.75rem;font-weight:800}.op2-status.aguardando_revisao,.op2-status.validacao{background:#fef3c7;color:#92400e}.op2-status.autorizada,.op2-status.aprovada{background:#dcfce7;color:#166534}.op2-status.rejeitada,.op2-status.erro_fiscal{background:#fee2e2;color:#991b1b}.op2-totals{margin-left:auto;width:min(100%,420px);display:grid;gap:8px}.op2-totals div{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid #e2e8f0}.op2-totals .grand{font-size:1.15rem;font-weight:900}.op2-danger{border-color:#fecaca;background:#fff7f7}.op2-ok{border-color:#86efac;background:#f0fdf4}@media(max-width:760px){.op2-form-grid{grid-template-columns:1fr}.op2-hero{align-items:stretch;display:grid}.op2-drawer{width:100%}}
.finance-confirm-dialog{width:min(520px,calc(100% - 32px));border:0;border-radius:18px;padding:30px;text-align:center;box-shadow:0 24px 70px #0f172a4d}.finance-confirm-dialog::backdrop{background:#0f172aa6}.finance-confirm-dialog h3{font-size:1.3rem;margin:12px 0 7px}.finance-confirm-dialog>p{color:#64748b}.finance-confirm-icon{display:grid;place-items:center;margin:auto;width:52px;height:52px;border-radius:50%;background:#fef3c7;color:#b45309;font-size:30px;font-weight:900}.finance-confirm-summary{margin:18px 0;text-align:left;border:1px solid #dbe5ef;border-radius:12px;padding:10px 16px}.finance-confirm-summary div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #e2e8f0}.finance-confirm-summary div:last-child{border-bottom:0}.finance-confirm-summary span{color:#64748b}.finance-confirm-dialog .actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.finance-manual-gr{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #dbe5ef}.gr-entry-row{display:grid;grid-template-columns:1.5fr 1fr .7fr auto;gap:14px;align-items:end;padding:12px 0;border-bottom:1px solid #e2e8f0}.gr-entry-row label{margin:0}.finance-manual-gr-total{display:flex;justify-content:flex-end;gap:18px;padding-top:12px}@media(max-width:760px){.gr-entry-row{grid-template-columns:1fr}.finance-manual-gr-total{justify-content:space-between}}
/* Engagement */
.engagement-admin-hero,.engagement-home-hero{background:linear-gradient(135deg,#071a38,#0b4ea2 60%,#168dff);color:#fff;border-radius:22px;padding:30px;margin-bottom:20px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 18px 45px rgba(10,67,145,.22)}
.engagement-admin-hero h1,.engagement-home-hero h1{margin:5px 0 8px;color:#fff}.engagement-admin-hero p,.engagement-home-hero p{margin:0;color:#d8eaff}.engagement-admin-hero>div>span,.engagement-home-hero>span{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:#6ec2ff}.engagement-switch{background:rgba(255,255,255,.12);padding:14px;border-radius:14px;display:flex;align-items:center;gap:12px}.engagement-switch label{color:#fff;white-space:nowrap}.engagement-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.badge-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.badge-card{border:1px solid #dfe8f4;border-left:5px solid var(--badge-color);border-radius:15px;padding:14px;display:flex;gap:13px;align-items:center;background:#fff}.badge-card p{margin:4px 0;color:#63738a}.badge-mark{width:54px;height:54px;flex:0 0 54px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:var(--badge-color);font-size:26px;font-weight:900}.badge-mark img{width:42px;height:42px;object-fit:contain;border-radius:50%}.badge-card form{margin-left:auto}.engagement-store-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;border:1px solid #dce5ef;border-radius:12px;padding:14px}.team-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}.team-cards article{border-radius:17px;padding:18px;display:flex;gap:15px;color:#fff;background:linear-gradient(135deg,var(--team-color),#071323);box-shadow:0 12px 24px rgba(5,25,55,.14)}.team-cards article>span{font-size:40px}.team-cards h3{color:#fff;margin:0}.team-cards p,.team-cards small{color:#dbe9fa}.engagement-banner{min-height:260px;border-radius:22px;margin-bottom:20px;padding:36px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,var(--banner-bg),transparent),var(--banner-image);background-color:var(--banner-bg);background-position:center;background-size:cover;overflow:hidden}.engagement-banner>div{max-width:620px}.engagement-banner h2{color:#fff;font-size:clamp(1.8rem,4vw,3.2rem);margin:6px 0}.engagement-banner p{font-size:1.08rem;color:#e7f2ff}.engagement-banner>div>span{text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#68c4ff}@media(max-width:850px){.engagement-admin-grid{grid-template-columns:1fr}.engagement-admin-hero{align-items:flex-start;flex-direction:column}.engagement-switch{flex-wrap:wrap}.engagement-banner{padding:24px;min-height:220px}}
/* Roleta dashboard */
.roleta-page-header .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#137bd1;font-weight:800}.roleta-metrics{margin:18px 0}.roleta-link-finder>label{display:block;max-width:620px}.roleta-found-link,.roleta-link-list article{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.5fr) auto;gap:12px;align-items:center;margin-top:14px;padding:14px;border:1px solid #dce7f2;border-radius:14px;background:#f8fbff}.roleta-found-link div,.roleta-link-list article div{display:flex;flex-direction:column}.roleta-found-link small,.roleta-link-list small{color:#6c7d91}.roleta-link-list{display:grid;gap:10px}.roleta-seller-report th[data-sort]{cursor:pointer;white-space:nowrap;user-select:none}.roleta-seller-report td small{display:block;color:#748398}.roleta-seller-report .compact-filters{align-items:end}.roleta-seller-report [data-report-count]{margin-left:auto;padding-bottom:10px}.roleta-tabs{margin-bottom:18px}@media(max-width:850px){.roleta-found-link,.roleta-link-list article{grid-template-columns:1fr}.roleta-seller-report [data-report-count]{margin-left:0}}
/* Roleta internal submenu */
.roleta-tabs{margin-bottom:18px;padding:7px;background:#edf5fc;border:1px solid #d5e4f1;border-radius:13px;gap:5px}
.roleta-tabs .tab-button{border:0;border-radius:9px;padding:10px 14px;color:#60738a}
.roleta-tabs .tab-button.active{background:#fff;color:#0876c9;box-shadow:0 3px 9px rgba(23,66,102,.12)}

/* Recrutamento: classificação e restrição de recontratação */
.rh-stage-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center}.rh-stage-form select,.rh-stage-form input{margin:0}.rh-restriction-alert{border:1px solid #f5b7b1;background:#fff5f5;color:#8f1d18}.rh-restriction-alert strong{display:block;color:#b42318;font-size:17px}.rh-restriction-alert p{margin:7px 0}.rh-restriction-alert small{display:block;color:#7a271a}.rh-restriction-check{display:flex;align-items:center;gap:9px;padding:11px;border-radius:7px;background:#fff1f2;color:#b42318;font-weight:800}.rh-restriction-check input{width:auto;margin:0}@media(max-width:850px){.rh-stage-form{grid-template-columns:1fr}.rh-application{align-items:stretch;flex-direction:column}}

/* Recrutamento: requisições de vagas */
.rh-request-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.rh-request-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;gap:10px;align-items:end}.rh-request-filters label{margin:0}.rh-request-table tr.is-process-alert td:first-child{border-left:4px solid #e59b22}.rh-request-table tr.is-deadline-alert{background:#fff5f5}.rh-progress{display:block;width:100%;height:6px;margin-top:6px;border-radius:10px;background:#e8eef4;overflow:hidden}.rh-progress b{display:block;height:100%;background:#168dca}.rh-progress.large{height:9px;margin:18px 0}.rh-priority{display:inline-flex;padding:5px 9px;border-radius:99px;background:#edf2f7;font-size:11px;font-weight:800}.rh-priority.is-alta{background:#fff7ed;color:#b54708}.rh-priority.is-critica{background:#fff1f2;color:#b42318}.rh-store-preview{padding:16px;border:1px solid #cfe0ec;border-radius:10px;background:#f5fbff}.rh-store-preview p{margin:6px 0}.rh-request-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-request-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:18px}.rh-request-layout>div,.rh-request-layout>aside{display:grid;gap:18px;align-content:start}.rh-request-head-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.rh-request-actions form{display:inline}.rh-position-list{display:grid;gap:10px}.rh-position{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid #dbe5ed;border-left:4px solid #8aa1b3;border-radius:9px}.rh-position.is-reservada{border-left-color:#7e22ce;background:#faf7ff}.rh-position.is-preenchida{border-left-color:#15803d;background:#f3fff7}.rh-position.is-cancelada{opacity:.6}.rh-position>div:first-child>span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:#e9f2f8;font-weight:900}.rh-position p,.rh-position small{margin:5px 0 0;color:#64748b}.rh-position form{display:flex;gap:8px;align-items:center}.rh-link-vacancy{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;margin-top:16px}.rh-request-context{display:flex;justify-content:space-between;align-items:center;gap:15px;border-left:4px solid #168dca}.rh-context-results{margin-bottom:18px}.rh-warning-text{color:#b54708;font-weight:700}@media(max-width:1000px){.rh-request-filters{grid-template-columns:repeat(2,1fr)}.rh-request-layout{grid-template-columns:1fr}}@media(max-width:700px){.rh-request-filters,.rh-request-form,.rh-link-vacancy{grid-template-columns:1fr}.rh-position,.rh-request-context{align-items:stretch;flex-direction:column}.rh-position form{display:grid}.rh-request-head-status{align-items:flex-start}}
.rh-request-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:340px;padding:4px;overflow:auto}.rh-request-store-row{display:grid!important;grid-template-columns:auto 1fr 82px;align-items:center!important;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#f8fbfd}.rh-request-store-row>input[type=checkbox]{width:auto;margin:0}.rh-request-store-row>input[type=number]{margin:0}.rh-request-store-row span{display:grid;gap:2px}.rh-request-store-row small{color:var(--muted)}@media(max-width:700px){.rh-request-store-grid{grid-template-columns:1fr}}
.rh-icon-action.rh-request-action{color:#15803d!important;background:#ecfdf3!important;border-color:#86d9aa!important}.rh-icon-action.rh-request-action:hover{color:#0f6b31!important;background:#d9fbe7!important;border-color:#35b66b!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important}.rh-icon-action.rh-request-action svg{width:20px;height:20px;stroke-width:2}

/* Ouvidoria */
.rh-ombudsman-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid #168dca;background:linear-gradient(125deg,#fff 55%,#eef9ff)}.rh-ombudsman-hero p{max-width:720px;color:var(--muted)}.rh-ombudsman-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.rh-ombudsman-grid>.panel{align-self:start}.rh-protocol-success{border:1px solid #86d9aa;background:#f0fdf4}.rh-protocol-pair{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:18px 0}.rh-protocol-pair>div{padding:14px;border:1px solid #bbebcf;border-radius:8px;background:#fff}.rh-protocol-pair small,.rh-protocol-pair code{display:block}.rh-protocol-pair small{margin-bottom:7px;color:var(--muted);font-weight:800;text-transform:uppercase}.rh-protocol-pair code{overflow-wrap:anywhere;font-size:16px;font-weight:900}.rh-ombudsman-thread{display:grid;gap:12px;margin:20px 0}.rh-ombudsman-thread article{max-width:82%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.rh-ombudsman-thread article.is-rh{justify-self:end;background:#eaf7fd;border-color:#b9ddec}.rh-ombudsman-thread article.is-internal{max-width:100%;background:#fff7ed;border-color:#fed7aa}.rh-ombudsman-thread p{margin:7px 0;line-height:1.55}.rh-ombudsman-thread small{color:var(--muted)}.rh-status-inline{display:flex;align-items:center;gap:8px}.rh-status-inline select{margin:0}@media(max-width:800px){.rh-ombudsman-hero{align-items:flex-start;flex-direction:column}.rh-ombudsman-grid,.rh-protocol-pair{grid-template-columns:1fr}.rh-ombudsman-thread article{max-width:100%}.rh-status-inline{align-items:stretch;flex-direction:column}}

.rh-email-compose{max-width:920px;margin-inline:auto;padding:0;overflow:hidden}.rh-compose-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line);background:#f8fafc}.rh-compose-head h3{margin:0}.rh-email-compose form{display:grid;gap:0}.rh-email-compose form>label{margin:0;padding:13px 22px;border-bottom:1px solid var(--line)}.rh-email-compose form>label select,.rh-email-compose form>label input,.rh-email-compose form>label textarea{margin-top:8px;border:0;background:#fff;box-shadow:none}.rh-email-compose form>label textarea{min-height:310px;resize:vertical}.rh-email-compose .actions{display:flex;justify-content:flex-end;padding:16px 22px}.rh-consult-dialog{width:min(560px,calc(100% - 30px));padding:0;border:0;border-radius:12px;background:transparent}.rh-consult-dialog::backdrop{background:#0f172a99}.rh-consult-dialog .panel{margin:0}.rh-protocol-pair{grid-template-columns:1fr}.rh-ombudsman-hero{position:relative;align-items:flex-start;padding:28px 30px}.rh-ombudsman-intro{width:min(900px,100%)}.rh-ombudsman-lead{margin:8px 0 22px!important;color:#41566a!important;font-size:16px;line-height:1.6}.rh-ombudsman-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rh-ombudsman-guide article{display:flex;gap:12px;padding:15px;border:1px solid #d8e5ed;border-radius:10px;background:#fff}.rh-ombudsman-guide article>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#e8f5fb;color:#0877ad;font-weight:900}.rh-ombudsman-guide article strong{display:block;color:#16364a;font-size:13px;line-height:1.35}.rh-ombudsman-guide article p{margin:6px 0 0!important;color:#687d8b!important;font-size:12px;line-height:1.5}.rh-ombudsman-guide article.is-private{border-color:#a7dfbf;background:#f0fdf4}.rh-ombudsman-guide article.is-private>span{background:#dcfce7;color:#15803d}.rh-management-link{position:absolute;top:24px;right:26px}.rh-protocol-success{border-width:2px;border-color:#f0b429;background:#fffbeb}.rh-protocol-alert{display:flex;align-items:flex-start;gap:14px}.rh-protocol-alert>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#dc2626;color:#fff;font-size:24px;font-weight:900}.rh-protocol-alert strong{display:block;color:#991b1b;font-size:19px}.rh-protocol-alert p{margin:6px 0 0;color:#7c2d12;font-weight:650}.rh-protocol-pair>div{border:2px dashed #e59b22}.rh-protocol-pair code{font-size:22px;letter-spacing:1px}.rh-protocol-actions{display:flex;align-items:center;gap:14px}.rh-protocol-actions small{color:#7c5a13;font-weight:700}@media(max-width:900px){.rh-ombudsman-guide{grid-template-columns:1fr}.rh-management-link{position:static;margin-top:16px}}@media(max-width:700px){.rh-compose-head{align-items:stretch;flex-direction:column}.rh-compose-head button{width:100%}.rh-ombudsman-hero{padding:22px}.rh-protocol-actions{align-items:stretch;flex-direction:column}.rh-protocol-actions button{width:100%}}

.rh-attachment-field{background:#f8fafc!important}.rh-attachment-field input[type=file]{padding:10px;border:1px dashed #a9bdca!important;border-radius:8px;background:#fff!important}.rh-attachment-field>small{display:block;margin-top:5px;color:var(--muted);font-weight:500}.rh-message-attachments{display:grid;gap:6px;margin:10px 0}.rh-message-attachments a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #cbdde8;border-radius:7px;background:#fff;color:#176b87;text-decoration:none;font-size:12px;font-weight:750}.rh-message-attachments a:hover{border-color:#65accb;background:#f0f9ff}.rh-message-attachments a small{margin-left:auto;white-space:nowrap}

.rh-resolution-check{margin:0;padding:18px 22px;border:0;border-bottom:1px solid var(--line)}.rh-resolution-check legend{padding:0;color:var(--text);font-size:13px;font-weight:800}.rh-resolution-check>label{display:inline-flex;align-items:center;gap:7px;margin:12px 18px 0 0}.rh-resolution-check input{width:auto;margin:0}.rh-resolution-warning{margin-top:15px;padding:15px;border:1px solid #f5c06f;border-radius:9px;background:#fff8e8;color:#7c4a03}.rh-resolution-warning>strong{display:block;color:#9a5b00}.rh-resolution-warning>p{margin:6px 0 12px;line-height:1.5}.rh-resolution-warning>label{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:7px;background:#fff;font-size:12px;font-weight:700;line-height:1.5}.rh-resolution-warning>label input{margin-top:3px}.rh-email-compose button:disabled{cursor:not-allowed;opacity:.45}

.rh-resolution-context{border-left:4px solid #e59b22}.rh-resolution-context p{margin:8px 0 0;color:var(--muted)}

/* Quadro visual da rede */
.network-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;background:linear-gradient(135deg,#fff 48%,#eaf7ff)}.network-hero h1{margin:5px 0;font-size:clamp(1.7rem,3vw,2.35rem)}.network-hero p{margin:0;color:#64748b}.network-summary{display:flex;gap:10px;flex-wrap:wrap}.network-summary span{min-width:105px;padding:12px 16px;border:1px solid #d5e5ef;border-radius:13px;background:#fff;color:#64748b;text-align:center}.network-summary strong{display:block;color:#102b3d;font-size:1.35rem}.network-summary .has-open{border-color:#f4cf7d;background:#fffaf0}.network-toolbar{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:11px 13px;border:1px solid #d8e4ec;border-radius:14px 14px 0 0;background:#fff;box-shadow:0 6px 18px #1f425b12}.network-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#edf3f7}.network-tabs button{padding:8px 12px;border:0;background:transparent;color:#687c8a;box-shadow:none}.network-tabs button.active{background:#fff;color:#0879b9;box-shadow:0 2px 8px #1e405a1f}.network-tabs button small{display:block;font-size:.62rem}.network-search{position:relative;display:flex;align-items:center;max-width:360px;min-width:220px;margin:0 auto 0 0}.network-search span{position:absolute;left:12px;color:#79909e;font-size:20px}.network-search input{margin:0;padding-left:38px}.network-tools{display:flex;align-items:center;gap:5px}.network-tools button{width:auto;min-width:38px;padding:8px 11px}.network-tools output{min-width:48px;text-align:center;color:#607888;font-size:.78rem;font-weight:800}.network-board{height:calc(100vh - 300px);min-height:520px;overflow:auto;cursor:grab;border:1px solid #d8e4ec;border-top:0;border-radius:0 0 15px 15px;background-color:#f5f8fa;background-image:radial-gradient(#b8c9d4 1px,transparent 1px);background-size:22px 22px}.network-board.is-panning{cursor:grabbing;user-select:none}.network-canvas{--network-scale:1;display:grid;grid-template-columns:repeat(4,320px);align-items:start;gap:52px 70px;width:max-content;min-width:100%;padding:54px;transform:scale(var(--network-scale));transform-origin:top left}.network-store{position:relative;border:1px solid #cfdde6;border-radius:17px;background:#fff;box-shadow:0 12px 30px #18394f1a}.network-store:before{content:'';position:absolute;top:45px;right:100%;width:70px;border-top:2px solid #c4d4de}.network-store:nth-child(4n+1):before,.network-store[hidden]{display:none}.network-store-head{display:flex;align-items:center;gap:11px;padding:15px;border-radius:16px 16px 0 0;border-bottom:1px solid #dbe6ed;background:linear-gradient(135deg,#082f49,#075985);color:#fff;transition:.15s}.network-store-head.is-drop-target{outline:4px solid #22c55e;outline-offset:3px;transform:scale(1.025);background:linear-gradient(135deg,#14532d,#15803d)}.network-store-head h2{margin:2px 0 0;color:#fff;font-size:1.04rem}.network-store-head small{color:#8ed9ff;font-size:.66rem;font-weight:900;letter-spacing:.1em}.network-store-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#ffffff18;font-size:21px}.network-count{margin-left:auto;padding:5px 8px;border-radius:99px;background:#ffffff17;color:#dff5ff;font-size:.66rem;white-space:nowrap}.network-leadership,.network-sellers{display:grid;gap:8px;padding:12px 13px}.network-leadership{border-bottom:1px solid #e4edf2;background:#f8fbfd}.network-person{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #dde7ed;border-radius:11px;background:#fff}.network-person.leader{border-color:#b9dff1;background:#effaff}.network-person strong,.network-person small{display:block}.network-person strong{overflow:hidden;max-width:190px;color:#233b4b;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.network-person small{margin-top:2px;color:#748894;font-size:.67rem}.network-avatar{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#dcecf5;color:#0872ac;font-size:.75rem;font-weight:900}.network-person.leader .network-avatar{background:#0878b6;color:#fff}.network-person.is-draggable{cursor:grab}.network-person.is-draggable:hover{border-color:#74bddf;box-shadow:0 5px 14px #1e6d9421}.network-person.is-dragging{opacity:.4}.network-drag{margin-left:auto;color:#9cafba;font-weight:900}.network-empty-role{padding:10px;border:1px dashed #cfdae1;border-radius:9px;color:#8798a3;text-align:center;font-size:.75rem}.network-vacancies{display:grid;gap:4px;padding:10px 13px;border-top:1px solid #f0d49b;background:#fff9ec;border-radius:0 0 16px 16px;color:#9a6710;font-size:.7rem}.network-vacancies span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-board-hint{margin:9px 4px 0;color:#708594;font-size:.78rem}.network-empty-search{position:sticky;left:0;width:100%;padding:80px;text-align:center;color:#718593}.network-transfer-modal{max-height:92vh;overflow:auto}.network-transfer-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.network-transfer-stats span{padding:12px;border:1px solid #dce7ed;border-radius:10px;color:#657b89}.network-transfer-stats strong{float:right;color:#17384c}.network-transfer-modal .info-banner{margin:0}@media(max-width:1100px){.network-summary{display:none}.network-toolbar{flex-wrap:wrap}.network-search{order:3;max-width:none;width:100%}.network-board{height:65vh}.network-canvas{grid-template-columns:repeat(3,310px)}}@media(max-width:700px){.network-hero{align-items:flex-start;display:block}.network-tabs{width:100%}.network-tabs button{flex:1}.network-tools{margin-left:auto}.network-tools [data-network-fit]{display:none}.network-canvas{grid-template-columns:repeat(2,290px);padding:35px;gap:35px}.network-store:before{display:none}.network-transfer-stats{grid-template-columns:1fr}}
/* Patrimônio */
.patrimony-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;border-left:4px solid #0878b6;background:linear-gradient(130deg,#fff 50%,#eaf7ff)}.patrimony-hero small,.page-head small{color:#0878b6;font-weight:900;letter-spacing:.12em}.patrimony-hero h1,.page-head h1{margin:5px 0}.patrimony-hero p{margin:0;color:var(--muted)}.patrimony-actions,.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.patrimony-metrics{margin-bottom:16px}.patrimony-filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:10px;align-items:end;margin-bottom:18px}.patrimony-filters label{margin:0}.patrimony-form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.55fr);gap:18px;align-items:start}.patrimony-form{display:grid;gap:14px}.patrimony-code-field{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.patrimony-code-field label{margin:0}.patrimony-location{display:flex;gap:20px;margin:8px 0 12px}.patrimony-location label{display:flex;align-items:center;gap:7px;margin:0}.patrimony-location input{width:auto;margin:0}.patrimony-history{display:grid;gap:10px}.patrimony-history article{display:grid;gap:5px;padding:12px;border-left:3px solid #168dca;background:#f7fafc}.patrimony-history small{color:var(--muted)}.qr-dialog{width:min(620px,calc(100% - 24px));padding:0;border:0;border-radius:14px;background:transparent}.qr-dialog::backdrop{background:#071323c9}.qr-dialog .panel{margin:0}.qr-head{display:flex;justify-content:space-between;gap:12px}.qr-camera{position:relative;margin-top:14px;overflow:hidden;border-radius:10px;background:#071323}.qr-dialog video{display:block;width:100%;min-height:280px;object-fit:cover}.qr-target{position:absolute;inset:20% 18%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px #07132355}.qr-target:before,.qr-target:after{content:'';position:absolute;left:12%;right:12%;height:2px;background:#35bdf4;box-shadow:0 0 8px #35bdf4}.qr-target:before{top:33%}.qr-target:after{bottom:33%}@media(max-width:900px){.patrimony-filters{grid-template-columns:1fr 1fr}.patrimony-form-layout{grid-template-columns:1fr}}@media(max-width:620px){.patrimony-hero,.page-head{align-items:stretch;flex-direction:column}.patrimony-actions,.patrimony-code-field,.patrimony-filters{grid-template-columns:1fr;display:grid}.patrimony-actions .button{width:100%}.qr-dialog video{min-height:220px}}
.qr-success{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:#087a49ed;color:#fff;text-align:center}.qr-success[hidden]{display:none}.qr-success span{display:grid;place-items:center;width:66px;height:66px;border:4px solid #fff;border-radius:50%;font-size:40px;font-weight:900}.qr-success strong{font-size:22px}.qr-success b{font-size:18px;letter-spacing:.06em}.qr-camera.is-success .qr-target{display:none}.qr-read-success{border-color:#16a064!important;background:#effdf5!important;box-shadow:0 0 0 4px #16a06433!important;transition:.2s}
.patrimony-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.patrimony-metrics article{position:relative;display:flex;align-items:center;gap:16px;min-height:118px;padding:20px;border:1px solid #dbe7ef;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 8px 24px #18394f0d;overflow:hidden}.patrimony-metrics article:after{content:'';position:absolute;right:-28px;bottom:-42px;width:110px;height:110px;border-radius:50%;background:currentColor;opacity:.055}.patrimony-metric-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:14px;background:#e9f5ff;color:#0878b6}.patrimony-metric-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.patrimony-metrics article>div{display:grid;gap:2px}.patrimony-metrics article>div>span{color:#64748b;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.patrimony-metrics strong{color:#102a43;font-size:30px;line-height:1.05}.patrimony-metrics small{color:#8797a7;font-size:12px}.patrimony-metrics .is-active{border-color:#ccebdc;color:#15804b}.patrimony-metrics .is-active .patrimony-metric-icon{background:#e9fbf2;color:#168653}.patrimony-metrics .is-writeoff{border-color:#f0dce0;color:#b54a5b}.patrimony-metrics .is-writeoff .patrimony-metric-icon{background:#fff0f2;color:#bd4055}@media(max-width:760px){.patrimony-metrics{grid-template-columns:1fr}.patrimony-metrics article{min-height:96px;padding:16px}.patrimony-metrics strong{font-size:27px}}
.patrimony-head-actions{display:flex;align-items:center;gap:8px}.patrimony-head-actions form{margin:0}.patrimony-head-actions button{white-space:nowrap}@media(max-width:700px){.patrimony-head-actions{display:grid;grid-template-columns:1fr;width:100%}.patrimony-head-actions .button,.patrimony-head-actions button{width:100%}}
