﻿:root {
  color-scheme: light;
  --bg: #ffffff;
  --bg-2: #f6f9fc;
  --panel: #ffffff;
  --panel-2: #f8fbfd;
  --panel-strong: #ffffff;
  --line: rgba(9, 24, 49, 0.12);
  --line-strong: rgba(32, 214, 210, 0.34);
  --text: #08192f;
  --muted: #5f7185;
  --cyan: #20d6d2;
  --aqua: #4ce6be;
  --blue: #1f7dff;
  --green: #45df9b;
  --yellow: #ffd166;
  --red: #ff5f86;
  --shadow: 0 18px 44px rgba(9, 24, 49, 0.08);
  --radius: 14px;
  --sidebar: 304px;
  --sidebar-collapsed: 88px;
}

.client-portal {
  display: grid;
  gap: 16px;
}

.client-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: min(420px, calc(100vw - 32px));
  border: 1px solid rgba(69, 223, 155, 0.36);
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--text);
  background: rgba(5, 20, 43, 0.96);
  box-shadow: var(--shadow);
}

.client-toast.error {
  border-color: rgba(255, 95, 134, 0.38);
}

.client-access-card,
.client-wizard-main,
.service-summary,
.vehicle-history {
  overflow: hidden;
}

.client-access-grid {
  display: grid;
  grid-template-columns: 1fr 220px 1fr 1fr auto;
  gap: 12px;
  align-items: end;
}

.client-access-actions,
.vehicle-badges,
.vehicle-actions,
.doc-actions,
.client-wizard-footer,
.attachment-mini,
.review-list summary,
.history-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.client-code-field {
  max-width: 170px;
}

.client-countdown,
.client-state {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.client-state.sent,
.client-state.loaded {
  color: var(--green);
}

.client-state.notFound,
.client-state.invalid,
.client-state.expired,
.client-state.connection,
.client-state.noVehicle {
  color: var(--red);
}

.client-state-grid {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.client-state-grid span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.32);
  font-size: 12px;
  font-weight: 800;
}

.client-identity-compact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
}

.client-avatar,
.success-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-weight: 900;
}

.client-identity-compact strong,
.client-identity-compact span,
.vehicle-title strong,
.vehicle-title span,
.attachment-row strong,
.attachment-row span {
  display: block;
}

.client-identity-compact span,
.vehicle-title span,
.choice-card span,
.ticket-card span,
.ticket-card small,
.step-heading span,
.client-privacy,
.attachment-mini span,
.attachment-row span,
.review-list summary span,
.timeline-event span,
.timeline-event p {
  color: var(--muted);
  font-size: 13px;
}

.client-identity-compact em,
.client-fill-time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--green);
  font-style: normal;
  font-weight: 900;
}

.customer-vehicle-header {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.8fr) auto;
  gap: 16px;
  align-items: center;
}

.vehicle-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.customer-vehicle-header dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.customer-vehicle-header dt,
.info-tile span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.customer-vehicle-header dd {
  margin: 3px 0 0;
  color: var(--text);
  font-weight: 800;
}

.vehicle-badges {
  grid-column: 1 / -1;
}

.vehicle-actions {
  justify-content: flex-end;
}

.warranty-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid rgba(32, 214, 210, 0.28);
  border-radius: 999px;
  padding: 4px 10px;
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.08);
  font-size: 12px;
  font-weight: 900;
}

.warranty-badge.active {
  color: var(--green);
  border-color: rgba(69, 223, 155, 0.3);
  background: rgba(69, 223, 155, 0.09);
}

.warranty-badge.expired,
.warranty-badge.sem_garantia {
  color: var(--yellow);
  border-color: rgba(255, 209, 102, 0.28);
  background: rgba(255, 209, 102, 0.09);
}

.client-prestart {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

.client-prestart p {
  color: var(--muted);
  margin-bottom: 0;
}

.client-wizard-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 28%);
  gap: 16px;
  align-items: start;
}

.service-summary {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 10px;
}

.wizard-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-bottom: 14px;
}

.wizard-progress span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.wizard-progress strong {
  display: block;
  font-size: 20px;
}

.wizard-progress em {
  color: var(--aqua);
  font-style: normal;
  font-weight: 900;
}

.progress-track,
.document-progress {
  grid-column: 1 / -1;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(2, 8, 20, 0.78);
}

.progress-track i,
.document-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.wizard-step-list {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 16px;
}

.wizard-step-list button {
  flex: 0 0 142px;
  min-height: 56px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.38);
  text-align: left;
  padding: 9px;
  font-weight: 800;
}

.wizard-step-list button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}

.wizard-step-list button.active,
.wizard-step-list button.done,
.vehicle-option.active,
.choice-card.active,
.conditional-question button.active,
.history-tabs button.active {
  color: var(--text);
  border-color: var(--cyan);
  background: rgba(32, 214, 210, 0.12);
  box-shadow: inset 0 0 0 1px rgba(32, 214, 210, 0.14);
}

.wizard-step-body,
.client-step,
.maintenance-repeater,
.maintenance-record,
.attachment-manager,
.review-list,
.vehicle-history,
.service-timeline {
  display: grid;
  gap: 14px;
}

.step-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.client-info-grid,
.vehicle-select-grid,
.choice-card-grid,
.client-document-grid,
.ticket-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.info-tile,
.vehicle-option,
.choice-card,
.ticket-card,
.document-upload-card,
.maintenance-record,
.attachment-mini,
.attachment-row,
.client-empty-inline,
.review-list details,
.timeline-event > div,
.client-empty {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.36);
}

.info-tile,
.vehicle-option,
.choice-card,
.ticket-card,
.document-upload-card,
.maintenance-record,
.attachment-mini,
.attachment-row,
.client-empty-inline,
.review-list details,
.timeline-event > div,
.client-empty {
  padding: 12px;
}

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

.vehicle-option,
.choice-card,
.ticket-card {
  color: var(--text);
  text-align: left;
}

.choice-card {
  display: grid;
  gap: 8px;
}

.choice-card svg {
  color: var(--aqua);
}

.conditional-question {
  display: grid;
  gap: 10px;
}

.conditional-question > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.conditional-question button,
.history-tabs button {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.38);
  padding: 8px 12px;
  font-weight: 800;
}

.document-upload-card {
  display: grid;
  gap: 10px;
}

.doc-preview {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(32, 214, 210, 0.12);
  border-radius: 10px;
  background: rgba(2, 8, 20, 0.46);
}

.doc-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.doc-placeholder {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--aqua);
  background: rgba(32, 214, 210, 0.1);
}

.doc-copy {
  display: grid;
  gap: 4px;
}

.doc-copy span,
.doc-copy small {
  color: var(--muted);
  font-size: 12px;
}

.document-upload-card em {
  width: max-content;
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.09);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.document-upload-card.enviado em {
  color: var(--green);
  background: rgba(69, 223, 155, 0.09);
}

.doc-actions .ghost-action {
  flex: 1 1 150px;
  min-height: 38px;
}

.client-alert,
.client-privacy,
.pending-action-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px;
  background: rgba(2, 8, 20, 0.36);
}

.client-alert.warning {
  color: var(--yellow);
  border-color: rgba(255, 209, 102, 0.28);
  background: rgba(255, 209, 102, 0.08);
}

.client-alert.success {
  color: var(--green);
  border-color: rgba(69, 223, 155, 0.28);
  background: rgba(69, 223, 155, 0.08);
}

.maintenance-record header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.attachment-mini {
  justify-content: space-between;
}

.attachment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 0.6fr) auto;
}

.client-wizard-footer {
  position: sticky;
  bottom: 0;
  z-index: 9;
  justify-content: space-between;
  margin: 18px -18px -18px;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
  background: rgba(3, 13, 30, 0.94);
  backdrop-filter: blur(14px);
}

.summary-save {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--aqua);
  font-size: 13px;
  font-weight: 800;
}

.review-list summary {
  justify-content: space-between;
  cursor: pointer;
}

.client-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--text);
}

.client-check input {
  width: 18px;
  min-width: 18px;
  margin-top: 3px;
}

.history-filters {
  display: grid;
  grid-template-columns: 1.3fr repeat(3, minmax(160px, 1fr));
  gap: 8px;
}

.client-empty {
  display: grid;
  justify-items: start;
  gap: 8px;
  color: var(--muted);
}

.client-empty svg {
  color: var(--aqua);
}

.timeline-event {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  position: relative;
  padding-bottom: 16px;
}

.timeline-event::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 22px;
  bottom: 0;
  width: 1px;
  background: var(--line);
}

.timeline-event > i {
  width: 22px;
  height: 22px;
  border: 3px solid rgba(32, 214, 210, 0.28);
  border-radius: 999px;
  background: var(--cyan);
  box-shadow: 0 0 0 4px rgba(32, 214, 210, 0.08);
}

.pending-action-alert {
  justify-content: space-between;
  margin-top: 10px;
  color: var(--yellow);
  border-color: rgba(255, 209, 102, 0.28);
  background: rgba(255, 209, 102, 0.08);
}

.client-success {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.client-success .client-info-grid,
.client-success .vehicle-actions {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .client-access-grid,
  .customer-vehicle-header,
  .client-wizard-shell,
  .client-prestart,
  .history-filters {
    grid-template-columns: 1fr;
  }

  .service-summary {
    position: static;
    order: -1;
  }

  .customer-vehicle-header dl,
  .client-info-grid,
  .vehicle-select-grid,
  .choice-card-grid,
  .client-document-grid,
  .ticket-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .client-toast {
    right: 14px;
    bottom: 84px;
  }

  .client-identity-compact,
  .customer-vehicle-header dl,
  .client-info-grid,
  .vehicle-select-grid,
  .choice-card-grid,
  .client-document-grid,
  .ticket-card-grid,
  .attachment-row,
  .client-success {
    grid-template-columns: 1fr;
  }

  .client-identity-compact {
    justify-items: start;
  }

  .wizard-step-list button {
    flex-basis: 122px;
  }

  .step-heading,
  .client-wizard-footer,
  .pending-action-alert,
  .review-list summary {
    align-items: stretch;
    flex-direction: column;
  }

  .client-wizard-footer {
    bottom: 0;
    margin-inline: -18px;
  }

  .client-wizard-footer .primary-action,
  .client-wizard-footer .ghost-action,
  .vehicle-actions .primary-action,
  .vehicle-actions .ghost-action,
  .client-access-actions .primary-action,
  .client-access-actions .ghost-action {
    width: 100%;
  }
}

/* Oficerto light brand theme */
body {
  background: #ffffff;
  color: var(--text);
}

.shell,
.workspace,
.main,
.auth-view {
  background: #ffffff;
}

.brand-panel,
.login-card,
.panel,
.hero-panel,
.gate,
.metric-card,
.client-access-card,
.client-wizard-main,
.service-summary,
.vehicle-history,
.wizard-step-body,
.client-step,
.maintenance-repeater,
.maintenance-record,
.attachment-manager,
.review-list,
.attachment-mini,
.attachment-row,
.record,
.priority-list,
.records,
.contract-preview,
.table-editor,
.operation-header,
.operation-board,
.operation-detail,
.intelligence-workspace,
.plans-credits-workspace,
.commercial-portal,
.fiscal-workspace,
.corporate-finance,
.admin-workspace,
.partner-card,
.integration-card,
.admin-profile-card,
.report-card,
.exec-card,
.fiscal-drawer,
.fiscal-modal,
.admin-modal,
.modal-backdrop section,
.client-toast,
.demo-access {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow);
}

.brand-panel,
.hero-panel,
.fiscal-hero,
.admin-hero,
.operation-header,
.intelligence-header {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.brand-panel::before {
  background:
    linear-gradient(rgba(32, 214, 210, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.09) 1px, transparent 1px);
}

.brand-panel::after {
  border-color: rgba(32, 214, 210, 0.18);
  box-shadow: inset 0 0 80px rgba(32, 214, 210, 0.08);
}

.brand-glow {
  background: radial-gradient(circle, rgba(32, 214, 210, 0.14), transparent 68%);
}

.auth-logo,
.sidebar-logo {
  filter: brightness(0) saturate(100%) invert(11%) sepia(33%) saturate(2044%) hue-rotate(181deg) brightness(94%) contrast(98%);
}

.topbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0));
}

.sidebar,
body.sidebar-collapsed .sidebar,
body:not(.sidebar-collapsed) .sidebar {
  background: #ffffff;
  border-right-color: var(--line);
  box-shadow: 10px 0 34px rgba(9, 24, 49, 0.05);
}

.sidebar-brand {
  border-bottom-color: var(--line);
}

.nav-group > span,
.breadcrumb {
  color: #6b7f93;
}

.sidebar-item {
  color: #4b5e73;
}

.sidebar-item svg {
  color: #6b7f93;
}

.sidebar-item:hover {
  color: var(--text);
  background: #f1f7fa;
}

.sidebar-item.active {
  color: #06233e;
  border-color: rgba(32, 214, 210, 0.38);
  background: linear-gradient(90deg, rgba(32, 214, 210, 0.16), rgba(76, 230, 190, 0.1), #ffffff);
  box-shadow: inset 0 0 0 1px rgba(32, 214, 210, 0.08), 0 10px 24px rgba(32, 214, 210, 0.08);
}

.sidebar-user,
.status-pill,
.fiscal-badge,
.network-chipline em,
.admin-status-strip > div,
.fiscal-email-alert,
.credit-meter,
.insight-box,
.operation-check,
.fiscal-action-menu summary,
.admin-check,
.mobile-menu-toggle {
  border-color: var(--line);
  background: #f8fbfd;
  color: var(--text);
}

.input-shell,
input,
select,
textarea,
.admin-search,
.operation-global-search,
.wide-filter,
.fiscal-filter-grid label,
.commercial-filter-grid label,
.client-state-grid span,
.history-tabs,
.fiscal-table-wrap,
.admin-permission-matrix,
.network-map-node,
.admin-flow button,
.team-card,
.finance-steps span,
.fiscal-pagination,
.admin-mobile-cards article,
.commercial-detail-grid > div,
.fiscal-detail-grid > div,
.metric-card small,
.record.empty-state {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
}

.input-shell:focus-within,
input:focus,
select:focus,
textarea:focus {
  background: #ffffff;
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(32, 214, 210, 0.14);
}

input::placeholder,
textarea::placeholder {
  color: #8796a8;
}

.ghost-action,
.icon-button {
  color: #12304a;
  border-color: var(--line);
  background: #ffffff;
}

.ghost-action:hover,
.icon-button:hover {
  color: #06233e;
  border-color: rgba(32, 214, 210, 0.38);
  background: #eefaf8;
}

.primary-action {
  color: #061a2d;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.fiscal-table,
.admin-table,
.intelligence-table {
  color: var(--text);
  background: #ffffff;
}

.fiscal-table th,
.admin-table th,
.intelligence-table th {
  color: #4b5e73;
  background: #f4f8fb;
}

.fiscal-table td,
.admin-table td,
.intelligence-table td {
  border-color: var(--line);
}

.form-message,
.eyebrow,
.network-class.cyan {
  color: #079c9a;
}

.client-identity-compact span,
.vehicle-title span,
.choice-card span,
.ticket-card span,
.ticket-card small,
.step-heading span,
.client-privacy,
.attachment-mini span,
.attachment-row span,
.review-list summary span,
.timeline-event span,
.timeline-event p,
.panel-head span,
.metric-card span,
.record span,
.hint,
.topbar [data-company-name],
.sidebar-brand-text,
.sidebar-user-info span {
  color: var(--muted);
}

.avatar,
.client-avatar,
.success-icon,
.admin-flow button span,
.metric-icon {
  color: #061a2d;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.fiscal-drawer {
  background: #ffffff;
}

.modal-backdrop {
  background: rgba(9, 24, 49, 0.28);
}

@media (max-width: 760px) {
  .sidebar-backdrop {
    background: rgba(9, 24, 49, 0.42);
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, Manrope, Sora, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 8%, rgba(31, 125, 255, 0.22), transparent 28rem),
    radial-gradient(circle at 84% 18%, rgba(32, 214, 210, 0.16), transparent 30rem),
    linear-gradient(135deg, #040814 0%, #06142f 48%, #051021 100%);
  color: var(--text);
  line-height: 1.45;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

.shell {
  min-height: 100vh;
}

.is-hidden {
  display: none !important;
}

.mobile-menu-toggle,
.sidebar-backdrop {
  display: none;
}

.auth-view {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
  gap: 32px;
  align-items: center;
  padding: clamp(24px, 4vw, 64px);
}

.brand-panel,
.login-card,
.panel,
.hero-panel,
.gate,
.metric-card {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(9, 29, 64, 0.9), rgba(5, 15, 36, 0.9));
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}

.brand-panel {
  min-height: 560px;
  border-radius: 20px;
  padding: clamp(28px, 5vw, 54px);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.brand-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(32, 214, 210, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.055) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(circle at 35% 42%, black, transparent 72%);
}

.brand-panel::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -140px;
  bottom: -120px;
  border: 1px solid rgba(32, 214, 210, 0.22);
  border-radius: 50%;
  box-shadow: inset 0 0 80px rgba(31, 125, 255, 0.12);
}

.brand-glow {
  position: absolute;
  inset: auto auto 16% 8%;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(32, 214, 210, 0.2), transparent 68%);
}

.brand-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 20px;
}

.auth-logo {
  width: min(440px, 80vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 34px rgba(32, 214, 210, 0.22));
}

.brand-content span {
  color: var(--muted);
  font-size: 18px;
  font-weight: 600;
}

.login-card {
  width: min(100%, 510px);
  justify-self: center;
  border-radius: 18px;
  padding: clamp(24px, 4vw, 38px);
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--cyan);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  letter-spacing: 0;
}

h2 {
  margin-bottom: 10px;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.08;
}

h3 {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.2;
}

h4 {
  margin-bottom: 0;
  font-size: 15px;
}

label,
.stack-form {
  display: grid;
  gap: 8px;
}

.input-field {
  margin-bottom: 14px;
  color: var(--muted);
  font-weight: 700;
}

.input-shell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  border: 1px solid rgba(147, 169, 194, 0.22);
  background: rgba(2, 8, 20, 0.76);
  border-radius: 12px;
  padding: 0 12px;
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.input-shell:focus-within {
  border-color: var(--cyan);
  box-shadow: 0 0 0 4px rgba(32, 214, 210, 0.12);
  background: rgba(3, 13, 30, 0.94);
}

.input-shell svg {
  width: 18px;
  height: 18px;
  color: var(--cyan);
  flex: 0 0 auto;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(147, 169, 194, 0.24);
  background: rgba(2, 8, 20, 0.72);
  color: var(--text);
  border-radius: 10px;
  padding: 12px 13px;
  outline: none;
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.input-shell input {
  min-height: 46px;
  border: 0;
  background: transparent;
  padding: 0;
}

textarea {
  min-height: 96px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(32, 214, 210, 0.13);
  background: rgba(3, 13, 30, 0.94);
}

.primary-action,
.ghost-action,
.icon-button {
  min-height: 42px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight: 800;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease, box-shadow 200ms ease, color 200ms ease;
}

.primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), #64f6b4);
  box-shadow: 0 14px 36px rgba(32, 214, 210, 0.22);
  padding: 11px 18px;
}

.primary-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(32, 214, 210, 0.28);
}

.login-submit {
  width: 100%;
  min-height: 50px;
  margin-top: 4px;
}

.login-submit.loading {
  opacity: 0.78;
}

.ghost-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--text);
  border-color: var(--line);
  background: rgba(8, 28, 62, 0.72);
  padding: 9px 14px;
}

.ghost-action:hover {
  border-color: rgba(32, 214, 210, 0.4);
  background: rgba(18, 62, 109, 0.56);
  transform: translateY(-1px);
}

.icon-button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  color: var(--muted);
  border-color: var(--line);
  background: rgba(8, 28, 62, 0.6);
  padding: 0;
}

.icon-button:hover {
  color: var(--aqua);
  border-color: rgba(32, 214, 210, 0.34);
  background: rgba(32, 214, 210, 0.1);
}

svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.1;
}

.form-message {
  min-height: 20px;
  color: var(--cyan);
  margin: 12px 0 0;
}

.form-message.error {
  color: var(--red);
}

.demo-access {
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(32, 214, 210, 0.14);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(32, 214, 210, 0.055);
  font-size: 13px;
}

.demo-access strong {
  color: var(--text);
  font-size: 13px;
}

.workspace {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar) minmax(0, 1fr);
  transition: grid-template-columns 220ms ease;
}

body.sidebar-collapsed .workspace {
  grid-template-columns: var(--sidebar-collapsed) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 14px;
  background: linear-gradient(180deg, rgba(3, 12, 31, 0.98), rgba(5, 18, 42, 0.94));
  border-right: 1px solid var(--line);
  overflow: hidden;
  z-index: 20;
}

.sidebar-brand {
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 2px 4px 16px;
  border-bottom: 1px solid var(--line);
}

.sidebar-logo {
  width: 196px;
  max-width: 100%;
  height: 42px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 18px rgba(32, 214, 210, 0.14));
}

.sidebar-brand-text {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.nav-list {
  display: grid;
  align-content: start;
  gap: 20px;
  overflow-y: auto;
  padding: 4px 4px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(32, 214, 210, 0.35) transparent;
}

.nav-group {
  display: grid;
  gap: 8px;
}

.nav-group > span {
  padding: 0 13px;
  color: #8fb0cc;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.sidebar-item {
  position: relative;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--muted);
  background: transparent;
  padding: 11px 13px;
  text-align: left;
  font-weight: 800;
  transition: transform 210ms ease, background 210ms ease, color 210ms ease, border-color 210ms ease, box-shadow 210ms ease;
}

.sidebar-item svg {
  flex: 0 0 auto;
  color: #7d9bb9;
  transition: color 210ms ease, transform 210ms ease;
}

.sidebar-item:hover {
  color: var(--text);
  background: rgba(36, 90, 135, 0.22);
  transform: translateX(3px);
}

.sidebar-item:hover svg {
  color: var(--aqua);
}

.sidebar-item.active {
  color: #fff;
  border-color: rgba(32, 214, 210, 0.34);
  background: linear-gradient(90deg, rgba(32, 214, 210, 0.2), rgba(31, 125, 255, 0.18), rgba(10, 42, 78, 0.5));
  box-shadow: inset 0 0 0 1px rgba(76, 230, 190, 0.08), 0 0 30px rgba(32, 214, 210, 0.12);
}

.sidebar-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: var(--aqua);
  box-shadow: 0 0 12px rgba(76, 230, 190, 0.7);
}

.sidebar-item.active svg {
  color: var(--aqua);
}

.sidebar-user {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(8, 28, 62, 0.64);
}

.avatar {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-weight: 900;
}

.sidebar-user-info {
  min-width: 0;
}

.sidebar-user-info strong,
.sidebar-user-info span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-user-info span {
  color: var(--muted);
  font-size: 12px;
}

body.sidebar-collapsed .sidebar {
  padding-inline: 12px;
}

body.sidebar-collapsed .sidebar-brand {
  grid-template-columns: 1fr;
  justify-items: center;
}

body.sidebar-collapsed .sidebar-logo {
  width: 44px;
  object-fit: cover;
  object-position: left center;
}

body.sidebar-collapsed .sidebar-brand-text,
body.sidebar-collapsed .sidebar-item span,
body.sidebar-collapsed .nav-group > span,
body.sidebar-collapsed .sidebar-user-info,
body.sidebar-collapsed .sidebar-user .icon-button:not(:last-child) {
  display: none;
}

body.sidebar-collapsed .sidebar-collapse {
  width: 44px;
}

body.sidebar-collapsed .sidebar-item {
  justify-content: center;
  padding-inline: 0;
}

body.sidebar-collapsed .sidebar-item:hover {
  transform: translateX(0);
}

body.sidebar-collapsed .sidebar-user {
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 10px 6px;
}

.main {
  min-width: 0;
  padding: 24px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 12;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 0 0 22px;
  background: linear-gradient(180deg, rgba(5, 11, 24, 0.98), rgba(5, 11, 24, 0));
}

.topbar-title {
  display: grid;
  gap: 4px;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6f8aa6;
  font-size: 13px;
  font-weight: 700;
}

.breadcrumb svg {
  width: 14px;
  height: 14px;
}

.topbar [data-company-name] {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.topbar strong[data-view-title] {
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
}

.topbar-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.status-pill {
  min-height: 38px;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(69, 223, 155, 0.28);
  border-radius: 999px;
  padding: 0 13px;
  color: var(--green) !important;
  background: rgba(69, 223, 155, 0.09);
  font-size: 13px;
  font-weight: 800;
}

.status-pill.pending {
  color: var(--yellow) !important;
  border-color: rgba(255, 209, 102, 0.3);
  background: rgba(255, 209, 102, 0.09);
}

.notification-button {
  position: relative;
}

.notification-button strong {
  position: absolute;
  top: -6px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #04111e;
  background: var(--aqua);
  font-size: 11px;
}

.view {
  display: none;
}

.view.active {
  display: grid;
  gap: 18px;
}

.hero-panel,
.gate {
  border-radius: var(--radius);
  padding: clamp(22px, 3vw, 32px);
}

.hero-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1.18fr);
  gap: 26px;
  align-items: center;
  min-height: 230px;
}

.hero-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(32, 214, 210, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 94% 14%, rgba(32, 214, 210, 0.13), transparent 20rem);
  background-size: 34px 34px, 34px 34px, auto;
  pointer-events: none;
}

.hero-panel > * {
  position: relative;
}

.hero-panel p,
.gate p,
.hint {
  color: var(--muted);
}

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

.metric-card {
  border-radius: 14px;
  padding: 16px;
}

.premium-metric {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-height: 132px;
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(11, 43, 83, 0.88), rgba(4, 16, 39, 0.84));
  transition: transform 210ms ease, border-color 210ms ease, box-shadow 210ms ease;
}

.premium-metric::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--cyan), transparent);
  opacity: 0.75;
}

.premium-metric:hover {
  transform: translateY(-3px);
  border-color: rgba(32, 214, 210, 0.3);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.34), 0 0 22px rgba(32, 214, 210, 0.08);
}

.metric-icon,
.status-icon,
.vehicle-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--aqua);
  border: 1px solid rgba(32, 214, 210, 0.16);
  background: rgba(32, 214, 210, 0.1);
}

.premium-metric strong {
  display: block;
  color: var(--text);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.1;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.premium-metric span {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-weight: 800;
}

.premium-metric small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.grid {
  display: grid;
  gap: 18px;
}

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

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

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

.panel {
  border-radius: var(--radius);
  padding: 18px;
}

.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.panel-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.panel-head.compact {
  margin-top: 15px;
}

.priority-list,
.records,
.settings-grid,
.chart-bars,
.partner-grid {
  display: grid;
  gap: 10px;
}

.priority-item,
.record,
.setting-item,
.partner-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.38);
}

.status-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.status-item:hover {
  transform: translateY(-1px);
  border-color: rgba(32, 214, 210, 0.24);
  background: rgba(18, 62, 109, 0.24);
}

.status-icon.green {
  color: var(--green);
  background: rgba(69, 223, 155, 0.1);
}

.status-icon.yellow {
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.1);
}

.status-icon.red {
  color: var(--red);
  background: rgba(255, 95, 134, 0.1);
}

.status-copy {
  min-width: 0;
}

.status-copy strong,
.record strong,
.setting-item strong,
.partner-card strong {
  display: block;
  color: var(--text);
}

.status-copy span,
.record span,
.setting-item span,
.partner-card span {
  color: var(--muted);
  font-size: 13px;
}

.status-badge {
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.status-badge.green {
  color: var(--green);
  background: rgba(69, 223, 155, 0.1);
}

.status-badge.yellow {
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.12);
}

.status-badge.red {
  color: var(--red);
  background: rgba(255, 95, 134, 0.12);
}

.activation-item {
  width: 100%;
  min-height: 82px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.38);
  padding: 12px;
  text-align: left;
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.activation-item:hover {
  transform: translateY(-1px);
  border-color: rgba(32, 214, 210, 0.26);
  background: rgba(18, 62, 109, 0.24);
}

.activation-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.activation-main > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.activation-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.plate-badge {
  border-radius: 8px;
  padding: 4px 8px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.activation-meta {
  display: grid;
  gap: 5px;
  text-align: right;
}

.activation-meta span {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  color: var(--muted);
  font-size: 13px;
}

.chevron-icon {
  color: var(--muted);
}

.record,
.setting-item,
.partner-card {
  padding: 12px;
}

.empty-state {
  display: grid;
  justify-items: start;
  gap: 6px;
}

.form-grid,
.contact-grid,
.document-grid {
  display: grid;
  gap: 14px;
}

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

.wide {
  grid-column: 1 / -1;
}

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

fieldset {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  display: grid;
  gap: 10px;
}

legend {
  color: var(--cyan);
  font-weight: 800;
  padding: 0 8px;
}

.wizard,
.activation-flow {
  display: grid;
  gap: 18px;
}

.table-editor {
  display: grid;
  gap: 10px;
}

.editor-row {
  display: grid;
  grid-template-columns: repeat(var(--cols, 5), minmax(120px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.36);
}

/* Portal do Cliente: documentos, atalhos e detalhes do acompanhamento */
.atendimento-upload-preview {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #d8e1ef;
  background: #f7f9fc;
}

.repair-details-card {
  display: grid;
  gap: 16px;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #f8fafc;
}

.repair-details-card > div:first-child p,
.repair-details-card label small {
  display: block;
  margin-top: 6px;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.repair-details-card .wide {
  grid-column: 1 / -1;
}

.tracking-detail-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  justify-items: end;
  background: rgba(15, 23, 42, 0.52);
  backdrop-filter: blur(4px);
}

.tracking-detail-panel {
  width: min(640px, 100vw);
  height: 100%;
  overflow-y: auto;
  padding: 28px;
  background: #fff;
  box-shadow: -18px 0 50px rgba(15, 23, 42, 0.2);
}

.tracking-detail-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5eaf1;
}

.tracking-detail-panel > header span {
  color: #167c80;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tracking-detail-panel h2,
.tracking-detail-panel h3 {
  margin: 4px 0 0;
  color: #14213d;
}

.tracking-detail-body {
  display: grid;
  gap: 22px;
}

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

.tracking-info-grid > div {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;
}

.tracking-info-grid span,
.tracking-photo-grid span,
.tracking-budget-list span,
.tracking-vehicle-mark span {
  color: #667085;
  font-size: 12px;
}

.tracking-info-grid strong,
.tracking-photo-grid strong,
.tracking-budget-list strong,
.tracking-vehicle-mark strong {
  color: #14213d;
  overflow-wrap: anywhere;
}

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

.tracking-photo-grid article {
  position: relative;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
}

.tracking-photo-grid article > em {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(20, 33, 61, 0.8);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.tracking-photo-grid img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  object-fit: cover;
  background: #eef2f7;
}

.tracking-photo-grid article > svg {
  width: 100%;
  height: 118px;
  padding: 34px;
  border-radius: 10px;
  color: #285ba8;
  background: #edf4ff;
}

.tracking-file-list,
.tracking-budget-list {
  display: grid;
  gap: 10px;
}

.tracking-file-list > div,
.tracking-budget-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
}

.tracking-file-list > div > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  background: #285ba8;
  font-weight: 800;
}

.tracking-file-list a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #285ba8;
  font-weight: 800;
  text-decoration: none;
}

.tracking-vehicle-mark {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  border-radius: 16px;
  color: #285ba8;
  background: #edf4ff;
}

.tracking-vehicle-mark > svg {
  width: 42px;
  height: 42px;
}

.tracking-vehicle-mark div {
  display: grid;
  gap: 4px;
}

.tracking-budget-list article > svg {
  width: 34px;
  height: 34px;
  padding: 7px;
  border-radius: 10px;
  color: #167c80;
  background: #e8f8f6;
}

.tracking-budget-list article > div {
  display: grid;
  gap: 4px;
}

.tracking-budget-list article > em {
  color: #14213d;
  font-style: normal;
  font-weight: 900;
}

.tracking-empty-state {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 44px 22px;
  color: #667085;
  text-align: center;
}

.tracking-empty-state > svg {
  width: 48px;
  height: 48px;
  padding: 11px;
  border-radius: 14px;
  color: #285ba8;
  background: #edf4ff;
}

.tracking-empty-state strong {
  color: #14213d;
  font-size: 20px;
}

@media (max-width: 640px) {
  .tracking-detail-panel { padding: 20px 16px; }
  .tracking-info-grid,
  .tracking-photo-grid { grid-template-columns: 1fr; }
  .tracking-file-list > div,
  .tracking-budget-list article { grid-template-columns: auto minmax(0, 1fr); }
  .tracking-file-list em,
  .tracking-file-list a,
  .tracking-budget-list article > em,
  .tracking-budget-list article > a { grid-column: 2; }
}

.logo-upload-field input[type="file"] {
  padding: 10px;
  cursor: pointer;
}

.logo-upload-field span {
  color: var(--muted);
  font-size: 0.82rem;
}

.remove-row {
  width: 38px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(255, 95, 120, 0.35);
  background: rgba(255, 95, 120, 0.09);
  color: var(--red);
}

.form-footer {
  position: sticky;
  bottom: 0;
  z-index: 8;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(2, 10, 26, 0.92);
  backdrop-filter: blur(14px);
}

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

.modality-card {
  min-height: 150px;
  display: grid;
  align-content: space-between;
  gap: 14px;
  border: 1px solid rgba(147, 169, 194, 0.22);
  border-radius: 14px;
  padding: 16px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.46);
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}

.modality-card:hover {
  transform: translateY(-2px);
}

.modality-card.active {
  border-color: var(--cyan);
  background: linear-gradient(180deg, rgba(32, 214, 210, 0.18), rgba(31, 125, 255, 0.12));
  box-shadow: inset 0 0 0 1px rgba(32, 214, 210, 0.18);
}

.modality-card strong {
  color: var(--cyan);
  font-size: 26px;
}

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

.contract-preview,
.insight-box {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  color: var(--muted);
  background: rgba(32, 214, 210, 0.06);
}

.contract-preview {
  display: grid;
  gap: 5px;
}

.operation-command {
  display: grid;
  gap: 14px;
}

.operation-header,
.operation-header-actions,
.operation-summary,
.operation-tabs,
.operation-filters,
.operation-ticket-list,
.operation-ticket-meta,
.operation-mini-list,
.operation-alerts,
.operation-detail-tabs {
  min-width: 0;
}

.operation-header {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 16px;
  align-items: center;
}

.operation-header p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.operation-header-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.operation-status,
.operation-update,
.operation-live-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.36);
  font-size: 12px;
  font-weight: 900;
}

.operation-status {
  color: var(--green);
  border-color: rgba(69, 223, 155, 0.28);
  background: rgba(69, 223, 155, 0.08);
}

.operation-global-search,
.operation-filters .wide-filter {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(147, 169, 194, 0.24);
  border-radius: 10px;
  padding: 0 10px;
  color: var(--cyan);
  background: rgba(2, 8, 20, 0.72);
}

.operation-global-search {
  width: min(430px, 100%);
}

.operation-global-search input,
.operation-filters .wide-filter input {
  min-height: 38px;
  border: 0;
  padding: 0;
  background: transparent;
}

.operation-summary {
  display: grid;
  grid-template-columns: repeat(8, minmax(120px, 1fr));
  gap: 10px;
}

.operation-kpi {
  min-height: 104px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  color: var(--text);
  text-align: left;
  background: linear-gradient(180deg, rgba(9, 29, 64, 0.82), rgba(3, 13, 31, 0.88));
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.operation-kpi:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 214, 210, 0.34);
  background: rgba(18, 62, 109, 0.42);
}

.operation-kpi span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.operation-kpi strong {
  font-size: 28px;
  line-height: 1;
}

.operation-kpi small,
.operation-kpi b {
  color: var(--muted);
  font-size: 12px;
}

.operation-kpi.red strong,
.operation-kpi.red svg {
  color: var(--red);
}

.operation-kpi.yellow strong,
.operation-kpi.yellow svg {
  color: var(--yellow);
}

.operation-kpi.green strong,
.operation-kpi.green svg {
  color: var(--green);
}

.operation-kpi.cyan strong,
.operation-kpi.cyan svg {
  color: var(--cyan);
}

.operation-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
  gap: 14px;
  align-items: start;
}

.operation-queue {
  overflow: hidden;
}

.operation-panel-head em {
  color: var(--cyan);
  font-style: normal;
  font-weight: 900;
}

.operation-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  margin-bottom: 10px;
}

.operation-tabs button,
.operation-detail-tabs button {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 11px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.42);
  font-weight: 900;
}

.operation-tabs button.active,
.operation-detail-tabs button.active {
  color: #04111e;
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.operation-filters {
  display: grid;
  grid-template-columns: minmax(230px, 1.6fr) repeat(5, minmax(118px, 1fr));
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.operation-filters select,
.operation-filters input {
  min-height: 38px;
  padding-block: 8px;
}

.operation-check {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.44);
  font-size: 12px;
  font-weight: 900;
}

.operation-check input {
  width: auto;
}

.operation-live-note {
  width: 100%;
  justify-content: flex-start;
  border-radius: 10px;
  margin-bottom: 10px;
}

.operation-ticket-list {
  display: grid;
  gap: 10px;
}

.operation-ticket {
  display: grid;
  grid-template-columns: minmax(132px, 0.75fr) minmax(260px, 2fr) minmax(180px, 1fr) minmax(124px, 0.72fr) minmax(220px, 1.25fr);
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.42);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.operation-ticket:hover {
  transform: translateY(-1px);
  border-color: rgba(32, 214, 210, 0.28);
  background: rgba(18, 62, 109, 0.26);
}

.operation-ticket.red {
  border-left-color: var(--red);
}

.operation-ticket.yellow {
  border-left-color: var(--yellow);
}

.operation-ticket.green {
  border-left-color: var(--green);
}

.operation-ticket-signal,
.operation-ticket-main,
.operation-ticket-meta,
.operation-owner,
.operation-next {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.operation-ticket-signal strong,
.operation-next strong,
.operation-owner strong,
.operation-identity strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.operation-ticket-signal span,
.operation-ticket-main p,
.operation-ticket-main small,
.operation-ticket-meta span,
.operation-owner span,
.operation-next span,
.operation-history-recent span {
  color: var(--muted);
  font-size: 12px;
}

.operation-ticket-main p {
  margin: 0;
  color: var(--text);
  font-weight: 800;
}

.operation-ticket-main small,
.operation-ticket-meta span,
.operation-next div,
.operation-identity {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.operation-identity em,
.operation-owner em {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-style: normal;
  font-weight: 900;
}

.operation-owner em {
  width: 34px;
  height: 34px;
}

.operation-next .primary-action {
  min-height: 36px;
  padding: 8px 10px;
}

.operation-next .icon-button {
  width: 36px;
  height: 36px;
}

.operation-side {
  position: sticky;
  top: 86px;
}

.operation-side-panel {
  display: grid;
  gap: 12px;
}

.operation-health,
.operation-side-grid div,
.operation-operators div,
.operation-mini-list span,
.operation-alerts span,
.operation-overview-grid div,
.operation-history-recent,
.operation-recommendation {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.36);
  padding: 12px;
}

.operation-health {
  display: grid;
  gap: 7px;
}

.operation-health strong {
  color: var(--green);
  font-size: 30px;
}

.operation-health span,
.operation-side-grid span,
.operation-operators span,
.operation-operators em,
.operation-recommendation span,
.operation-overview-grid span {
  color: var(--muted);
  font-size: 12px;
}

.operation-health i {
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green) var(--value), rgba(147, 169, 194, 0.16) 0);
}

.operation-side-grid,
.operation-overview-grid,
.operation-finance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.operation-operators,
.operation-mini-list,
.operation-alerts,
.operation-checklist,
.operation-communication,
.operation-timeline,
.operation-history-recent {
  display: grid;
  gap: 8px;
}

.operation-operators div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
}

.operation-operators em {
  grid-column: 1 / -1;
  font-style: normal;
}

.operation-mini-list span,
.operation-alerts span {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.operation-alerts .red {
  color: var(--red);
}

.operation-alerts .yellow {
  color: var(--yellow);
}

.operation-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 40;
  width: min(760px, 100vw);
  height: 100vh;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 12px;
  border-left: 1px solid rgba(32, 214, 210, 0.28);
  padding: 18px;
  background: rgba(5, 16, 38, 0.98);
  box-shadow: var(--shadow);
  overflow-y: auto;
}

.operation-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.operation-drawer-head span,
.operation-drawer-head p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.operation-drawer-sla {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.44);
}

.operation-drawer-sla.red strong {
  color: var(--red);
}

.operation-drawer-sla.yellow strong {
  color: var(--yellow);
}

.operation-drawer-sla.green strong {
  color: var(--green);
}

.operation-drawer-sla span,
.operation-drawer-sla em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}

.operation-detail-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.operation-detail-body {
  min-height: 0;
}

.operation-recommendation {
  display: grid;
  gap: 9px;
  margin-top: 10px;
  border-color: rgba(32, 214, 210, 0.24);
  background: rgba(32, 214, 210, 0.06);
}

.operation-communication > div,
.operation-timeline div,
.operation-finance div,
.operation-checklist label {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(2, 8, 20, 0.36);
}

.operation-communication .sent {
  margin-left: 10%;
  border-color: rgba(69, 223, 155, 0.22);
}

.operation-communication .received {
  margin-right: 10%;
}

.operation-communication span,
.operation-timeline span,
.operation-finance span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.operation-compose {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 8px;
  align-items: center;
}

.operation-checklist label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-weight: 800;
}

.operation-checklist input {
  width: auto;
}

.operation-empty {
  min-height: 160px;
  display: grid;
  place-items: center;
  gap: 8px;
  border: 1px dashed rgba(69, 223, 155, 0.34);
  border-radius: 12px;
  color: var(--green);
  background: rgba(69, 223, 155, 0.06);
  text-align: center;
}

.operation-empty span {
  color: var(--muted);
}

.kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  gap: 14px;
  overflow-x: auto;
}

.kanban-column {
  min-height: 420px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: rgba(2, 8, 20, 0.36);
}

.kanban-column h3 {
  margin-bottom: 12px;
}

.chart-bar {
  display: grid;
  gap: 7px;
}

.chart-bar div {
  height: 10px;
  border-radius: 999px;
  background: rgba(147, 169, 194, 0.18);
  overflow: hidden;
}

.chart-bar i,
.credit-meter span {
  display: block;
  width: var(--value, 50%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--blue));
}

.credit-meter {
  height: 16px;
  border-radius: 999px;
  background: rgba(147, 169, 194, 0.18);
  overflow: hidden;
  margin-bottom: 16px;
}

.plans-credits-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.intelligence-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

body.intelligence-view-active .topbar {
  display: none;
}

.intelligence-header,
.intelligence-filters,
.value-delivered,
.intelligence-system,
.intelligence-tabs,
.executive-grid,
.intelligence-layout,
.reports-center {
  min-width: 0;
}

.intelligence-header {
  position: sticky;
  top: 0;
  z-index: 9;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto minmax(360px, auto);
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(32, 214, 210, 0.18);
  border-radius: 14px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(5, 17, 42, 0.98), rgba(7, 31, 66, 0.94));
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(18px);
}

.intelligence-title {
  min-width: 0;
}

.intelligence-title h2 {
  margin-top: 4px;
  font-size: clamp(24px, 2.4vw, 28px);
}

.intelligence-title p,
.intelligence-status small,
.intelligence-filter-head span,
.chart-caption span,
.axis-labels,
.report-card small,
.table-footer,
.strategic-alert p,
.strategic-alert small,
.strategic-alert em {
  color: var(--muted);
}

.intelligence-status {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.intelligence-actions,
.intelligence-filter-body,
.smart-table-actions,
.table-footer,
.value-proof,
.chart-legend,
.fiscal-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.intelligence-actions label,
.intelligence-filters label,
.chart-scale {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.intelligence-actions select,
.intelligence-filters select,
.chart-scale select,
.smart-table-actions input {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: rgba(2, 10, 24, 0.72);
  padding: 8px 10px;
}

.intelligence-filters,
.intelligence-system {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: rgba(8, 25, 54, 0.58);
}

.intelligence-filter-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.intelligence-filter-head strong {
  display: block;
  color: var(--text);
}

.mobile-filter-button {
  display: none;
}

.intelligence-periods {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.intelligence-periods button,
.intelligence-tabs button,
.intelligence-state-switch button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(3, 13, 30, 0.56);
  padding: 8px 12px;
  font-weight: 800;
}

.intelligence-periods button.active,
.intelligence-tabs button.active,
.intelligence-state-switch button.active {
  color: #031320;
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  box-shadow: 0 0 22px rgba(32, 214, 210, 0.18);
}

.active-filter-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 900;
}

.intelligence-system.compact {
  padding: 10px;
}

.intelligence-state-switch {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

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

.intelligence-skeleton i {
  height: 96px;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(32, 214, 210, 0.06), rgba(32, 214, 210, 0.18), rgba(32, 214, 210, 0.06));
  background-size: 240% 100%;
  animation: intelligence-pulse 1.2s linear infinite;
}

@keyframes intelligence-pulse {
  to { background-position: -240% 0; }
}

.intelligence-empty-state {
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 240px;
  text-align: center;
}

.intelligence-empty-state > svg {
  width: 42px;
  height: 42px;
  color: var(--aqua);
}

.intelligence-empty-state strong {
  font-size: 22px;
}

.value-delivered {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.7fr);
  gap: 18px;
}

.value-hero,
.value-breakdown,
.exec-card,
.finance-kpi,
.report-card {
  border: 1px solid rgba(32, 214, 210, 0.18);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(8, 33, 70, 0.88), rgba(3, 13, 31, 0.9));
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.value-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
  gap: 18px;
  padding: 20px;
}

.value-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(32, 214, 210, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 90% 15%, rgba(31, 125, 255, 0.16), transparent 24rem);
  background-size: 32px 32px, 32px 32px, auto;
  pointer-events: none;
}

.value-copy,
.value-chart {
  position: relative;
  min-width: 0;
}

.value-copy > strong {
  display: block;
  color: var(--text);
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.value-copy p {
  margin-top: 10px;
  color: var(--aqua);
  font-size: 17px;
  font-weight: 900;
}

.value-copy small {
  display: block;
  margin-top: 12px;
  max-width: 760px;
  color: #b8c8d8;
  font-size: 13px;
  line-height: 1.45;
}

.value-proof span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(69, 223, 155, 0.22);
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--green);
  background: rgba(69, 223, 155, 0.08);
  font-size: 13px;
  font-weight: 900;
}

.value-breakdown {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.value-mini,
.exec-card,
.finance-kpi,
.report-card,
.technical-ranking button,
.ranking-list button,
.comparison-bars button,
.workshop-compare button {
  text-align: left;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.value-mini {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 10, 24, 0.38);
  padding: 12px;
}

.value-mini svg {
  grid-row: span 2;
  color: var(--aqua);
}

.value-mini span,
.exec-label,
.finance-kpi span,
.report-card small {
  color: #b9cce0;
  font-size: 13px;
  font-weight: 800;
}

.value-mini strong {
  font-size: 22px;
}

.executive-grid,
.intelligence-money-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.exec-card,
.finance-kpi {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 8px;
  min-height: 174px;
  color: var(--text);
  padding: 16px;
}

.exec-card:hover,
.finance-kpi:hover,
.value-mini:hover,
.report-card:hover,
.technical-ranking button:hover,
.ranking-list button:hover,
.comparison-bars button:hover,
.workshop-compare button:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 214, 210, 0.38);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.28), 0 0 20px rgba(32, 214, 210, 0.08);
}

.exec-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(32, 214, 210, 0.18);
  border-radius: 12px;
  color: var(--aqua);
  background: rgba(32, 214, 210, 0.1);
}

.exec-card strong,
.finance-kpi strong {
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.05;
}

.exec-card em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.exec-card.green em,
.finance-kpi.green small {
  color: var(--green);
}

.exec-card.yellow em,
.finance-kpi.yellow small {
  color: var(--yellow);
}

.exec-card.red em,
.finance-kpi.red small {
  color: var(--red);
}

.sparkline {
  width: 100%;
  height: 42px;
  overflow: visible;
}

.sparkline polyline {
  fill: none;
  stroke: var(--cyan);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 8px rgba(32, 214, 210, 0.2));
}

.sparkline.green polyline { stroke: var(--green); }
.sparkline.yellow polyline { stroke: var(--yellow); }
.sparkline.red polyline { stroke: var(--red); }
.sparkline.blue polyline { stroke: var(--blue); }

.intelligence-tabs {
  position: sticky;
  top: 106px;
  z-index: 8;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 8px;
  background: rgba(5, 15, 36, 0.94);
  scrollbar-width: thin;
}

.intelligence-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  border-radius: 10px;
}

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

.intelligence-layout.narrow {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
}

.chart-panel {
  min-height: 360px;
}

.line-chart {
  display: grid;
  gap: 12px;
  height: 100%;
}

.line-chart .sparkline {
  min-height: 210px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(rgba(32, 214, 210, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
}

.chart-caption,
.axis-labels {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.chart-caption strong {
  color: var(--green);
  font-size: 24px;
}

.series-chart,
.finance-bars,
.technical-ranking,
.ranking-list,
.comparison-bars,
.rating-distribution,
.workshop-compare,
.alert-stack,
.review-list {
  display: grid;
  gap: 10px;
}

.series-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(2, 10, 24, 0.34);
}

.series-row strong,
.series-row span,
.finance-bar-row span,
.finance-bar-row strong {
  display: block;
}

.series-row span,
.finance-bar-row span {
  color: var(--muted);
  font-size: 12px;
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.chart-legend i,
.donut-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--cyan);
}

.chart-legend .green i { background: var(--green); }
.chart-legend .yellow i { background: var(--yellow); }
.chart-legend .red i { background: var(--red); }
.chart-legend .blue i { background: var(--blue); }

.finance-bar-row {
  display: grid;
  grid-template-columns: 150px 120px minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  min-height: 70px;
}

.finance-bar-row > div {
  height: 72px;
  display: flex;
  align-items: end;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 6px;
  background: rgba(2, 10, 24, 0.34);
}

.finance-bar-row i {
  flex: 1;
  min-width: 8px;
  border-radius: 999px 999px 3px 3px;
  background: var(--cyan);
}

.finance-bar-row i.green,
.comparison-bars i.green { background: var(--green); }
.finance-bar-row i.yellow,
.comparison-bars i.yellow { background: var(--yellow); }
.finance-bar-row i.red,
.comparison-bars i.red { background: var(--red); }
.finance-bar-row i.blue,
.comparison-bars i.blue { background: var(--blue); }

.donut-wrap {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.donut {
  width: 180px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  box-shadow: inset 0 0 0 22px rgba(3, 13, 30, 0.88), 0 0 32px rgba(32, 214, 210, 0.12);
}

.donut strong {
  font-size: 28px;
}

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

.donut-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-weight: 800;
}

.comparison-bars button,
.ranking-list button,
.technical-ranking button,
.workshop-compare button {
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 10, 24, 0.34);
  padding: 11px;
}

.comparison-bars button,
.ranking-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 0.7fr) auto;
  gap: 10px;
  align-items: center;
}

.comparison-bars div,
.ranking-list div,
.technical-ranking div,
.rating-distribution div div,
.workshop-compare div {
  height: 9px;
  border-radius: 999px;
  background: rgba(147, 169, 194, 0.18);
  overflow: hidden;
}

.comparison-bars i,
.ranking-list i,
.technical-ranking i,
.rating-distribution i,
.workshop-compare em {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--blue));
}

.technical-ranking button {
  display: grid;
  gap: 7px;
}

.technical-ranking span,
.technical-ranking small,
.workshop-compare span,
.workshop-compare small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.defect-matrix {
  position: relative;
  min-height: 320px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    linear-gradient(rgba(32, 214, 210, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.04) 1px, transparent 1px),
    rgba(2, 10, 24, 0.28);
  background-size: 36px 36px;
  overflow: hidden;
}

.defect-matrix button {
  position: absolute;
  left: var(--x);
  bottom: var(--y);
  transform: translate(-50%, 50%);
  border: 1px solid rgba(32, 214, 210, 0.32);
  border-radius: 12px;
  color: var(--text);
  background: rgba(5, 20, 43, 0.92);
  padding: 8px 10px;
  box-shadow: 0 0 22px rgba(32, 214, 210, 0.12);
}

.defect-matrix button span,
.matrix-axis {
  display: block;
  color: var(--muted);
  font-size: 11px;
}

.matrix-axis {
  position: absolute;
  font-weight: 900;
  text-transform: uppercase;
}

.matrix-axis.x {
  right: 12px;
  bottom: 10px;
}

.matrix-axis.y {
  left: 12px;
  top: 10px;
}

.strategic-alert {
  display: grid;
  gap: 9px;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 12px;
  padding: 13px;
  background: rgba(2, 10, 24, 0.36);
}

.strategic-alert.red { border-left-color: var(--red); }
.strategic-alert.yellow { border-left-color: var(--yellow); }
.strategic-alert.green { border-left-color: var(--green); }
.strategic-alert.cyan { border-left-color: var(--cyan); }

.alert-priority {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--aqua);
  font-size: 12px;
  font-weight: 900;
}

.strategic-alert strong {
  font-size: 17px;
}

.strategic-alert > div {
  display: grid;
  gap: 4px;
}

.strategic-alert footer,
.report-card footer {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.review-list article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 10, 24, 0.34);
}

.review-list p {
  margin: 6px 0;
  color: var(--text);
}

.rating-distribution > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 32px;
  gap: 10px;
  align-items: center;
}

.rating-distribution span {
  color: var(--muted);
  font-size: 12px;
}

.rating-distribution i {
  background: linear-gradient(90deg, var(--yellow), var(--green));
}

.marketing-flow > div:last-of-type {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.marketing-flow > div:last-of-type span {
  display: grid;
  gap: 8px;
  place-items: center;
  min-height: 96px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(2, 10, 24, 0.34);
  text-align: center;
  font-size: 13px;
}

.marketing-flow > div:last-of-type span.done {
  color: var(--green);
  border-color: rgba(69, 223, 155, 0.22);
  background: rgba(69, 223, 155, 0.08);
}

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

.report-card {
  display: grid;
  gap: 10px;
  min-height: 170px;
  padding: 16px;
}

.report-card > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--aqua);
  background: rgba(32, 214, 210, 0.1);
}

.report-card strong {
  font-size: 18px;
}

.smart-table-panel {
  overflow: hidden;
}

.smart-table-actions input {
  width: min(280px, 100%);
}

.intelligence-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.table-footer {
  justify-content: space-between;
  margin-top: 12px;
}

.table-footer .ghost-action[disabled] {
  opacity: 0.5;
  pointer-events: none;
}

.intelligence-drawer {
  width: min(760px, 92vw);
}

.intelligence-drawer .smart-table-panel {
  margin-top: 16px;
  padding: 0;
  border: 0;
  background: transparent;
}

.intelligence-toast {
  bottom: 24px;
}

.sidebar-item:focus-visible,
.intelligence-workspace button:focus-visible,
.intelligence-workspace select:focus-visible,
.intelligence-workspace input:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

.plans-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(18px, 3vw, 28px);
  background:
    linear-gradient(rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, rgba(8, 28, 62, 0.92), rgba(4, 15, 36, 0.96));
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow: var(--shadow);
}

.plans-title {
  max-width: 780px;
}

.plans-title h2 {
  margin: 8px 0 8px;
}

.plans-title p,
.plans-reading span,
.plans-alert span,
.quick-action-grid span,
.recommendation-card p,
.plan-card p,
.plan-benefits span,
.activation-value-card small,
.plans-empty span {
  color: var(--muted);
}

.plans-actions,
.plans-side-stack,
.plans-history,
.recommendation-card,
.plans-consumption,
.plans-available {
  min-width: 0;
}

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

.plans-menu summary {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(8, 28, 62, 0.72);
}

.plans-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 12px;
}

.plans-kpi {
  min-height: 174px;
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--text);
  background: linear-gradient(145deg, rgba(11, 43, 83, 0.84), rgba(4, 16, 39, 0.84));
  padding: 15px;
  text-align: left;
  transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}

.plans-kpi:hover,
.quick-action-grid button:hover,
.plan-card:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 214, 210, 0.34);
}

.plans-kpi.featured {
  border-color: rgba(32, 214, 210, 0.38);
  background: linear-gradient(145deg, rgba(20, 91, 111, 0.42), rgba(4, 16, 39, 0.9));
}

.plans-kpi span,
.plans-kpi small,
.plan-money-grid span,
.purchase-summary span {
  color: var(--muted);
}

.plans-kpi strong {
  font-size: clamp(21px, 2vw, 28px);
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.plans-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.plans-badge.green {
  color: var(--green);
  background: rgba(69, 223, 155, 0.1);
}

.plans-badge.cyan {
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.1);
}

.plans-badge.yellow {
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.12);
}

.plans-badge.red {
  color: var(--red);
  background: rgba(255, 95, 134, 0.12);
}

.plans-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: rgba(2, 8, 20, 0.42);
}

.plans-alert.ok {
  border-color: rgba(69, 223, 155, 0.22);
}

.plans-alert.warning {
  border-color: rgba(255, 209, 102, 0.28);
}

.plans-alert.danger {
  border-color: rgba(255, 95, 134, 0.3);
}

.plans-alert > svg {
  color: var(--cyan);
}

.plans-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(340px, 0.6fr);
  gap: 18px;
  align-items: start;
}

.plans-side-stack {
  display: contents;
}

.recommendation-card {
  grid-column: 1 / -1;
}

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

.plans-consumption-grid div,
.purchase-summary div,
.recommendation-data {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.34);
}

.plans-consumption-grid span,
.recommendation-data span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.plans-consumption-grid strong {
  display: block;
  margin-top: 4px;
  font-size: 22px;
}

.plans-progress {
  display: flex;
  height: 18px;
  border-radius: 999px;
  margin: 18px 0 12px;
  overflow: hidden;
  background: rgba(147, 169, 194, 0.16);
}

.plans-progress span {
  display: block;
  height: 100%;
}

.plans-progress .used {
  width: var(--value);
  background: linear-gradient(90deg, var(--cyan), var(--blue));
}

.plans-progress .available {
  width: var(--value);
  background: linear-gradient(90deg, var(--green), var(--aqua));
}

.plans-legend,
.fiscal-card-actions,
.plan-card footer,
.plans-empty {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.plans-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.plans-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.plans-legend .used { background: var(--blue); }
.plans-legend .available { background: var(--green); }
.plans-legend .acquired { background: var(--cyan); }

.plans-reading {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  border: 1px solid rgba(32, 214, 210, 0.14);
  border-radius: 12px;
  padding: 12px;
  background: rgba(32, 214, 210, 0.06);
}

.quick-action-grid,
.activation-value-grid {
  display: grid;
  gap: 10px;
}

.quick-action-grid button {
  min-height: 90px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px 12px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.34);
  padding: 12px;
  text-align: left;
}

.quick-action-grid .metric-icon {
  grid-row: span 2;
}

.recommendation-card {
  display: grid;
  gap: 12px;
  align-content: start;
}

.recommendation-data {
  display: grid;
  gap: 6px;
}

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

.activation-value-card {
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 15px;
  background: rgba(2, 8, 20, 0.34);
}

.activation-value-card span,
.activation-value-card strong {
  display: block;
}

.activation-value-card strong {
  margin-top: 4px;
  color: var(--cyan);
  font-size: 24px;
}

.modality-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  grid-column: 1 / -1;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.modality-details div {
  display: grid;
  gap: 7px;
}

.modality-details span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

.modality-details svg {
  color: var(--cyan);
}

.plans-card-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding-bottom: 4px;
}

.plan-card {
  min-height: 520px;
  display: grid;
  gap: 13px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 15px;
  background: rgba(2, 8, 20, 0.36);
  transition: transform 200ms ease, border-color 200ms ease;
}

.plan-card.current {
  border-color: rgba(32, 214, 210, 0.52);
  box-shadow: 0 0 0 1px rgba(32, 214, 210, 0.16), 0 0 28px rgba(32, 214, 210, 0.08);
}

.plan-card.recommended:not(.current) {
  border-color: rgba(69, 223, 155, 0.46);
}

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

.plan-card header span {
  color: var(--cyan);
  font-size: 12px;
  font-weight: 900;
}

.plan-money-grid {
  display: grid;
  gap: 8px;
}

.plan-money-grid div {
  display: grid;
  gap: 2px;
  border: 1px solid rgba(147, 169, 194, 0.14);
  border-radius: 10px;
  padding: 9px;
  background: rgba(8, 28, 62, 0.42);
}

.plan-money-grid strong {
  overflow-wrap: anywhere;
}

.plan-benefits {
  display: grid;
  gap: 7px;
}

.plan-benefits span {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 13px;
}

.plan-benefits svg {
  flex: 0 0 auto;
  color: var(--green);
}

.plan-benefits.full {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.28);
}

.plans-table {
  min-width: 980px;
}

.plans-filters {
  margin: 14px 0;
}

.plans-empty {
  justify-content: center;
  min-height: 190px;
  flex-direction: column;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: rgba(2, 8, 20, 0.28);
}

.purchase-choice-grid,
.purchase-methods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.elite-purchase-modal {
  width: min(920px, calc(100vw - 28px));
}

.elite-checkout-trust,
.elite-confirm-hero {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(32, 214, 210, 0.28);
  border-radius: 14px;
  color: var(--text);
  background: rgba(32, 214, 210, 0.07);
}

.elite-checkout-trust svg,
.elite-confirm-hero > svg {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  color: var(--cyan);
}

.elite-package-grid,
.elite-payment-methods {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.elite-package-grid label {
  position: relative;
  min-height: 176px;
  align-content: start;
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
}

.elite-package-grid label:hover,
.elite-payment-methods label:hover {
  border-color: rgba(32, 214, 210, 0.42);
  transform: translateY(-2px);
}

.elite-package-grid label > strong {
  font-size: 1.1rem;
}

.elite-package-grid label > span b {
  color: var(--text);
}

.elite-package-label {
  width: max-content;
  padding: 4px 8px;
  border-radius: 999px;
  color: var(--cyan) !important;
  background: rgba(32, 214, 210, 0.11);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.elite-confirm-hero {
  align-items: flex-start;
}

.elite-confirm-hero div {
  display: grid;
  gap: 3px;
}

.elite-confirm-hero span {
  color: var(--muted);
}

.purchase-choice-grid label,
.purchase-methods label {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.34);
}

.purchase-choice-grid label.active,
.purchase-methods label.active {
  border-color: rgba(32, 214, 210, 0.48);
  background: rgba(32, 214, 210, 0.08);
}

.purchase-choice-grid input[type="radio"],
.purchase-methods input[type="radio"] {
  width: auto;
}

.purchase-methods label {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.purchase-methods span {
  grid-column: 2;
  color: var(--muted);
}

.plans-drawer .fiscal-card-actions,
.purchase-modal footer {
  justify-content: flex-end;
}

.plans-credits-workspace button:focus-visible,
.plans-credits-workspace input:focus-visible,
.plans-credits-workspace select:focus-visible,
.plans-credits-workspace summary:focus-visible {
  outline: 3px solid rgba(32, 214, 210, 0.42);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .plans-credits-workspace *,
  .plans-credits-workspace *::before,
  .plans-credits-workspace *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

@media (max-width: 1180px) {
  .plans-hero,
  .plans-alert {
    grid-template-columns: 1fr;
  }

  .plans-hero {
    flex-direction: column;
  }

  .plans-actions {
    justify-content: flex-start;
  }

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

  .plans-main-grid,
  .activation-value-grid {
    grid-template-columns: 1fr;
  }

  .plans-card-grid {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    overflow-x: visible;
  }
}

@media (max-width: 760px) {
  .plans-hero,
  .plans-alert,
  .plans-kpis,
  .plans-consumption-grid,
  .purchase-summary,
  .activation-value-grid,
  .modality-details,
  .plans-card-grid,
  .purchase-choice-grid,
  .purchase-methods {
    grid-template-columns: 1fr;
  }

  .plans-actions,
  .plans-actions .primary-action,
  .plans-actions .ghost-action,
  .plans-alert .primary-action,
  .plans-alert .ghost-action,
  .plan-card footer button,
  .purchase-modal footer button {
    width: 100%;
  }

  .plans-actions,
  .plans-legend,
  .plan-card footer,
  .purchase-modal footer,
  .plans-drawer .fiscal-card-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .plans-kpi,
  .quick-action-grid button {
    min-height: 44px;
  }

  .plan-card {
    min-height: 0;
  }

  .plans-history .fiscal-table-wrap {
    display: none;
  }

  .plans-history .finance-card-list {
    display: grid;
    gap: 10px;
  }

  .plans-available .fiscal-segmented {
    width: 100%;
  }

  .plans-available .fiscal-segmented button {
    flex: 1;
  }
}

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

.traffic {
  display: inline-flex;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
}

.traffic.verde {
  background: var(--green);
}

.traffic.amarelo {
  background: var(--yellow);
}

.traffic.vermelho {
  background: var(--red);
}

.fiscal-workspace {
  display: grid;
  gap: 18px;
}

.fiscal-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(20px, 3vw, 30px);
  background: linear-gradient(135deg, rgba(8, 28, 62, 0.94), rgba(4, 15, 36, 0.94));
  box-shadow: var(--shadow);
}

.fiscal-title {
  display: grid;
  gap: 8px;
}

.fiscal-title h2 {
  margin: 0;
}

.fiscal-title p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
}

.fiscal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: #7895b3;
  font-size: 13px;
  font-weight: 800;
}

.fiscal-breadcrumb strong {
  color: var(--cyan);
}

.fiscal-breadcrumb svg {
  width: 14px;
  height: 14px;
}

.fiscal-actions,
.fiscal-card-actions,
.fiscal-export-actions,
.fiscal-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.fiscal-alert-button {
  position: relative;
}

.fiscal-alert-button strong {
  position: absolute;
  top: -7px;
  right: -6px;
  min-width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #04111e;
  background: var(--yellow);
  font-size: 11px;
}

.fiscal-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(2, 8, 20, 0.42);
  scrollbar-width: thin;
}

.fiscal-tabs button,
.fiscal-segmented button,
.fiscal-metric-switch button,
.fiscal-status-board button,
.fiscal-pagination button {
  border: 1px solid rgba(147, 169, 194, 0.2);
  color: var(--muted);
  background: rgba(8, 28, 62, 0.52);
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.fiscal-tabs button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 10px;
  padding: 0 12px;
  white-space: nowrap;
  font-weight: 850;
}

.fiscal-tabs button:hover,
.fiscal-segmented button:hover,
.fiscal-metric-switch button:hover,
.fiscal-status-board button:hover,
.fiscal-pagination button:hover {
  color: var(--text);
  border-color: rgba(32, 214, 210, 0.35);
  background: rgba(18, 62, 109, 0.48);
  transform: translateY(-1px);
}

.fiscal-tabs button.active,
.fiscal-segmented button.active,
.fiscal-metric-switch button.active,
.fiscal-pagination button.active {
  color: #061421;
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.fiscal-email-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, auto) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(69, 223, 155, 0.24);
  border-radius: 12px;
  padding: 12px;
  background: rgba(69, 223, 155, 0.08);
}

.fiscal-email-alert.warning {
  border-color: rgba(255, 209, 102, 0.32);
  background: rgba(255, 209, 102, 0.09);
}

.fiscal-email-alert.compact {
  grid-template-columns: 1fr auto;
  margin: 12px 0;
}

.fiscal-email-alert div {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.fiscal-email-alert strong {
  color: var(--text);
}

.fiscal-email-alert span {
  color: var(--muted);
}

.fiscal-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(180px, 1fr));
  gap: 12px;
}

.fiscal-kpi {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 190px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(10, 40, 82, 0.9), rgba(4, 15, 36, 0.9));
}

.fiscal-kpi:hover,
.fiscal-alert:hover,
.fiscal-folder-grid button:hover,
.fiscal-choice-grid button:hover,
.fiscal-checklist button:hover,
.fiscal-report-card:hover {
  transform: translateY(-2px);
  border-color: rgba(32, 214, 210, 0.3);
}

.fiscal-kpi strong {
  display: block;
  font-size: 26px;
  line-height: 1.1;
}

.fiscal-kpi span,
.fiscal-kpi small {
  display: block;
}

.fiscal-kpi span {
  font-weight: 850;
}

.fiscal-kpi small,
.fiscal-kpi em {
  color: var(--muted);
  font-style: normal;
}

.fiscal-kpi em {
  justify-self: start;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
  background: rgba(147, 169, 194, 0.12);
}

.fiscal-kpi button {
  justify-self: start;
  border: 0;
  color: var(--cyan);
  background: transparent;
  padding: 0;
  font-weight: 900;
}

.fiscal-kpi.green .metric-icon,
.fiscal-kpi.green em {
  color: var(--green);
  background: rgba(69, 223, 155, 0.1);
}

.fiscal-kpi.yellow .metric-icon,
.fiscal-kpi.yellow em {
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.1);
}

.fiscal-kpi.red .metric-icon,
.fiscal-kpi.red em {
  color: var(--red);
  background: rgba(255, 95, 134, 0.1);
}

.fiscal-main-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr);
}

.fiscal-chart-panel,
.fiscal-donut-panel {
  min-height: 360px;
}

.fiscal-segmented,
.fiscal-metric-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.fiscal-segmented.compact {
  justify-content: flex-end;
}

.fiscal-segmented button,
.fiscal-metric-switch button {
  min-height: 34px;
  border-radius: 999px;
  padding: 0 11px;
  font-size: 12px;
  font-weight: 900;
}

.fiscal-bars {
  height: 230px;
  display: grid;
  grid-template-columns: repeat(8, minmax(38px, 1fr));
  gap: 10px;
  align-items: end;
  margin-top: 22px;
}

.fiscal-bar {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 7px;
  align-items: end;
  border: 0;
  color: var(--muted);
  background: transparent;
  padding: 0;
}

.fiscal-bar i {
  display: block;
  width: 100%;
  height: var(--value);
  min-height: 18px;
  border-radius: 9px 9px 3px 3px;
  background: linear-gradient(180deg, var(--cyan), var(--blue));
  box-shadow: 0 12px 28px rgba(31, 125, 255, 0.18);
}

.fiscal-bar strong {
  color: var(--text);
  font-size: 12px;
}

.fiscal-donut-wrap {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.fiscal-donut {
  width: 190px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #07142c 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 34%, var(--cyan) 34% 58%, var(--yellow) 58% 82%, var(--red) 82% 100%);
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.38);
}

.fiscal-donut strong {
  font-size: 30px;
}

.fiscal-donut span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.fiscal-donut-legend {
  display: grid;
  gap: 8px;
}

.fiscal-donut-legend button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.38);
  padding: 9px;
  text-align: left;
}

.fiscal-donut-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.fiscal-donut-legend .green { background: var(--green); }
.fiscal-donut-legend .cyan { background: var(--cyan); }
.fiscal-donut-legend .yellow { background: var(--yellow); }
.fiscal-donut-legend .red { background: var(--red); }

.fiscal-alert-list {
  display: grid;
  gap: 10px;
}

.fiscal-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.38);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.fiscal-alert.critical {
  border-color: rgba(255, 95, 134, 0.38);
  background: linear-gradient(90deg, rgba(255, 95, 134, 0.13), rgba(2, 8, 20, 0.38));
}

.fiscal-alert strong,
.fiscal-table strong {
  display: block;
}

.fiscal-alert span,
.fiscal-table span {
  color: var(--muted);
  font-size: 12px;
}

.fiscal-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.fiscal-badge.green {
  color: var(--green);
  background: rgba(69, 223, 155, 0.1);
}

.fiscal-badge.cyan {
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.1);
}

.fiscal-badge.yellow {
  color: var(--yellow);
  background: rgba(255, 209, 102, 0.12);
}

.fiscal-badge.red {
  color: var(--red);
  background: rgba(255, 95, 134, 0.12);
}

.fiscal-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.fiscal-filter-grid.docs {
  grid-template-columns: repeat(6, minmax(140px, 1fr));
}

.fiscal-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.fiscal-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  background: rgba(2, 8, 20, 0.32);
}

.fiscal-table th,
.fiscal-table td {
  padding: 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.fiscal-table th {
  color: #86a3c2;
  background: rgba(8, 28, 62, 0.72);
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 900;
}

.fiscal-table th button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  color: inherit;
  background: transparent;
  padding: 0;
  font-weight: inherit;
  text-transform: inherit;
}

.fiscal-table tbody tr {
  transition: background 160ms ease;
}

.fiscal-table tbody tr:hover {
  background: rgba(32, 214, 210, 0.055);
}

.fiscal-link {
  border: 0;
  color: var(--cyan);
  background: transparent;
  padding: 0;
  font-weight: 900;
}

.fiscal-doc-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.fiscal-doc-badges em {
  border-radius: 7px;
  padding: 3px 6px;
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.1);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.fiscal-action-menu {
  position: relative;
}

.fiscal-action-menu summary {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(8, 28, 62, 0.7);
  list-style: none;
}

.fiscal-action-menu summary::-webkit-details-marker {
  display: none;
}

.fiscal-action-menu[open] summary {
  color: var(--cyan);
  border-color: rgba(32, 214, 210, 0.4);
}

.fiscal-action-menu div {
  position: absolute;
  right: 0;
  top: 42px;
  z-index: 6;
  width: 230px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
  background: #06142f;
  box-shadow: var(--shadow);
}

.fiscal-action-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 8px;
  color: var(--text);
  background: transparent;
  padding: 9px;
  text-align: left;
}

.fiscal-action-menu button:hover {
  background: rgba(32, 214, 210, 0.1);
}

.fiscal-bulk-actions {
  display: none;
  align-items: center;
}

.fiscal-bulk-actions.active {
  display: flex;
}

.fiscal-bulk-actions span {
  color: var(--yellow);
  font-weight: 900;
}

.fiscal-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  color: var(--muted);
}

.fiscal-pagination div {
  display: flex;
  gap: 6px;
}

.fiscal-pagination button {
  min-width: 36px;
  min-height: 36px;
  border-radius: 9px;
  font-weight: 900;
}

.fiscal-status-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.fiscal-status-board button {
  min-height: 70px;
  display: grid;
  align-content: center;
  gap: 4px;
  border-radius: 12px;
  padding: 10px;
  text-align: left;
  font-weight: 850;
}

.fiscal-status-board strong {
  color: var(--cyan);
  font-size: 20px;
}

.fiscal-folder-grid,
.fiscal-choice-grid,
.fiscal-profile-grid,
.fiscal-checklist,
.fiscal-report-grid {
  display: grid;
  gap: 12px;
}

.fiscal-folder-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
}

.fiscal-folder-grid button,
.fiscal-choice-grid button,
.fiscal-checklist button {
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.38);
  padding: 14px;
  text-align: left;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.fiscal-folder-grid button {
  display: grid;
  gap: 10px;
}

.fiscal-reconciliation-grid,
.fiscal-integration-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fiscal-divergence-list {
  display: grid;
  gap: 12px;
}

.fiscal-divergence {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(255, 95, 134, 0.32);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255, 95, 134, 0.08);
}

.fiscal-divergence span,
.fiscal-divergence p {
  color: var(--muted);
}

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

.fiscal-diff-grid > * {
  border-radius: 9px;
  padding: 8px;
  background: rgba(2, 8, 20, 0.38);
}

.fiscal-diff-grid strong {
  color: var(--red);
}

.fiscal-progress {
  height: 16px;
  border-radius: 999px;
  background: rgba(147, 169, 194, 0.16);
  overflow: hidden;
  margin-bottom: 16px;
}

.fiscal-progress span {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--green), var(--cyan));
}

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

.fiscal-checklist button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
}

.fiscal-checklist button svg {
  color: var(--yellow);
}

.fiscal-checklist button.done svg,
.fiscal-checklist button.done strong {
  color: var(--green);
}

.fiscal-checklist span {
  grid-column: 2;
  color: var(--muted);
  font-size: 12px;
}

.fiscal-checklist em {
  grid-column: 3;
  grid-row: 1 / span 2;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.fiscal-history {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

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

.fiscal-report-card {
  display: grid;
  gap: 14px;
  transition: transform 180ms ease, border-color 180ms ease;
}

.fiscal-report-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fiscal-lock-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0;
  color: var(--yellow);
  font-weight: 850;
}

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

.fiscal-profile-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.36);
}

.fiscal-profile-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.fiscal-profile-grid strong {
  display: block;
  margin-top: 4px;
}

.fiscal-export-actions {
  justify-content: stretch;
}

.fiscal-export-actions .ghost-action {
  justify-content: flex-start;
  flex: 1 1 220px;
}

.fiscal-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  border: 0;
  background: rgba(0, 0, 0, 0.46);
}

.fiscal-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 60;
  width: min(560px, 100vw);
  height: 100vh;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 20px;
  border-left: 1px solid var(--line);
  background: #06142f;
  box-shadow: var(--shadow);
}

.fiscal-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.fiscal-drawer-head span {
  color: var(--cyan);
  font-weight: 900;
}

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

.fiscal-detail-grid div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px;
  background: rgba(2, 8, 20, 0.34);
}

.fiscal-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.fiscal-detail-grid strong {
  display: block;
  margin-top: 4px;
}

.fiscal-timeline {
  display: grid;
  gap: 0;
}

.fiscal-timeline div {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px 12px;
  padding-bottom: 16px;
}

.fiscal-timeline div::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 18px;
  bottom: 0;
  width: 1px;
  background: var(--line);
}

.fiscal-timeline div:last-child::before {
  display: none;
}

.fiscal-timeline i {
  width: 17px;
  height: 17px;
  border: 2px solid var(--line-strong);
  border-radius: 999px;
  background: #06142f;
}

.fiscal-timeline .done i {
  border-color: var(--green);
  background: var(--green);
}

.fiscal-timeline strong {
  line-height: 1.2;
}

.fiscal-timeline span {
  grid-column: 2;
  color: var(--muted);
  font-size: 12px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0, 0, 0, 0.58);
}

.fiscal-modal {
  width: min(780px, 100%);
  max-height: min(86vh, 860px);
  overflow-y: auto;
  display: grid;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px;
  background: #06142f;
  box-shadow: var(--shadow);
}

.fiscal-modal header,
.fiscal-modal footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.fiscal-modal header span {
  color: var(--cyan);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
}

.fiscal-modal.success {
  text-align: center;
}

.fiscal-modal.success header {
  text-align: left;
}

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

.fiscal-steps span {
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.36);
  padding: 9px;
  font-size: 12px;
  font-weight: 900;
}

.fiscal-steps .active {
  color: #061421;
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.fiscal-choice-grid {
  grid-template-columns: repeat(5, minmax(120px, 1fr));
}

.fiscal-choice-grid button {
  display: grid;
  justify-items: start;
  gap: 8px;
}

.fiscal-choice-grid button.active {
  border-color: rgba(32, 214, 210, 0.46);
  background: rgba(32, 214, 210, 0.1);
}

.fiscal-choice-grid svg {
  color: var(--cyan);
}

.fiscal-choice-grid span,
.fiscal-review {
  color: var(--muted);
}

.success-mark {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  justify-self: center;
  border-radius: 50%;
  color: var(--green);
  background: rgba(69, 223, 155, 0.12);
}

.success-mark svg {
  width: 42px;
  height: 42px;
}

.fiscal-checkbox-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.fiscal-checkbox-list label {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  background: rgba(2, 8, 20, 0.34);
}

.fiscal-checkbox-list input,
.fiscal-table input {
  width: auto;
}

.fiscal-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: min(520px, calc(100vw - 36px));
  border: 1px solid rgba(69, 223, 155, 0.36);
  border-radius: 14px;
  padding: 12px;
  color: var(--green);
  background: #06142f;
  box-shadow: var(--shadow);
}

.fiscal-toast div {
  display: flex;
  align-items: center;
  gap: 9px;
}

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

.fiscal-skeleton span {
  min-height: 120px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(90deg, rgba(8, 28, 62, 0.48), rgba(32, 214, 210, 0.1), rgba(8, 28, 62, 0.48));
  background-size: 220% 100%;
  animation: fiscal-loading 1.25s linear infinite;
}

@keyframes fiscal-loading {
  to {
    background-position: -220% 0;
  }
}

.corporate-finance {
  min-width: 0;
}

.finance-hero {
  background:
    linear-gradient(rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, rgba(8, 28, 62, 0.94), rgba(4, 15, 36, 0.96));
  background-size: 34px 34px, 34px 34px, auto;
}

.corporate-tabs button.active {
  color: var(--text);
  border-color: rgba(32, 214, 210, 0.48);
  background: rgba(18, 62, 109, 0.72);
  box-shadow: inset 0 0 0 1px rgba(76, 230, 190, 0.08);
}

.finance-toolbar {
  display: grid;
  gap: 12px;
}

.finance-filter-grid {
  margin-bottom: 0;
}

.finance-kpis {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
}

.finance-kpis.compact {
  grid-template-columns: repeat(6, minmax(160px, 1fr));
}

.finance-kpi {
  min-height: 168px;
}

.finance-kpi strong {
  margin-top: 3px;
  font-size: clamp(22px, 2vw, 28px);
}

.finance-kpi.cyan .metric-icon,
.finance-kpi.cyan em {
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.1);
}

.finance-chart-grid {
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr);
}

.finance-line-chart {
  position: relative;
  height: 250px;
  display: grid;
  grid-template-columns: repeat(8, minmax(42px, 1fr));
  gap: 12px;
  align-items: end;
  padding-top: 18px;
}

.finance-line-chart::before {
  content: "";
  position: absolute;
  inset: 18px 0 28px;
  background:
    linear-gradient(rgba(147, 169, 194, 0.08) 1px, transparent 1px);
  background-size: 100% 25%;
  pointer-events: none;
}

.finance-line-column {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  align-items: end;
  border: 0;
  color: var(--muted);
  background: transparent;
  padding: 0;
}

.finance-line-column i {
  min-height: 16px;
  height: var(--value);
  border-radius: 9px 9px 3px 3px;
}

.finance-line-column .inflow {
  background: linear-gradient(180deg, var(--green), var(--cyan));
}

.finance-line-column .outflow {
  background: linear-gradient(180deg, var(--red), rgba(255, 95, 134, 0.44));
}

.finance-line-column .balance {
  background: linear-gradient(180deg, var(--cyan), var(--blue));
}

.finance-line-column span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.finance-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
  color: var(--muted);
  font-weight: 800;
}

.finance-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.finance-chart-legend i,
.fiscal-donut-legend .blue {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}

.finance-chart-legend .green { background: var(--green); }
.finance-chart-legend .red { background: var(--red); }
.finance-chart-legend .cyan { background: var(--cyan); }
.fiscal-donut-legend .blue { background: var(--blue); }

.finance-donut {
  background:
    radial-gradient(circle at center, #07142c 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 31%, var(--cyan) 31% 53%, var(--yellow) 53% 60%, var(--blue) 60% 74%, var(--green) 74% 86%, var(--cyan) 86% 95%, var(--yellow) 95% 100%);
}

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

.corporate-finance .fiscal-donut-legend {
  width: 100%;
}

.corporate-finance .fiscal-donut-legend button {
  grid-template-columns: auto minmax(0, 1fr);
}

.corporate-finance .fiscal-donut-legend strong {
  grid-column: 2;
  color: var(--text);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.finance-donut strong {
  font-size: 24px;
}

.finance-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.finance-record > div:last-child {
  display: grid;
  gap: 6px;
  justify-items: end;
}

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

.finance-table {
  min-width: 1120px;
}

.finance-card-list {
  display: none;
}

.finance-match-column {
  display: grid;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: rgba(2, 8, 20, 0.26);
}

.finance-match-item {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  color: var(--text);
  text-align: left;
}

.finance-match-item > div:last-child {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.finance-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}

.finance-steps span {
  min-height: 50px;
  display: grid;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.36);
  padding: 9px;
  font-size: 12px;
  font-weight: 900;
}

.finance-steps .active {
  color: #061421;
  border-color: transparent;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
}

.finance-tree {
  display: grid;
  gap: 10px;
}

.finance-tree details {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.34);
  overflow: hidden;
}

.finance-tree summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
}

.finance-tree summary svg {
  color: var(--cyan);
}

.finance-tree summary span,
.finance-tree em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.finance-tree details > div {
  display: grid;
  gap: 7px;
  padding: 0 12px 12px 38px;
}

.finance-tree button {
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: rgba(8, 28, 62, 0.52);
  padding: 9px;
  text-align: left;
}

.finance-modal {
  width: min(920px, 100%);
}

.commercial-portal {
  min-width: 0;
}

.commercial-hero {
  background:
    linear-gradient(rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 214, 210, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, rgba(8, 28, 62, 0.94), rgba(4, 15, 36, 0.96));
  background-size: 34px 34px, 34px 34px, auto;
}

.commercial-tabs {
  overflow-x: auto;
  scrollbar-width: thin;
}

.commercial-tabs button {
  min-width: max-content;
}

.commercial-kpis {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
}

.commercial-priority-list,
.commercial-card-grid,
.commercial-chat-messages {
  display: grid;
  gap: 12px;
}

.commercial-priority,
.commercial-opportunity,
.commercial-material,
.commercial-product,
.commercial-announcement,
.commercial-training {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: rgba(2, 8, 20, 0.36);
}

.commercial-priority {
  grid-template-columns: minmax(0, 1.3fr) minmax(130px, 0.5fr) minmax(110px, 0.4fr) auto;
  align-items: center;
}

.commercial-priority footer,
.commercial-material footer,
.commercial-product footer,
.commercial-announcement footer,
.commercial-training footer,
.commercial-dealer-card footer,
.commercial-opportunity footer {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.commercial-priority.red,
.commercial-opportunity.red,
.commercial-announcement.critical {
  border-color: rgba(255, 95, 134, 0.38);
}

.commercial-priority.yellow,
.commercial-opportunity.yellow {
  border-color: rgba(255, 209, 102, 0.34);
}

.commercial-priority.green,
.commercial-opportunity.green {
  border-color: rgba(69, 223, 155, 0.34);
}

.commercial-priority span,
.commercial-opportunity span,
.commercial-detail-grid span,
.commercial-material span,
.commercial-product span,
.commercial-training span,
.commercial-campaign-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.commercial-priority strong,
.commercial-detail-grid strong {
  display: block;
  overflow-wrap: anywhere;
}

.commercial-priority small,
.commercial-opportunity p,
.commercial-material p,
.commercial-product p,
.commercial-announcement p,
.commercial-announcement small {
  color: var(--muted);
}

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

.commercial-detail-grid div {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  background: rgba(2, 8, 20, 0.28);
}

.commercial-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.commercial-kanban {
  display: grid;
  grid-template-columns: repeat(7, minmax(230px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.commercial-kanban > section {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 260px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.22);
}

.commercial-opportunity header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.commercial-progress {
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(147, 169, 194, 0.16);
}

.commercial-progress i {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cyan), var(--green));
}

.commercial-campaign-card footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.commercial-thumb {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(32, 214, 210, 0.2);
  border-radius: 12px;
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.09);
  font-weight: 900;
}

.commercial-material,
.commercial-product,
.commercial-training {
  align-content: start;
}

.commercial-calculation {
  display: grid;
  gap: 8px;
}

.commercial-calculation p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
  color: var(--muted);
}

.commercial-chat-messages {
  max-height: 360px;
  overflow-y: auto;
}

.commercial-chat-messages div {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: rgba(2, 8, 20, 0.34);
}

.commercial-chat-messages small {
  color: var(--muted);
}

.commercial-chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.commercial-conversation {
  width: 100%;
  text-align: left;
}

.commercial-state {
  justify-items: start;
}

.commercial-state p {
  color: var(--muted);
}

.network-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.network-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
  gap: 18px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(20px, 3vw, 30px);
  background: linear-gradient(135deg, rgba(8, 28, 62, 0.94), rgba(4, 15, 36, 0.96));
  box-shadow: var(--shadow);
}

.network-title,
.network-bars,
.network-status-list,
.network-pending-list,
.network-timeline,
.network-recommendations,
.network-service-list,
.network-ranking,
.network-integration-state,
.network-profile-body,
.network-form {
  display: grid;
  gap: 12px;
}

.network-title h2,
.network-title p {
  margin: 0;
}

.network-title p:not(.eyebrow),
.network-timeline span,
.network-recommendations small,
.network-drawer header p {
  color: var(--muted);
}

.network-actions,
.network-map-controls,
.network-toolbar-row,
.network-card-actions,
.network-row-actions,
.network-offer footer,
.network-integration-state footer,
.network-chipline,
.network-city-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.network-actions {
  justify-content: flex-end;
}

.network-search {
  flex: 1 1 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(2, 8, 20, 0.52);
  padding: 0 12px;
}

.network-search svg {
  color: var(--cyan);
}

.network-search input {
  border: 0;
  background: transparent;
  padding-inline: 0;
}

.network-tabs,
.network-profile-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: thin;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.32);
  padding: 8px;
}

.network-tabs button,
.network-profile-tabs button,
.network-segmented button {
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
  padding: 9px 12px;
  font-weight: 900;
}

.network-tabs button.active,
.network-profile-tabs button.active,
.network-segmented button.active {
  color: var(--text);
  border-color: rgba(32, 214, 210, 0.42);
  background: rgba(18, 62, 109, 0.72);
}

.network-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 14px;
}

.network-kpis.compact {
  grid-template-columns: repeat(4, minmax(170px, 1fr));
}

.network-kpi {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: linear-gradient(145deg, rgba(11, 43, 83, 0.86), rgba(4, 16, 39, 0.82));
  padding: 14px;
  text-align: left;
}

.network-kpi strong {
  display: block;
  font-size: 24px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.network-kpi span {
  display: block;
  margin-top: 4px;
  font-weight: 900;
}

.network-kpi small,
.network-detail-pairs span,
.network-card-metrics span,
.network-hom-card span,
.network-offer span,
.network-ranking span,
.network-service-list span,
.network-city-list span,
.network-integration-state span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

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

.network-map-panel {
  grid-row: span 2;
}

.network-bars button,
.network-status-list button,
.network-service-list button,
.network-ranking button,
.network-integration-state > div,
.network-hom-card,
.network-pending,
.network-timeline > div,
.network-recommendations > div,
.network-empty-mini,
.network-partner-card,
.network-offer,
.network-settings-grid .setting-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.34);
  padding: 12px;
}

.network-bars button,
.network-status-list button,
.network-service-list button,
.network-ranking button {
  color: var(--text);
  text-align: left;
}

.network-bars i,
.network-status-list i,
.network-score i {
  display: block;
  height: 8px;
  width: var(--value);
  max-width: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  margin-top: 8px;
}

.network-map-controls {
  margin-bottom: 12px;
}

.network-map {
  display: grid;
  grid-template-columns: repeat(7, minmax(52px, 1fr));
  gap: 8px;
}

.network-map button {
  min-height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(2, 8, 20, 0.42);
}

.network-map button.has-data {
  color: var(--text);
  border-color: rgba(32, 214, 210, 0.38);
  background: rgba(32, 214, 210, 0.1);
}

.network-chipline em,
.network-city-list span,
.network-class,
.network-upload-preview {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(32, 214, 210, 0.07);
  padding: 5px 9px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.network-chipline.large em {
  border-radius: 10px;
  padding: 10px 12px;
}

.network-pending {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.network-pending.red {
  border-color: rgba(255, 95, 134, 0.34);
}

.network-pending.yellow {
  border-color: rgba(255, 209, 102, 0.3);
}

.network-timeline > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px 10px;
  align-items: center;
}

.network-timeline i {
  grid-row: span 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(32, 214, 210, 0.08);
}

.network-timeline small {
  color: #7189a4;
  font-weight: 800;
}

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

.network-filter-grid.compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}

.network-toolbar {
  display: grid;
  gap: 14px;
}

.network-toolbar-row {
  justify-content: space-between;
}

.network-segmented {
  display: inline-flex;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(2, 8, 20, 0.34);
  padding: 4px;
}

.network-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(2, 8, 20, 0.24);
}

.network-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
}

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

.network-table th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.network-link {
  border: 0;
  color: var(--text);
  background: transparent;
  padding: 0;
  text-align: left;
}

.network-link span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.network-card-grid,
.network-offer-grid,
.network-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.network-partner-card,
.network-offer,
.network-settings-grid .setting-item {
  display: grid;
  gap: 12px;
}

.network-partner-card header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.network-card-metrics,
.network-detail-pairs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.network-card-metrics div,
.network-detail-pairs div {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(2, 8, 20, 0.28);
  padding: 10px;
}

.network-class.green { color: var(--green); }
.network-class.cyan { color: var(--cyan); }
.network-class.yellow { color: var(--yellow); }
.network-class.blue { color: var(--blue); }

.network-kanban {
  display: grid;
  grid-template-columns: repeat(8, minmax(240px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.network-kanban > article {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 260px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.22);
}

.network-checklist-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.network-checklist-bar span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
}

.network-service-list button.active {
  border-color: rgba(32, 214, 210, 0.42);
  background: rgba(32, 214, 210, 0.1);
}

.network-recommendations > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.network-trend {
  height: 180px;
  display: grid;
  grid-template-columns: repeat(8, minmax(24px, 1fr));
  gap: 9px;
  align-items: end;
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.22);
  padding: 14px;
}

.network-trend i {
  min-height: 24px;
  height: var(--value);
  display: grid;
  align-items: end;
  justify-items: center;
  border-radius: 9px 9px 4px 4px;
  background: linear-gradient(180deg, var(--cyan), var(--blue));
}

.network-trend span {
  color: #031320;
  font-size: 10px;
  font-weight: 900;
  padding-bottom: 3px;
}

.network-score {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.network-score strong {
  font-size: 56px;
  line-height: 1;
}

.network-score i {
  width: var(--value);
  height: 10px;
}

.network-offer-img,
.network-profile-avatar {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(32, 214, 210, 0.25);
  border-radius: 12px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-weight: 900;
}

.network-integration-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-bottom: 14px;
}

.network-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 70;
  width: min(760px, 96vw);
  display: grid;
  align-content: start;
  gap: 16px;
  overflow-y: auto;
  border-left: 1px solid var(--line);
  background: rgba(4, 14, 34, 0.98);
  box-shadow: var(--shadow);
  padding: 18px;
}

.network-drawer header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.network-modal.wide {
  width: min(1120px, 100%);
}

.network-form footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

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

.network-checkbox-grid label,
.network-accept {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(2, 8, 20, 0.28);
  padding: 10px;
  color: var(--text);
  font-weight: 800;
}

.network-upload-preview {
  border-radius: 10px;
  padding: 10px;
}

.team-workspace {
  display: grid;
  gap: 18px;
}

.team-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  background: linear-gradient(145deg, rgba(9, 29, 64, 0.9), rgba(5, 15, 36, 0.88));
  box-shadow: var(--shadow);
}

.team-hero p {
  max-width: 760px;
  color: var(--muted);
}

.team-hero-actions,
.team-card-actions,
.team-mini-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.team-kpis .premium-metric {
  min-height: 118px;
}

.team-toast {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(32, 214, 210, 0.28);
  border-radius: 12px;
  padding: 12px 14px;
  color: var(--cyan);
  background: rgba(32, 214, 210, 0.08);
  font-weight: 800;
}

.team-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.74fr) minmax(0, 1.26fr);
  gap: 18px;
}

.team-form,
.team-detail {
  display: grid;
  gap: 16px;
}

.team-filter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
  margin-bottom: 14px;
}

.team-roster {
  display: grid;
  gap: 12px;
}

.team-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(2, 8, 20, 0.38);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.team-card:hover,
.team-card.active {
  transform: translateY(-1px);
  border-color: rgba(32, 214, 210, 0.32);
  background: rgba(18, 62, 109, 0.2);
}

.team-card-main {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 0;
  color: var(--text);
  background: transparent;
  padding: 0;
  text-align: left;
}

.team-card-main strong,
.team-detail-grid strong {
  display: block;
  overflow-wrap: anywhere;
}

.team-card-main span,
.team-detail-grid span {
  color: var(--muted);
  font-size: 12px;
}

.team-avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(32, 214, 210, 0.22);
  border-radius: 12px;
  color: var(--aqua);
  background: rgba(32, 214, 210, 0.1);
  font-weight: 900;
}

.team-card-stats,
.team-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.team-card-stats div,
.team-detail-grid div {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  background: rgba(2, 8, 20, 0.34);
}

.team-card-stats span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.team-card-stats strong {
  display: block;
  margin-top: 3px;
}

.team-card-actions {
  margin-top: 12px;
}

.team-card-actions .ghost-action {
  min-height: 38px;
  padding: 8px 10px;
  font-size: 13px;
}

.team-inline-select {
  min-width: 172px;
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.team-inline-select select {
  min-height: 38px;
  padding-block: 8px;
}

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

.team-mini-form {
  margin-top: 10px;
}

.team-mini-form select {
  max-width: 230px;
}

.team-mini-form input {
  flex: 1 1 180px;
}

.team-mini-form.wide {
  margin-bottom: 12px;
}

.team-pause-list {
  margin-top: 10px;
}

.team-history {
  margin-top: 4px;
}

@media (max-width: 1180px) {
  body:not(.sidebar-collapsed) .workspace {
    grid-template-columns: var(--sidebar-collapsed) minmax(0, 1fr);
  }

  body:not(.sidebar-collapsed) .sidebar {
    padding-inline: 12px;
  }

  body:not(.sidebar-collapsed) .sidebar-brand {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  body:not(.sidebar-collapsed) .sidebar-logo {
    width: 44px;
    object-fit: cover;
    object-position: left center;
  }

  body:not(.sidebar-collapsed) .sidebar-brand-text,
  body:not(.sidebar-collapsed) .sidebar-item span,
  body:not(.sidebar-collapsed) .nav-group > span,
  body:not(.sidebar-collapsed) .sidebar-user-info,
  body:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child) {
    display: none;
  }

  body:not(.sidebar-collapsed) .sidebar-item {
    justify-content: center;
    padding-inline: 0;
  }

  body:not(.sidebar-collapsed) .sidebar-user {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 10px 6px;
  }

  .hero-panel,
  .grid.two,
  .grid.three,
  .grid.four,
  .team-hero,
  .team-layout,
  .team-subgrid,
  .contact-grid,
  .partner-grid,
  .fiscal-hero,
  .fiscal-main-grid,
  .finance-chart-grid,
  .finance-match-grid,
  .fiscal-reconciliation-grid,
  .fiscal-integration-grid {
    grid-template-columns: 1fr;
  }

  .signal-grid,
  .modality-grid,
  .document-grid,
  .fiscal-kpis,
  .finance-kpis,
  .finance-kpis.compact,
  .fiscal-status-board,
  .finance-steps,
  .fiscal-folder-grid,
  .fiscal-report-grid,
  .fiscal-skeleton {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fiscal-actions {
    justify-content: flex-start;
  }

  .operation-header,
  .operation-layout {
    grid-template-columns: 1fr;
  }

  .operation-header-actions {
    justify-content: flex-start;
  }

  .operation-summary {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }

  .operation-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .operation-ticket {
    grid-template-columns: minmax(120px, 0.8fr) minmax(260px, 1.7fr) minmax(180px, 1fr);
  }

  .operation-owner,
  .operation-next {
    grid-column: span 1;
  }

  .operation-side {
    position: static;
  }

  .fiscal-filter-grid,
  .fiscal-filter-grid.docs,
  .finance-filter-grid,
  .fiscal-report-filters,
  .fiscal-choice-grid,
  .fiscal-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .commercial-kpis,
  .commercial-detail-grid,
  .commercial-dashboard-grid,
  .team-detail-grid,
  .executive-grid,
  .intelligence-money-grid,
  .reports-center,
  .intelligence-skeleton {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intelligence-header,
  .value-delivered,
  .value-hero,
  .intelligence-layout,
  .intelligence-layout.narrow {
    grid-template-columns: 1fr;
  }

  .intelligence-header {
    position: static;
  }

  .intelligence-tabs {
    top: 0;
  }

  .intelligence-status,
  .intelligence-actions {
    justify-items: start;
    justify-content: flex-start;
  }

  .finance-bar-row {
    grid-template-columns: 1fr;
  }

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

  .commercial-priority {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .commercial-priority > div:nth-child(2),
  .commercial-priority > div:nth-child(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .mobile-menu-toggle {
    position: fixed;
    left: 14px;
    top: 14px;
    z-index: 35;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--aqua);
    background: rgba(4, 16, 39, 0.92);
    backdrop-filter: blur(12px);
  }

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 25;
    background: rgba(0, 0, 0, 0.54);
  }

  body.sidebar-open .sidebar-backdrop {
    display: block;
  }

  .auth-view {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .brand-panel {
    min-height: 260px;
  }

  .auth-logo {
    width: min(340px, 84vw);
  }

  .workspace,
  body.sidebar-collapsed .workspace,
  body:not(.sidebar-collapsed) .workspace {
    grid-template-columns: 1fr;
  }

  .sidebar,
  body.sidebar-collapsed .sidebar,
  body:not(.sidebar-collapsed) .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    width: min(86vw, 318px);
    height: 100vh;
    padding: 18px 14px;
    transform: translateX(-104%);
    transition: transform 230ms ease;
  }

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

  .sidebar-brand,
  body.sidebar-collapsed .sidebar-brand,
  body:not(.sidebar-collapsed) .sidebar-brand {
    grid-template-columns: minmax(0, 1fr) auto;
    justify-items: stretch;
  }

  .sidebar-logo,
  body.sidebar-collapsed .sidebar-logo,
  body:not(.sidebar-collapsed) .sidebar-logo {
    width: 190px;
    object-fit: contain;
  }

  .sidebar-brand-text,
  .sidebar-item span,
  .nav-group > span,
  .sidebar-user-info,
  .sidebar-user .icon-button:not(:last-child),
  body.sidebar-collapsed .sidebar-brand-text,
  body.sidebar-collapsed .sidebar-item span,
  body.sidebar-collapsed .nav-group > span,
  body.sidebar-collapsed .sidebar-user-info,
  body.sidebar-collapsed .sidebar-user .icon-button:not(:last-child),
  body:not(.sidebar-collapsed) .sidebar-brand-text,
  body:not(.sidebar-collapsed) .sidebar-item span,
  body:not(.sidebar-collapsed) .nav-group > span,
  body:not(.sidebar-collapsed) .sidebar-user-info,
  body:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child) {
    display: block;
  }

  .sidebar-item,
  body.sidebar-collapsed .sidebar-item,
  body:not(.sidebar-collapsed) .sidebar-item {
    justify-content: flex-start;
    padding-inline: 12px;
  }

  .sidebar-user,
  body.sidebar-collapsed .sidebar-user,
  body:not(.sidebar-collapsed) .sidebar-user {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    justify-items: stretch;
    padding: 12px;
  }

  .main {
    padding: 72px 14px 16px;
  }

  .topbar,
  .topbar-actions,
  .form-footer,
  .panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-actions {
    justify-content: flex-start;
  }

  .topbar-logout {
    display: none;
  }

  .intelligence-header,
  .intelligence-filter-head,
  .intelligence-actions,
  .intelligence-filter-body,
  .smart-table-actions,
  .table-footer,
  .strategic-alert footer,
  .report-card footer {
    align-items: stretch;
    flex-direction: column;
  }

  .intelligence-filters:not(.open) .intelligence-filter-body {
    display: none;
  }

  .mobile-filter-button {
    display: inline-flex;
  }

  .intelligence-periods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .intelligence-periods button,
  .intelligence-tabs button,
  .intelligence-state-switch button,
  .intelligence-actions .ghost-action,
  .intelligence-actions .primary-action,
  .strategic-alert .ghost-action,
  .report-card .ghost-action,
  .marketing-flow .primary-action,
  .smart-table-actions .ghost-action {
    width: 100%;
  }

  .executive-grid,
  .intelligence-money-grid,
  .reports-center,
  .intelligence-skeleton,
  .marketing-flow > div:last-of-type {
    grid-template-columns: 1fr;
  }

  .exec-card,
  .finance-kpi {
    min-height: 150px;
  }

  .value-copy > strong {
    font-size: 30px;
  }

  .value-chart .line-chart .sparkline {
    min-height: 160px;
  }

  .series-row,
  .comparison-bars button,
  .ranking-list button,
  .rating-distribution > div {
    grid-template-columns: 1fr;
  }

  .defect-matrix {
    min-height: 380px;
  }

  .smart-table-actions input,
  .intelligence-actions label,
  .intelligence-actions select,
  .intelligence-filters label,
  .intelligence-filters select {
    width: 100%;
  }

  .intelligence-table-wrap {
    overflow: visible;
  }

  .intelligence-table,
  .intelligence-table thead,
  .intelligence-table tbody,
  .intelligence-table tr,
  .intelligence-table th,
  .intelligence-table td {
    display: block;
    width: 100%;
  }

  .intelligence-table thead {
    display: none;
  }

  .intelligence-table tr {
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 10px;
    background: rgba(2, 10, 24, 0.36);
  }

  .intelligence-table td {
    border: 0;
    display: grid;
    grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
    gap: 10px;
    padding: 8px 0;
  }

  .intelligence-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
  }

  .intelligence-drawer {
    width: 100vw;
  }

  .form-grid,
  .signal-grid,
  .modality-grid,
  .document-grid,
  .fiscal-kpis,
  .finance-kpis,
  .finance-kpis.compact,
  .fiscal-filter-grid,
  .fiscal-filter-grid.docs,
  .finance-filter-grid,
  .fiscal-status-board,
  .finance-steps,
  .fiscal-folder-grid,
  .fiscal-report-grid,
  .fiscal-report-filters,
  .fiscal-profile-grid,
  .fiscal-detail-grid,
  .fiscal-choice-grid,
  .fiscal-steps,
  .fiscal-checklist,
  .fiscal-skeleton,
  .fiscal-diff-grid,
  .fiscal-checkbox-list,
  .commercial-kpis,
  .commercial-detail-grid,
  .commercial-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .operation-summary {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }

  .operation-kpi {
    flex: 0 0 168px;
    scroll-snap-align: start;
  }

  .operation-filters {
    grid-template-columns: 1fr;
  }

  .operation-ticket {
    grid-template-columns: 1fr;
  }

  .operation-next div {
    flex-wrap: wrap;
  }

  .operation-next .primary-action {
    width: 100%;
  }

  .operation-side-grid,
  .operation-overview-grid,
  .operation-finance,
  .operation-drawer-sla,
  .operation-compose {
    grid-template-columns: 1fr;
  }

  .operation-drawer {
    width: 100vw;
    padding: 14px;
  }

  .fiscal-email-alert,
  .fiscal-email-alert.compact,
  .fiscal-alert {
    grid-template-columns: 1fr;
  }

  .fiscal-actions,
  .fiscal-card-actions,
  .fiscal-row-actions,
  .finance-chart-legend,
  .fiscal-pagination,
  .fiscal-modal header,
  .fiscal-modal footer {
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
  }

  .fiscal-actions .primary-action,
  .fiscal-actions .ghost-action,
  .fiscal-card-actions .ghost-action,
  .finance-hero .ghost-action,
  .finance-hero .primary-action,
  .fiscal-modal footer button {
    width: 100%;
  }

  .fiscal-bars {
    grid-template-columns: repeat(4, minmax(42px, 1fr));
    height: 300px;
  }

  .finance-line-chart {
    grid-template-columns: repeat(4, minmax(42px, 1fr));
    height: 300px;
  }

  .corporate-finance .fiscal-table-wrap {
    display: none;
  }

  .finance-card-list {
    display: grid;
    gap: 10px;
  }

  .finance-card-list article {
    display: grid;
    gap: 9px;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px;
    background: rgba(2, 8, 20, 0.38);
  }

  .finance-card-list article > div {
    display: grid;
    gap: 3px;
  }

  .finance-card-list span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
  }

  .finance-card-list strong {
    color: var(--text);
    overflow-wrap: anywhere;
  }

  .finance-card-list footer {
    display: flex;
    justify-content: flex-end;
  }

  .corporate-finance > .fiscal-actions,
  .finance-hero .fiscal-actions {
    position: sticky;
    bottom: 12px;
    z-index: 10;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(2, 10, 26, 0.92);
    backdrop-filter: blur(14px);
  }

  .fiscal-donut {
    width: min(190px, 74vw);
  }

  .fiscal-checklist button {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .fiscal-checklist em {
    grid-column: 2;
    grid-row: auto;
  }

  .fiscal-toast {
    left: 14px;
    right: 14px;
    bottom: 14px;
  }

  .commercial-priority,
  .commercial-chat-form {
    grid-template-columns: 1fr;
  }

  .commercial-priority footer,
  .commercial-material footer,
  .commercial-product footer,
  .commercial-announcement footer,
  .commercial-training footer,
  .commercial-dealer-card footer,
  .commercial-opportunity footer {
    flex-direction: column;
  }

  .commercial-priority footer .ghost-action,
  .commercial-material footer .ghost-action,
  .commercial-product footer .primary-action,
  .commercial-announcement footer .ghost-action,
  .commercial-training footer .ghost-action,
  .commercial-dealer-card footer .ghost-action,
  .commercial-opportunity footer .ghost-action,
  .commercial-chat-form .primary-action {
    width: 100%;
  }

  .commercial-kanban {
    grid-template-columns: repeat(7, minmax(250px, 84vw));
  }

  .editor-row {
    grid-template-columns: 1fr;
  }

  .activation-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .activation-meta {
    grid-column: 2 / -1;
    text-align: left;
  }

  .activation-meta span {
    justify-content: flex-start;
  }
}

@media (max-width: 1180px) {
  .network-hero,
  .network-overview-grid,
  .network-filter-grid,
  .network-filter-grid.compact,
  .network-card-metrics,
  .network-detail-pairs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .network-kpis,
  .network-kpis.compact {
    grid-template-columns: repeat(2, minmax(190px, 1fr));
  }

  .network-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .network-hero,
  .network-filter-grid,
  .network-filter-grid.compact,
  .network-kpis,
  .network-kpis.compact,
  .network-overview-grid,
  .network-card-metrics,
  .network-detail-pairs,
  .network-recommendations > div,
  .network-integration-search,
  .network-checkbox-grid,
  .network-drawer header {
    grid-template-columns: 1fr;
  }

  .network-actions,
  .network-toolbar-row,
  .network-card-actions,
  .network-form footer,
  .network-offer footer,
  .network-integration-state footer {
    align-items: stretch;
    flex-direction: column;
  }

  .network-actions .primary-action,
  .network-actions .ghost-action,
  .network-toolbar-row .ghost-action,
  .network-card-actions .ghost-action,
  .network-card-actions .primary-action,
  .network-form footer button,
  .network-offer footer button,
  .network-integration-state footer button,
  .network-integration-search .primary-action {
    width: 100%;
  }

  .network-map {
    grid-template-columns: repeat(4, minmax(54px, 1fr));
  }

  .network-kanban {
    grid-template-columns: repeat(8, minmax(250px, 84vw));
  }

  .network-table-wrap {
    display: none;
  }

  .network-drawer {
    width: 100vw;
    padding: 16px;
  }
}

.admin-workspace {
  display: grid;
  gap: 18px;
}

.admin-hero {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
}

.admin-top-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 10px;
  align-content: end;
}

.admin-top-actions .ghost-action,
.admin-top-actions .primary-action,
.admin-top-actions .notification-button {
  min-width: 0;
}

.admin-search {
  grid-column: 1 / -1;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.52);
  padding: 0 12px;
}

.admin-search input {
  min-height: 42px;
  border: 0;
  background: transparent;
  padding: 0;
}

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

.admin-status-strip div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.34);
  padding: 11px 12px;
}

.admin-status-strip svg {
  grid-row: span 2;
  color: var(--aqua);
}

.admin-status-strip span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.admin-status-strip strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-tabs {
  position: sticky;
  top: 82px;
  z-index: 11;
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
  background: rgba(4, 14, 34, 0.94);
  backdrop-filter: blur(16px);
}

.admin-kpis {
  grid-template-columns: repeat(5, minmax(160px, 1fr));
}

.admin-kpi {
  min-height: 132px;
  text-align: left;
}

.admin-kpi .metric-icon {
  margin-bottom: 10px;
}

.admin-overview-grid {
  align-items: start;
}

.admin-alert-grid,
.admin-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.admin-record-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.admin-filter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.admin-filter-grid .wide {
  grid-column: span 2;
}

.admin-table {
  min-width: 1180px;
}

.admin-mobile-cards {
  display: none;
}

.admin-mobile-cards article {
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(2, 8, 20, 0.38);
  padding: 12px;
}

.admin-mobile-cards span,
.admin-mobile-cards small {
  color: var(--muted);
}

.admin-mobile-cards footer {
  display: flex;
  justify-content: flex-end;
}

.admin-profile-card,
.integration-card {
  display: grid;
  gap: 12px;
}

.admin-profile-card header,
.integration-card header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.admin-profile-card footer,
.integration-card footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-permission-matrix {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-permission-matrix .fiscal-table {
  min-width: 880px;
}

.admin-check {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--aqua);
  background: rgba(32, 214, 210, 0.08);
}

.admin-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.admin-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 12px;
}

.admin-flow button {
  min-height: 120px;
  display: grid;
  gap: 8px;
  justify-items: start;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  background: rgba(2, 8, 20, 0.36);
  padding: 12px;
  text-align: left;
}

.admin-flow button:hover {
  border-color: rgba(32, 214, 210, 0.34);
  background: rgba(18, 62, 109, 0.22);
}

.admin-flow button span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #031320;
  background: linear-gradient(135deg, var(--cyan), var(--aqua));
  font-weight: 900;
}

.admin-flow button small {
  color: var(--muted);
}

.admin-bars {
  min-height: 260px;
}

.admin-modal.wide {
  width: min(1120px, 100%);
}

.admin-modal form {
  display: grid;
  gap: 16px;
}

.admin-modal footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.admin-drawer .panel {
  margin-top: 14px;
}

@media (max-width: 1180px) {
  .admin-hero,
  .admin-status-strip,
  .admin-overview-grid,
  .admin-filter-grid,
  .admin-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-kpis {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .admin-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-hero,
  .admin-top-actions,
  .admin-status-strip,
  .admin-filter-grid,
  .admin-filter-grid .wide,
  .admin-flow,
  .admin-kpis,
  .admin-alert-grid,
  .admin-card-grid {
    grid-template-columns: 1fr;
  }

  .admin-tabs {
    top: 0;
    display: flex;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .admin-tabs button {
    flex: 0 0 auto;
    min-width: 168px;
  }

  .admin-top-actions .ghost-action,
  .admin-top-actions .primary-action,
  .admin-top-actions select,
  .admin-top-actions .notification-button {
    width: 100%;
  }

  .admin-responsive-table {
    display: none;
  }

  .admin-mobile-cards {
    display: grid;
    gap: 10px;
  }

  .admin-record-action,
  .admin-profile-card header,
  .integration-card header,
  .admin-modal footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .admin-record-action .ghost-action,
  .admin-profile-card footer .ghost-action,
  .integration-card footer .ghost-action,
  .admin-modal footer button {
    width: 100%;
  }
}

/* Final production light-theme override. Keep this block at the end of the file. */
body,
.shell,
.workspace,
.main,
.auth-view {
  background: #ffffff;
  color: var(--text);
}

.brand-panel,
.login-card,
.panel,
.hero-panel,
.gate,
.metric-card,
.client-access-card,
.client-wizard-main,
.service-summary,
.vehicle-history,
.wizard-step-body,
.client-step,
.maintenance-repeater,
.maintenance-record,
.attachment-manager,
.review-list,
.attachment-mini,
.attachment-row,
.record,
.contract-preview,
.table-editor,
.operation-header,
.operation-board,
.operation-detail,
.intelligence-workspace,
.plans-credits-workspace,
.commercial-portal,
.fiscal-workspace,
.corporate-finance,
.admin-workspace,
.partner-card,
.integration-card,
.admin-profile-card,
.report-card,
.exec-card,
.fiscal-drawer,
.fiscal-modal,
.admin-modal,
.client-toast,
.demo-access {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow);
}

.brand-panel,
.hero-panel,
.fiscal-hero,
.admin-hero,
.operation-header,
.intelligence-header {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.topbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0));
}

.sidebar,
body.sidebar-collapsed .sidebar,
body:not(.sidebar-collapsed) .sidebar {
  background: #ffffff;
  border-right-color: var(--line);
  box-shadow: 10px 0 34px rgba(9, 24, 49, 0.05);
}

.auth-logo,
.sidebar-logo {
  filter: brightness(0) saturate(100%) invert(11%) sepia(33%) saturate(2044%) hue-rotate(181deg) brightness(94%) contrast(98%);
}

.input-shell,
input,
select,
textarea,
.admin-search,
.operation-global-search,
.wide-filter,
.fiscal-filter-grid label,
.commercial-filter-grid label,
.client-state-grid span,
.history-tabs,
.fiscal-table-wrap,
.admin-permission-matrix,
.network-map-node,
.admin-flow button,
.team-card,
.finance-steps span,
.fiscal-pagination,
.admin-mobile-cards article,
.commercial-detail-grid > div,
.fiscal-detail-grid > div,
.record.empty-state {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
}

.sidebar-user,
.status-pill,
.fiscal-badge,
.network-chipline em,
.admin-status-strip > div,
.fiscal-email-alert,
.credit-meter,
.insight-box,
.operation-check,
.fiscal-action-menu summary,
.admin-check,
.mobile-menu-toggle {
  border-color: var(--line);
  background: #f8fbfd;
  color: var(--text);
}

.input-shell:focus-within,
input:focus,
select:focus,
textarea:focus {
  background: #ffffff;
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(32, 214, 210, 0.14);
}

.ghost-action,
.icon-button {
  color: #12304a;
  border-color: var(--line);
  background: #ffffff;
}

.ghost-action:hover,
.icon-button:hover {
  color: #06233e;
  border-color: rgba(32, 214, 210, 0.38);
  background: #eefaf8;
}

.sidebar-item {
  color: #4b5e73;
}

.sidebar-item svg {
  color: #6b7f93;
}

.sidebar-item:hover {
  color: var(--text);
  background: #f1f7fa;
}

.sidebar-item.active {
  color: #06233e;
  border-color: rgba(32, 214, 210, 0.38);
  background: linear-gradient(90deg, rgba(32, 214, 210, 0.16), rgba(76, 230, 190, 0.1), #ffffff);
  box-shadow: inset 0 0 0 1px rgba(32, 214, 210, 0.08), 0 10px 24px rgba(32, 214, 210, 0.08);
}

.fiscal-table,
.admin-table,
.intelligence-table {
  color: var(--text);
  background: #ffffff;
}

.fiscal-table th,
.admin-table th,
.intelligence-table th {
  color: #4b5e73;
  background: #f4f8fb;
}

.panel-head span,
.metric-card span,
.record span,
.hint,
.topbar [data-company-name],
.sidebar-brand-text,
.sidebar-user-info span {
  color: var(--muted);
}

@media (max-width: 760px) {
  .sidebar-backdrop {
    background: rgba(9, 24, 49, 0.42);
  }
}

/* Oficerto brand clarity pass. Keep as the last visual override. */
:root {
  --bg: #ffffff;
  --bg-2: #f7f9fc;
  --panel: #ffffff;
  --panel-2: #f7f9fc;
  --panel-strong: #ffffff;
  --line: #e6ebf2;
  --line-strong: rgba(47, 199, 190, 0.34);
  --text: #1a2444;
  --muted: #66758a;
  --cyan: #2fc7be;
  --aqua: #45d8c4;
  --blue: #2e5db8;
  --green: #18b985;
  --yellow: #d99a16;
  --red: #d94b5f;
  --brand-navy: #1b2b59;
  --shadow: 0 14px 34px rgba(26, 36, 68, 0.08);
  --soft-shadow: 0 8px 22px rgba(26, 36, 68, 0.06);
}

body,
.shell,
.workspace,
.main,
.auth-view,
.view,
.plans-credits-workspace,
.intelligence-workspace,
.fiscal-workspace,
.corporate-finance,
.commercial-portal,
.network-workspace,
.admin-workspace,
.team-workspace,
.operation-command {
  background: var(--bg-2);
  color: var(--text);
}

.main {
  background:
    linear-gradient(180deg, #ffffff 0, var(--bg-2) 300px),
    var(--bg-2);
}

.auth-view,
.shell {
  background: #ffffff;
}

.topbar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.sidebar,
body.sidebar-collapsed .sidebar,
body:not(.sidebar-collapsed) .sidebar {
  background: #ffffff;
  border-right: 1px solid var(--line);
  box-shadow: 8px 0 28px rgba(26, 36, 68, 0.05);
}

.brand-panel,
.login-card,
.panel,
.hero-panel,
.gate,
.metric-card,
.premium-metric,
.client-access-card,
.client-wizard-main,
.service-summary,
.vehicle-history,
.client-identity-compact,
.customer-vehicle-header,
.client-prestart,
.wizard-step-body,
.client-step,
.maintenance-repeater,
.maintenance-record,
.attachment-manager,
.review-list,
.record,
.priority-list,
.records,
.contract-preview,
.table-editor,
.operation-header,
.operation-board,
.operation-detail,
.operation-queue,
.operation-side-panel,
.intelligence-header,
.intelligence-filters,
.intelligence-system,
.value-hero,
.value-breakdown,
.exec-card,
.finance-kpi,
.report-card,
.chart-panel,
.smart-table-panel,
.plans-hero,
.fiscal-hero,
.fiscal-kpi,
.fiscal-chart-panel,
.fiscal-donut-panel,
.fiscal-alert,
.fiscal-table-wrap,
.fiscal-status-board button,
.fiscal-folder-grid button,
.fiscal-choice-grid button,
.fiscal-checklist button,
.fiscal-report-card,
.fiscal-profile-grid div,
.fiscal-diff-grid > *,
.fiscal-drawer,
.fiscal-modal,
.finance-match-column,
.finance-tree details,
.commercial-hero,
.commercial-priority,
.commercial-opportunity,
.commercial-material,
.commercial-product,
.commercial-announcement,
.commercial-training,
.commercial-detail-grid div,
.commercial-kanban > section,
.commercial-chat-messages div,
.network-hero,
.network-kpi,
.network-map-panel,
.network-bars button,
.network-status-list button,
.network-service-list button,
.network-ranking button,
.network-integration-state > div,
.network-hom-card,
.network-pending,
.network-timeline > div,
.network-recommendations > div,
.network-empty-mini,
.network-partner-card,
.network-offer,
.network-settings-grid .setting-item,
.network-table-wrap,
.network-kanban > article,
.network-trend,
.network-drawer,
.network-checkbox-grid label,
.network-accept,
.team-hero,
.team-card,
.team-card-stats div,
.team-detail-grid div,
.admin-hero,
.admin-status-strip div,
.admin-search,
.admin-tabs,
.admin-mobile-cards article,
.admin-permission-matrix,
.admin-flow button,
.admin-profile-card,
.integration-card,
.partner-card,
.modal-backdrop section,
.demo-access {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--soft-shadow);
}

.brand-panel,
.hero-panel,
.gate,
.operation-header,
.intelligence-header,
.plans-hero,
.fiscal-hero,
.finance-hero,
.commercial-hero,
.network-hero,
.team-hero,
.admin-hero {
  background:
    linear-gradient(rgba(47, 199, 190, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 199, 190, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  background-size: 34px 34px, 34px 34px, auto;
  border-color: var(--line);
  box-shadow: var(--shadow);
}

.brand-panel::before {
  background:
    linear-gradient(rgba(47, 199, 190, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 199, 190, 0.07) 1px, transparent 1px);
}

.brand-panel::after {
  border-color: rgba(47, 199, 190, 0.2);
  box-shadow: inset 0 0 70px rgba(47, 199, 190, 0.08);
}

.brand-glow {
  background: radial-gradient(circle, rgba(47, 199, 190, 0.16), transparent 68%);
}

.auth-logo,
.sidebar-logo {
  filter: brightness(0) saturate(100%) invert(15%) sepia(47%) saturate(1583%) hue-rotate(196deg) brightness(87%) contrast(93%);
}

.sidebar-brand {
  border-bottom-color: var(--line);
}

.nav-group > span,
.breadcrumb,
.topbar [data-company-name],
.sidebar-brand-text,
.sidebar-user-info span,
.panel-head span,
.metric-card span,
.metric-card small,
.record span,
.hint,
.operation-header p,
.operation-ticket-signal span,
.operation-ticket-main small,
.operation-ticket-meta span,
.operation-owner span,
.operation-next span,
.operation-history-recent span,
.operation-health span,
.operation-side-grid span,
.operation-operators span,
.operation-operators em,
.operation-recommendation span,
.operation-overview-grid span,
.operation-drawer-head span,
.operation-drawer-head p,
.operation-drawer-sla span,
.operation-drawer-sla em,
.intelligence-title p,
.intelligence-status small,
.intelligence-filter-head span,
.chart-caption span,
.axis-labels,
.report-card small,
.table-footer,
.strategic-alert p,
.strategic-alert small,
.strategic-alert em,
.value-copy small,
.value-mini span,
.exec-label,
.finance-kpi span,
.series-row span,
.finance-bar-row span,
.technical-ranking span,
.technical-ranking small,
.workshop-compare span,
.workshop-compare small,
.matrix-axis,
.review-list article span,
.rating-distribution span,
.fiscal-title p:last-child,
.fiscal-breadcrumb,
.fiscal-email-alert span,
.fiscal-kpi small,
.fiscal-kpi em,
.fiscal-alert span,
.fiscal-table span,
.fiscal-checklist span,
.fiscal-divergence span,
.fiscal-divergence p,
.fiscal-detail-grid span,
.fiscal-timeline span,
.finance-tree summary span,
.finance-tree em,
.commercial-priority span,
.commercial-opportunity span,
.commercial-detail-grid span,
.commercial-material span,
.commercial-product span,
.commercial-training span,
.commercial-campaign-card span,
.commercial-priority small,
.commercial-opportunity p,
.commercial-material p,
.commercial-product p,
.commercial-announcement p,
.commercial-announcement small,
.commercial-state p,
.network-title p:not(.eyebrow),
.network-kpi small,
.network-detail-pairs span,
.network-card-metrics span,
.network-hom-card span,
.network-offer span,
.network-ranking span,
.network-service-list span,
.network-city-list span,
.network-integration-state span,
.network-timeline span,
.network-recommendations small,
.network-drawer header p,
.team-hero p,
.team-card-main span,
.team-detail-grid span,
.team-card-stats span,
.team-inline-select,
.admin-status-strip span,
.admin-flow button small {
  color: var(--muted);
}

.eyebrow,
.operation-panel-head em,
.fiscal-breadcrumb strong,
.fiscal-link,
.network-search svg,
.finance-tree summary svg,
.form-message,
.network-class.cyan {
  color: #148f8a;
}

.sidebar-item {
  color: #465872;
}

.sidebar-item svg {
  color: #74859b;
}

.sidebar-item:hover,
.sidebar-item.active {
  color: var(--text);
  border-color: rgba(47, 199, 190, 0.34);
  background: #effbfa;
  box-shadow: inset 0 0 0 1px rgba(47, 199, 190, 0.08);
}

.sidebar-item.active svg {
  color: var(--cyan);
}

.sidebar-user,
.status-pill,
.operation-status,
.operation-update,
.operation-live-note,
.operation-check,
.client-state-grid span,
.warranty-badge,
.history-tabs,
.active-filter-dot,
.alert-priority,
.fiscal-badge,
.fiscal-email-alert,
.fiscal-action-menu summary,
.fiscal-pagination,
.network-chipline em,
.network-city-list span,
.network-class,
.network-upload-preview,
.network-checklist-bar span,
.admin-check,
.mobile-menu-toggle {
  border-color: var(--line);
  background: #f8fbfd;
  color: var(--muted);
}

.input-shell,
input,
select,
textarea,
.operation-global-search,
.operation-filters .wide-filter,
.intelligence-actions select,
.intelligence-filters select,
.chart-scale select,
.smart-table-actions input,
.fiscal-filter-grid label,
.commercial-filter-grid label,
.network-search,
.network-filter-grid label,
.team-filter-grid label,
.admin-filter-grid label,
.wide-filter {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
}

input::placeholder,
textarea::placeholder {
  color: #8b98aa;
}

.input-shell:focus-within,
input:focus,
select:focus,
textarea:focus,
.operation-global-search:focus-within,
.network-search:focus-within,
.admin-search:focus-within {
  border-color: var(--cyan);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(47, 199, 190, 0.14);
}

.ghost-action,
.icon-button,
.notification-button,
.operation-tabs button,
.operation-detail-tabs button,
.intelligence-periods button,
.intelligence-tabs button,
.intelligence-state-switch button,
.fiscal-tabs button,
.fiscal-segmented button,
.fiscal-metric-switch button,
.fiscal-pagination button,
.commercial-tabs button,
.network-tabs button,
.network-profile-tabs button,
.network-segmented button,
.history-tabs button,
.conditional-question button,
.wizard-step-list button {
  color: #1a2444;
  border-color: var(--line);
  background: #ffffff;
  box-shadow: none;
}

.ghost-action:hover,
.icon-button:hover,
.notification-button:hover,
.operation-tabs button:hover,
.operation-detail-tabs button:hover,
.intelligence-periods button:hover,
.intelligence-tabs button:hover,
.intelligence-state-switch button:hover,
.fiscal-tabs button:hover,
.fiscal-segmented button:hover,
.fiscal-metric-switch button:hover,
.fiscal-status-board button:hover,
.fiscal-pagination button:hover,
.commercial-tabs button:hover,
.network-tabs button:hover,
.network-profile-tabs button:hover,
.network-segmented button:hover,
.history-tabs button:hover,
.conditional-question button:hover,
.wizard-step-list button:hover {
  color: var(--text);
  border-color: rgba(47, 199, 190, 0.36);
  background: #effbfa;
  transform: translateY(-1px);
}

.primary-action,
.operation-tabs button.active,
.operation-detail-tabs button.active,
.intelligence-periods button.active,
.intelligence-tabs button.active,
.intelligence-state-switch button.active,
.fiscal-tabs button.active,
.fiscal-segmented button.active,
.fiscal-metric-switch button.active,
.fiscal-pagination button.active,
.commercial-tabs button.active,
.network-tabs button.active,
.network-profile-tabs button.active,
.network-segmented button.active,
.history-tabs button.active,
.conditional-question button.active,
.wizard-step-list button.active,
.wizard-step-list button.done,
.vehicle-option.active,
.choice-card.active,
.finance-steps .active,
.fiscal-steps .active {
  color: #ffffff;
  border-color: var(--cyan);
  background: linear-gradient(135deg, var(--cyan), #28b7af);
  box-shadow: 0 10px 24px rgba(47, 199, 190, 0.18);
}

.primary-action svg,
.primary-action span {
  color: inherit;
}

.operation-kpi,
.value-mini,
.series-row,
.finance-bar-row > div,
.comparison-bars button,
.ranking-list button,
.technical-ranking button,
.workshop-compare button,
.strategic-alert,
.review-list article,
.marketing-flow > div:last-of-type span,
.info-tile,
.vehicle-option,
.choice-card,
.ticket-card,
.document-upload-card,
.attachment-mini,
.attachment-row,
.client-empty-inline,
.review-list details,
.timeline-event > div,
.client-empty,
.client-alert,
.client-privacy,
.pending-action-alert,
.operation-ticket,
.operation-health,
.operation-side-grid div,
.operation-operators div,
.operation-mini-list span,
.operation-alerts span,
.operation-overview-grid div,
.operation-history-recent,
.operation-recommendation,
.operation-drawer-sla,
.operation-communication > div,
.operation-timeline div,
.operation-finance div,
.operation-checklist label,
.fiscal-donut-legend button,
.fiscal-divergence,
.finance-card-list article,
.finance-tree button,
.network-card-metrics div,
.network-detail-pairs div {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: 0 6px 18px rgba(26, 36, 68, 0.04);
}

.operation-kpi:hover,
.operation-ticket:hover,
.value-mini:hover,
.exec-card:hover,
.finance-kpi:hover,
.report-card:hover,
.technical-ranking button:hover,
.ranking-list button:hover,
.comparison-bars button:hover,
.workshop-compare button:hover,
.fiscal-kpi:hover,
.fiscal-alert:hover,
.fiscal-folder-grid button:hover,
.fiscal-choice-grid button:hover,
.fiscal-checklist button:hover,
.fiscal-report-card:hover,
.team-card:hover,
.team-card.active,
.network-kpi:hover,
.network-bars button:hover,
.network-status-list button:hover,
.network-service-list button:hover,
.network-ranking button:hover,
.network-partner-card:hover,
.commercial-priority:hover,
.commercial-opportunity:hover {
  border-color: rgba(47, 199, 190, 0.34);
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(26, 36, 68, 0.08);
}

.operation-drawer,
.intelligence-drawer,
.fiscal-drawer,
.network-drawer,
.fiscal-modal,
.admin-modal,
.finance-modal,
.modal-backdrop section {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: -18px 0 42px rgba(26, 36, 68, 0.12);
}

.modal-backdrop,
.fiscal-drawer-backdrop,
.sidebar-backdrop {
  background: rgba(26, 36, 68, 0.34);
}

.intelligence-tabs,
.fiscal-tabs,
.network-tabs,
.network-profile-tabs,
.network-segmented,
.admin-tabs,
.operation-tabs,
.operation-detail-tabs,
.fiscal-segmented,
.fiscal-metric-switch {
  border-color: var(--line);
  background: #f8fbfd;
}

.fiscal-table,
.admin-table,
.intelligence-table,
.network-table {
  color: var(--text);
  background: #ffffff;
}

.fiscal-table th,
.admin-table th,
.intelligence-table th,
.network-table th {
  color: #52647a;
  background: #f4f7fb;
  border-bottom-color: var(--line);
}

.fiscal-table td,
.admin-table td,
.intelligence-table td,
.network-table td {
  border-bottom-color: var(--line);
}

.fiscal-table tbody tr:hover,
.network-table tbody tr:hover,
.intelligence-table tbody tr:hover,
.admin-table tbody tr:hover {
  background: #f8fbfd;
}

.fiscal-action-menu div {
  border-color: var(--line);
  background: #ffffff;
  box-shadow: var(--shadow);
}

.fiscal-action-menu button:hover {
  background: #effbfa;
}

.line-chart .sparkline,
.defect-matrix,
.fiscal-donut,
.finance-donut,
.donut,
.network-trend,
.finance-line-chart::before {
  border-color: var(--line);
  background:
    linear-gradient(rgba(47, 199, 190, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 199, 190, 0.06) 1px, transparent 1px),
    #ffffff;
  background-size: 40px 40px, 40px 40px, auto;
  box-shadow: inset 0 0 0 1px rgba(230, 235, 242, 0.65);
}

.fiscal-donut,
.finance-donut,
.donut {
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 34%, var(--cyan) 34% 58%, var(--yellow) 58% 82%, var(--red) 82% 100%);
}

.finance-donut {
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 31%, var(--cyan) 31% 53%, var(--yellow) 53% 60%, var(--blue) 60% 74%, var(--green) 74% 86%, var(--cyan) 86% 95%, var(--yellow) 95% 100%);
}

.defect-matrix button {
  border-color: rgba(47, 199, 190, 0.32);
  background: #ffffff;
  color: var(--text);
  box-shadow: 0 10px 24px rgba(26, 36, 68, 0.08);
}

.progress-track,
.document-progress,
.commercial-progress,
.fiscal-progress,
.comparison-bars div,
.ranking-list div,
.technical-ranking div,
.rating-distribution div div,
.workshop-compare div {
  background: #e8eef5;
}

.avatar,
.client-avatar,
.success-icon,
.admin-flow button span,
.metric-icon,
.exec-icon,
.status-icon,
.doc-placeholder,
.report-card > span,
.commercial-thumb,
.team-avatar,
.network-offer-img,
.network-profile-avatar,
.operation-identity em,
.operation-owner em {
  color: #ffffff;
  border-color: rgba(47, 199, 190, 0.22);
  background: linear-gradient(135deg, var(--cyan), var(--blue));
}

.status-icon.green,
.status-badge.green,
.fiscal-badge.green,
.warranty-badge.active,
.client-state.sent,
.client-state.loaded,
.operation-status,
.operation-kpi.green strong,
.operation-kpi.green svg,
.operation-health strong,
.exec-card.green em,
.finance-kpi.green small,
.fiscal-kpi.green .metric-icon,
.fiscal-kpi.green em,
.network-class.green {
  color: var(--green);
}

.status-icon.yellow,
.status-badge.yellow,
.fiscal-badge.yellow,
.warranty-badge.expired,
.warranty-badge.sem_garantia,
.operation-kpi.yellow strong,
.operation-kpi.yellow svg,
.exec-card.yellow em,
.finance-kpi.yellow small,
.fiscal-kpi.yellow .metric-icon,
.fiscal-kpi.yellow em,
.network-class.yellow,
.active-filter-dot {
  color: var(--yellow);
}

.status-icon.red,
.status-badge.red,
.fiscal-badge.red,
.operation-kpi.red strong,
.operation-kpi.red svg,
.operation-alerts .red,
.exec-card.red em,
.finance-kpi.red small,
.fiscal-kpi.red .metric-icon,
.fiscal-kpi.red em,
.client-state.notFound,
.client-state.invalid,
.client-state.expired,
.client-state.connection,
.client-state.noVehicle {
  color: var(--red);
}

.status-badge.green,
.fiscal-badge.green,
.warranty-badge.active,
.client-alert.success,
.marketing-flow > div:last-of-type span.done {
  border-color: rgba(24, 185, 133, 0.28);
  background: rgba(24, 185, 133, 0.1);
}

.status-badge.yellow,
.fiscal-badge.yellow,
.client-alert.warning,
.fiscal-email-alert.warning,
.warranty-badge.expired,
.warranty-badge.sem_garantia {
  border-color: rgba(217, 154, 22, 0.28);
  background: rgba(217, 154, 22, 0.1);
}

.status-badge.red,
.fiscal-badge.red,
.fiscal-alert.critical,
.fiscal-divergence,
.commercial-priority.red,
.commercial-opportunity.red,
.commercial-announcement.critical,
.network-pending.red {
  border-color: rgba(217, 75, 95, 0.28);
  background: rgba(217, 75, 95, 0.08);
}

.fiscal-badge.cyan,
.warranty-badge,
.network-service-list button.active,
.network-map button.has-data,
.fiscal-badge.cyan,
.fiscal-doc-badges em,
.network-chipline em,
.network-city-list span,
.network-class,
.network-upload-preview {
  color: #148f8a;
  border-color: rgba(47, 199, 190, 0.28);
  background: rgba(47, 199, 190, 0.09);
}

.commercial-priority.yellow,
.commercial-opportunity.yellow,
.network-pending.yellow {
  border-color: rgba(217, 154, 22, 0.28);
  background: rgba(217, 154, 22, 0.08);
}

.commercial-priority.green,
.commercial-opportunity.green {
  border-color: rgba(24, 185, 133, 0.28);
  background: rgba(24, 185, 133, 0.08);
}

.client-toast,
.fiscal-toast,
.intelligence-toast,
.team-toast {
  border-color: rgba(47, 199, 190, 0.28);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow);
}

.client-wizard-footer,
.corporate-finance > .fiscal-actions,
.finance-hero .fiscal-actions {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -8px 24px rgba(26, 36, 68, 0.08);
}

.admin-tabs {
  position: sticky;
  background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 760px) {
  .mobile-menu-toggle,
  .finance-card-list article,
  .intelligence-table tr,
  .corporate-finance > .fiscal-actions,
  .finance-hero .fiscal-actions {
    border-color: var(--line);
    background: #ffffff;
    color: var(--text);
  }

  .sidebar-backdrop {
    background: rgba(26, 36, 68, 0.34);
  }
}

/* Final official-logo override: keep the original full lockup visible everywhere. */
.public-logo,
.footer-brand-line img,
.support-widget-brand img,
.sidebar-logo,
.atendimento-brand {
  background: #07164a !important;
}

.public-logo .oficerto-logo-full {
  display: block !important;
  width: min(280px, 58vw) !important;
  height: auto !important;
}

.footer-brand-line img {
  width: 150px !important;
  height: auto !important;
  border-radius: 10px !important;
  padding: 7px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.support-widget-brand img {
  width: 126px !important;
  height: auto !important;
  border-radius: 9px !important;
  padding: 6px 8px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.sidebar-logo {
  width: 205px !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.atendimento-brand {
  display: inline-flex !important;
  grid-template-columns: none !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 54px !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
}

.atendimento-brand img {
  width: min(190px, 58vw) !important;
  height: auto !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Sistema mobile viewport recovery 20260704 final override. */
@media (max-width: 767px) {
  html,
  body,
  .shell,
  .workspace,
  .main {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .workspace:not(.is-hidden),
  body.sidebar-collapsed .workspace:not(.is-hidden),
  body:not(.sidebar-collapsed) .workspace:not(.is-hidden) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .main {
    display: grid !important;
    align-content: start !important;
    gap: 14px !important;
    padding-right: max(14px, env(safe-area-inset-right, 0px)) !important;
    padding-left: max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  .view,
  .view.active,
  .gate,
  .oficerto-dashboard,
  .oficerto-dashboard > *,
  .dashboard-hero-banner,
  .dashboard-registration-alert,
  .dashboard-plan-card,
  .dashboard-tool-card,
  .dashboard-coming-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .gate {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 20px 16px !important;
  }

  .gate h2,
  .gate p,
  .dashboard-hero-copy h2,
  .dashboard-hero-copy strong,
  .dashboard-registration-alert h3,
  .dashboard-registration-alert p,
  .dashboard-section-head h2,
  .dashboard-section-head p,
  .dashboard-plan-card h3,
  .dashboard-plan-card p,
  .dashboard-plan-card li,
  .dashboard-tool-card h3,
  .dashboard-tool-card p {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .gate .primary-action,
  .dashboard-registration-alert .primary-action,
  .dashboard-plan-card button,
  .dashboard-tool-card button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Absolute final visibility guard: hidden auth/workspace sections stay hidden on mobile. */
.auth-view.is-hidden,
.workspace.is-hidden,
body.workspace-active .auth-view {
  display: none !important;
}

@media (max-width: 767px) {
  .auth-view.is-hidden,
  .workspace.is-hidden,
  body.workspace-active .auth-view {
    display: none !important;
  }

  .auth-view:not(.is-hidden) .public-access-footer {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ABSOLUTE LAST customer tracking mobile repair 20260707-v5 */
@media (max-width: 767px) {
  body.public-client-mode,
  body.public-client-mode .shell,
  body.public-client-mode .workspace,
  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active,
  body.public-client-mode .atendimento-page,
  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active {
    padding: 0 !important;
  }

  .tracking-page {
    display: block !important;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) max(28px, calc(env(safe-area-inset-bottom, 0px) + 20px)) max(14px, env(safe-area-inset-left, 0px)) !important;
    color: #101828 !important;
  }

  .tracking-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand img {
    display: block !important;
    width: min(230px, 70vw) !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .tracking-profile {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .tracking-profile .icon-button {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #f7fbff !important;
    box-shadow: none !important;
  }

  .tracking-profile .ghost-action {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 80px) !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(19, 38, 85, 0.06) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .tracking-profile .icon-button b {
    background: #20bcb6 !important;
  }

  .tracking-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-hero h1 {
    margin: 0 !important;
    color: #101828 !important;
    font-size: clamp(28px, 8.8vw, 36px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero p {
    margin: 7px 0 0 !important;
    color: #56657a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .tracking-hero aside {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 8px 10px !important;
    align-items: center !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-hero aside span {
    grid-column: 1 / -1 !important;
    color: #56657a !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .tracking-hero aside strong {
    min-width: 0 !important;
    color: #20bcb6 !important;
    font-size: clamp(34px, 11vw, 42px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero aside .icon-button {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #e7ebf2 !important;
    background: #ffffff !important;
  }

  .tracking-hero aside em {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 2px !important;
    border-radius: 999px !important;
    padding: 8px 14px !important;
    color: #008f83 !important;
    background: #e7fbf8 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-card,
  .tracking-summary,
  .tracking-help {
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-card {
    padding: 16px 14px !important;
    overflow: hidden !important;
  }

  .tracking-card > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: start !important;
  }

  .tracking-card h2,
  .tracking-summary h2 {
    color: #132655 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-card > header strong {
    color: #20bcb6 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .tracking-card > header strong span {
    display: block !important;
    color: #132655 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .tracking-steps {
    position: relative !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 18px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .tracking-steps::before,
  .tracking-steps::after {
    display: none !important;
  }

  .tracking-steps > div {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "dot title" "dot meta" !important;
    gap: 2px 10px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 14px !important;
    padding: 10px !important;
    background: #fbfdff !important;
  }

  .tracking-steps i {
    grid-area: dot !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    font-style: normal !important;
    box-shadow: none !important;
  }

  .tracking-steps .done i {
    color: #ffffff !important;
    background: #20bcb6 !important;
  }

  .tracking-steps .active i {
    color: #ffffff !important;
    background: #285ba8 !important;
  }

  .tracking-steps .pending i {
    color: #667085 !important;
    background: #edf0f5 !important;
  }

  .tracking-steps strong {
    grid-area: title !important;
    min-width: 0 !important;
    color: #132655 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-steps span {
    grid-area: meta !important;
    min-width: 0 !important;
    color: #56657a !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-current {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    border-radius: 14px !important;
    padding: 14px !important;
    background: #e7fbf8 !important;
  }

  .tracking-current > svg,
  .tracking-current > i {
    width: 34px !important;
    height: 34px !important;
    color: #20bcb6 !important;
  }

  .tracking-current span,
  .tracking-current em {
    color: #008f83 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-current strong {
    color: #132655 !important;
    font-size: 19px !important;
    line-height: 1.16 !important;
  }

  .tracking-current p {
    margin: 4px 0 8px !important;
    color: #56657a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* FINAL customer tracking mobile repair 20260707-v5 */
@media (max-width: 767px) {
  body.public-client-mode,
  body.public-client-mode .shell,
  body.public-client-mode .workspace,
  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active,
  body.public-client-mode .atendimento-page,
  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.public-client-mode .main {
    padding: 0 !important;
  }

  .tracking-page {
    display: block !important;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) max(28px, calc(env(safe-area-inset-bottom, 0px) + 20px)) max(14px, env(safe-area-inset-left, 0px)) !important;
    color: #101828 !important;
  }

  .tracking-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand,
  .tracking-page .public-logo {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand img {
    display: block !important;
    width: min(230px, 70vw) !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .tracking-profile {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .tracking-profile .icon-button {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #f7fbff !important;
    box-shadow: none !important;
  }

  .tracking-profile .ghost-action {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 80px) !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(19, 38, 85, 0.06) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .tracking-profile .icon-button b {
    background: #20bcb6 !important;
  }

  .tracking-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-hero h1 {
    margin: 0 !important;
    color: #101828 !important;
    font-size: clamp(28px, 8.8vw, 36px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero p {
    margin: 7px 0 0 !important;
    color: #56657a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .tracking-hero aside {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 8px 10px !important;
    align-items: center !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-hero aside span {
    grid-column: 1 / -1 !important;
    color: #56657a !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .tracking-hero aside strong {
    min-width: 0 !important;
    color: #20bcb6 !important;
    font-size: clamp(34px, 11vw, 42px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero aside .icon-button {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #e7ebf2 !important;
    background: #ffffff !important;
  }

  .tracking-hero aside em {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 2px !important;
    border-radius: 999px !important;
    padding: 8px 14px !important;
    color: #008f83 !important;
    background: #e7fbf8 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-card,
  .tracking-summary,
  .tracking-help {
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-card {
    padding: 16px 14px !important;
    overflow: hidden !important;
  }

  .tracking-card > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: start !important;
  }

  .tracking-card h2,
  .tracking-summary h2 {
    color: #132655 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-card > header strong {
    color: #20bcb6 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .tracking-card > header strong span {
    display: block !important;
    color: #132655 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .tracking-steps {
    position: relative !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 18px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .tracking-steps::before,
  .tracking-steps::after {
    display: none !important;
  }

  .tracking-steps > div {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "dot title" "dot meta" !important;
    gap: 2px 10px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 14px !important;
    padding: 10px !important;
    background: #fbfdff !important;
  }

  .tracking-steps i {
    grid-area: dot !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    font-style: normal !important;
    box-shadow: none !important;
  }

  .tracking-steps .done i {
    color: #ffffff !important;
    background: #20bcb6 !important;
  }

  .tracking-steps .active i {
    color: #ffffff !important;
    background: #285ba8 !important;
  }

  .tracking-steps .pending i {
    color: #667085 !important;
    background: #edf0f5 !important;
  }

  .tracking-steps strong {
    grid-area: title !important;
    min-width: 0 !important;
    color: #132655 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-steps span {
    grid-area: meta !important;
    min-width: 0 !important;
    color: #56657a !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-current {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    border-radius: 14px !important;
    padding: 14px !important;
    background: #e7fbf8 !important;
  }

  .tracking-current > svg,
  .tracking-current > i {
    width: 34px !important;
    height: 34px !important;
    color: #20bcb6 !important;
  }

  .tracking-current span,
  .tracking-current em {
    color: #008f83 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-current strong {
    color: #132655 !important;
    font-size: 19px !important;
    line-height: 1.16 !important;
  }

  .tracking-current p {
    margin: 4px 0 8px !important;
    color: #56657a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .tracking-shortcuts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 14px 0 !important;
  }

  .tracking-shortcuts button {
    min-width: 0 !important;
    min-height: 96px !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 14px !important;
    padding: 10px 8px !important;
    gap: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(19, 38, 85, 0.05) !important;
  }

  .tracking-shortcuts svg,
  .tracking-shortcuts i {
    width: 30px !important;
    height: 30px !important;
    color: #20bcb6 !important;
  }

  .tracking-shortcuts strong {
    color: #132655 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .tracking-shortcuts span {
    color: #56657a !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .tracking-summary {
    padding: 16px 14px !important;
  }

  .tracking-summary > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    margin-top: 14px !important;
  }

  .tracking-summary section {
    display: grid !important;
    gap: 14px !important;
  }

  .tracking-summary section + section {
    border-left: 0 !important;
    border-top: 1px solid #e7ebf2 !important;
    padding: 14px 0 0 !important;
  }

  .tracking-summary p {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    margin: 0 !important;
    color: #56657a !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-summary svg,
  .tracking-summary i {
    color: #20bcb6 !important;
  }

  .tracking-summary strong {
    display: block !important;
    margin-bottom: 2px !important;
    color: #132655 !important;
  }

  .tracking-help {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 14px !important;
    padding: 14px !important;
    background: #e7fbf8 !important;
  }

  .tracking-help > svg,
  .tracking-help > i {
    width: 34px !important;
    height: 34px !important;
    color: #20bcb6 !important;
  }

  .tracking-help strong {
    color: #132655 !important;
    font-size: 15px !important;
  }

  .tracking-help span {
    color: #56657a !important;
    font-size: 12px !important;
  }

  .tracking-help .primary-action {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 12px !important;
  }

  .tracking-safe {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 14px 4px 0 !important;
    color: #56657a !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  .tracking-shortcuts {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tracking-card > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tracking-card > header strong {
    justify-self: start !important;
    text-align: left !important;
  }
}

/* Final mobile tracking optimization 20260707-v3 */
@media (max-width: 767px) {
  body.public-client-mode,
  body.public-client-mode .shell,
  body.public-client-mode .workspace,
  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active,
  body.public-client-mode .atendimento-page,
  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.public-client-mode .main {
    padding: 0 !important;
  }

  .tracking-page {
    display: block !important;
    min-height: 100dvh !important;
    padding: max(14px, env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) 18px max(14px, env(safe-area-inset-left, 0px)) !important;
    color: #1f2937 !important;
  }

  .tracking-page * {
    max-width: 100%;
  }

  .tracking-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    justify-content: flex-start !important;
  }

  .tracking-page .atendimento-brand img {
    width: min(220px, 68vw) !important;
    max-height: 62px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .tracking-profile {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .tracking-profile .icon-button {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
  }

  .tracking-profile .ghost-action {
    min-width: 0 !important;
    min-height: 44px !important;
    max-width: calc(100vw - 72px) !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .tracking-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-hero h1 {
    margin: 0 !important;
    color: #070d1f !important;
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero p {
    margin: 8px 0 0 !important;
    color: #58677f !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .tracking-hero aside {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    align-items: center !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 18px !important;
    padding: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(7, 22, 74, 0.06) !important;
  }

  .tracking-hero aside span {
    grid-column: 1 / -1 !important;
    color: #59697f !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .tracking-hero aside strong {
    min-width: 0 !important;
    color: #008f83 !important;
    font-size: clamp(32px, 11vw, 42px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero aside .icon-button {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 12px !important;
  }

  .tracking-hero aside em {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 4px !important;
    border-radius: 999px !important;
    padding: 8px 14px !important;
    color: #008f83 !important;
    background: #e8f8f6 !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-card,
  .tracking-summary,
  .tracking-help {
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(7, 22, 74, 0.06) !important;
  }

  .tracking-card {
    padding: 18px 14px 16px !important;
    overflow: hidden !important;
  }

  .tracking-card > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .tracking-card h2,
  .tracking-summary h2 {
    font-size: 19px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-card > header strong {
    color: #008f83 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .tracking-card > header strong span {
    display: block !important;
    color: #31405c !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .tracking-steps {
    width: 100% !important;
    display: flex !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 26px 0 18px !important;
    padding: 0 0 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tracking-steps::before,
  .tracking-steps::after {
    display: none !important;
  }

  .tracking-steps > div {
    flex: 0 0 112px !important;
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
    text-align: center !important;
    scroll-snap-align: start !important;
  }

  .tracking-steps i {
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
    box-shadow: none !important;
  }

  .tracking-steps strong {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .tracking-steps span {
    max-width: 100px !important;
    color: #59697f !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .tracking-current {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    border-radius: 14px !important;
    padding: 14px !important;
    background: #f3fbfb !important;
  }

  .tracking-current > svg,
  .tracking-current > i {
    width: 38px !important;
    height: 38px !important;
  }

  .tracking-current span,
  .tracking-current em {
    font-size: 12px !important;
  }

  .tracking-current strong {
    font-size: 20px !important;
    line-height: 1.16 !important;
  }

  .tracking-current p {
    margin: 4px 0 8px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .tracking-shortcuts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 14px 0 !important;
  }

  .tracking-shortcuts button {
    min-width: 0 !important;
    min-height: 104px !important;
    border-radius: 14px !important;
    padding: 12px 8px !important;
    gap: 7px !important;
  }

  .tracking-shortcuts svg,
  .tracking-shortcuts i {
    width: 34px !important;
    height: 34px !important;
  }

  .tracking-shortcuts strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .tracking-shortcuts span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .tracking-summary {
    padding: 18px 14px !important;
  }

  .tracking-summary > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin-top: 16px !important;
  }

  .tracking-summary section {
    display: grid !important;
    gap: 16px !important;
  }

  .tracking-summary section + section {
    border-left: 0 !important;
    border-top: 1px solid #e7eaf0 !important;
    padding: 16px 0 0 !important;
  }

  .tracking-summary p {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-summary strong {
    margin-bottom: 2px !important;
  }

  .tracking-help {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 14px !important;
    padding: 14px !important;
    background: #f3fbfb !important;
  }

  .tracking-help > svg,
  .tracking-help > i {
    width: 38px !important;
    height: 38px !important;
  }

  .tracking-help strong {
    font-size: 16px !important;
  }

  .tracking-help span {
    font-size: 13px !important;
  }

  .tracking-help .primary-action {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 12px !important;
  }

  .tracking-safe {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 14px 4px 0 !important;
    color: #59697f !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  .tracking-shortcuts {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tracking-card > header {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .tracking-card > header strong {
    justify-self: start !important;
    text-align: left !important;
  }
}

/* Oficerto brand identity rollout 20260707-v4 */
:root {
  --oficerto-brand-blue: #285ba8;
  --oficerto-brand-blue-dark: #132655;
  --oficerto-brand-blue-soft: #eaf2ff;
  --oficerto-brand-teal: #20bcb6;
  --oficerto-brand-teal-soft: #e7fbf8;
  --oficerto-brand-black: #020406;
  --oficerto-brand-ink: #101828;
  --oficerto-brand-muted: #56657a;
  --oficerto-brand-line: #e7ebf2;
  --oficerto-brand-surface: #ffffff;
  --font-brand: Bornspeed, "Bornspeed Regular", "Arial Black", Impact, ui-sans-serif, system-ui, sans-serif;
  --font-body: Bornspeed, "Bornspeed Regular", Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cyan: var(--oficerto-brand-teal);
  --aqua: var(--oficerto-brand-teal);
  --blue: var(--oficerto-brand-blue);
  --text: var(--oficerto-brand-ink);
  --muted: var(--oficerto-brand-muted);
  --line: rgba(19, 38, 85, 0.12);
  --shadow: 0 16px 38px rgba(19, 38, 85, 0.08);
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body) !important;
  letter-spacing: 0 !important;
}

h1,
h2,
h3,
h4,
.public-access-hero h1,
.dashboard-hero-copy h2,
.tracking-hero h1,
.tracking-card h2,
.tracking-summary h2,
.sidebar-item,
.primary-action,
.ghost-action,
.access-link,
.status-badge,
.status-pill,
.selected-access-pill,
.metric-card strong,
.record strong,
.tracking-shortcuts strong,
.tracking-steps strong {
  font-family: var(--font-brand) !important;
  letter-spacing: 0 !important;
}

.primary-action {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--oficerto-brand-blue), var(--oficerto-brand-teal)) !important;
  box-shadow: 0 12px 28px rgba(40, 91, 168, 0.18) !important;
}

.primary-action:hover {
  filter: brightness(0.98);
}

.ghost-action,
.icon-button {
  color: var(--oficerto-brand-blue-dark) !important;
  border-color: var(--oficerto-brand-line) !important;
  background: #ffffff !important;
}

.ghost-action:hover,
.icon-button:hover {
  border-color: rgba(32, 188, 182, 0.42) !important;
  background: var(--oficerto-brand-teal-soft) !important;
}

.public-logo,
.footer-brand-line img,
.support-widget-brand img,
.sidebar-logo,
.atendimento-brand {
  background: transparent !important;
  box-shadow: none !important;
}

.public-logo {
  border: 0 !important;
  padding: 0 !important;
}

.public-logo .oficerto-logo-full,
.sidebar-logo,
.atendimento-brand img {
  filter: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.public-logo .oficerto-logo-full {
  width: min(330px, 66vw) !important;
}

.sidebar-logo {
  width: min(230px, 100%) !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.footer-brand-line img,
.support-widget-brand img {
  width: 170px !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.tracking-page {
  background: #ffffff !important;
  color: var(--oficerto-brand-ink) !important;
}

.tracking-card,
.tracking-summary,
.tracking-help,
.tracking-shortcuts button,
.tracking-hero aside {
  border-color: var(--oficerto-brand-line) !important;
  box-shadow: 0 14px 34px rgba(19, 38, 85, 0.07) !important;
}

.tracking-hero aside strong,
.tracking-card > header strong,
.tracking-current span,
.tracking-current em,
.tracking-shortcuts svg,
.tracking-shortcuts i,
.tracking-summary svg,
.tracking-summary i,
.tracking-help > svg,
.tracking-help > i {
  color: var(--oficerto-brand-teal) !important;
}

.tracking-steps .done i {
  background: var(--oficerto-brand-teal) !important;
}

.tracking-steps .active i {
  background: var(--oficerto-brand-blue) !important;
}

@media (max-width: 767px) {
  body.public-client-mode .tracking-page {
    padding-top: 0 !important;
    padding-right: max(14px, env(safe-area-inset-right, 0px)) !important;
    padding-bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 18px)) !important;
    padding-left: max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  .tracking-topbar {
    width: calc(100% + 28px) !important;
    margin: 0 -14px 18px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 14px 14px !important;
    border-radius: 0 0 22px 22px !important;
    background: var(--oficerto-brand-blue) !important;
    box-shadow: 0 16px 34px rgba(19, 38, 85, 0.18) !important;
  }

  .tracking-page .atendimento-brand {
    width: max-content !important;
    max-width: min(74vw, 260px) !important;
    border-radius: 14px !important;
    padding: 8px 10px !important;
    background: #ffffff !important;
  }

  .tracking-page .atendimento-brand img {
    width: min(230px, 64vw) !important;
    max-height: 52px !important;
  }

  .tracking-profile {
    margin-top: 2px !important;
  }

  .tracking-profile .icon-button,
  .tracking-profile .ghost-action {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
  }

  .tracking-profile .ghost-action {
    max-width: calc(100vw - 86px) !important;
    font-size: 12px !important;
  }

  .tracking-profile .icon-button b {
    background: var(--oficerto-brand-teal) !important;
  }

  .tracking-hero h1 {
    font-family: var(--font-brand) !important;
    font-size: clamp(28px, 8.6vw, 36px) !important;
  }

  .tracking-hero p {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
  }

  .tracking-hero aside,
  .tracking-card,
  .tracking-summary,
  .tracking-help,
  .tracking-shortcuts button {
    border-radius: 18px !important;
  }
}

/* Public ticket lookup and customer tracking */
.ticket-lookup-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(8, 25, 47, 0.42);
  backdrop-filter: blur(10px);
}

.ticket-lookup-modal.is-open {
  display: grid;
}

.ticket-lookup-dialog {
  position: relative;
  width: min(96vw, 460px);
  display: grid;
  gap: 14px;
  border: 1px solid rgba(9, 24, 49, 0.1);
  border-radius: 20px;
  padding: 28px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(9, 24, 49, 0.22);
}

.ticket-lookup-close {
  position: absolute;
  top: 14px;
  right: 14px;
}

.ticket-lookup-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #008f83;
  background: #eff9f7;
}

.ticket-lookup-dialog h2,
.ticket-lookup-dialog p {
  margin: 0;
}

.ticket-lookup-dialog h2 {
  color: #07164a;
  font-size: 28px;
}

.ticket-lookup-dialog p,
.ticket-lookup-dialog small {
  color: #667085;
  font-weight: 700;
}

.ticket-lookup-dialog form {
  display: grid;
  gap: 12px;
}

.ticket-lookup-dialog label {
  display: grid;
  gap: 7px;
  color: #07164a;
  font-weight: 900;
}

.ticket-lookup-dialog input {
  min-height: 48px;
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  padding: 0 14px;
  background: #ffffff;
}

.ticket-lookup-dialog .primary-action {
  min-height: 50px;
  justify-content: center;
}

.tracking-page {
  width: min(100%, 1280px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 32px;
  background: #ffffff;
  color: #1f2937;
}

.tracking-page .atendimento-brand {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.tracking-page .atendimento-brand img {
  width: min(300px, 58vw) !important;
  max-height: 78px;
}

.tracking-topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 44px;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.tracking-profile {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.tracking-profile .icon-button {
  position: relative;
  border: 0;
  box-shadow: none;
}

.tracking-profile .icon-button b {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #12b3a8;
}

.tracking-profile .ghost-action {
  min-height: 56px;
  border-radius: 999px;
  padding: 0 18px;
  box-shadow: 0 8px 24px rgba(7, 22, 74, 0.08);
}

.tracking-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: start;
  margin-bottom: 26px;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.tracking-hero h1 {
  margin: 0;
  color: #070d1f;
  font-size: clamp(42px, 5vw, 58px);
  letter-spacing: 0;
  line-height: 1;
}

.tracking-hero p {
  margin: 14px 0 0;
  color: #58677f;
  font-size: 19px;
  font-weight: 700;
}

.tracking-hero aside {
  min-width: 300px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 12px;
  align-items: center;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.tracking-hero aside span {
  grid-column: 1 / -1;
  color: #59697f;
  font-size: 19px;
  font-weight: 800;
}

.tracking-hero aside strong {
  color: #008f83;
  font-size: 42px;
  line-height: 1;
}

.tracking-hero aside em {
  grid-column: 1 / -1;
  justify-self: start;
  margin-top: 14px;
  border-radius: 999px;
  padding: 11px 28px;
  color: #008f83;
  background: #e8f8f6;
  font-style: normal;
  font-weight: 900;
}

.tracking-card,
.tracking-summary,
.tracking-help {
  border: 1px solid #edf0f5;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(7, 22, 74, 0.06);
}

.tracking-card {
  padding: 28px 34px 36px;
}

.tracking-card > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.tracking-card h2,
.tracking-summary h2 {
  margin: 0;
  color: #070d1f;
  font-size: 27px;
}

.tracking-card > header strong {
  color: #008f83;
  font-size: 34px;
}

.tracking-card > header strong span {
  color: #31405c;
  font-size: 16px;
}

.tracking-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 0;
  margin: 50px 0 34px;
}

.tracking-steps::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 24px;
  height: 5px;
  border-radius: 999px;
  background: #e7eaf0;
}

.tracking-steps::after {
  content: "";
  position: absolute;
  left: 7%;
  top: 24px;
  width: min(var(--tracking-progress, 60%), 86%);
  height: 5px;
  border-radius: 999px;
  background: #008f83;
}

.tracking-steps > div {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.tracking-steps i {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #6a7281;
  background: #edf0f5;
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
}

.tracking-steps .done i {
  color: #ffffff;
  background: #008f83;
}

.tracking-steps .active i {
  color: #ffffff;
  background: #224b8f;
}

.tracking-steps strong {
  color: #07164a;
  font-size: 16px;
}

.tracking-steps span {
  color: #59697f;
  font-size: 14px;
  font-weight: 700;
}

.tracking-current {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 22px;
  border-radius: 18px;
  padding: 28px;
  background: #f3fbfb;
}

.tracking-current > svg,
.tracking-current > i {
  width: 52px;
  height: 52px;
  color: #008f83;
}

.tracking-current span,
.tracking-current em {
  color: #008f83;
  font-style: normal;
  font-weight: 900;
}

.tracking-current strong {
  display: block;
  margin-top: 3px;
  color: #070d1f;
  font-size: 27px;
}

.tracking-current p {
  margin: 5px 0 12px;
  color: #58677f;
  font-weight: 700;
}

.tracking-shortcuts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 18px;
}

.tracking-shortcuts button {
  min-height: 142px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  border: 1px solid #edf0f5;
  border-radius: 16px;
  padding: 18px;
  color: #07164a;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(7, 22, 74, 0.05);
  text-align: center;
}

.tracking-shortcuts button:hover {
  transform: translateY(-2px);
  border-color: rgba(18, 179, 168, 0.34);
}

.tracking-shortcuts svg,
.tracking-shortcuts i {
  width: 46px;
  height: 46px;
  color: #008f83;
}

.tracking-shortcuts span {
  color: #59697f;
  font-size: 14px;
  font-weight: 700;
}

.tracking-summary {
  padding: 28px 34px;
}

.tracking-summary > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  margin-top: 22px;
}

.tracking-summary section {
  display: grid;
  gap: 22px;
}

.tracking-summary section + section {
  border-left: 1px solid #e7eaf0;
  padding-left: 34px;
}

.tracking-summary p {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  margin: 0;
  color: #31405c;
  font-weight: 700;
}

.tracking-summary svg,
.tracking-summary i {
  color: #008f83;
}

.tracking-summary strong {
  display: block;
  color: #070d1f;
}

.tracking-help {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(280px, 0.4fr);
  gap: 18px;
  align-items: center;
  margin-top: 22px;
  padding: 22px 30px;
  background: #f3fbfb;
}

.tracking-help > svg,
.tracking-help > i {
  width: 52px;
  height: 52px;
  color: #008f83;
}

.tracking-help strong {
  display: block;
  color: #070d1f;
  font-size: 20px;
}

.tracking-help span {
  color: #59697f;
  font-weight: 700;
}

.tracking-help .primary-action {
  min-height: 58px;
  justify-content: center;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #008f83, #12b3a8);
}

.tracking-safe {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 18px 0 0;
  color: #59697f;
  font-weight: 800;
}

@media (max-width: 900px) {
  .tracking-page {
    padding: 22px 16px;
  }

  .tracking-topbar,
  .tracking-hero,
  .tracking-summary > div,
  .tracking-help {
    grid-template-columns: 1fr;
  }

  .tracking-topbar {
    display: grid;
  }

  .tracking-profile {
    justify-self: start;
  }

  .tracking-hero aside {
    min-width: 0;
  }

  .tracking-card {
    padding: 22px 18px;
  }

  .tracking-steps {
    overflow-x: auto;
    grid-template-columns: repeat(6, 128px);
    padding-bottom: 10px;
  }

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

  .tracking-summary section + section {
    border-left: 0;
    border-top: 1px solid #e7eaf0;
    padding: 22px 0 0;
  }

  .tracking-help .primary-action {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .ticket-lookup-dialog {
    padding: 24px 18px;
  }

  .tracking-hero h1 {
    font-size: 38px;
  }

  .tracking-shortcuts {
    grid-template-columns: 1fr;
  }
}

/* Final mobile sidebar drawer fix. */
@media (max-width: 767px) {
  body.sidebar-open .sidebar,
  body.sidebar-open.sidebar-collapsed .sidebar,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar {
    width: min(86vw, 336px) !important;
    padding: 18px 14px !important;
    transform: translateX(0) !important;
    overflow: hidden !important;
  }

  body.sidebar-open .sidebar-brand,
  body.sidebar-open.sidebar-collapsed .sidebar-brand,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand {
    grid-template-columns: minmax(0, 1fr) auto !important;
    justify-items: stretch !important;
  }

  body.sidebar-open .sidebar-logo,
  body.sidebar-open.sidebar-collapsed .sidebar-logo,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-logo {
    width: min(205px, calc(100% - 54px)) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.sidebar-open .sidebar-brand-text,
  body.sidebar-open .sidebar-item span,
  body.sidebar-open .nav-group > span,
  body.sidebar-open .sidebar-user-info,
  body.sidebar-open .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open.sidebar-collapsed .sidebar-brand-text,
  body.sidebar-open.sidebar-collapsed .sidebar-item span,
  body.sidebar-open.sidebar-collapsed .nav-group > span,
  body.sidebar-open.sidebar-collapsed .sidebar-user-info,
  body.sidebar-open.sidebar-collapsed .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand-text,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item span,
  body.sidebar-open:not(.sidebar-collapsed) .nav-group > span,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user-info,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child) {
    display: block !important;
  }

  body.sidebar-open .nav-list {
    display: grid !important;
    gap: 16px !important;
    overflow-y: auto !important;
    padding: 4px 4px 12px !important;
  }

  body.sidebar-open .sidebar-item,
  body.sidebar-open.sidebar-collapsed .sidebar-item,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item {
    justify-content: flex-start !important;
    gap: 11px !important;
    padding: 11px 13px !important;
    text-align: left !important;
  }

  body.sidebar-open .sidebar-user,
  body.sidebar-open.sidebar-collapsed .sidebar-user,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user {
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    justify-items: stretch !important;
    padding: 12px !important;
  }
}

/* Mobile sidebar drawer: always open as a full menu, never as collapsed icon-only rail. */
@media (max-width: 767px) {
  body.sidebar-open .sidebar,
  body.sidebar-open.sidebar-collapsed .sidebar,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar {
    width: min(86vw, 336px) !important;
    padding: 18px 14px !important;
    transform: translateX(0) !important;
    overflow: hidden !important;
  }

  body.sidebar-open .sidebar-brand,
  body.sidebar-open.sidebar-collapsed .sidebar-brand,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand {
    grid-template-columns: minmax(0, 1fr) auto !important;
    justify-items: stretch !important;
  }

  body.sidebar-open .sidebar-logo,
  body.sidebar-open.sidebar-collapsed .sidebar-logo,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-logo {
    width: min(205px, calc(100% - 54px)) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.sidebar-open .sidebar-brand-text,
  body.sidebar-open .sidebar-item span,
  body.sidebar-open .nav-group > span,
  body.sidebar-open .sidebar-user-info,
  body.sidebar-open .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open.sidebar-collapsed .sidebar-brand-text,
  body.sidebar-open.sidebar-collapsed .sidebar-item span,
  body.sidebar-open.sidebar-collapsed .nav-group > span,
  body.sidebar-open.sidebar-collapsed .sidebar-user-info,
  body.sidebar-open.sidebar-collapsed .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand-text,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item span,
  body.sidebar-open:not(.sidebar-collapsed) .nav-group > span,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user-info,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child) {
    display: block !important;
  }

  body.sidebar-open .nav-list {
    display: grid !important;
    gap: 16px !important;
    overflow-y: auto !important;
    padding: 4px 4px 12px !important;
  }

  body.sidebar-open .sidebar-item,
  body.sidebar-open.sidebar-collapsed .sidebar-item,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item {
    justify-content: flex-start !important;
    gap: 11px !important;
    padding: 11px 13px !important;
    text-align: left !important;
  }

  body.sidebar-open .sidebar-user,
  body.sidebar-open.sidebar-collapsed .sidebar-user,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user {
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    justify-items: stretch !important;
    padding: 12px !important;
  }
}

/* Footer company identity override. */
.footer-brand-line {
  flex-wrap: wrap !important;
}

.footer-brand-line img[src$="oficerto-logo-footer.png"] {
  width: min(176px, 44vw) !important;
  height: auto !important;
  padding: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  object-fit: contain !important;
  object-position: center !important;
}

.footer-brand-line a {
  color: var(--public-teal) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .footer-brand-line {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
  }

  .footer-brand-line img[src$="oficerto-logo-footer.png"] {
    width: min(190px, 64vw) !important;
  }
}

/* Public mobile page must end at the support CTA, without viewport filler. */
@media (max-width: 767px) {
  html:has(.auth-view:not(.is-hidden)),
  body:has(.auth-view:not(.is-hidden)),
  .shell:has(.auth-view:not(.is-hidden)),
  .auth-view:not(.is-hidden),
  .auth-view:not(.is-hidden) .public-access-shell {
    min-height: 0 !important;
    height: auto !important;
  }

  .auth-view:not(.is-hidden) .public-access-shell {
    display: block !important;
    grid-template-rows: none !important;
  }

  .auth-view:not(.is-hidden) .public-access-footer {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  .auth-view:not(.is-hidden) .footer-support-link {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Final visibility guard: later mobile overrides must not show hidden app sections. */
.auth-view.is-hidden,
.workspace.is-hidden,
body.workspace-active .auth-view {
  display: none !important;
}

@media (max-width: 767px) {
  .auth-view.is-hidden,
  .workspace.is-hidden,
  body.workspace-active .auth-view {
    display: none !important;
  }

  .auth-view:not(.is-hidden) .public-access-footer {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Sistema mobile viewport recovery 20260704: keep first-access/dashboard content inside the screen. */
@media (max-width: 767px) {
  html,
  body,
  .shell,
  .workspace,
  .main {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .workspace:not(.is-hidden),
  body.sidebar-collapsed .workspace:not(.is-hidden),
  body:not(.sidebar-collapsed) .workspace:not(.is-hidden) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .main {
    display: grid !important;
    align-content: start !important;
    gap: 14px !important;
    padding-right: max(14px, env(safe-area-inset-right, 0px)) !important;
    padding-left: max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  .view,
  .view.active,
  .gate,
  .oficerto-dashboard,
  .oficerto-dashboard > *,
  .dashboard-hero-banner,
  .dashboard-registration-alert,
  .dashboard-plan-card,
  .dashboard-tool-card,
  .dashboard-coming-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .gate {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 20px 16px !important;
  }

  .gate h2,
  .gate p,
  .dashboard-hero-copy h2,
  .dashboard-hero-copy strong,
  .dashboard-registration-alert h3,
  .dashboard-registration-alert p,
  .dashboard-section-head h2,
  .dashboard-section-head p,
  .dashboard-plan-card h3,
  .dashboard-plan-card p,
  .dashboard-plan-card li,
  .dashboard-tool-card h3,
  .dashboard-tool-card p {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .gate .primary-action,
  .dashboard-registration-alert .primary-action,
  .dashboard-plan-card button,
  .dashboard-tool-card button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 640px) {
  .public-access-shell {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden !important;
  }

  .public-access-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
  }

  .public-logo {
    width: max-content !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 0 !important;
    padding: 8px 10px !important;
    border-radius: 14px !important;
  }

  .public-logo .oficerto-logo-full {
    width: min(230px, calc(100vw - 64px)) !important;
  }

  .admin-shortcut {
    max-width: calc(100vw - 32px) !important;
    min-height: 42px !important;
    padding: 0 14px !important;
  }

  .admin-shortcut span {
    max-width: none !important;
    white-space: nowrap !important;
  }

  .public-access-hero,
  .public-access-grid,
  .benefits-strip,
  .support-hero,
  .public-access-footer,
  .login-surface {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .public-access-hero {
    margin-top: 22px !important;
    padding: 0 !important;
  }

  .public-access-hero h1 {
    max-width: 100% !important;
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }

  .public-access-hero p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .public-access-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .access-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 28px 20px 24px !important;
    overflow: hidden !important;
  }

  .access-primary,
  .access-link {
    max-width: 100% !important;
  }
}

/* Oficerto light surface harmonization v2. This layer is intentionally visual-only. */
.workspace :is(.panel, .hero-panel, .gate, .metric-card, .premium-metric, .record, .priority-item, .partner-card, .integration-card, .admin-profile-card, .report-card, .exec-card, .finance-kpi, .modality-card, .choice-card, .ticket-card, .document-upload-card, .client-empty, .client-prestart, .client-step, .attachment-mini, .attachment-row, .review-list details, .review-list article, .timeline-event > div, .service-summary, .vehicle-history, .contract-preview, .table-editor, .kanban-column, .operation-header, .operation-board, .operation-detail, .operation-queue, .operation-side-panel, .operation-kpi, .operation-ticket, .operation-health, .operation-history-recent, .operation-recommendation, .operation-drawer-sla, .operation-communication > div, .operation-timeline div, .operation-finance div, .operation-checklist label, .intelligence-header, .intelligence-filters, .intelligence-system, .value-hero, .value-breakdown, .value-mini, .series-row, .finance-bar-row > div, .chart-panel, .smart-table-panel, .plans-hero, .plans-kpi, .plans-alert, .plans-consumption-grid div, .plans-reading, .plans-empty, .plans-card-grid article, .plans-history, .plans-consumption, .plans-available, .fiscal-hero, .fiscal-kpi, .fiscal-chart-panel, .fiscal-donut-panel, .fiscal-alert, .fiscal-table-wrap, .fiscal-status-board button, .fiscal-folder-grid button, .fiscal-choice-grid button, .fiscal-checklist button, .fiscal-report-card, .fiscal-profile-grid div, .fiscal-diff-grid > *, .fiscal-detail-grid div, .finance-hero, .finance-match-column, .finance-match-item, .finance-tree details, .finance-tree button, .commercial-hero, .commercial-priority, .commercial-opportunity, .commercial-material, .commercial-product, .commercial-announcement, .commercial-training, .commercial-detail-grid div, .commercial-kanban > section, .commercial-chat-messages div, .commercial-dealer-card, .commercial-campaign-card, .network-hero, .network-kpi, .network-map-panel, .network-bars button, .network-status-list button, .network-service-list button, .network-ranking button, .network-integration-state > div, .network-hom-card, .network-pending, .network-timeline > div, .network-recommendations > div, .network-empty-mini, .network-partner-card, .network-offer, .network-settings-grid .setting-item, .network-table-wrap, .network-kanban > article, .network-trend, .network-checkbox-grid label, .network-accept, .team-hero, .team-card, .team-card-stats div, .team-detail-grid div, .admin-hero, .admin-status-strip div, .admin-search, .admin-mobile-cards article, .admin-permission-matrix, .admin-flow button, .admin-check) {
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--soft-shadow);
}

.workspace :is(.hero-panel, .gate, .operation-header, .intelligence-header, .plans-hero, .fiscal-hero, .finance-hero, .commercial-hero, .network-hero, .team-hero, .admin-hero, .value-hero) {
  background:
    linear-gradient(rgba(47, 199, 190, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 199, 190, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow: var(--shadow);
}

.workspace :is(.operation-tabs, .operation-detail-tabs, .intelligence-tabs, .intelligence-periods, .intelligence-state-switch, .fiscal-tabs, .fiscal-segmented, .fiscal-metric-switch, .fiscal-pagination, .commercial-tabs, .network-tabs, .network-profile-tabs, .network-segmented, .admin-tabs, .history-tabs, .finance-steps, .fiscal-steps) {
  border: 1px solid var(--line);
  background: #f8fbfd;
  box-shadow: none;
}

.workspace :is(.operation-tabs, .operation-detail-tabs, .intelligence-tabs, .intelligence-periods, .intelligence-state-switch, .fiscal-tabs, .fiscal-segmented, .fiscal-metric-switch, .fiscal-pagination, .commercial-tabs, .network-tabs, .network-profile-tabs, .network-segmented, .admin-tabs, .history-tabs, .finance-steps, .fiscal-steps) button,
.workspace :is(.finance-steps, .fiscal-steps) span,
.workspace :is(.fiscal-action-menu summary, .plans-menu summary) {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
}

.workspace :is(.operation-tabs, .operation-detail-tabs, .intelligence-tabs, .intelligence-periods, .intelligence-state-switch, .fiscal-tabs, .fiscal-segmented, .fiscal-metric-switch, .fiscal-pagination, .commercial-tabs, .network-tabs, .network-profile-tabs, .network-segmented, .admin-tabs, .history-tabs) button.active,
.workspace :is(.finance-steps, .fiscal-steps) .active {
  border-color: var(--cyan);
  background: linear-gradient(135deg, var(--cyan), #28b7af);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(47, 199, 190, 0.18);
}

.workspace :is(.input-shell, .operation-global-search, .operation-filters .wide-filter, .operation-filters select, .operation-filters input, .intelligence-actions select, .intelligence-filters select, .chart-scale select, .smart-table-actions input, .plans-filters label, .fiscal-filter-grid label, .finance-filter-grid label, .commercial-filter-grid label, .network-search, .network-filter-grid label, .team-filter-grid label, .admin-filter-grid label, .wide-filter, input, select, textarea) {
  border-color: var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: none;
}

.workspace :is(.fiscal-table, .admin-table, .intelligence-table, .network-table, .plans-table, .finance-table) {
  background: #ffffff;
  color: var(--text);
}

.workspace :is(.fiscal-table, .admin-table, .intelligence-table, .network-table, .plans-table, .finance-table) th {
  background: #f4f7fb;
  color: #52647a;
  border-bottom-color: var(--line);
}

.workspace :is(.fiscal-table, .admin-table, .intelligence-table, .network-table, .plans-table, .finance-table) td {
  border-bottom-color: var(--line);
}

.workspace :is(.fiscal-action-menu div, .plans-menu div, .operation-drawer, .intelligence-drawer, .fiscal-drawer, .network-drawer, .fiscal-modal, .admin-modal, .finance-modal, .modal-backdrop section) {
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow);
}

.workspace :is(.line-chart .sparkline, .defect-matrix, .fiscal-donut, .finance-donut, .donut, .network-trend),
.workspace .finance-line-chart::before {
  border-color: var(--line);
  background:
    linear-gradient(rgba(47, 199, 190, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 199, 190, 0.06) 1px, transparent 1px),
    #ffffff;
  background-size: 40px 40px, 40px 40px, auto;
  box-shadow: inset 0 0 0 1px rgba(230, 235, 242, 0.72);
}

.workspace :is(.fiscal-donut, .finance-donut, .donut) {
  box-shadow: 0 12px 28px rgba(26, 36, 68, 0.08);
}

.workspace .fiscal-donut {
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 34%, var(--cyan) 34% 58%, var(--yellow) 58% 82%, var(--red) 82% 100%);
}

.workspace .finance-donut,
.workspace .donut {
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(var(--green) 0 31%, var(--cyan) 31% 53%, var(--yellow) 53% 60%, var(--blue) 60% 74%, var(--green) 74% 86%, var(--cyan) 86% 95%, var(--yellow) 95% 100%);
}

.workspace :is(.progress-track, .document-progress, .commercial-progress, .fiscal-progress, .plans-progress, .comparison-bars div, .ranking-list div, .technical-ranking div, .rating-distribution div div, .workshop-compare div, .credit-meter, .chart-bar div) {
  background: #e8eef5;
}

.workspace :is(.status-badge, .fiscal-badge, .warranty-badge, .plans-badge, .network-class, .network-chipline em, .fiscal-doc-badges em, .active-filter-dot, .operation-status, .operation-update, .operation-live-note, .operation-check, .client-state-grid span, .fiscal-email-alert, .network-city-list span, .network-upload-preview, .network-checklist-bar span) {
  border-color: var(--line);
  background: #f8fbfd;
  color: var(--muted);
}

.workspace :is(.status-badge.green, .fiscal-badge.green, .plans-badge.green, .warranty-badge.active, .client-alert.success, .marketing-flow > div:last-of-type span.done, .commercial-priority.green, .commercial-opportunity.green, .network-class.green) {
  border-color: rgba(24, 185, 133, 0.28);
  background: rgba(24, 185, 133, 0.1);
  color: var(--green);
}

.workspace :is(.status-badge.yellow, .fiscal-badge.yellow, .plans-badge.yellow, .client-alert.warning, .fiscal-email-alert.warning, .warranty-badge.expired, .warranty-badge.sem_garantia, .commercial-priority.yellow, .commercial-opportunity.yellow, .network-pending.yellow, .network-class.yellow) {
  border-color: rgba(217, 154, 22, 0.28);
  background: rgba(217, 154, 22, 0.1);
  color: var(--yellow);
}

.workspace :is(.status-badge.red, .fiscal-badge.red, .plans-badge.red, .fiscal-alert.critical, .fiscal-divergence, .commercial-priority.red, .commercial-opportunity.red, .commercial-announcement.critical, .network-pending.red) {
  border-color: rgba(217, 75, 95, 0.28);
  background: rgba(217, 75, 95, 0.08);
  color: var(--red);
}

.workspace :is(.fiscal-badge.cyan, .plans-badge.cyan, .warranty-badge, .network-service-list button.active, .network-map button.has-data, .network-chipline em, .network-city-list span, .network-class.cyan, .network-upload-preview) {
  border-color: rgba(47, 199, 190, 0.28);
  background: rgba(47, 199, 190, 0.09);
  color: #148f8a;
}

.workspace :is(.value-copy small, .value-mini span, .exec-label, .finance-kpi span, .report-card small, .plans-title p, .plans-reading span, .plans-alert span, .plans-empty span, .plans-kpi span, .plans-kpi small, .plans-consumption-grid span, .fiscal-breadcrumb, .fiscal-table span, .network-title p:not(.eyebrow), .commercial-priority p, .commercial-opportunity p, .admin-mobile-cards span, .admin-mobile-cards small) {
  color: var(--muted);
}

/* Mobile header correction. Visual-only; desktop layout remains unchanged. */
@media (max-width: 768px) {
  .mobile-menu-toggle {
    position: fixed;
    left: 14px;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    z-index: 80;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(26, 36, 68, 0.08);
    backdrop-filter: none;
  }

  .workspace,
  body.sidebar-collapsed .workspace,
  body:not(.sidebar-collapsed) .workspace {
    grid-template-columns: 1fr;
  }

  .sidebar,
  body.sidebar-collapsed .sidebar,
  body:not(.sidebar-collapsed) .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 90;
    width: min(86vw, 318px);
    height: 100vh;
    height: 100dvh;
    padding: calc(env(safe-area-inset-top, 0px) + 18px) 14px 18px;
    transform: translateX(-104%);
    transition: transform 230ms ease;
  }

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

  .sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 85;
    background: rgba(26, 36, 68, 0.34);
  }

  body.sidebar-open .sidebar-backdrop {
    display: block;
  }

  .main {
    padding: calc(env(safe-area-inset-top, 0px) + 128px) 14px 16px;
  }

  .topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 60;
    min-height: calc(env(safe-area-inset-top, 0px) + 92px);
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    grid-template-rows: minmax(56px, auto) auto;
    align-items: center;
    gap: 8px;
    padding: env(safe-area-inset-top, 0px) 14px 0;
    border-bottom: 1px solid var(--line);
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(26, 36, 68, 0.07);
  }

  .topbar-title {
    grid-column: 2;
    min-width: 0;
    display: block;
    text-align: center;
  }

  .breadcrumb,
  .topbar [data-company-name],
  .topbar-logout {
    display: none !important;
  }

  .topbar strong[data-view-title] {
    display: block;
    max-width: 100%;
    color: var(--text);
    font-size: 18px;
    line-height: 1.1;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .topbar-actions {
    grid-column: 3;
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .notification-button,
  .header-action[data-refresh] {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-grid;
    place-items: center;
    border-radius: 12px;
    padding: 0;
  }

  .notification-button strong {
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    color: #ffffff;
    background: var(--cyan);
    font-size: 10px;
    line-height: 18px;
  }

  .header-action[data-refresh] span {
    display: none;
  }

  .topbar .status-pill {
    position: static;
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    max-width: calc(100vw - 28px);
    min-height: 26px;
    height: 26px;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: auto;
    padding: 0 10px;
    border-color: rgba(24, 185, 133, 0.28);
    background: rgba(24, 185, 133, 0.1);
    color: var(--green) !important;
    font-size: 11px;
    line-height: 1;
    box-shadow: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .topbar .status-pill.pending {
    border-color: rgba(217, 154, 22, 0.28);
    background: rgba(217, 154, 22, 0.1);
    color: var(--yellow) !important;
  }

  .topbar .status-pill svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
  }

  .topbar .status-pill span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .view.active {
    gap: 14px;
  }

  .gate,
  .hero-panel,
  .operation-header,
  .intelligence-header,
  .plans-hero,
  .fiscal-hero,
  .finance-hero,
  .commercial-hero,
  .network-hero,
  .team-hero,
  .admin-hero {
    scroll-margin-top: calc(env(safe-area-inset-top, 0px) + 128px);
  }
}

/* Central de Atendimento */
.support-center-shell {
  display: grid;
  gap: 16px;
}

.support-center-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 16px;
  align-items: stretch;
}

.support-help-card,
.support-toolbar,
.support-queue-panel,
.support-chat-panel,
.support-detail-panel,
.support-modal,
.support-toast {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.support-help-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 20px;
}

.support-help-icon,
.support-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--cyan), var(--blue));
}

.support-help-card p,
.support-center-hero p,
.support-chat-head p,
.support-live-indicators span,
.support-queue-card p,
.support-queue-card small,
.support-details-head span,
.support-side-section .record span,
.support-metric-card small,
.support-mobile-nav span {
  color: var(--muted);
}

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

.support-metric-card {
  min-height: 102px;
  display: grid;
  gap: 6px;
  align-content: start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow);
  text-align: left;
}

.support-metric-card strong {
  font-size: 1.5rem;
}

.support-metric-card.cyan { border-color: rgba(47, 199, 190, 0.28); }
.support-metric-card.yellow { border-color: rgba(217, 154, 22, 0.28); }
.support-metric-card.blue { border-color: rgba(31, 125, 255, 0.2); }
.support-metric-card.orange { border-color: rgba(247, 127, 0, 0.26); }
.support-metric-card.violet { border-color: rgba(139, 92, 246, 0.22); }
.support-metric-card.red { border-color: rgba(217, 75, 95, 0.24); }
.support-metric-card.slate { border-color: rgba(95, 113, 133, 0.24); }
.support-metric-card.green { border-color: rgba(24, 185, 133, 0.24); }

.support-toolbar {
  padding: 14px;
  display: grid;
  gap: 14px;
}

.support-tabs,
.support-mobile-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.support-tabs button,
.support-mobile-nav button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--text);
  font-weight: 700;
}

.support-tabs button.active,
.support-mobile-nav button.active {
  border-color: var(--cyan);
  background: linear-gradient(135deg, var(--cyan), #28b7af);
  color: #ffffff;
}

.support-filter-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(5, minmax(140px, 1fr));
  gap: 10px;
  align-items: center;
}

.support-filter-grid .operation-check,
.support-filter-grid .ghost-action,
.support-filter-grid .primary-action {
  min-height: 44px;
}

.support-toast {
  padding: 12px 14px;
  color: var(--green);
}

.support-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.4fr) minmax(280px, 0.95fr);
  gap: 16px;
  align-items: start;
}

.support-queue-panel,
.support-chat-panel,
.support-detail-panel {
  min-height: 720px;
  max-height: calc(100vh - 230px);
  overflow: hidden;
}

.support-queue-panel,
.support-detail-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.support-queue-list,
.support-detail-panel {
  overflow: auto;
}

.support-queue-list {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.support-queue-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(26, 36, 68, 0.05);
}

.support-queue-card.selected {
  border-color: rgba(47, 199, 190, 0.38);
  background: #f5fdfc;
}

.support-queue-card.late {
  border-left: 4px solid var(--red);
}

.support-queue-card.warning {
  border-left: 4px solid var(--yellow);
}

.support-queue-card header,
.support-queue-card footer,
.support-chat-head,
.support-chat-head-actions,
.support-live-indicators,
.support-compose-tools,
.support-actions-grid,
.support-modal footer,
.support-widget-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.support-queue-card em {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: var(--red);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.support-chat-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
}

.support-chat-head,
.support-detail-panel,
.support-toolbar .wide-filter,
.support-toolbar .operation-check,
.support-modal-form,
.support-side-section,
.support-note-box,
.support-compose-bar,
.support-live-indicators,
.support-chat-quickbar {
  padding: 14px 16px;
}

.support-live-indicators,
.support-chat-quickbar {
  gap: 8px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f8fbfd;
}

.support-message-stream {
  overflow: auto;
  display: grid;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fc 100%);
}

.support-message {
  display: flex;
}

.support-message.client { justify-content: flex-start; }
.support-message.agent { justify-content: flex-end; }
.support-message.internal { justify-content: center; }

.support-message-bubble {
  max-width: min(82%, 560px);
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #ffffff;
}

.support-message.agent .support-message-bubble {
  border-color: rgba(47, 199, 190, 0.26);
  background: #f3fbfa;
}

.support-message.internal .support-message-bubble {
  border-color: rgba(31, 125, 255, 0.18);
  background: #f5f8ff;
}

.support-message-bubble p,
.support-side-section h4,
.support-modal-form label {
  margin: 0;
}

.support-message-bubble footer {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 12px;
}

.support-attachments {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.support-attachments span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 12px;
  color: var(--text);
  background: #ffffff;
}

.support-chat-quickbar button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  background: #ffffff;
}

.support-note-box,
.support-compose-bar {
  display: grid;
  gap: 10px;
  border-top: 1px solid var(--line);
  background: #ffffff;
}

.support-note-box textarea,
.support-compose-bar textarea,
.support-modal-form textarea {
  min-height: 78px;
  border-radius: 14px;
}

.support-compose-bar {
  position: sticky;
  bottom: 0;
}

/* Public unauthenticated homepage */
:root {
  --public-navy: #07194a;
  --public-teal: #008f86;
  --public-teal-soft: #e8f7f5;
  --public-blue: #0874c9;
  --public-blue-soft: #eaf4fd;
  --public-purple: #6500a8;
  --public-purple-soft: #f2e8fb;
  --public-orange: #f45116;
  --public-orange-soft: #fff0ea;
  --public-text: #07194a;
  --public-muted: #45536a;
  --public-border: #e5e9ef;
}

.auth-view {
  min-height: 100vh;
  display: block;
  padding: 0;
  background: #ffffff;
}

.shell:has(.auth-view:not(.is-hidden)) .mobile-menu-toggle {
  display: none !important;
}

.public-access-shell {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  background: #ffffff;
  color: var(--public-text);
  font-family: Inter, Manrope, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  overflow-x: hidden;
}

.public-access-header {
  height: 102px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 40px;
  border-bottom: 1px solid var(--public-border);
  background: #ffffff;
}

.public-logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #050505;
  text-decoration: none;
}

.public-logo:hover {
  color: #050505;
  text-decoration: none;
}

.public-logo .oficerto-logo-mark {
  width: 72px;
  height: 72px;
  object-fit: cover;
  object-position: left center;
  filter: none;
}

.public-logo .oficerto-logo-text {
  display: grid;
  gap: 3px;
  color: #050505;
  line-height: 1;
}

.public-logo .oficerto-logo-text strong {
  font-size: 49px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.88;
}

.public-logo .oficerto-logo-text small {
  color: #111827;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
}

.admin-shortcut {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--public-border);
  border-radius: 8px;
  padding: 0 22px;
  background: #ffffff;
  color: var(--public-navy);
  box-shadow: 0 8px 18px rgba(7, 25, 74, 0.03);
  font-size: 15px;
  font-weight: 700;
}

.admin-shortcut svg {
  width: 18px;
  height: 18px;
}

.public-access-hero {
  max-width: 760px;
  margin: 28px auto 18px;
  padding: 0 20px;
  text-align: center;
}

.public-access-hero h1 {
  margin: 0 0 8px;
  color: var(--public-navy);
  font-size: 40px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: 0;
}

.public-access-hero p {
  margin: 0;
  color: var(--public-muted);
  font-size: 19px;
  line-height: 1.42;
  font-weight: 400;
}

.public-access-grid,
.benefits-strip,
.support-hero,
.public-access-footer,
.login-surface {
  width: calc(100% - 80px);
  max-width: 1410px;
  margin-inline: auto;
}

.public-access-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  margin-top: 14px;
}

.access-card {
  --card-color: var(--public-teal);
  --card-soft: var(--public-teal-soft);
  min-height: 402px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 20px 26px;
  border: 1px solid var(--public-border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(7, 25, 74, 0.035);
  text-align: center;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.access-card:hover {
  transform: translateY(-3px);
  border-color: rgba(7, 25, 74, 0.14);
  box-shadow: 0 18px 34px rgba(7, 25, 74, 0.08);
}

.access-oficina {
  --card-color: var(--public-blue);
  --card-soft: var(--public-blue-soft);
}

.access-pecas {
  --card-color: var(--public-purple);
  --card-soft: var(--public-purple-soft);
}

.access-franqueado {
  --card-color: var(--public-orange);
  --card-soft: var(--public-orange-soft);
}

.access-icon {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 999px;
  background: var(--card-soft);
  color: var(--card-color);
}

.access-icon svg {
  width: 40px;
  height: 40px;
  stroke-width: 2.1;
}

.access-card h2 {
  margin: 0 0 10px;
  color: var(--card-color);
  font-size: 21px;
  line-height: 1.24;
  font-weight: 800;
  letter-spacing: 0;
}

.access-card p {
  min-height: 102px;
  margin: 0 0 18px;
  color: var(--public-muted);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}

.access-primary {
  width: 100%;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  border: 1px solid var(--card-color);
  border-radius: 9px;
  background: #ffffff;
  color: var(--card-color);
  box-shadow: none;
  font-size: 16px;
  font-weight: 700;
}

.access-primary svg {
  width: 18px;
  height: 18px;
}

.access-cliente .access-primary {
  border-color: var(--public-teal);
  background: linear-gradient(180deg, #00998f, #00867f);
  color: #ffffff;
}

.access-card:not(.access-cliente) .access-primary:hover {
  background: color-mix(in srgb, var(--card-color) 8%, #ffffff);
}

.access-cliente .access-primary:hover,
.support-chat-button:hover {
  background: linear-gradient(180deg, #00867f, #00746f);
}

.access-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  border: 0;
  background: transparent;
  color: var(--card-color);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.access-link svg {
  width: 17px;
  height: 17px;
  transition: transform 200ms ease;
}

.access-link:hover svg {
  transform: translateX(3px);
}

.benefits-strip {
  min-height: 140px;
  display: grid;
  grid-template-columns: 1.55fr 0.75fr 0.85fr 0.85fr;
  align-items: center;
  margin-top: 28px;
  border: 1px solid var(--public-border);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(7, 25, 74, 0.025);
}

.benefits-strip article {
  min-height: 96px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 0 26px;
}

.benefits-strip article + article {
  border-left: 1px solid var(--public-border);
}

.benefits-strip article > svg {
  width: 58px;
  height: 58px;
  padding: 15px;
  border-radius: 999px;
  color: var(--public-teal);
  background: var(--public-teal-soft);
}

.benefits-strip strong {
  display: block;
  margin-bottom: 8px;
  color: #006a64;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
}

.benefits-strip span {
  display: block;
  color: var(--public-muted);
  font-size: 14px;
  line-height: 1.55;
}

.support-hero {
  min-height: 125px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-top: 22px;
  border: 1px solid var(--public-border);
  border-radius: 14px;
  padding: 22px 52px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(7, 25, 74, 0.025);
}

.support-copy {
  display: flex;
  align-items: center;
  gap: 28px;
}

.support-mark {
  position: relative;
  width: 118px;
  height: 72px;
  flex: 0 0 auto;
}

.support-mark span,
.support-mark b {
  position: absolute;
  display: block;
  border-radius: 999px;
}

.support-mark span {
  left: 0;
  top: 0;
  width: 72px;
  height: 58px;
  border: 4px solid var(--public-teal);
  background: #ffffff;
}

.support-mark span::after {
  content: "";
  position: absolute;
  left: 12px;
  bottom: -12px;
  width: 18px;
  height: 18px;
  border-left: 4px solid var(--public-teal);
  border-bottom: 4px solid var(--public-teal);
  transform: rotate(-18deg);
  background: #ffffff;
}

.support-mark b {
  right: 0;
  bottom: 0;
  width: 78px;
  height: 58px;
  background: var(--public-teal);
}

.support-mark b::before {
  content: "";
  position: absolute;
  inset: 25px 20px auto;
  height: 7px;
  border-radius: 999px;
  background:
    radial-gradient(circle, #ffffff 0 3px, transparent 4px) 0 0 / 18px 7px repeat-x;
}

.support-copy h2 {
  margin: 0 0 4px;
  color: var(--public-navy);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
}

.support-copy p,
.support-actions small {
  margin: 0;
  color: var(--public-muted);
  font-size: 16px;
}

.support-actions {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 300px;
}

.support-chat-button {
  min-width: 300px;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(180deg, #00998f, #00867f);
  color: #ffffff;
  box-shadow: none;
  font-size: 18px;
  font-weight: 700;
}

.support-chat-button svg {
  width: 22px;
  height: 22px;
}

.login-surface {
  display: none;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 0.72fr);
  gap: 22px;
  align-items: start;
  margin-top: 22px;
  border: 1px solid var(--public-border);
  border-radius: 14px;
  padding: 24px;
  background: #ffffff;
}

.login-surface.is-open {
  display: grid;
}

.public-login-card {
  box-shadow: none;
}

.password-setup-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: -2px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #176bd6;
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
  cursor: pointer;
}

.password-setup-link:hover {
  color: #0a4ea8;
  text-decoration: underline;
}

.password-setup-link svg {
  width: 14px;
  height: 14px;
}

.password-setup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 23, 48, 0.64);
  backdrop-filter: blur(3px);
}

.password-setup-backdrop[hidden],
.password-setup-dialog form[hidden] {
  display: none !important;
}

.password-setup-dialog {
  position: relative;
  width: min(440px, 100%);
  padding: 26px;
  border: 1px solid #dfe7f1;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(5, 26, 59, 0.28);
}

.password-setup-dialog > header {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 13px;
  align-items: start;
  margin-bottom: 20px;
}

.password-setup-dialog > header > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eaf4ff;
  color: #176bd6;
}

.password-setup-dialog > header > span svg {
  width: 22px;
  height: 22px;
}

.password-setup-dialog h3 {
  margin: 3px 0 6px;
  color: #10223b;
  font-size: 21px;
}

.password-setup-dialog header p:last-child,
.password-setup-sent {
  margin: 0;
  color: #66778d;
  font-size: 13px;
  line-height: 1.5;
}

.password-setup-dialog form {
  display: grid;
  gap: 14px;
}

.password-setup-dialog .primary-action {
  width: 100%;
  min-height: 44px;
}

.password-setup-sent {
  padding: 10px 12px;
  border-radius: 9px;
  background: #edf8f3;
  color: #167652;
  font-weight: 700;
}

.password-setup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #6b7a8e;
  cursor: pointer;
}

.password-setup-close:hover {
  background: #f1f5f9;
  color: #15243a;
}

.password-setup-close svg {
  width: 18px;
  height: 18px;
}

.password-setup-restart {
  justify-self: center;
  border: 0;
  background: transparent;
  color: #176bd6;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.password-setup-open {
  overflow: hidden;
}

.public-access-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  min-height: 58px;
  margin-top: 8px;
  margin-bottom: 12px;
  color: var(--public-muted);
  font-size: 14px;
}

.footer-brand-line {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.footer-brand-line img {
  width: 30px;
  height: 30px;
  object-fit: cover;
  object-position: left center;
  filter: none;
}

.footer-support-link {
  grid-column: 3;
  justify-self: end;
  color: var(--public-teal);
  gap: 8px;
}

.footer-support-link svg {
  width: 18px;
  height: 18px;
}

.footer-support-link strong {
  color: var(--public-teal);
}

.support-widget {
  position: fixed;
  right: 24px;
  bottom: 25px;
  z-index: 120;
  width: 270px;
  overflow: hidden;
  border: 1px solid var(--public-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(7, 25, 74, 0.16);
}

.support-widget.is-closed {
  display: none;
}

.support-widget-head {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--public-border);
}

.support-widget-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.support-widget-brand img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  object-position: left center;
  filter: none;
  flex: 0 0 auto;
}

.support-widget-brand strong,
.support-widget-brand span {
  display: block;
}

.support-widget-brand strong {
  color: var(--public-navy);
  font-size: 15px;
  line-height: 1.1;
  font-weight: 800;
}

.support-widget-brand span {
  color: var(--public-muted);
  font-size: 12px;
}

.support-widget-actions {
  display: flex;
  gap: 2px;
  flex-wrap: nowrap;
}

.support-widget-actions .icon-button {
  width: 28px;
  height: 28px;
  border: 0;
  color: #111827;
  background: transparent;
  box-shadow: none;
}

.support-widget-actions svg {
  width: 16px;
  height: 16px;
}

.support-widget-body {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #ffffff;
}

.support-widget-body [data-chat-welcome] {
  display: grid;
  gap: 10px;
}

.support-chat-registration {
  display: grid;
  gap: 10px;
}

.support-chat-registration[hidden],
.support-chat-conversation[hidden],
.support-widget-form[hidden] {
  display: none;
}

.support-chat-intro {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--public-navy);
}

.support-chat-intro > svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border-radius: 50%;
  color: #008f88;
  background: #e7f7f5;
}

.support-chat-intro strong,
.support-chat-intro span {
  display: block;
}

.support-chat-intro strong {
  font-size: 13px;
}

.support-chat-intro span {
  color: var(--public-muted);
  font-size: 11px;
}

.support-chat-registration label {
  display: grid;
  gap: 4px;
  color: #334155;
  font-size: 11px;
  font-weight: 700;
}

.support-chat-registration input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #dce3ea;
  border-radius: 7px;
  padding: 0 10px;
  color: #111827;
  background: #fff;
  font-size: 12px;
}

.support-chat-registration > div:last-child {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 7px;
}

.support-chat-registration button {
  min-height: 36px;
  border: 1px solid var(--public-teal);
  border-radius: 7px;
  color: var(--public-teal);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
}

.support-chat-registration button.primary-action {
  color: #fff;
  background: linear-gradient(180deg, #00998f, #00867f);
}

.support-chat-message {
  min-height: 0;
  margin: 0;
  color: #b42318;
  font-size: 11px;
}

.support-chat-status {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 2px 8px;
  color: #526175;
  font-size: 10px;
  font-weight: 700;
}

.support-chat-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #16a26a;
  box-shadow: 0 0 0 3px rgba(22, 162, 106, 0.12);
}

.support-chat-messages {
  display: flex;
  max-height: 280px;
  min-height: 170px;
  flex-direction: column;
  gap: 7px;
  overflow-y: auto;
  padding: 2px 2px 4px;
  scrollbar-width: thin;
}

.support-chat-message-row {
  max-width: 84%;
  align-self: flex-start;
  padding: 8px 10px;
  border-radius: 9px 9px 9px 2px;
  color: #1f2937;
  background: #f1f4f7;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.support-chat-message-row.is-client {
  align-self: flex-end;
  border-radius: 9px 9px 2px 9px;
  color: #fff;
  background: linear-gradient(135deg, #087dbe, #009c92);
}

.support-chat-message-row span,
.support-chat-message-row time {
  display: block;
}

.support-chat-file {
  display: flex;
  min-width: 190px;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
  padding: 8px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 7px;
  color: inherit;
  background: rgba(255, 255, 255, 0.72);
  text-decoration: none;
}

.support-chat-message-row.is-client .support-chat-file {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.14);
}

.support-chat-file svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.support-chat-file span,
.support-chat-file strong,
.support-chat-file small {
  display: block;
}

.support-chat-file span {
  min-width: 0;
}

.support-chat-file strong {
  max-width: 190px;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-chat-file small {
  margin-top: 2px;
  font-size: 9px;
  opacity: 0.75;
}

.support-chat-message-row time {
  margin-top: 3px;
  color: inherit;
  font-size: 9px;
  opacity: 0.7;
  text-align: right;
}

.support-widget.is-minimized .support-widget-body,
.support-widget.is-minimized .support-widget-form {
  display: none;
}

.support-bubble {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  padding: 12px;
  border-radius: 10px;
  background: #f4f6f8;
}

.support-bubble p {
  margin: 0;
  color: #111827;
  font-size: 13px;
  line-height: 1.3;
}

.support-bubble small {
  color: #7b8494;
  font-size: 10px;
}

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

.support-quick-actions button {
  min-height: 30px;
  border: 1px solid var(--public-teal);
  border-radius: 6px;
  background: #ffffff;
  color: var(--public-teal);
  font-size: 12px;
  font-weight: 700;
}

.support-widget-form {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 42px;
  gap: 8px;
  padding: 10px 12px 12px;
  border-top: 1px solid #f0f2f5;
}

.support-chat-attach {
  display: grid;
  min-height: 40px;
  border: 1px solid #e5e9ef;
  border-radius: 8px;
  place-items: center;
  color: #657084;
  background: #fff;
  cursor: pointer;
}

.support-chat-attach:hover {
  border-color: var(--public-teal);
  color: var(--public-teal);
}

.support-chat-attach svg {
  width: 17px;
  height: 17px;
}

.support-chat-attachment-preview {
  display: flex;
  grid-column: 1 / -1;
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid #dbe7e6;
  border-radius: 8px;
  color: #23423f;
  background: #f2fbfa;
}

.support-chat-attachment-preview[hidden] {
  display: none;
}

.support-chat-attachment-preview > svg {
  width: 17px;
  color: var(--public-teal);
}

.support-chat-attachment-preview span {
  min-width: 0;
  flex: 1;
}

.support-chat-attachment-preview strong,
.support-chat-attachment-preview small {
  display: block;
}

.support-chat-attachment-preview strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-chat-attachment-preview small {
  color: #73807f;
  font-size: 9px;
}

.support-chat-attachment-preview button {
  display: grid;
  border: 0;
  place-items: center;
  color: #667085;
  background: transparent;
  cursor: pointer;
}

.support-widget-form input {
  min-height: 40px;
  border: 1px solid #eef1f5;
  border-radius: 6px;
  padding: 0 10px;
  color: #111827;
  background: #f8fafc;
  font-size: 12px;
}

.support-widget-form .primary-action {
  width: 42px;
  min-height: 40px;
  border-radius: 8px;
  padding: 0;
  background: linear-gradient(180deg, #00998f, #00867f);
  color: #ffffff;
}

.support-widget-form svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 1279px) {
  .public-access-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .benefits-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px 0;
  }

  .benefits-strip article {
    min-height: 120px;
  }

  .benefits-strip article + article {
    border-left: 0;
  }

  .benefits-strip article:nth-child(even) {
    border-left: 1px solid var(--public-border);
  }
}

@media (max-width: 899px) {
  .public-access-header {
    height: 86px;
    padding: 0 20px;
  }

  .public-logo .oficerto-logo-mark {
    width: 58px;
    height: 58px;
  }

  .public-logo .oficerto-logo-text strong {
    font-size: 38px;
  }

  .public-logo .oficerto-logo-text small {
    font-size: 8px;
  }

  .admin-shortcut {
    min-height: 44px;
    padding: 0 14px;
    font-size: 13px;
  }

  .public-access-hero h1 {
    font-size: 32px;
  }

  .public-access-hero p {
    font-size: 17px;
  }

  .public-access-grid,
  .benefits-strip,
  .support-hero,
  .public-access-footer,
  .login-surface {
    width: calc(100% - 32px);
  }

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

  .support-hero,
  .login-surface {
    grid-template-columns: 1fr;
  }

  .support-actions {
    justify-items: stretch;
    min-width: 0;
  }

  .support-chat-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 599px) {
  .password-setup-backdrop {
    align-items: end;
    padding: 0;
  }

  .password-setup-dialog {
    width: 100%;
    padding: 24px 18px calc(20px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
  }

  .public-access-header {
    height: auto;
    min-height: 78px;
    padding: 14px 16px;
  }

  .public-logo {
    gap: 8px;
  }

  .public-logo .oficerto-logo-mark {
    width: 44px;
    height: 44px;
  }

  .public-logo .oficerto-logo-text strong {
    font-size: 28px;
  }

  .public-logo .oficerto-logo-text small {
    display: none;
  }

  .admin-shortcut {
    gap: 8px;
    padding: 0 10px;
    font-size: 12px;
  }

  .admin-shortcut span {
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .public-access-hero {
    margin-top: 24px;
  }

  .public-access-hero h1 {
    font-size: 29px;
  }

  .public-access-hero p {
    font-size: 16px;
  }

  .public-access-hero br {
    display: none;
  }

  .public-access-grid {
    grid-template-columns: 1fr;
  }

  .access-card {
    min-height: 360px;
  }

  .benefits-strip {
    grid-template-columns: 1fr;
    padding: 8px 0;
  }

  .benefits-strip article,
  .benefits-strip article:nth-child(even) {
    min-height: auto;
    border-left: 0;
    padding: 18px;
  }

  .benefits-strip article + article {
    border-top: 1px solid var(--public-border);
  }

  .support-hero {
    padding: 22px 18px;
  }

  .support-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .support-copy h2 {
    font-size: 25px;
  }

  .public-access-footer {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding-bottom: 86px;
  }

  .footer-brand-line,
  .footer-support-link {
    grid-column: auto;
    justify-self: center;
  }

  .support-widget {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }
}

.support-detail-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 16px 16px;
}

.support-detail-form .wide {
  grid-column: 1 / -1;
}

.support-actions-grid {
  padding: 0 16px 16px;
}

.support-actions-grid .ghost-action {
  flex: 1 1 170px;
}

.support-side-section {
  display: grid;
  gap: 10px;
  border-top: 1px solid var(--line);
}

.support-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(26, 36, 68, 0.36);
}

.support-modal {
  width: min(720px, 100%);
  padding: 18px;
}

.support-modal.large {
  width: min(920px, 100%);
}

.support-modal-form {
  display: grid;
  gap: 12px;
}

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

.support-mobile-nav {
  display: none;
}

.support-floating-button {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 54px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--cyan), var(--blue));
  box-shadow: 0 18px 32px rgba(31, 125, 255, 0.24);
}

.support-entry-fab {
  position: fixed;
  right: 0;
  bottom: 24px;
  z-index: 55;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--text);
  background: #ffffff;
  box-shadow: 0 20px 36px rgba(26, 36, 68, 0.14);
  opacity: 0.08;
  transform: translateX(calc(100% - 10px));
  transition: opacity .18s ease, transform .18s ease, right .18s ease;
}

.support-entry-fab:hover,
.support-entry-fab:focus-visible {
  right: 16px;
  opacity: 1;
  transform: translateX(0);
}

.support-entry-fab span {
  display: grid;
  text-align: left;
}

.support-entry-fab strong {
  font-size: 15px;
}

.support-entry-fab small {
  color: var(--muted);
}

@media (max-width: 1400px) {
  .support-dashboard-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .support-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px) {
  .support-center-hero,
  .support-workspace,
  .support-detail-form,
  .support-filter-grid,
  .support-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .support-queue-panel,
  .support-chat-panel,
  .support-detail-panel {
    max-height: none;
    min-height: auto;
  }
}

@media (max-width: 760px) {
  .support-toolbar,
  .support-queue-panel,
  .support-chat-panel,
  .support-detail-panel {
    border-radius: 16px;
  }

  .support-workspace > * {
    display: none;
  }

  .support-workspace > *.mobile-active {
    display: grid;
  }

  .support-mobile-nav {
    position: sticky;
    bottom: 10px;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 32px rgba(26, 36, 68, 0.12);
  }

  .support-mobile-nav button {
    min-height: 48px;
    border-radius: 14px;
    justify-content: center;
  }

  .support-chat-panel {
    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;
    min-height: calc(100vh - 220px);
  }

  .support-message-bubble {
    max-width: 100%;
  }

  .support-compose-bar {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
  }

  .support-floating-button {
    right: 14px;
    bottom: 84px;
    width: 58px;
    height: 58px;
    min-width: 58px;
    padding: 0;
    justify-content: center;
  }

  .support-floating-button span {
    display: none;
  }

  .support-entry-fab {
    right: 14px;
    bottom: 84px;
    width: 58px;
    height: 58px;
    min-width: 58px;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
  }

  .support-entry-fab span {
    display: none;
  }
}

/* Oficerto dashboard and support UX refresh */
:root { --of-navy:#06194a; --of-teal:#009b7a; --of-teal-soft:#e8f7f3; --of-blue:#1769e0; --of-purple:#7200c9; --of-pink:#f50046; --of-pink-soft:#fff3f6; --of-border:#e5e7eb; --of-muted:#44506a; }
html, body { overflow-x:hidden; }
body:not(.sidebar-collapsed) .workspace { grid-template-columns:minmax(250px,280px) minmax(0,1fr); }
.workspace,.main { background:#fff; }
.main { min-width:0; padding:0 24px 24px; }
.topbar { min-height:70px; padding:12px 0; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(229,231,235,.86); }
.topbar-title { display:none; }
.sidebar { padding:18px 14px; background:#fff; }
.sidebar-logo { width:205px; height:48px; filter:none; }
.sidebar-item { min-height:44px; border-radius:8px; color:var(--of-navy); }
.sidebar-item svg { color:var(--of-navy); }
.sidebar-item.active { color:var(--of-teal); border-color:transparent; background:var(--of-teal-soft); box-shadow:none; }
.sidebar-item.active svg { color:var(--of-teal); }
.sidebar-item.active::before { display:none; }
.oficerto-dashboard { gap:12px; }
.dashboard-hero-banner { position:relative; min-height:clamp(190px,18vw,242px); display:grid; grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr); align-items:center; overflow:hidden; border-radius:10px; padding:clamp(22px,3vw,42px) clamp(24px,4vw,56px); background:radial-gradient(circle at 72% 45%,rgba(47,199,190,.24),transparent 24rem),linear-gradient(115deg,#020b18 0%,#061526 52%,#0a1724 100%); }
.dashboard-hero-banner img { width:min(680px,100%); justify-self:end; align-self:end; object-fit:contain; filter:drop-shadow(0 24px 36px rgba(0,0,0,.36)); }
.dashboard-hero-copy { position:relative; z-index:1; display:grid; gap:12px; color:#fff; }

/* Oficerto official logo pass */
.public-logo,
.footer-brand-line img,
.support-widget-brand img,
.sidebar-logo,
.atendimento-brand {
  background: #07164a;
}

.public-logo {
  width: max-content;
  max-width: 100%;
  min-height: 74px;
  padding: 10px 16px;
  border-radius: 16px;
  gap: 0;
}

.public-logo .oficerto-logo-full {
  display: block;
  width: min(280px, 58vw);
  height: auto;
}

.public-logo .oficerto-logo-mark,
.public-logo .oficerto-logo-text {
  display: none;
}

.footer-brand-line img {
  width: 150px;
  height: auto;
  border-radius: 10px;
  padding: 7px 10px;
  object-fit: contain;
  object-position: center;
}

.support-widget-brand img {
  width: 126px;
  height: auto;
  border-radius: 9px;
  padding: 6px 8px;
  object-fit: contain;
  object-position: center;
}

.sidebar-logo {
  width: 205px;
  height: auto;
  max-width: 100%;
  border-radius: 10px;
  padding: 8px 10px;
  object-fit: contain;
  object-position: center;
}

.atendimento-brand {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: max-content;
  max-width: 100%;
  min-height: 54px;
  border-radius: 12px;
  padding: 8px 12px;
  color: #ffffff;
}

.atendimento-brand img {
  width: min(190px, 58vw);
  height: auto;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 640px) {
  .public-logo {
    min-height: 58px;
    padding: 8px 10px;
  }

  .public-logo .oficerto-logo-full {
    width: min(220px, 66vw);
  }

  .atendimento-brand img {
    width: min(165px, 62vw);
  }
}
.dashboard-hero-copy p,.dashboard-hero-copy strong { margin:0; }
.dashboard-hero-copy p { color:#19c79f; font-size:13px; font-weight:900; }
.dashboard-hero-copy h2 { margin:0; font-size:clamp(30px,3.25vw,44px); line-height:1.05; letter-spacing:0; }
.dashboard-hero-copy h2 span { color:#00b994; }
.dashboard-hero-copy i { width:120px; height:2px; background:#00b994; }
.dashboard-hero-copy strong { max-width:560px; font-size:clamp(16px,1.4vw,20px); font-weight:500; }
.dashboard-hero-dots { position:absolute; left:50%; bottom:18px; display:flex; gap:10px; transform:translateX(-50%); }
.dashboard-hero-dots b { width:11px; height:11px; border-radius:999px; background:rgba(255,255,255,.58); }
.dashboard-hero-dots b:first-child { background:#00b994; }
.dashboard-registration-alert { min-height:90px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; border:1px solid #ffd9e4; border-radius:10px; padding:14px 28px; color:var(--of-navy); background:var(--of-pink-soft); }
.dashboard-registration-alert h3,.dashboard-section-head h2,.dashboard-plan-card h3,.dashboard-tool-card h3 { margin:0; color:var(--of-navy); letter-spacing:0; }
.dashboard-registration-alert p,.dashboard-section-head p,.dashboard-plan-card p,.dashboard-tool-card p { margin:0; color:var(--of-muted); }
.alert-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:999px; color:#fff; background:var(--of-pink); }
.primary-action.pink { min-width:220px; color:#fff; background:var(--of-pink); }
.dashboard-section-head { margin:4px 0 8px; }
.dashboard-section-head h2 { font-size:23px; }
.dashboard-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dashboard-plan-card { min-width:0; min-height:390px; display:flex; flex-direction:column; gap:16px; border:1px solid var(--of-border); border-radius:10px; padding:20px 22px; background:#fff; box-shadow:0 10px 24px rgba(6,25,74,.035); }
.dashboard-plan-card header { display:grid; grid-template-columns:78px minmax(0,1fr); gap:18px; align-items:center; }
.dashboard-plan-card small { color:#111827; font-weight:900; }
.dashboard-plan-card h3 { font-size:29px; }
.dashboard-plan-card.green h3,.dashboard-plan-card.green li svg,.dashboard-tool-card.green span,.dashboard-tool-card.green button { color:var(--of-teal); }
.dashboard-plan-card.blue h3,.dashboard-plan-card.blue li svg,.dashboard-tool-card.blue span,.dashboard-tool-card.blue button { color:var(--of-blue); }
.dashboard-plan-card.purple h3,.dashboard-plan-card.purple li svg { color:var(--of-purple); }
.plan-icon { width:78px; height:78px; display:grid; place-items:center; border-radius:999px; background:#eefaf8; }
.dashboard-plan-card.blue .plan-icon { background:#eef4ff; }
.dashboard-plan-card.purple .plan-icon { background:#f5eafd; }
.plan-icon svg { width:42px; height:42px; }
.dashboard-plan-card ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.dashboard-plan-card li { display:grid; grid-template-columns:18px minmax(0,1fr); gap:10px; color:var(--of-navy); font-size:14px; }
.dashboard-plan-card .plan-note { display:flex; gap:8px; margin-top:auto; border-top:1px solid var(--of-border); padding-top:14px; font-size:13px; }
.dashboard-plan-card button { margin-top:auto; justify-content:center; color:currentColor; }
.dashboard-bottom-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr); gap:20px; }
.dashboard-tools-grid,.dashboard-coming-grid { display:grid; gap:12px; }
.dashboard-tools-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-coming-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dashboard-tool-card,.dashboard-coming-card { min-width:0; border:1px solid var(--of-border); border-radius:10px; background:#fff; }
.dashboard-tool-card { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; padding:14px; }
.dashboard-tool-card>span { display:grid; place-items:center; }
.dashboard-tool-card svg { width:36px; height:36px; }
.dashboard-tool-card h3 { font-size:14px; }
.dashboard-tool-card p { font-size:12px; }
.dashboard-tool-card button { min-height:32px; display:inline-flex; align-items:center; gap:8px; border:0; padding:0; background:transparent; font-weight:900; }
.dashboard-coming-card { min-height:112px; display:grid; place-items:center; gap:7px; padding:14px 10px; text-align:center; }
.dashboard-coming-card strong { color:var(--of-navy); font-size:12px; }
.dashboard-coming-card span { display:inline-flex; align-items:center; gap:5px; color:var(--of-teal); font-size:12px; font-weight:800; }
.support-center-shell { min-width:0; gap:12px; }
.support-center-hero { grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:74px; }
.support-help-card { display:flex; align-items:center; gap:10px; padding:10px 12px; }
.support-help-card p { display:none; }
.support-help-icon { width:40px; height:40px; border-radius:12px; }
.support-dashboard-grid { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
.support-metric-card { min-height:78px; padding:12px; border-radius:10px; box-shadow:none; }
.support-metric-card strong { font-size:23px; color:var(--of-navy); }
.support-toolbar { gap:10px; border-radius:10px; padding:10px; box-shadow:0 12px 26px rgba(6,25,74,.055); }
.support-tabs { gap:6px; }
.support-tabs button { min-height:34px; padding:6px 10px; font-size:12px; }
.support-filter-grid { display:grid; grid-template-columns:minmax(280px,2fr) repeat(3,minmax(132px,.75fr)) repeat(3,auto); gap:8px; align-items:stretch; }
.support-filter-grid>* { min-width:0; min-height:42px; }
.support-filter-grid select:nth-of-type(n+4),.support-filter-grid .operation-check,.support-filter-grid select[data-operation-filter="sort"] { display:none; }
.support-workspace { grid-template-columns:minmax(280px,320px) minmax(500px,1fr) minmax(320px,360px); gap:12px; align-items:stretch; min-width:0; }
.support-workspace>* { min-width:0; }
.support-queue-panel,.support-chat-panel,.support-detail-panel { min-height:0; height:calc(100vh - 296px); max-height:none; border-radius:10px; overflow:hidden; box-shadow:none; }
.support-queue-panel .panel-head,.support-chat-head,.support-details-head { position:sticky; top:0; z-index:2; min-height:58px; margin:0; border-bottom:1px solid var(--of-border); background:#fff; }
.support-queue-list { padding:10px; }
.support-queue-card { gap:8px; border-radius:10px; padding:12px; box-shadow:none; }
.support-queue-main h4,.support-queue-main p,.support-queue-main small,.support-chat-head h3,.support-chat-head p,.support-details-head span { overflow:hidden; text-overflow:ellipsis; }
.support-queue-main h4,.support-queue-main p,.support-chat-head p,.support-details-head span { white-space:nowrap; }
.support-queue-main small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.support-message-stream { min-height:0; overflow-y:auto; }
.support-message-bubble { max-width:min(86%,640px); overflow-wrap:anywhere; }
.support-chat-quickbar,.support-live-indicators,.support-compose-tools,.support-actions-grid { display:flex; flex-wrap:wrap; }
.support-note-box { padding:10px 16px; }
.support-note-box textarea { min-height:54px; }
.support-compose-bar { grid-template-columns:auto minmax(0,1fr) auto; align-items:end; gap:10px; padding:10px; }
.support-compose-bar textarea { min-height:46px; max-height:110px; }
.support-compose-bar .primary-action { min-width:104px; }
.support-detail-panel { display:grid; grid-template-rows:auto minmax(0,1fr); overflow-y:auto; }
.support-detail-form { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
.support-actions-grid .ghost-action { flex:1 1 140px; min-height:40px; }
.operation-empty { min-height:180px; }
.signup-surface { width:calc(100% - 80px); max-width:1120px; display:none; grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr); gap:20px; align-items:start; margin:24px auto 0; border:1px solid var(--public-border); border-radius:20px; padding:22px; background:#fff; box-shadow:0 18px 42px rgba(7,25,74,.08); }
.signup-surface.is-open { display:grid; }
.access-signup-card { display:grid; gap:14px; }
.access-signup-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
@media (max-width:1279px) {
  body:not(.sidebar-collapsed) .workspace,.workspace { grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr); }
  body:not(.sidebar-collapsed) .sidebar-brand-text,body:not(.sidebar-collapsed) .sidebar-item span,body:not(.sidebar-collapsed) .nav-group>span,body:not(.sidebar-collapsed) .sidebar-user-info,body:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child){display:none;}
  .dashboard-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dashboard-bottom-grid,.dashboard-tools-grid{grid-template-columns:1fr;}
  .support-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .support-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);}
  .support-detail-panel{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,92vw);height:100vh;border-radius:0;transform:translateX(105%);transition:transform 180ms ease;}
  .support-detail-panel.mobile-active{transform:translateX(0);}
}
@media (max-width:767px) {
  .main{padding:0 14px 88px;}
  .topbar{min-height:58px;}
  .dashboard-hero-banner,.dashboard-registration-alert,.dashboard-plan-grid,.dashboard-coming-grid,.support-center-hero,.support-filter-grid,.signup-surface{grid-template-columns:1fr;}
  .dashboard-hero-banner{min-height:auto;padding:22px 16px 42px;}
  .dashboard-hero-banner img{width:100%;}
  .dashboard-registration-alert{padding:16px;}
  .primary-action.pink{width:100%;}
  .dashboard-plan-card{min-height:0;}
  .support-dashboard-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,72vw);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;}
  .support-metric-card{scroll-snap-align:start;}
  .support-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .support-tabs button{flex:0 0 auto;}
  .support-workspace{display:block;}
  .support-workspace>*{display:none;height:calc(100vh - 220px);}
  .support-workspace>*.mobile-active{display:grid;}
  .support-chat-panel.mobile-active,.support-queue-panel.mobile-active{height:calc(100vh - 184px);}
  .support-detail-panel{width:100vw;}
  .support-compose-bar{position:sticky;bottom:env(safe-area-inset-bottom,0);grid-template-columns:1fr;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));}
  .support-compose-tools{justify-content:space-between;}
  .support-compose-bar .primary-action{width:100%;min-height:44px;}
  .support-mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:12px;right:12px;bottom:12px;z-index:50;padding:8px;border:1px solid var(--of-border);border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(9,24,49,.14);}
  .support-floating-button{right:16px;bottom:82px;}
  .signup-surface{width:calc(100% - 28px);padding:16px;}
}

/* Central de Atendimento detail panel hotfix */
.support-workspace {
  grid-template-columns: minmax(280px, 310px) minmax(520px, 1fr) minmax(420px, 460px) !important;
}

.support-detail-panel {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.support-details-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px !important;
}

.support-details-head > div {
  min-width: 0;
}

.support-details-head h3,
.support-details-head span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--of-border);
  background: #ffffff;
}

.support-detail-actions > .ghost-action,
.support-detail-actions > .primary-action {
  flex: 1 1 calc(50% - 8px);
  min-width: 176px;
  min-height: 38px;
  justify-content: center;
  padding-inline: 10px;
  white-space: normal;
  line-height: 1.15;
}

.support-detail-actions .primary-action {
  color: #06194a;
}

.support-more-actions {
  flex: 1 1 100%;
  min-width: 0;
}

.support-more-actions summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 0 12px;
  color: var(--of-navy);
  background: #fff;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.support-more-actions div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.support-more-actions .danger {
  color: #b42318;
  border-color: #ffd0cc;
}

.support-detail-body {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 10px;
  background: #fbfdff;
}

.support-detail-body .support-side-section {
  padding: 0 !important;
  border: 1px solid var(--of-border);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.support-detail-body .support-side-section + .support-side-section {
  margin-top: 0;
}

.support-detail-body .support-side-section summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: var(--of-navy);
  background: #f8fbfd;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.support-detail-body .support-detail-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 10px;
}

.support-detail-body .support-detail-form .wide {
  grid-column: 1 / -1;
}

.support-detail-body label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--of-muted);
  font-size: 11px;
  font-weight: 800;
}

.support-detail-body input,
.support-detail-body select {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border-radius: 8px;
  padding-inline: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.support-detail-body .records {
  padding: 10px;
}

.support-detail-panel .support-entry-fab,
.support-detail-panel .support-floating-button {
  display: none !important;
}

@media (max-width: 1279px) {
  .support-workspace {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) !important;
  }

  .support-detail-panel {
    width: min(460px, 92vw) !important;
  }
}

@media (max-width: 767px) {
  .support-workspace {
    display: block !important;
  }

  .support-detail-panel {
    width: 100vw !important;
  }

  .support-detail-actions > .ghost-action,
  .support-detail-actions > .primary-action {
    flex-basis: 100%;
    min-height: 44px;
  }
}

/* Atendimento Oficerto - jornada publica v2 */
.public-client-mode .workspace {
  grid-template-columns: 1fr !important;
}

.public-client-mode .sidebar,
.public-client-mode .topbar,
.public-client-mode .mobile-menu-toggle,
.public-client-mode .support-entry-fab {
  display: none !important;
}

.public-client-mode .main {
  padding: 0 !important;
  background: #fafbfc;
}

body.public-client-mode,
.public-client-mode .workspace,
.public-client-mode .main,
.atendimento-page {
  max-width: 100vw;
  overflow-x: hidden;
}

.public-client-mode .view[data-view-panel="client"].active {
  display: block;
}

.atendimento-page {
  min-height: 100vh;
  padding: clamp(18px, 3vw, 34px);
  background: #fafbfc;
  color: #101828;
}

.atendimento-header {
  max-width: 1180px;
  margin: 0 auto 24px;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  text-align: center;
}

.atendimento-home-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  padding: 0 14px;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  background: #fff;
  color: #07164a;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}

.atendimento-home-link:hover {
  border-color: #008f83;
  color: #00796f;
}

.atendimento-home-link svg {
  width: 18px;
  height: 18px;
}

.atendimento-brand {
  display: inline-grid;
  grid-template-columns: 46px auto;
  align-items: center;
  gap: 8px;
  justify-self: start;
  color: #07164a;
  font-weight: 900;
  font-size: 22px;
}

.atendimento-brand img {
  width: 46px;
  height: 46px;
  object-fit: cover;
  object-position: left center;
  border-radius: 6px;
}

.atendimento-header h1 {
  margin: 0;
  color: #07164a;
  font-size: clamp(24px, 3.6vw, 42px);
  line-height: 1.08;
}

.atendimento-header h1 span {
  color: #008f83;
}

.atendimento-header p {
  margin: 8px 0 0;
  color: #667085;
  font-weight: 700;
}

.atendimento-stepper {
  max-width: 1180px;
  margin: 0 auto 26px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  position: relative;
}

.atendimento-stepper::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 18px;
  height: 2px;
  background: #e7e9ee;
}

.atendimento-stepper button {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.atendimento-stepper i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #eef0f3;
  color: #07164a;
  font-style: normal;
}

.atendimento-stepper .active i,
.atendimento-stepper .done i {
  background: #008f83;
  color: #ffffff;
}

.atendimento-stepper .active span,
.atendimento-stepper .done span {
  color: #07164a;
}

.atendimento-content {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(520px, 680px) minmax(260px, 1fr);
  gap: 24px;
  align-items: start;
}

.atendimento-card,
.atendimento-aside .support-card,
.atendimento-benefits article {
  border: 1px solid #e7e9ee;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(7, 22, 74, 0.08);
}

.atendimento-card {
  min-height: 520px;
  padding: clamp(18px, 2.2vw, 28px);
}

.atendimento-card form,
.success-screen,
.atendimento-aside .support-card {
  display: grid;
  gap: 16px;
}

.atendimento-card h2 {
  margin: 0 0 4px;
  color: #07164a;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.15;
}

.atendimento-card h3 {
  margin: 6px 0 0;
  color: #07164a;
  font-size: 15px;
}

.atendimento-card label {
  display: grid;
  gap: 7px;
  color: #07164a;
  font-weight: 800;
}

.atendimento-card input,
.atendimento-card select,
.atendimento-card textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid #e4e8ef;
  border-radius: 10px;
  background: #ffffff;
  color: #101828;
  padding: 0 13px;
}

.atendimento-card textarea {
  min-height: 112px;
  padding-block: 12px;
  resize: vertical;
}

.atendimento-card input:focus,
.atendimento-card select:focus,
.atendimento-card textarea:focus {
  border-color: #008f83;
  box-shadow: 0 0 0 3px rgba(0, 143, 131, 0.12);
}

.field-error.active {
  display: block;
  color: #d92d20;
  font-size: 12px;
}

.atendimento-security,
.loading-row,
.dealership-card,
.vehicle-card,
.mini-upload,
.optional-doc-row {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e7e9ee;
  border-radius: 12px;
  padding: 12px;
  background: #f8fafc;
  color: #667085;
}

.otp-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.otp-grid input {
  height: 56px;
  text-align: center;
  font-size: 22px;
  font-weight: 900;
}

.sms-actions,
.atendimento-actions,
.success-actions,
.doc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.sms-actions {
  justify-content: space-between;
}

.atendimento-actions {
  justify-content: space-between;
  margin-top: 6px;
}

.atendimento-actions .primary-action,
.atendimento-actions .ghost-action,
.success-actions .primary-action,
.success-actions .ghost-action {
  min-height: 46px;
  justify-content: center;
}

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

.segmented {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  border: 0;
  padding: 0;
  margin: 0;
}

.segmented legend {
  flex: 1 0 100%;
  color: #07164a;
  font-weight: 800;
}

.segmented button {
  min-width: 110px;
  min-height: 42px;
  border: 1px solid #e4e8ef;
  border-radius: 10px;
  background: #fff;
  color: #07164a;
  font-weight: 900;
}

.segmented button.active {
  border-color: #008f83;
  background: #eff9f7;
  color: #00786f;
}

.vehicle-card,
.dealership-card {
  display: grid;
  align-items: start;
}

.vehicle-card > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vehicle-card strong,
.dealership-card strong {
  color: #07164a;
}

.vehicle-card span,
.dealership-card span,
.vehicle-card dd,
.vehicle-card p,
.atendimento-help {
  color: #667085;
}

.vehicle-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.vehicle-card dt {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.vehicle-card dd {
  margin: 2px 0 0;
}

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

.file-upload-card {
  display: grid;
  gap: 12px;
  border: 1px solid #e7e9ee;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}

.file-upload-card.done {
  border-color: rgba(0, 143, 131, 0.32);
  background: #eff9f7;
}

.file-upload-card > div:first-child {
  display: grid;
  gap: 5px;
}

.file-upload-card svg {
  color: #008f83;
}

.file-upload-card strong {
  color: #07164a;
}

.file-upload-card span,
.file-upload-card p {
  margin: 0;
  color: #667085;
  font-size: 12px;
}

.doc-actions .ghost-action {
  flex: 1 1 auto;
  min-height: 38px;
  padding-inline: 10px;
}

.atendimento-progress {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  color: #07164a;
  text-align: center;
  font-size: 13px;
  font-weight: 900;
}

.atendimento-progress i {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7e9ee;
}

.atendimento-progress b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #008f83;
}

.atendimento-aside {
  display: grid;
  gap: 14px;
}

.atendimento-aside .support-card {
  padding: 20px;
  background: #07164a;
  color: #ffffff;
}

.atendimento-aside .support-card span {
  color: rgba(255, 255, 255, 0.78);
}

.atendimento-benefits {
  max-width: 1180px;
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.atendimento-benefits article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px;
}

.atendimento-benefits svg {
  color: #008f83;
}

.atendimento-benefits strong {
  display: block;
  color: #07164a;
}

.atendimento-benefits span {
  color: #667085;
  font-size: 12px;
}

.success-screen {
  min-height: 420px;
  justify-items: center;
  align-content: center;
  text-align: center;
}

.success-screen .success-icon {
  width: 92px;
  height: 92px;
  border-radius: 999px;
  background: #e8f6f2;
  color: #008f83;
}

.success-screen strong {
  color: #008f83;
  font-size: 32px;
}

@media (max-width: 980px) {
  .atendimento-header,
  .atendimento-content,
  .atendimento-benefits,
  .upload-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .atendimento-header {
    justify-items: center;
  }

  .atendimento-brand {
    justify-self: center;
  }

  .atendimento-stepper {
    max-width: 100%;
    display: flex;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .atendimento-stepper::before {
    display: none;
  }

  .atendimento-stepper button {
    min-width: 86px;
  }
}

@media (max-width: 640px) {
  .atendimento-page {
    padding: calc(env(safe-area-inset-top, 0px) + 16px) 16px calc(env(safe-area-inset-bottom, 0px) + 20px);
  }

  .atendimento-header h1 {
    font-size: 25px;
    text-wrap: balance;
  }

  .atendimento-header p {
    max-width: 330px;
    margin-inline: auto;
  }

  .atendimento-card {
    min-height: 0;
    padding: 18px;
  }

  .otp-grid {
    gap: 7px;
  }

  .otp-grid input {
    height: 50px;
    padding: 0;
  }

  .atendimento-actions,
  .success-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .atendimento-actions .primary-action,
  .atendimento-actions .ghost-action,
  .success-actions .primary-action,
  .success-actions .ghost-action {
    width: 100%;
  }
}

.tracking-page {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
}

.tracking-topbar,
.tracking-hero,
.tracking-card,
.tracking-summary,
.tracking-help {
  border: 1px solid #e7e9ee;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(7, 22, 74, 0.07);
}

.tracking-topbar {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 18px;
}

.tracking-profile {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #07164a;
}

.tracking-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 26px;
}

.tracking-hero h1,
.tracking-card h2,
.tracking-summary h2 {
  margin: 0;
  color: #07164a;
}

.tracking-hero p {
  margin: 8px 0 0;
  color: #667085;
}

.tracking-hero aside {
  min-width: 220px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e7e9ee;
  border-radius: 18px;
  background: #f8fafc;
}

.tracking-hero aside span,
.tracking-current span,
.tracking-summary span,
.tracking-safe {
  color: #667085;
}

.tracking-hero aside strong {
  color: #008f83;
  font-size: 28px;
}

.tracking-hero aside em {
  width: max-content;
  grid-column: 1 / -1;
  border-radius: 999px;
  padding: 5px 10px;
  color: #00786f;
  background: #eff9f7;
  font-style: normal;
  font-weight: 900;
}

.tracking-card {
  display: grid;
  gap: 22px;
  padding: 24px;
}

.tracking-card > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.tracking-card > header strong {
  color: #008f83;
}

.tracking-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  position: relative;
}

.tracking-steps > div {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
  color: #667085;
}

.tracking-steps i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #eef0f3;
  color: #07164a;
  font-style: normal;
  font-weight: 900;
}

.tracking-steps .done i {
  background: #008f83;
  color: #ffffff;
}

.tracking-steps .active i {
  background: #07164a;
  color: #ffffff;
}

.tracking-steps strong {
  color: #07164a;
  font-size: 13px;
}

.tracking-steps span {
  font-size: 12px;
}

.tracking-current {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  border-radius: 18px;
  padding: 18px;
  background: #eff9f7;
  color: #008f83;
}

.tracking-current strong {
  display: block;
  color: #07164a;
  font-size: 20px;
}

.tracking-current p {
  margin: 6px 0 0;
  color: #667085;
}

.tracking-shortcuts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.tracking-shortcuts button {
  min-height: 132px;
  display: grid;
  gap: 8px;
  justify-items: start;
  border: 1px solid #e7e9ee;
  border-radius: 18px;
  padding: 18px;
  background: #ffffff;
  color: #07164a;
  box-shadow: 0 12px 28px rgba(7, 22, 74, 0.05);
  text-align: left;
}

.tracking-shortcuts svg {
  color: #008f83;
}

.tracking-shortcuts span {
  color: #667085;
  font-size: 13px;
}

.tracking-summary {
  display: grid;
  gap: 16px;
  padding: 24px;
}

.tracking-summary > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.tracking-summary section {
  display: grid;
  gap: 8px;
}

.tracking-summary section + section {
  border-left: 1px solid #e7e9ee;
  padding-left: 22px;
}

.tracking-summary strong {
  color: #07164a;
}

.tracking-help {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 20px;
  background: #eff9f7;
}

.tracking-help svg {
  color: #008f83;
}

.tracking-help strong {
  display: block;
  color: #07164a;
}

.tracking-help span {
  color: #667085;
}

.tracking-safe {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding-bottom: 10px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .tracking-hero,
  .tracking-summary > div,
  .tracking-help {
    grid-template-columns: 1fr;
  }

  .tracking-summary section + section {
    border-left: 0;
    border-top: 1px solid #e7e9ee;
    padding: 16px 0 0;
  }

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

  .tracking-steps {
    grid-template-columns: 1fr;
  }

  .tracking-steps > div {
    grid-template-columns: auto minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }
}

/* Painel compact viewport fit */
.oficerto-dashboard {
  gap: 9px !important;
}

.oficerto-dashboard .dashboard-hero-banner {
  min-height: clamp(150px, 16vh, 196px) !important;
  padding: clamp(16px, 2.2vw, 28px) clamp(22px, 3vw, 42px) !important;
}

.oficerto-dashboard .dashboard-hero-banner img {
  width: min(520px, 42vw) !important;
  max-height: 168px;
}

.oficerto-dashboard .dashboard-hero-copy {
  gap: 8px !important;
}

.oficerto-dashboard .dashboard-hero-copy p {
  font-size: 11px !important;
}

.oficerto-dashboard .dashboard-hero-copy h2 {
  font-size: clamp(26px, 2.45vw, 36px) !important;
}

.oficerto-dashboard .dashboard-hero-copy strong {
  font-size: clamp(14px, 1.05vw, 17px) !important;
}

.oficerto-dashboard .dashboard-hero-dots {
  bottom: 10px !important;
}

.oficerto-dashboard .dashboard-registration-alert {
  min-height: 62px !important;
  padding: 10px 18px !important;
}

.oficerto-dashboard .alert-icon {
  width: 42px !important;
  height: 42px !important;
}

.oficerto-dashboard .dashboard-registration-alert h3 {
  font-size: 15px !important;
}

.oficerto-dashboard .dashboard-registration-alert p,
.oficerto-dashboard .dashboard-section-head p,
.oficerto-dashboard .dashboard-plan-card p,
.oficerto-dashboard .dashboard-tool-card p {
  font-size: 12px !important;
}

.oficerto-dashboard .primary-action.pink {
  min-height: 42px !important;
  min-width: 180px !important;
}

.oficerto-dashboard .dashboard-section-head {
  margin: 0 0 5px !important;
}

.oficerto-dashboard .dashboard-section-head h2 {
  font-size: 18px !important;
}

.oficerto-dashboard .dashboard-plan-grid {
  gap: 12px !important;
}

.oficerto-dashboard .dashboard-plan-card {
  min-height: 0 !important;
  gap: 8px !important;
  padding: 14px 16px !important;
}

.oficerto-dashboard .dashboard-plan-card header {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 12px !important;
}

.oficerto-dashboard .plan-icon {
  width: 54px !important;
  height: 54px !important;
}

.oficerto-dashboard .plan-icon svg {
  width: 30px !important;
  height: 30px !important;
}

.oficerto-dashboard .dashboard-plan-card small {
  font-size: 10px !important;
}

.oficerto-dashboard .dashboard-plan-card h3 {
  font-size: 22px !important;
}

.oficerto-dashboard .dashboard-plan-card ul {
  gap: 5px !important;
}

.oficerto-dashboard .dashboard-plan-card li {
  grid-template-columns: 15px minmax(0, 1fr) !important;
  gap: 7px !important;
  font-size: 12px !important;
}

.oficerto-dashboard .dashboard-plan-card li:nth-child(n+7) {
  display: none !important;
}

.oficerto-dashboard .dashboard-plan-card .plan-note {
  margin-top: 4px !important;
  padding-top: 8px !important;
  font-size: 11px !important;
}

.oficerto-dashboard .dashboard-plan-card button {
  min-height: 36px !important;
}

.oficerto-dashboard .dashboard-bottom-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .85fr) !important;
  gap: 12px !important;
}

.oficerto-dashboard .dashboard-tools-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.oficerto-dashboard .dashboard-tool-card {
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 10px !important;
}

.oficerto-dashboard .dashboard-tool-card svg {
  width: 28px !important;
  height: 28px !important;
}

.oficerto-dashboard .dashboard-tool-card h3 {
  font-size: 12px !important;
}

.oficerto-dashboard .dashboard-tool-card button {
  min-height: 24px !important;
  font-size: 12px !important;
}

.oficerto-dashboard .dashboard-coming-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.oficerto-dashboard .dashboard-coming-card {
  min-height: 76px !important;
  gap: 4px !important;
  padding: 8px !important;
}

.oficerto-dashboard .dashboard-coming-card svg {
  width: 22px !important;
  height: 22px !important;
}

.oficerto-dashboard .dashboard-coming-card strong,
.oficerto-dashboard .dashboard-coming-card span {
  font-size: 10px !important;
}

@media (min-width: 1280px) {
  .view[data-view-panel="overview"].active {
    max-height: calc(100vh - 82px);
    overflow: hidden;
  }
}

@media (max-width: 1199px) {
  .oficerto-dashboard .dashboard-plan-card li:nth-child(n+7) {
    display: grid !important;
  }
}

/* Painel mobile recovery 20260702 */
@media (max-width: 767px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .main {
    min-width: 0 !important;
    padding: calc(env(safe-area-inset-top, 0px) + 108px) 14px 88px !important;
    overflow-x: hidden !important;
  }

  .topbar {
    min-height: calc(env(safe-area-inset-top, 0px) + 88px) !important;
  }

  .topbar-actions {
    min-width: 0 !important;
  }

  .topbar-actions .header-action,
  .topbar-actions .icon-button {
    flex: 0 0 auto;
  }

  .view[data-view-panel="overview"].active {
    max-height: none !important;
    overflow: visible !important;
  }

  .oficerto-dashboard {
    width: 100%;
    max-width: 100%;
    display: grid;
    gap: 12px !important;
    padding-bottom: 12px;
    overflow-x: hidden;
  }

  .oficerto-dashboard > * {
    min-width: 0;
    max-width: 100%;
  }

  .oficerto-dashboard .dashboard-hero-banner {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px 14px 34px !important;
    border-radius: 10px !important;
    overflow: hidden;
  }

  .oficerto-dashboard .dashboard-hero-copy {
    gap: 8px !important;
  }

  .oficerto-dashboard .dashboard-hero-copy p {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .oficerto-dashboard .dashboard-hero-copy h2 {
    font-size: clamp(25px, 8vw, 32px) !important;
    line-height: 1.08 !important;
  }

  .oficerto-dashboard .dashboard-hero-copy strong {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .oficerto-dashboard .dashboard-hero-copy br {
    display: none;
  }

  .oficerto-dashboard .dashboard-hero-banner img {
    width: min(100%, 360px) !important;
    max-height: 150px !important;
    justify-self: center !important;
    align-self: end !important;
    object-fit: contain !important;
  }

  .oficerto-dashboard .dashboard-hero-dots {
    bottom: 12px !important;
  }

  .oficerto-dashboard .dashboard-registration-alert {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start;
    gap: 10px !important;
    padding: 14px !important;
  }

  .oficerto-dashboard .alert-icon {
    width: 44px !important;
    height: 44px !important;
  }

  .oficerto-dashboard .primary-action.pink {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
  }

  .oficerto-dashboard .dashboard-section-head h2 {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  .oficerto-dashboard .dashboard-section-head p {
    line-height: 1.35 !important;
  }

  .oficerto-dashboard .dashboard-plan-grid,
  .oficerto-dashboard .dashboard-bottom-grid,
  .oficerto-dashboard .dashboard-tools-grid,
  .oficerto-dashboard .dashboard-coming-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .oficerto-dashboard .dashboard-plan-card {
    min-height: 0 !important;
    padding: 16px !important;
    gap: 12px !important;
  }

  .oficerto-dashboard .dashboard-plan-card header {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .oficerto-dashboard .plan-icon {
    width: 50px !important;
    height: 50px !important;
  }

  .oficerto-dashboard .dashboard-plan-card h3 {
    font-size: 24px !important;
  }

  .oficerto-dashboard .dashboard-plan-card li {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .oficerto-dashboard .dashboard-plan-card button {
    min-height: 44px !important;
    width: 100%;
  }

  .oficerto-dashboard .dashboard-tool-card {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  .oficerto-dashboard .dashboard-tool-card p,
  .oficerto-dashboard .dashboard-tool-card h3,
  .oficerto-dashboard .dashboard-coming-card strong,
  .oficerto-dashboard .dashboard-coming-card span {
    overflow-wrap: anywhere;
  }

  .oficerto-dashboard .dashboard-tool-card button {
    min-height: 34px !important;
  }

  .oficerto-dashboard .dashboard-coming-card {
    min-height: 96px !important;
    padding: 12px !important;
  }
}

/* Final official-logo override: keep the original full lockup visible everywhere. */
.public-logo,
.footer-brand-line img,
.support-widget-brand img,
.sidebar-logo,
.atendimento-brand {
  background: #07164a !important;
}

.public-logo .oficerto-logo-full {
  display: block !important;
  width: min(280px, 58vw) !important;
  height: auto !important;
}

.footer-brand-line img {
  width: 150px !important;
  height: auto !important;
  border-radius: 10px !important;
  padding: 7px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.support-widget-brand img {
  width: 126px !important;
  height: auto !important;
  border-radius: 9px !important;
  padding: 6px 8px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.sidebar-logo {
  width: 205px !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.atendimento-brand {
  display: inline-flex !important;
  grid-template-columns: none !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 54px !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
}

.atendimento-brand img {
  width: min(190px, 58vw) !important;
  height: auto !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* Public landing mobile footer: the support CTA must be the visual page end. */
@media (max-width: 599px) {
  .auth-view,
  .public-access-shell {
    min-height: 100dvh !important;
  }

  .auth-view:not(.is-hidden) .public-access-shell {
    display: flex !important;
    flex-direction: column !important;
  }

  .public-access-footer {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  .footer-support-link {
    margin-bottom: 0 !important;
  }

  .support-widget:not(.is-open) {
    display: none !important;
  }
}

.shell:has(.workspace:not(.is-hidden)) .auth-view {
  display: none !important;
}

body.workspace-active .auth-view {
  display: none !important;
}

/* Final mobile sidebar drawer fix after compact/sidebar overrides. */
@media (max-width: 767px) {
  body.sidebar-open .sidebar,
  body.sidebar-open.sidebar-collapsed .sidebar,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar {
    width: min(86vw, 336px) !important;
    padding: 18px 14px !important;
    transform: translateX(0) !important;
    overflow: hidden !important;
  }

  body.sidebar-open .sidebar-brand,
  body.sidebar-open.sidebar-collapsed .sidebar-brand,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand {
    grid-template-columns: minmax(0, 1fr) auto !important;
    justify-items: stretch !important;
  }

  body.sidebar-open .sidebar-logo,
  body.sidebar-open.sidebar-collapsed .sidebar-logo,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-logo {
    width: min(205px, calc(100% - 54px)) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.sidebar-open .sidebar-brand-text,
  body.sidebar-open .sidebar-item span,
  body.sidebar-open .nav-group > span,
  body.sidebar-open .sidebar-user-info,
  body.sidebar-open .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open.sidebar-collapsed .sidebar-brand-text,
  body.sidebar-open.sidebar-collapsed .sidebar-item span,
  body.sidebar-open.sidebar-collapsed .nav-group > span,
  body.sidebar-open.sidebar-collapsed .sidebar-user-info,
  body.sidebar-open.sidebar-collapsed .sidebar-user .icon-button:not(:last-child),
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-brand-text,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item span,
  body.sidebar-open:not(.sidebar-collapsed) .nav-group > span,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user-info,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user .icon-button:not(:last-child) {
    display: block !important;
  }

  body.sidebar-open .nav-list {
    display: grid !important;
    gap: 16px !important;
    overflow-y: auto !important;
    padding: 4px 4px 12px !important;
  }

  body.sidebar-open .sidebar-item,
  body.sidebar-open.sidebar-collapsed .sidebar-item,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-item {
    justify-content: flex-start !important;
    gap: 11px !important;
    padding: 11px 13px !important;
    text-align: left !important;
  }

  body.sidebar-open .sidebar-user,
  body.sidebar-open.sidebar-collapsed .sidebar-user,
  body.sidebar-open:not(.sidebar-collapsed) .sidebar-user {
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    justify-items: stretch !important;
    padding: 12px !important;
  }
}

/* Sistema mobile viewport recovery 20260704 final-file override. */
/* Public mobile page must end at the support CTA, without viewport filler. */
@media (max-width: 767px) {
  html:has(.auth-view:not(.is-hidden)),
  body:has(.auth-view:not(.is-hidden)),
  .shell:has(.auth-view:not(.is-hidden)),
  .auth-view:not(.is-hidden),
  .auth-view:not(.is-hidden) .public-access-shell {
    min-height: 0 !important;
    height: auto !important;
  }

  .auth-view:not(.is-hidden) .public-access-shell {
    display: block !important;
    grid-template-rows: none !important;
  }

  .auth-view:not(.is-hidden) .public-access-footer {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  .auth-view:not(.is-hidden) .footer-support-link {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  html,
  body,
  .shell,
  .workspace,
  .main {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .workspace:not(.is-hidden),
  body.sidebar-collapsed .workspace:not(.is-hidden),
  body:not(.sidebar-collapsed) .workspace:not(.is-hidden) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .main {
    display: grid !important;
    align-content: start !important;
    gap: 14px !important;
    padding-right: max(14px, env(safe-area-inset-right, 0px)) !important;
    padding-left: max(14px, env(safe-area-inset-left, 0px)) !important;
  }

  .view,
  .view.active,
  .gate,
  .oficerto-dashboard,
  .oficerto-dashboard > *,
  .dashboard-hero-banner,
  .dashboard-registration-alert,
  .dashboard-plan-card,
  .dashboard-tool-card,
  .dashboard-coming-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .gate {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 20px 16px !important;
  }

  .gate h2,
  .gate p,
  .dashboard-hero-copy h2,
  .dashboard-hero-copy strong,
  .dashboard-registration-alert h3,
  .dashboard-registration-alert p,
  .dashboard-section-head h2,
  .dashboard-section-head p,
  .dashboard-plan-card h3,
  .dashboard-plan-card p,
  .dashboard-plan-card li,
  .dashboard-tool-card h3,
  .dashboard-tool-card p {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .gate .primary-action,
  .dashboard-registration-alert .primary-action,
  .dashboard-plan-card button,
  .dashboard-tool-card button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Absolute final visibility guard: hidden auth/workspace sections stay hidden on mobile. */
.auth-view.is-hidden,
.workspace.is-hidden,
body.workspace-active .auth-view {
  display: none !important;
}

@media (max-width: 767px) {
  .auth-view.is-hidden,
  .workspace.is-hidden,
  body.workspace-active .auth-view {
    display: none !important;
  }

  .auth-view:not(.is-hidden) .public-access-footer {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ABSOLUTE EOF customer tracking mobile repair 20260707-v5 */
@media (max-width: 767px) {
  body.public-client-mode,
  body.public-client-mode .shell,
  body.public-client-mode .workspace,
  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active,
  body.public-client-mode .atendimento-page,
  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.public-client-mode .main,
  body.public-client-mode .view[data-view-panel="client"].active {
    padding: 0 !important;
  }

  .tracking-page {
    display: block !important;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(14px, env(safe-area-inset-right, 0px)) max(28px, calc(env(safe-area-inset-bottom, 0px) + 20px)) max(14px, env(safe-area-inset-left, 0px)) !important;
    color: #101828 !important;
  }

  .tracking-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-page .atendimento-brand img {
    display: block !important;
    width: min(230px, 70vw) !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .tracking-profile {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .tracking-profile .icon-button {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #f7fbff !important;
    box-shadow: none !important;
  }

  .tracking-profile .ghost-action {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 80px) !important;
    min-height: 44px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    color: #285ba8 !important;
    border: 1px solid #dfe6f2 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(19, 38, 85, 0.06) !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .tracking-profile .icon-button b {
    background: #20bcb6 !important;
  }

  .tracking-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .tracking-hero h1 {
    margin: 0 !important;
    color: #101828 !important;
    font-size: clamp(28px, 8.8vw, 36px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero p {
    margin: 7px 0 0 !important;
    color: #56657a !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
  }

  .tracking-hero aside {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 8px 10px !important;
    align-items: center !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-hero aside span {
    grid-column: 1 / -1 !important;
    color: #56657a !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  .tracking-hero aside strong {
    min-width: 0 !important;
    color: #20bcb6 !important;
    font-size: clamp(34px, 11vw, 42px) !important;
    line-height: 1 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-hero aside .icon-button {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    color: #285ba8 !important;
    border: 1px solid #e7ebf2 !important;
    background: #ffffff !important;
  }

  .tracking-hero aside em {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    margin-top: 2px !important;
    border-radius: 999px !important;
    padding: 8px 14px !important;
    color: #008f83 !important;
    background: #e7fbf8 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  .tracking-card,
  .tracking-summary,
  .tracking-help {
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid #e7ebf2 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 85, 0.06) !important;
  }

  .tracking-card {
    padding: 16px 14px !important;
    overflow: hidden !important;
  }

  .tracking-card > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: start !important;
  }

  .tracking-card h2,
  .tracking-summary h2 {
    color: #132655 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-card > header strong {
    color: #20bcb6 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .tracking-card > header strong span {
    display: block !important;
    color: #132655 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .tracking-steps {
    position: relative !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 18px 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .tracking-steps::before,
  .tracking-steps::after {
    display: none !important;
  }

  .tracking-steps > div {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-areas: "dot title" "dot meta" !important;
    gap: 2px 10px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 14px !important;
    padding: 10px !important;
    background: #fbfdff !important;
  }

  .tracking-steps i {
    grid-area: dot !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    font-style: normal !important;
    box-shadow: none !important;
  }

  .tracking-steps .done i { color: #ffffff !important; background: #20bcb6 !important; }
  .tracking-steps .active i { color: #ffffff !important; background: #285ba8 !important; }
  .tracking-steps .pending i { color: #667085 !important; background: #edf0f5 !important; }

  .tracking-steps strong {
    grid-area: title !important;
    min-width: 0 !important;
    color: #132655 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tracking-steps span {
    grid-area: meta !important;
    min-width: 0 !important;
    color: #56657a !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
/* Painel Oficerto 20260712 — scoped dashboard refresh */
.workspace { min-width: 0; max-width: 100%; background: #f5f7fa; }
.workspace .main { min-width: 0; max-width: 100%; height: 100dvh; min-height: 0; padding: 0; background: #f5f7fa; overflow-x: clip; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
.workspace .topbar { position: sticky; top: 0; z-index: 30; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px clamp(24px, 2.4vw, 32px); border-bottom: 1px solid #e4e9f0; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.workspace .topbar-title { min-width: 0; display: grid; gap: 2px; }
.workspace .topbar-title strong { color: #10213c; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; letter-spacing: -.025em; }
.workspace .topbar-subtitle { color: #718096; font-size: 12px; }
.workspace .topbar-actions { display: flex; align-items: center; gap: 9px; }
.workspace .topbar-actions button { min-height: 40px; }
.workspace .topbar-actions .status-pill { min-height: 34px; border: 1px solid #cce9df; border-radius: 999px; padding: 7px 11px; color: #13745e; background: #effaf6; font-size: 12px; }
.workspace .notification-button { position: relative; }
.workspace .notification-button strong { position: absolute; top: 2px; right: 2px; min-width: 15px; height: 15px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 99px; color: #fff; background: #e14a62; font-size: 8px; }
.workspace [data-refresh].is-loading svg { animation: dashboard-spin .8s linear infinite; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }

.workspace .sidebar { width: auto; min-width: 0; padding: 18px 14px; border-right: 1px solid #e7ebf1; background: #fff; }
.workspace .sidebar-logo { display: block; width: min(205px, 100%) !important; max-height: 58px; object-fit: contain !important; }
.workspace .nav-list { scrollbar-width: thin; scrollbar-color: #d5dee9 transparent; }
.workspace .sidebar-item { min-height: 44px; border-radius: 10px; font-size: 13px; }
.workspace .sidebar-item.active { color: #087c76; background: #e9f8f6; }
.workspace .sidebar-user { border-top: 1px solid #e8edf3; padding-top: 14px; }

.view[data-view-panel="overview"].active { width: 100%; max-width: 100%; max-height: none !important; display: block; padding: clamp(22px, 2.4vw, 32px); overflow: visible !important; box-sizing: border-box; }
.oficerto-dashboard, .oficerto-dashboard * { box-sizing: border-box; }
.oficerto-dashboard { width: 100%; max-width: 100%; display: grid; gap: clamp(28px, 3vw, 40px) !important; color: #10213c; overflow: visible; }
.oficerto-dashboard > *, .oficerto-dashboard > * > *, .oficerto-dashboard :is(section, article, div) { min-width: 0; max-width: 100%; }

.oficerto-dashboard .dashboard-hero-banner { min-height: clamp(220px, 19vw, 276px) !important; display: grid !important; grid-template-columns: minmax(380px, .9fr) minmax(360px, 1.1fr) !important; align-items: center; overflow: hidden; border-radius: 19px !important; padding: clamp(30px, 4vw, 54px) clamp(30px, 4.5vw, 64px) !important; background: radial-gradient(circle at 78% 30%,rgba(38,194,186,.24),transparent 28%), linear-gradient(115deg,#06152f 0%,#0b2d62 60%,#134f9b 100%); box-shadow: 0 18px 40px rgba(11,35,75,.14); }
.oficerto-dashboard .dashboard-hero-banner::after { content: ""; position: absolute; width: 330px; height: 330px; right: -110px; top: -180px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.oficerto-dashboard .dashboard-hero-copy { gap: 12px !important; }
.oficerto-dashboard .dashboard-hero-copy p { color: #55dfd4; font-size: clamp(11px, .85vw, 13px) !important; line-height: 1.35; letter-spacing: .075em; }
.oficerto-dashboard .dashboard-hero-copy h2 { color: #fff; font-size: clamp(29px, 3vw, 43px) !important; line-height: 1.08 !important; letter-spacing: -.035em; }
.oficerto-dashboard .dashboard-hero-copy strong { max-width: 570px; color: #dce8f8; font-size: clamp(15px, 1.18vw, 18px) !important; line-height: 1.5; font-weight: 500; }
.oficerto-dashboard .dashboard-hero-copy i { width: 84px; height: 3px; border-radius: 99px; }
.oficerto-dashboard .dashboard-hero-banner img { position: relative; z-index: 2; width: min(680px, 52vw) !important; max-width: 100%; height: auto; max-height: 244px !important; justify-self: end; align-self: end; object-fit: contain !important; object-position: center bottom; }
.oficerto-dashboard .dashboard-hero-dots { bottom: 15px !important; gap: 7px; }
.oficerto-dashboard .dashboard-hero-dots b { width: 7px; height: 7px; }

.oficerto-dashboard .dashboard-section-head { margin: 0 0 17px !important; }
.oficerto-dashboard .dashboard-section-head h2 { color: #10213c; font-size: clamp(20px, 1.8vw, 23px) !important; line-height: 1.2; letter-spacing: -.02em; }
.oficerto-dashboard .dashboard-section-head p { margin-top: 5px; color: #6c7b90; font-size: 14px !important; line-height: 1.5; }
.oficerto-dashboard .dashboard-plan-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; align-items: stretch; gap: clamp(16px, 1.6vw, 22px) !important; }
.oficerto-dashboard .dashboard-plan-card { position: relative; min-height: 100% !important; display: flex !important; flex-direction: column; gap: 18px !important; overflow: hidden; border: 1px solid #e0e6ee; border-radius: 17px !important; padding: clamp(24px, 2vw, 28px) !important; background: #fff; box-shadow: 0 12px 32px rgba(16,33,60,.055); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.oficerto-dashboard .dashboard-plan-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(16,33,60,.09); }
.oficerto-dashboard .dashboard-plan-card.purple { border-color: #d9c8eb; box-shadow: 0 14px 36px rgba(103,62,154,.08); }
.oficerto-dashboard .dashboard-plan-badge { position: absolute; top: 16px; right: 16px; border-radius: 999px; padding: 6px 9px; color: #6f3c9a; background: #f4ecfb; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.oficerto-dashboard .dashboard-plan-card header { display: grid; grid-template-columns: 58px minmax(0,1fr) !important; gap: 14px !important; align-items: start; }
.oficerto-dashboard .plan-icon { width: 58px !important; height: 58px !important; border-radius: 15px; }
.oficerto-dashboard .plan-icon svg { width: 28px !important; height: 28px !important; }
.oficerto-dashboard .dashboard-plan-card small { font-size: 10px !important; letter-spacing: .08em; }
.oficerto-dashboard .dashboard-plan-card h3 { font-size: 25px !important; line-height: 1.15; }
.oficerto-dashboard .dashboard-plan-card p { font-size: 13px !important; line-height: 1.45; }
.oficerto-dashboard .dashboard-plan-card ul { display: grid; gap: 9px !important; margin: 0; padding: 0; }
.oficerto-dashboard .dashboard-plan-card li, .oficerto-dashboard .dashboard-plan-card li:nth-child(n+7) { display: grid !important; grid-template-columns: 16px minmax(0,1fr) !important; align-items: start; gap: 8px !important; color: #34465f; font-size: 13px !important; line-height: 1.38; }
.oficerto-dashboard .dashboard-plan-card li svg { width: 15px; height: 15px; margin-top: 1px; }
.oficerto-dashboard .dashboard-plan-card .plan-note { margin-top: 0 !important; padding-top: 13px !important; font-size: 12px !important; }
.oficerto-dashboard .dashboard-plan-card button { width: 100%; min-height: 46px !important; justify-content: center; margin-top: auto; border-radius: 10px; }

.oficerto-dashboard .dashboard-bottom-grid { display: grid !important; grid-template-columns: minmax(0,1.3fr) minmax(360px,.8fr) !important; gap: clamp(22px, 2.5vw, 34px) !important; }
.oficerto-dashboard .dashboard-tools-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; }
.oficerto-dashboard .dashboard-tool-card { min-height: 164px; display: grid !important; grid-template-columns: 48px minmax(0,1fr) !important; gap: 13px !important; border: 1px solid #e1e7ef; border-radius: 15px !important; padding: 18px !important; background: #fff; box-shadow: 0 8px 24px rgba(16,33,60,.045); transition: transform .2s ease, box-shadow .2s ease; }
.oficerto-dashboard .dashboard-tool-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(16,33,60,.08); }
.oficerto-dashboard .dashboard-tool-card > span { width: 46px; height: 46px; border-radius: 12px; background: #ecf8f6; }
.oficerto-dashboard .dashboard-tool-card.blue > span { background: #edf4fd; }
.oficerto-dashboard .dashboard-tool-card.orange > span { color: #bf6c1e; background: #fff4e8; }
.oficerto-dashboard .dashboard-tool-card svg { width: 23px !important; height: 23px !important; }
.oficerto-dashboard .dashboard-tool-card > div { display: flex; flex-direction: column; }
.oficerto-dashboard .dashboard-tool-card h3 { font-size: 16px !important; line-height: 1.3; }
.oficerto-dashboard .dashboard-tool-card p { margin-top: 6px; font-size: 13px !important; line-height: 1.4; }
.oficerto-dashboard .dashboard-tool-card button { min-height: 34px !important; margin-top: auto; font-size: 13px !important; cursor: pointer; }
.oficerto-dashboard .dashboard-coming-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.oficerto-dashboard .dashboard-coming-card { min-height: 112px !important; display: grid; place-items: center; gap: 7px !important; border: 1px solid #e1e7ef; border-radius: 15px !important; padding: 14px !important; background: #fff; opacity: .9; }
.oficerto-dashboard .dashboard-coming-card > svg { width: 25px !important; height: 25px !important; color: #657893; }
.oficerto-dashboard .dashboard-coming-card strong { color: #263b59; font-size: 13px !important; line-height: 1.25; }
.oficerto-dashboard .dashboard-coming-card span { border-radius: 999px; padding: 4px 7px; color: #587087; background: #f0f3f7; font-size: 10px !important; }

@media (max-width: 1199px) {
  .oficerto-dashboard .dashboard-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .oficerto-dashboard .dashboard-plan-card:last-child { grid-column: 1 / -1; }
  .oficerto-dashboard .dashboard-bottom-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
  body.sidebar-open { overflow: hidden; }
  .workspace .main { height: 100dvh; padding: 0 !important; overflow-y: auto !important; }
  .workspace .topbar { min-height: calc(70px + env(safe-area-inset-top,0px)) !important; padding: calc(8px + env(safe-area-inset-top,0px)) 16px 8px 60px !important; align-items: center; }
  .workspace .topbar-title strong { font-size: 20px; }
  .workspace .topbar-subtitle { font-size: 11px; }
  .workspace .topbar-actions { gap: 6px; }
  .workspace .topbar-actions .status-pill, .workspace .topbar-actions .topbar-logout span, .workspace .topbar-actions [data-refresh] span { display: none; }
  .workspace .topbar-actions .header-action { width: 40px; padding: 0; justify-content: center; }
  .view[data-view-panel="overview"].active { padding: 18px 16px calc(94px + env(safe-area-inset-bottom,0px)) !important; }
  .oficerto-dashboard { gap: 30px !important; }
  .oficerto-dashboard .dashboard-hero-banner { min-height: 0 !important; grid-template-columns: 1fr !important; gap: 18px !important; border-radius: 17px !important; padding: 26px 24px 38px !important; }
  .oficerto-dashboard .dashboard-hero-copy p { font-size: 10px !important; }
  .oficerto-dashboard .dashboard-hero-copy h2 { font-size: clamp(26px,8vw,34px) !important; }
  .oficerto-dashboard .dashboard-hero-copy strong { font-size: 14px !important; }
  .oficerto-dashboard .dashboard-hero-copy br { display: none; }
  .oficerto-dashboard .dashboard-hero-banner img { width: min(100%,390px) !important; max-height: 180px !important; justify-self: center; }
  .oficerto-dashboard .dashboard-plan-grid, .oficerto-dashboard .dashboard-tools-grid { grid-template-columns: 1fr !important; }
  .oficerto-dashboard .dashboard-plan-card:last-child { grid-column: auto; }
  .oficerto-dashboard .dashboard-plan-card { padding: 24px !important; }
  .oficerto-dashboard .dashboard-coming-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .oficerto-dashboard .dashboard-registration-alert { grid-template-columns: 1fr !important; padding: 20px !important; }
  .oficerto-dashboard .dashboard-registration-alert .primary-action { width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 359px) {
  .view[data-view-panel="overview"].active { padding-left: 12px !important; padding-right: 12px !important; }
  .workspace .topbar { padding-left: 54px !important; padding-right: 10px !important; }
  .oficerto-dashboard .dashboard-hero-banner { padding-left: 20px !important; padding-right: 20px !important; }
  .oficerto-dashboard .dashboard-coming-grid { grid-template-columns: 1fr !important; }
}

/* Desktop com viewport baixo: painel completo visível em 100% de zoom. */
@media (min-width: 1024px) {
  .view[data-view-panel="overview"].active { padding: 14px 24px 18px !important; }
  .oficerto-dashboard { gap: 10px !important; }
  .oficerto-dashboard .dashboard-hero-banner { min-height: 164px !important; height: 164px; border-radius: 15px !important; padding: 18px 42px !important; }
  .oficerto-dashboard .dashboard-hero-copy { gap: 7px !important; }
  .oficerto-dashboard .dashboard-hero-copy p { font-size: 10px !important; }
  .oficerto-dashboard .dashboard-hero-copy h2 { font-size: clamp(28px, 2.25vw, 36px) !important; line-height: 1.04 !important; }
  .oficerto-dashboard .dashboard-hero-copy strong { max-width: 520px; font-size: 13px !important; line-height: 1.35; }
  .oficerto-dashboard .dashboard-hero-copy i { width: 64px; height: 2px; }
  .oficerto-dashboard .dashboard-hero-banner img { width: min(430px, 31vw) !important; max-height: 146px !important; }
  .oficerto-dashboard .dashboard-hero-dots { bottom: 8px !important; }
  .oficerto-dashboard .dashboard-section-head { margin: 0 0 6px !important; }
  .oficerto-dashboard .dashboard-section-head h2 { font-size: 18px !important; }
  .oficerto-dashboard .dashboard-section-head p { margin-top: 2px; font-size: 11px !important; line-height: 1.25; }
  .oficerto-dashboard .dashboard-plan-grid { gap: 12px !important; }
  .oficerto-dashboard .dashboard-plan-card { min-height: 236px !important; gap: 8px !important; border-radius: 13px !important; padding: 12px 16px !important; }
  .oficerto-dashboard .dashboard-plan-card:hover { transform: none; }
  .oficerto-dashboard .dashboard-plan-card header { grid-template-columns: 42px minmax(0,1fr) !important; gap: 10px !important; }
  .oficerto-dashboard .plan-icon { width: 42px !important; height: 42px !important; border-radius: 11px; }
  .oficerto-dashboard .plan-icon svg { width: 21px !important; height: 21px !important; }
  .oficerto-dashboard .dashboard-plan-card small { font-size: 8px !important; }
  .oficerto-dashboard .dashboard-plan-card h3 { font-size: 19px !important; }
  .oficerto-dashboard .dashboard-plan-card header p { font-size: 10px !important; line-height: 1.25; }
  .oficerto-dashboard .dashboard-plan-card ul { grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 4px 12px !important; }
  .oficerto-dashboard .dashboard-plan-card li,
  .oficerto-dashboard .dashboard-plan-card li:nth-child(n+7) { grid-template-columns: 12px minmax(0,1fr) !important; gap: 5px !important; font-size: 10px !important; line-height: 1.2; }
  .oficerto-dashboard .dashboard-plan-card li svg { width: 11px; height: 11px; }
  .oficerto-dashboard .dashboard-plan-card .plan-note { padding-top: 6px !important; font-size: 9px !important; line-height: 1.2; }
  .oficerto-dashboard .dashboard-plan-card button { min-height: 30px !important; border-radius: 7px; font-size: 10px; }
  .oficerto-dashboard .dashboard-plan-badge { top: 10px; right: 10px; padding: 4px 6px; font-size: 7px; }
  .oficerto-dashboard .dashboard-bottom-grid { gap: 12px !important; }
  .oficerto-dashboard .dashboard-tools-grid,
  .oficerto-dashboard .dashboard-coming-grid { gap: 7px !important; }
  .oficerto-dashboard .dashboard-tool-card { min-height: 82px; grid-template-columns: 32px minmax(0,1fr) !important; gap: 8px !important; border-radius: 10px !important; padding: 9px !important; }
  .oficerto-dashboard .dashboard-tool-card > span { width: 32px; height: 32px; border-radius: 8px; }
  .oficerto-dashboard .dashboard-tool-card svg { width: 17px !important; height: 17px !important; }
  .oficerto-dashboard .dashboard-tool-card h3 { font-size: 11px !important; }
  .oficerto-dashboard .dashboard-tool-card p { margin-top: 2px; font-size: 9px !important; line-height: 1.2; }
  .oficerto-dashboard .dashboard-tool-card button { min-height: 19px !important; font-size: 9px !important; }
  .oficerto-dashboard .dashboard-coming-card { min-height: 39px !important; grid-template-columns: 22px minmax(0,1fr) auto; place-items: center start; gap: 6px !important; border-radius: 9px !important; padding: 6px 9px !important; text-align: left; }
  .oficerto-dashboard .dashboard-coming-card > svg { width: 16px !important; height: 16px !important; }
  .oficerto-dashboard .dashboard-coming-card strong { font-size: 9px !important; }
  .oficerto-dashboard .dashboard-coming-card span { padding: 3px 5px; font-size: 7px !important; }
  .support-entry-fab { bottom: 12px !important; }

  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) {
    display: flex !important;
    flex-direction: column;
    height: calc(100dvh - 68px);
    min-height: 620px;
    align-items: stretch;
  }
  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-hero-banner {
    flex: .9 1 164px;
    height: auto !important;
    min-height: 164px !important;
  }
  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-plans-section {
    flex: 1.35 1 236px;
  }
  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-bottom-grid {
    flex: .8 1 112px;
  }
  .oficerto-dashboard .dashboard-plans-section,
  .oficerto-dashboard .dashboard-bottom-grid > div {
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .oficerto-dashboard .dashboard-plans-section,
  .oficerto-dashboard .dashboard-bottom-grid {
    height: 100%;
  }
  .oficerto-dashboard .dashboard-plan-grid,
  .oficerto-dashboard .dashboard-tools-grid,
  .oficerto-dashboard .dashboard-coming-grid {
    flex: 1 1 auto;
    min-height: 0;
  }
  .oficerto-dashboard .dashboard-plan-card,
  .oficerto-dashboard .dashboard-tool-card,
  .oficerto-dashboard .dashboard-coming-card {
    height: 100%;
  }
}

/* Portal do cliente: header mobile compacto e hierarquia 20260716-v1 */
.tracking-mobile-header {
  position: sticky;
  top: 0;
  z-index: 80;
  overflow: visible;
  border: 1px solid #e3e9f2;
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 4px 16px rgba(9, 31, 67, .05);
  backdrop-filter: blur(16px);
  transition: box-shadow .22s ease, border-color .22s ease;
}

.tracking-mobile-header.is-scrolled {
  border-color: rgba(11, 37, 76, .12);
  box-shadow: 0 10px 28px rgba(9, 31, 67, .14);
}

.tracking-mobile-toolbar {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(100px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 0 12px;
  border-bottom: 1px solid #edf1f6;
}

.tracking-mobile-logo {
  position: absolute;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  transform: translateX(-50%);
}

.tracking-mobile-logo img {
  display: block;
  width: min(126px, 100%);
  max-height: 34px;
  object-fit: contain;
}

.tracking-toolbar-actions {
  display: flex;
  grid-column: 3;
  align-items: center;
  justify-self: end;
  gap: 8px;
}

.tracking-toolbar-button,
.tracking-refresh-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-height: 40px;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  color: #10284f;
  background: #fff;
  cursor: pointer;
  touch-action: manipulation;
  transition: transform .16s ease, color .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.tracking-toolbar-button {
  width: 40px;
  padding: 0;
}

.tracking-refresh-button {
  gap: 7px;
  padding: 0 12px;
  color: #007f71;
  border-color: #cce9e4;
  background: #effaf8;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.tracking-toolbar-button:hover,
.tracking-toolbar-button:focus-visible,
.tracking-refresh-button:hover,
.tracking-refresh-button:focus-visible {
  border-color: #00a990;
  color: #007f71;
  box-shadow: 0 5px 14px rgba(0, 143, 123, .12);
  outline: none;
}

.tracking-toolbar-button:active,
.tracking-refresh-button:active,
.tracking-home-compact:active,
.tracking-mobile-menu :is(a, button):active,
.tracking-protocol-compact .icon-button:active {
  transform: scale(.96);
}

.tracking-refresh-button:disabled {
  opacity: .72;
  cursor: wait;
}

.tracking-refresh-button.is-loading svg {
  animation: tracking-spin .8s linear infinite;
}

.tracking-notification-button b {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: #ec4660;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 7px rgba(221, 41, 74, .25);
}

.tracking-notification-button.has-updates::after {
  content: "";
  position: absolute;
  top: -2px;
  right: -2px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(236, 70, 96, .32);
  pointer-events: none;
  animation: tracking-notification-pulse 2.4s ease-out infinite;
}

.tracking-mobile-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 7px 12px 9px;
}

.tracking-mobile-greeting,
.tracking-mobile-user > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.tracking-mobile-greeting {
  gap: 2px;
}

.tracking-mobile-greeting strong {
  overflow: hidden;
  color: #0d2348;
  font-size: 17px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-mobile-greeting span {
  overflow: hidden;
  color: #697890;
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-mobile-user {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.tracking-mobile-user > i {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #0b315f, #00a990);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .03em;
  box-shadow: 0 5px 14px rgba(0, 143, 123, .18);
}

.tracking-mobile-user strong {
  color: #213858;
  font-size: 11px;
  line-height: 1.15;
}

.tracking-mobile-user em {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: max-content;
  max-width: 100%;
  margin-top: 3px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #007f71;
  background: #e6f7f3;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.tracking-mobile-user em svg {
  width: 11px;
  height: 11px;
}

.tracking-mobile-user em.has-updates {
  animation: tracking-operation-pulse 2.4s ease-in-out infinite;
}

.tracking-mobile-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 8px;
  left: 8px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
  border: 1px solid #dde6f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(9, 31, 67, .18);
  animation: tracking-menu-in .18s ease both;
}

.tracking-mobile-menu :is(a, button) {
  display: flex;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px;
  border: 0;
  border-radius: 10px;
  color: #18345a;
  background: #f3f7fa;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform .16s ease, color .16s ease, background .16s ease;
}

.tracking-mobile-menu :is(a, button):hover {
  color: #007f71;
  background: #e8f7f4;
}

.tracking-mobile-menu svg {
  width: 16px;
  height: 16px;
}

.tracking-primary-row {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}

.tracking-home-compact {
  display: inline-flex;
  align-self: start;
  height: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 4px;
  padding: 6px;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  color: #17345d;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(12, 36, 73, .05);
  touch-action: manipulation;
  transition: transform .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.tracking-home-compact:hover,
.tracking-home-compact:focus-visible {
  border-color: #00a990;
  color: #007f71;
  box-shadow: 0 7px 18px rgba(0, 143, 123, .1);
  outline: none;
}

.tracking-home-compact svg {
  width: 18px;
  height: 18px;
}

.tracking-protocol-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) 38px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 10px 12px;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(12, 36, 73, .05);
}

.tracking-protocol-compact > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.tracking-protocol-compact span {
  color: #718097;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.tracking-protocol-compact strong {
  overflow: hidden;
  color: #0d2348;
  font-size: 15px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-protocol-compact em {
  overflow: hidden;
  width: max-content;
  max-width: 100%;
  padding: 5px 7px;
  border-radius: 999px;
  color: #007f71;
  background: #e6f7f3;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-protocol-compact .icon-button {
  width: 36px;
  min-width: 36px;
  height: 36px;
  border-color: #dce6ef;
  color: #007f71;
  background: #f3faf9;
  transition: transform .16s ease, background .16s ease;
}

.tracking-feedback {
  position: fixed;
  top: 16px;
  left: 50%;
  z-index: 140;
  display: flex;
  align-items: center;
  gap: 7px;
  max-width: calc(100vw - 32px);
  padding: 10px 14px;
  border-radius: 12px;
  color: #fff;
  background: #087f70;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(9, 31, 67, .22);
  transform: translateX(-50%);
  animation: tracking-feedback-in .2s ease both;
}

.tracking-feedback.error {
  background: #bd344d;
}

.tracking-feedback svg {
  width: 16px;
  height: 16px;
}

@keyframes tracking-spin {
  to { transform: rotate(360deg); }
}

@keyframes tracking-notification-pulse {
  0%, 45% { opacity: .85; transform: scale(.7); }
  75%, 100% { opacity: 0; transform: scale(2.1); }
}

@keyframes tracking-operation-pulse {
  0%, 70%, 100% { box-shadow: 0 0 0 0 rgba(0, 169, 144, 0); }
  82% { box-shadow: 0 0 0 4px rgba(0, 169, 144, .12); }
}

@keyframes tracking-menu-in {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tracking-feedback-in {
  from { opacity: 0; transform: translate(-50%, -8px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

@media (max-width: 767px) {
  body.public-client-mode .main,
  body.public-client-mode .content,
  body.public-client-mode .view[data-view-panel="client"] {
    overflow: visible !important;
  }

  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: none !important;
    gap: 16px !important;
    padding: 0 16px 28px !important;
    box-sizing: border-box !important;
  }

  body.public-client-mode .tracking-mobile-header {
    width: calc(100% + 32px);
    margin: 0 -16px !important;
    padding-top: env(safe-area-inset-top, 0px);
    border-width: 0 0 1px !important;
    border-radius: 0 !important;
    box-sizing: border-box;
  }

  .tracking-mobile-toolbar {
    height: 56px;
    min-height: 56px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .tracking-mobile-context {
    padding-right: 16px;
    padding-left: 16px;
  }

  .tracking-primary-row {
    margin-top: -8px;
  }

  body.public-client-mode .tracking-card {
    scroll-margin-top: calc(132px + env(safe-area-inset-top, 0px));
  }
}

@media (max-width: 430px) {
  .tracking-mobile-toolbar {
    grid-template-columns: 40px minmax(76px, 1fr) auto;
  }

  .tracking-mobile-logo img {
    width: min(112px, 100%);
    max-height: 30px;
  }

  .tracking-refresh-button {
    padding: 0 10px;
  }

  .tracking-mobile-context {
    gap: 8px;
  }

  .tracking-mobile-greeting span {
    max-width: 210px;
  }

  .tracking-protocol-compact {
    gap: 8px;
    padding-right: 9px;
    padding-left: 10px;
  }
}

@media (max-width: 359px) {
  body.public-client-mode .tracking-page {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body.public-client-mode .tracking-mobile-header {
    width: calc(100% + 24px);
    margin-right: -12px !important;
    margin-left: -12px !important;
  }

  .tracking-mobile-toolbar {
    grid-template-columns: 40px minmax(68px, 1fr) auto;
    gap: 6px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .tracking-refresh-button {
    width: 40px;
    padding: 0;
  }

  .tracking-refresh-label {
    display: none;
  }

  .tracking-toolbar-actions {
    gap: 6px;
  }

  .tracking-mobile-context {
    padding-right: 12px;
    padding-left: 12px;
  }

  .tracking-mobile-greeting strong {
    font-size: 15px;
  }

  .tracking-mobile-greeting span {
    max-width: 160px;
    font-size: 10px;
  }

  .tracking-mobile-user > i {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .tracking-mobile-user strong {
    display: none;
  }

  .tracking-mobile-user em {
    margin-top: 0;
    padding: 3px 5px;
    font-size: 8px;
  }

  .tracking-primary-row {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .tracking-protocol-compact {
    min-height: 68px;
  }

  .tracking-protocol-compact {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) 34px;
    gap: 5px;
    padding: 8px;
  }

  .tracking-protocol-compact strong {
    font-size: 13px;
  }

  .tracking-protocol-compact em {
    padding: 4px 5px;
    font-size: 9px;
  }

  .tracking-protocol-compact .icon-button {
    width: 32px;
    min-width: 32px;
    height: 32px;
  }

  .tracking-mobile-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 360px) and (max-width: 375px) {
  .tracking-refresh-button {
    width: 40px;
    padding: 0;
  }

  .tracking-refresh-label {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tracking-mobile-header,
  .tracking-toolbar-button,
  .tracking-refresh-button,
  .tracking-home-compact,
  .tracking-mobile-menu,
  .tracking-feedback,
  .tracking-notification-button.has-updates::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }

  .tracking-mobile-user em.has-updates {
    animation: none !important;
  }
}

/* Header autenticado mobile: linha principal + status independente */
@media (max-width: 767px) {
  .workspace .topbar,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar {
    position: sticky !important;
    top: 0 !important;
    min-height: calc(96px + env(safe-area-inset-top, 0px)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 52px 28px !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    padding: calc(6px + env(safe-area-inset-top, 0px)) 12px 8px 64px !important;
    box-sizing: border-box !important;
  }

  .workspace .topbar-title,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    display: block !important;
    align-self: center !important;
    text-align: left !important;
  }

  .workspace .topbar-title strong,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-title strong {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(17px, 5.2vw, 20px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .workspace .topbar-subtitle,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-subtitle {
    display: none !important;
  }

  .workspace .topbar-actions,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    align-self: center !important;
    gap: 6px !important;
    padding: 0 !important;
  }

  .workspace .topbar-actions .notification-button,
  .workspace .topbar-actions [data-refresh],
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .notification-button,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions [data-refresh] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    flex: 0 0 40px !important;
    padding: 0 !important;
  }

  .workspace .topbar-actions .status-pill,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .status-pill {
    position: absolute !important;
    left: 64px !important;
    right: auto !important;
    bottom: 9px !important;
    width: auto !important;
    max-width: calc(100vw - 80px) !important;
    min-height: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .workspace .topbar-actions .status-pill span,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .status-pill span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .mobile-menu-toggle {
    top: calc(env(safe-area-inset-top, 0px) + 10px) !important;
  }
}

@media (max-width: 359px) {
  .workspace .topbar,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar {
    padding-left: 58px !important;
    padding-right: 10px !important;
  }

  .workspace .topbar-actions,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions {
    gap: 4px !important;
  }

  .workspace .topbar-actions .notification-button,
  .workspace .topbar-actions [data-refresh],
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .notification-button,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions [data-refresh] {
    width: 38px !important;
    min-width: 38px !important;
    flex-basis: 38px !important;
  }

  .workspace .topbar-actions .status-pill,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .status-pill {
    left: 58px !important;
  }
}
/* Ativação da Venda e jornada de contrato */
.activation-view{padding:0!important}.activation-view>[data-sales-activation-root]{min-height:100%}.sales-plans-page{padding:30px 26px 38px;max-width:1550px;margin:auto;color:#071936}.sales-plans-page>header{margin:0 0 26px 4px}.sales-plans-page>header h1{font-size:28px;line-height:1.15;margin:0 0 7px;font-weight:800;letter-spacing:-.7px}.sales-plans-page>header p{margin:0;color:#506078;font-size:15px}.sales-plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.sales-plan-card{--tone:#0a2447;display:flex;flex-direction:column;align-items:stretch;min-width:0;border:1px solid #dfe5ed;border-radius:13px;padding:17px 18px 18px;background:#fff;box-shadow:0 2px 9px rgba(15,36,65,.035);color:#10213c;text-align:center}.sales-plan-card.green{--tone:#078550}.sales-plan-card.blue{--tone:#0755dc}.sales-plan-card.purple{--tone:#7015a7}.sales-plan-badge{align-self:center;background:var(--tone);color:#fff;border-radius:5px;padding:5px 12px;font-size:10px;line-height:1;font-weight:800;white-space:nowrap}.sales-plan-shield{height:77px;display:grid;place-items:center;color:var(--tone)}.sales-plan-shield svg{width:58px;height:58px;stroke-width:1.8}.sales-plan-card h2{color:var(--tone);font-size:19px;line-height:1.08;margin:0 0 12px;font-weight:850}.sales-plan-band{background:var(--tone);color:#fff;border-radius:5px;padding:5px 6px;font-size:9.5px;line-height:1.1;white-space:nowrap}.sales-plan-description{min-height:57px;margin:12px 6px 5px;font-size:12px;line-height:1.5}.sales-plan-benefits{border-top:1px solid #e7ebf0;padding-top:10px;display:flex;flex-direction:column;gap:7px;text-align:left;flex:1}.sales-plan-benefits span{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.3}.sales-plan-benefits svg{width:13px;height:13px;min-width:13px;margin-top:1px;color:var(--tone);fill:var(--tone);stroke:#fff}.sales-plan-benefits b{font-weight:550}.sales-plan-price{margin:17px 0 11px;display:flex;flex-direction:column;color:#152541}.sales-plan-price strong{font-size:24px;line-height:1;color:var(--tone)}.sales-plan-price span{font-size:11px;margin-top:5px}.sales-plan-activate{height:39px;border:1px solid var(--tone);border-radius:7px;background:var(--tone);color:#fff;font:700 13px inherit;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.sales-plan-card:not(.navy) .sales-plan-activate{background:#fff;color:var(--tone)}.sales-plan-activate:hover{filter:brightness(.95);transform:translateY(-1px)}.sales-plan-activate svg{width:17px}.sales-plan-foot{margin-top:14px;background:color-mix(in srgb,var(--tone) 5%,white);min-height:59px;border-radius:7px;display:flex;gap:10px;align-items:center;text-align:left;padding:10px;color:var(--tone);font-size:10.5px;line-height:1.35;font-weight:650}.sales-plan-foot svg{width:22px;min-width:22px}
.contract-page-open>.topbar{display:none}.contract-page-open .activation-view{padding:0}.contract-page{background:#fbfcfe;min-height:100vh;color:#10213a}.contract-page-header{height:76px;background:#fff;border-bottom:1px solid #e5e9ef;display:flex;align-items:center;padding:0 22px;gap:13px;position:sticky;top:0;z-index:30}.contract-page-header>div{flex:1}.contract-page-header h1{font-size:16px;margin:0;font-weight:800}.contract-page-header p{font-size:10px;color:#69778b;margin:4px 0 0}.contract-page-header nav{display:flex;gap:10px}.contract-back{width:40px;height:40px;border:1px solid #e0e6ee;border-radius:7px;background:#fff;display:grid;place-items:center;cursor:pointer}.contract-back svg{width:17px}.contract-preview-button,.contract-generate-button{height:40px;padding:0 17px;border-radius:7px;border:1px solid #dfe5ed;background:#fff;color:#1d2b40;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.contract-generate-button{background:#0868df;border-color:#0868df;color:#fff}.contract-preview-button svg,.contract-generate-button svg{width:15px}.contract-columns{display:grid;grid-template-columns:minmax(470px,48%) minmax(510px,52%);gap:18px;padding:18px;align-items:start}.contract-form-column{min-width:0}.contract-form{display:flex;flex-direction:column;gap:11px}.contract-form-section{background:#fff;border:1px solid #e1e6ed;border-radius:8px;padding:14px}.contract-form-section h3{font-size:11px;color:#0755b6;margin:0 0 13px;border-bottom:1px solid #e9edf2;padding-bottom:8px;display:flex;align-items:center;gap:7px}.contract-form-section h3 svg{width:15px}.contract-form-section h4{font-size:10px;color:#283950;margin:12px 0 8px}.contract-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.contract-field{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;color:#26364d;min-width:0}.contract-field>span:has(+input[required])::after,.contract-field>span:has(+select[required])::after{color:#dc2626}.contract-field input,.contract-field select,.contract-field textarea{width:100%;box-sizing:border-box;border:1px solid #dfe5ec;border-radius:5px;background:#fff;color:#182840;min-height:36px;padding:8px 10px;font:11px inherit;outline:none}.contract-field textarea{min-height:60px;resize:vertical}.contract-field .extra-notes{min-height:92px}.contract-field input:focus,.contract-field select:focus,.contract-field textarea:focus{border-color:#1c6fe8;box-shadow:0 0 0 3px rgba(28,111,232,.11)}.contract-field small{font-weight:400;color:#738094}.span-2{grid-column:span 2}.plate-help{align-self:end;border:1px solid #b9d9fb;background:#f2f8ff;color:#1262b7;border-radius:5px;padding:8px 10px;font-size:9px;line-height:1.4;min-height:36px;box-sizing:border-box}.plate-status{font-size:10px;margin:8px 0 0}.plate-status.loading{color:#286bc2}.plate-status.success{color:#078550}.plate-status.error{color:#c2410c}.trade-choice{border:0;padding:0;margin:0;display:flex;align-items:center;gap:17px;font-size:10px}.trade-choice legend{font-weight:700;margin-bottom:5px}.trade-choice label{display:flex;align-items:center;gap:5px}.trade-choice input{accent-color:#078a75}.contract-uploads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.contract-upload{position:relative;min-height:128px;border:1px solid #dfe5ec;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:7px;cursor:pointer;overflow:hidden}.contract-upload>strong{font-size:9px}.contract-upload em{color:#dc2626}.contract-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-preview{flex:1;background:#f8fafc;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#4c627d;text-align:center}.upload-preview svg{width:22px}.upload-preview b{font-size:9px}.upload-preview small{font-size:8px}.upload-preview img{width:100%;height:76px;object-fit:cover;border-radius:4px}.contract-upload progress{width:100%;height:3px;accent-color:#0875e8}.contract-upload>button{display:none;position:absolute;right:11px;top:29px;z-index:3;width:26px;height:26px;border:0;border-radius:50%;background:#fff;color:#c22;box-shadow:0 1px 5px #3345;place-items:center}.contract-upload.has-file>button{display:grid}.contract-upload>button svg{width:14px}.invalid,.contract-upload.invalid{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.1)!important}.contract-preview-column{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;min-width:0}.legal-paper{background:#fff;border:1px solid #dfe5ec;box-shadow:0 2px 8px rgba(15,35,60,.05);font-family:Arial,sans-serif;color:#111}.legal-paper-bar{background:#09284e;color:#fff;text-align:center;padding:13px;font:700 11px Arial}.legal-paper-body{padding:18px 18px 14px;font-size:8.5px;line-height:1.42}.legal-paper-body h2{text-align:center;font-size:12px;margin:0 0 20px}.legal-paper p{margin:3px 0}.legal-parties{margin-bottom:11px}.legal-summary{border:1px solid #dfe4ea;border-radius:4px;padding:8px;margin:12px 0}.legal-summary p{display:grid;grid-template-columns:190px 1fr}.legal-clauses{padding-left:18px}.legal-clauses li{margin:0 0 6px;padding-left:3px;text-align:justify}.legal-date{text-align:center;margin:14px 0!important}.legal-signatures{display:grid;grid-template-columns:1fr 1fr;gap:16px}.legal-signatures>div{border:1px solid #dfe5ec;border-radius:4px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.legal-signatures svg{width:13px}.legal-signatures b{font-size:8px}.legal-signatures span{font-size:7px}.legal-signatures strong{font-size:7px;color:#536278;margin-top:5px}.legal-paper footer{border-top:1px solid #e5e9ef;margin-top:8px;padding-top:7px;color:#657387;font-size:7px;display:flex;align-items:center;gap:5px}.legal-paper footer svg{width:10px}.contract-mobile-tabs,.contract-mobile-bar{display:none}.contract-modal-backdrop{position:fixed;inset:0;background:rgba(5,18,36,.68);z-index:100;display:grid;place-items:center;padding:24px}.contract-modal{background:#fff;border-radius:10px;width:min(1040px,96vw);max-height:94vh;overflow:auto;box-shadow:0 24px 70px #0005}.contract-modal>header{position:sticky;top:0;background:#fff;z-index:2;padding:15px 18px;border-bottom:1px solid #e5e9ef;display:flex;align-items:center}.contract-modal>header h2{font-size:16px;margin:0;flex:1}.contract-modal>header button{border:0;background:transparent}.contract-modal>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #e5e9ef}.a4-modal{background:#eef1f5;padding:25px}.a4-modal .legal-paper{max-width:794px;margin:auto}.a4-modal .legal-paper-body{font-size:10px;padding:32px 38px}.contract-confirm{padding:20px}.contract-confirm p{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #e8ecf1;padding:10px 0;margin:0}.contract-confirm span{color:#657387}.contract-success{padding:38px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.contract-success>svg{width:54px;height:54px;color:#078550}.contract-success h2,.contract-success p{margin:0}.contract-success a{margin-top:10px}
@media(max-width:1200px){.sales-plans-grid{grid-template-columns:repeat(2,1fr)}.contract-columns{grid-template-columns:46% 54%;padding:12px;gap:12px}.contract-uploads{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sales-plans-page{padding:20px 16px 90px}.sales-plans-page>header h1{font-size:23px}.sales-plans-grid{grid-template-columns:1fr;gap:15px}.sales-plan-card{padding:18px}.contract-page-header{height:auto;min-height:66px;padding:10px 12px}.contract-page-header h1{font-size:13px}.contract-page-header nav .contract-generate-button{display:none}.contract-preview-button{padding:0 10px}.contract-page-header nav .contract-preview-button{font-size:0}.contract-page-header nav .contract-preview-button svg{width:18px}.contract-mobile-tabs{display:grid;grid-template-columns:1fr 1fr;position:sticky;top:66px;z-index:25;background:#fff;border-bottom:1px solid #e5e9ef}.contract-mobile-tabs button{height:42px;border:0;background:#fff;font-weight:700;color:#657387}.contract-mobile-tabs button.active{color:#0868df;border-bottom:2px solid #0868df}.contract-columns{display:block;padding:10px 10px 86px}.contract-preview-column{display:none;position:static;max-height:none;overflow:visible}.contract-columns[data-mobile-view="preview"] .contract-form-column{display:none}.contract-columns[data-mobile-view="preview"] .contract-preview-column{display:block;overflow-x:auto}.contract-form-section{padding:12px}.contract-fields{grid-template-columns:1fr}.span-2{grid-column:auto}.plate-help{align-self:auto}.contract-uploads{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-mobile-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #dfe5ed;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.contract-mobile-bar button{width:100%;height:44px;border:0;border-radius:7px;background:#0868df;color:#fff;font-weight:800;display:flex;justify-content:center;align-items:center;gap:8px}.contract-modal-backdrop{padding:8px}.a4-modal{padding:10px;overflow-x:auto}.a4-modal .legal-paper{min-width:680px}.legal-paper{min-width:650px}.contract-confirm p{grid-template-columns:1fr;gap:4px}}

/* Cadastro da Revenda - jornada guiada */
[data-view-panel="onboarding"]{background:#f6f8fb;margin:-24px;padding:28px;min-height:calc(100vh - 76px)}
.wizard[data-onboarding-form]{max-width:1080px;margin:0 auto;gap:16px;color:#14243b}
.franchisee-dealers{display:grid;gap:20px;padding:24px;border-radius:18px;background:#fff;border:1px solid #dfe7f1}.franchisee-dealers[hidden]{display:none!important}.franchisee-dealers>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.franchisee-dealers>header span{color:#176bd6;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.franchisee-dealers h1{margin:4px 0 5px;color:#10223b}.franchisee-dealers p{margin:0;color:#68788d}.franchisee-dealer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.franchisee-dealer-card{display:grid;gap:14px;padding:18px;border:1px solid #e0e7f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbff)}.franchisee-dealer-card.selected{border-color:#1f7dff;box-shadow:0 0 0 3px rgba(31,125,255,.1)}.franchisee-dealer-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.franchisee-dealer-card h2{font-size:17px;margin:0;color:#14243b}.franchisee-dealer-card p{margin:4px 0 0}.franchisee-dealer-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.franchisee-dealer-card dt{font-size:11px;color:#7a899d;text-transform:uppercase}.franchisee-dealer-card dd{margin:3px 0 0;font-weight:700;color:#34445b}.franchisee-dealer-card footer{display:flex;justify-content:flex-end}.franchisee-dealer-status{padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800;background:#eef2f7;color:#536379}.franchisee-dealer-status.active{background:#e7f8ef;color:#22815a}.franchisee-dealer-empty{grid-column:1/-1;padding:34px;text-align:center;border:1px dashed #ccd8e6;border-radius:14px;color:#68788d}.franchisee-dealer-editor-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:4px 0 16px;padding:14px 16px;border:1px solid #dfe7f1;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,48,85,.05)}.franchisee-dealer-editor-heading button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#176bd6;font-weight:800;cursor:pointer}.franchisee-dealer-editor-heading button svg{width:18px}.franchisee-dealer-editor-heading>div{min-width:0;padding-left:16px;border-left:1px solid #e6ebf2}.franchisee-dealer-editor-heading small,.franchisee-dealer-editor-heading strong,.franchisee-dealer-editor-heading>div>span{display:block}.franchisee-dealer-editor-heading small{color:#176bd6;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.franchisee-dealer-editor-heading strong{margin-top:3px;overflow:hidden;color:#14243b;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.franchisee-dealer-editor-heading>div>span{margin-top:2px;color:#728197;font-size:12px}.franchisee-dealer-editor-heading>em{font-style:normal}.dealer-editor-loading{display:flex;align-items:center;gap:16px;min-height:168px;padding:26px;border-radius:16px;background:#fff}.dealer-editor-loading[hidden],[data-dealer-editor-content][hidden]{display:none!important}.dealer-editor-loading>svg{width:34px;height:34px;color:#176bd6;animation:spin 1s linear infinite}.dealer-editor-loading h2,.dealer-editor-loading p{margin:0}.dealer-editor-loading p{margin-top:5px;color:#68788d}.dealer-editor-loading .ghost-action{margin-left:auto}
.onboarding-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid #e3e9f1;border-radius:16px;padding:20px 24px;box-shadow:0 8px 24px rgba(18,48,85,.06)}
.onboarding-title-icon,.step-intro>svg{width:48px;height:48px;border-radius:13px;background:#eef5ff;color:#176bd6;padding:12px;box-sizing:border-box}
.onboarding-hero h1,.step-intro h2{margin:0;color:#10223b}.onboarding-hero h1{font-size:24px}.onboarding-hero p,.step-intro p,.ready-box p{margin:5px 0 0;color:#68788d}
.onboarding-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.onboarding-status strong{color:#176bd6}.onboarding-status span{display:flex;align-items:center;gap:6px;color:#25835d;font-size:13px}.onboarding-status svg{width:16px}.onboarding-status .onboarding-quick-activate{min-height:42px;padding:9px 15px;background:linear-gradient(135deg,#176bd6,#0aa384);box-shadow:0 8px 20px rgba(23,107,214,.2)}.onboarding-status .onboarding-quick-activate span{color:#fff;font-size:12px}.onboarding-status .onboarding-quick-activate[hidden]{display:none!important}.onboarding-status .onboarding-quick-activate:disabled svg,.dealer-activate-operation:disabled svg{animation:spin 1s linear infinite}
.onboarding-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid #e3e9f1;border-radius:16px;padding:12px;overflow:hidden}
.onboarding-stepper button{position:relative;display:flex;align-items:center;gap:9px;min-width:0;border:0;background:transparent;padding:8px;text-align:left;color:#8390a2;cursor:pointer}
.onboarding-stepper button:not(:last-child):after{content:"";position:absolute;right:-4px;width:8px;border-top:2px solid #dde4ed}.step-dot{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf1f5}.step-dot svg{width:17px}.onboarding-stepper small,.onboarding-stepper strong{display:block}.onboarding-stepper small{font-size:10px;text-transform:uppercase}.onboarding-stepper strong{font-size:12px;margin-top:2px}.onboarding-stepper button.active{color:#176bd6}.onboarding-stepper button.active .step-dot{background:#176bd6;color:#fff}.onboarding-stepper button.done{color:#23835c}.onboarding-stepper button.done .step-dot{background:#e1f6ec;color:#23835c}.onboarding-stepper button:disabled{cursor:not-allowed;opacity:.65}
.onboarding-mobile-progress{display:none}.onboarding-step.panel{background:#fff;border-color:#e3e9f1;border-radius:16px;padding:26px;box-shadow:0 8px 24px rgba(18,48,85,.05);animation:onboarding-in .22s ease}.onboarding-step[hidden],.onboarding-success[hidden]{display:none!important}@keyframes onboarding-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.step-intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.step-intro>div{flex:1}.step-intro .primary-action{min-height:44px}.dealer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dealer-fields label>span,.onboarding-contacts label{font-weight:700;font-size:13px;color:#34445b}.dealer-fields b,.onboarding-contacts b{color:#d93b4d}.field-shell{position:relative;margin-top:7px}.field-shell>svg:first-child{position:absolute;left:14px;top:50%;width:18px;transform:translateY(-50%);color:#7b8da4}.field-shell input{padding-left:43px!important;min-height:50px}.field-shell input:focus{border-color:#1f7dff;box-shadow:0 0 0 3px rgba(31,125,255,.12)}.cep-field{grid-column:span 1}.address-field{grid-column:span 1}.field-loader{display:none!important;position:absolute;right:12px;top:15px}.field-loader.active{display:block!important;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.step-intro .dealer-franchisee-owner{flex:0 1 300px;margin-left:auto;padding:11px 13px;border:1px solid #dbe5f0;border-radius:12px;background:#f8fbff}.dealer-franchisee-owner>span{display:block;margin-bottom:5px;color:#718198;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.dealer-franchisee-owner strong{display:flex;align-items:center;gap:7px;color:#17355e;font-size:14px}.dealer-franchisee-owner strong svg{width:17px}.dealer-franchisee-owner select{width:100%;min-height:39px;padding:7px 10px;border:1px solid #cbd9e8;border-radius:9px;background:#fff;color:#17355e;font-weight:700}.dealer-franchisee-owner small{display:block;margin-top:5px;color:#718198}
@media(max-width:767px){.step-intro .dealer-franchisee-owner{flex-basis:100%;width:100%;margin-left:0}}
.logo-upload-box{position:relative;display:flex;align-items:center;gap:16px;margin-top:7px;padding:16px;border:1px dashed #cbd7e6;border-radius:13px;background:#fafcff}.logo-upload-box>[data-logo-preview]{width:72px;height:72px;display:grid;place-items:center;border-radius:12px;background:#eef5ff;color:#176bd6;overflow:hidden}.logo-upload-box img{width:100%;height:100%;object-fit:contain}.logo-upload-box>div:nth-child(2){display:grid;gap:5px}.logo-upload-box small{color:#758398}.logo-upload-box input[type=file]{position:absolute;opacity:0;pointer-events:none}.logo-actions{display:flex;gap:8px;margin-top:5px}
.card-editor .editor-row{grid-template-columns:repeat(3,minmax(160px,1fr));background:#fff;border-color:#e1e7ef;padding:18px}.card-editor .editor-row label{font-size:12px;color:#607086}.card-editor .editor-row input,.card-editor .editor-row select{margin-top:6px;min-height:46px}.card-editor .remove-row{align-self:end;background:#fff1f2}.onboarding-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-contacts fieldset{border-color:#e1e7ef;background:#fff}.onboarding-contacts legend{display:flex;align-items:center;gap:7px;color:#176bd6}.onboarding-contacts legend svg{width:18px}.onboarding-contacts label{display:grid;gap:6px}.owners-fieldset .table-editor{margin-top:10px}.owners-fieldset .editor-row{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:#718198;border:1px dashed #d7e0eb;border-radius:14px}.onboarding-empty svg{width:38px;height:38px;color:#176bd6}.onboarding-empty strong{color:#20334d}
.user-login-state{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:-3px 34px 0 0;padding:9px 11px;border-radius:9px;font-size:12px;font-weight:750}.user-login-state svg{width:16px;height:16px}.user-login-state.configured{color:#177553;background:#e8f7ef}.user-login-state.pending{color:#8a5a00;background:#fff7df}
.card-editor .user-editor-row{position:relative;padding-right:64px}.card-editor .user-editor-row>.remove-row{position:absolute;top:18px;right:18px}.seller-profile-editor{grid-column:1/-1;display:grid;grid-template-columns:68px minmax(190px,1fr) minmax(260px,1.25fr);align-items:center;gap:14px;margin-top:2px;padding:14px;border:1px solid #cfe0f7;border-radius:13px;background:#f5f9ff}.seller-profile-editor[hidden]{display:none!important}.seller-photo-preview{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#176bd6,#4d8ce6);box-shadow:0 0 0 1px #c9d9ef;color:#fff;font-size:17px;font-weight:900}.seller-photo-preview img{width:100%;height:100%;object-fit:cover}.seller-photo-copy{display:grid;gap:3px;min-width:0}.seller-photo-copy>strong{color:#20334d;font-size:13px}.seller-photo-copy>small,.seller-featured-toggle small{color:#718198;font-size:11px;line-height:1.35}.seller-photo-copy>div{display:flex;align-items:center;gap:9px;margin-top:5px}.seller-photo-button{min-height:34px!important;padding:7px 10px!important;font-size:11px!important}.seller-photo-button svg{width:14px}.seller-photo-remove{border:0;background:transparent;color:#bd3545;font-size:11px;font-weight:800}.seller-featured-toggle{display:flex!important;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid #c4d8f3;border-radius:11px;background:#fff;cursor:pointer}.seller-featured-toggle input{flex:none;width:18px!important;height:18px!important;min-height:18px!important;margin:1px 0 0!important;accent-color:#176bd6}.seller-featured-toggle span{display:grid;gap:3px}.seller-featured-toggle strong{color:#174e9b;font-size:12px}.seller-featured-toggle input:disabled+span{opacity:.55}
.review-grid{display:grid;gap:10px}.review-grid article{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:15px;border:1px solid #e1e7ef;border-radius:13px}.review-grid article>svg{color:#176bd6}.review-grid article span{display:block;color:#718198;margin-top:3px}.review-grid em{font-style:normal;font-size:12px;font-weight:800;border-radius:99px;padding:6px 9px}.review-grid em.complete{color:#23835c;background:#e8f7f0}.review-grid em.pending{color:#b33b4a;background:#fff0f1}.ready-box{display:flex;gap:13px;margin-top:18px;padding:17px;border-radius:13px;background:#eff8f4;color:#23835c}.ready-box svg{flex:none}.onboarding-actions{position:sticky;bottom:12px;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:13px 16px;border:1px solid #dfe6ef;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(17,43,77,.13);backdrop-filter:blur(12px)}.onboarding-actions>[data-onboarding-next],.onboarding-actions>[data-onboarding-submit]{justify-self:end}.onboarding-actions>span{text-align:center;color:#68788d;font-size:13px}.field-error{display:block;color:#c93446;font-size:12px;margin-top:6px}[aria-invalid=true]{border-color:#d93b4d!important;box-shadow:0 0 0 3px rgba(217,59,77,.1)!important}.onboarding-success{text-align:center;justify-items:center;padding:54px}.onboarding-success>svg{width:64px;height:64px;color:#2b9a6a}.onboarding-success h2{margin-bottom:0}.onboarding-success p{color:#68788d}.onboarding-success>div{display:flex;gap:10px;margin-top:14px}
@media(max-width:900px){.onboarding-stepper strong{display:none}.onboarding-stepper button{justify-content:center}.card-editor .editor-row{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-profile-editor{grid-template-columns:64px minmax(0,1fr)}.seller-featured-toggle{grid-column:1/-1}}
@media(max-width:767px){[data-view-panel="onboarding"]{margin:-16px;padding:14px 16px 100px}.onboarding-hero{grid-template-columns:auto 1fr;padding:17px}.onboarding-hero h1{font-size:20px}.onboarding-hero p{font-size:13px}.onboarding-status{grid-column:1/-1;align-items:flex-start;border-top:1px solid #edf0f4;padding-top:12px}.onboarding-stepper{display:none}.onboarding-mobile-progress{display:grid;gap:9px;background:#fff;border:1px solid #e3e9f1;border-radius:13px;padding:14px}.onboarding-mobile-progress div{display:flex;justify-content:space-between;gap:12px}.onboarding-mobile-progress span{color:#718198;font-size:12px}.onboarding-mobile-progress progress{width:100%;height:7px;accent-color:#176bd6}.onboarding-step.panel{padding:19px 16px}.step-intro{align-items:flex-start;flex-wrap:wrap}.step-intro>svg{width:42px;height:42px;padding:10px}.step-intro .primary-action{width:100%}.dealer-fields,.onboarding-contacts,.card-editor .editor-row,.owners-fieldset .editor-row{grid-template-columns:1fr}.dealer-fields>*{grid-column:auto!important}.dealer-fields input,.onboarding-contacts input,.card-editor input,.card-editor select{font-size:16px}.logo-upload-box{align-items:flex-start}.logo-upload-box>[data-logo-preview]{width:58px;height:58px}.card-editor .editor-row{padding:14px}.review-grid article{grid-template-columns:auto 1fr auto}.review-grid article .ghost-action{grid-column:2/-1;justify-self:start}.onboarding-actions{position:fixed;left:0;right:0;bottom:0;border-radius:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));grid-template-columns:52px 1fr}.onboarding-actions>span{display:none}.onboarding-actions .back-action{width:52px;padding:0}.onboarding-actions .back-action span{display:none}.onboarding-actions>[data-onboarding-next],.onboarding-actions>[data-onboarding-submit]{width:100%;min-height:52px}.onboarding-success{padding:38px 20px}.onboarding-success>div{flex-direction:column;width:100%}}
@media(max-width:767px){.franchisee-dealer-editor-heading{grid-template-columns:1fr auto;gap:10px}.franchisee-dealer-editor-heading button{grid-column:1/-1;justify-self:start}.franchisee-dealer-editor-heading>div{padding-left:0;border-left:0}.dealer-editor-loading{align-items:flex-start;flex-wrap:wrap}.dealer-editor-loading .ghost-action{width:100%;margin-left:0;justify-content:center}.user-login-state{margin-right:0}}
@media(max-width:767px){.card-editor .user-editor-row{padding-right:54px}.card-editor .user-editor-row>.remove-row{top:14px;right:14px}.seller-profile-editor{grid-template-columns:54px minmax(0,1fr);padding:12px}.seller-photo-preview{width:52px;height:52px}.seller-photo-copy>div{align-items:flex-start;flex-direction:column}.seller-featured-toggle{grid-column:1/-1}}
@media(max-width:767px){.franchisee-dealers{padding:17px}.franchisee-dealers>header{display:grid}.franchisee-dealers>header .primary-action{width:100%}.franchisee-dealer-grid{grid-template-columns:1fr}.franchisee-dealer-card dl{grid-template-columns:1fr}}

.franchisee-dealer-card.inactive {
  background: linear-gradient(145deg, #fff, #fff8f7);
  border-color: #f0d9d5;
}

/* Painel · slideshow comercial Landing Page Oficerto */
.oficerto-dashboard .dashboard-hero-carousel {
  position: relative;
  width: 100%;
  isolation: isolate;
  overflow: hidden;
  border-radius: 19px;
  background: #06152f;
  box-shadow: 0 20px 46px rgba(8, 31, 69, .18);
}

.oficerto-dashboard .dashboard-hero-slide {
  position: relative;
  width: 100%;
  min-height: clamp(430px, 31vw, 490px);
  display: none !important;
  overflow: hidden;
  border-radius: 19px;
}

.oficerto-dashboard .dashboard-hero-slide.is-active {
  display: grid !important;
  animation: dashboard-hero-enter .55s cubic-bezier(.2, .75, .25, 1) both;
}

@keyframes dashboard-hero-enter {
  from { opacity: .15; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

.oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-banner {
  min-height: clamp(430px, 31vw, 490px) !important;
  height: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  padding: clamp(48px, 6vw, 82px) clamp(58px, 7vw, 100px) 64px !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at 75% 35%, rgba(34, 216, 197, .25), transparent 25%),
    radial-gradient(circle at 102% -20%, rgba(20, 111, 231, .42), transparent 36%),
    linear-gradient(120deg, #031126 0%, #082a57 56%, #0f55a7 100%) !important;
}

.oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-banner::before {
  content: "";
  position: absolute;
  right: clamp(40px, 9vw, 150px);
  top: 50%;
  width: clamp(210px, 25vw, 380px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 86px rgba(255,255,255,.018);
}

.oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-copy {
  width: min(720px, 68%) !important;
  z-index: 2;
  gap: 14px !important;
}

.dashboard-carousel-arrow {
  position: absolute;
  z-index: 8;
  top: 50%;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: #fff;
  background: rgba(4, 20, 45, .46);
  box-shadow: 0 9px 24px rgba(0,0,0,.2);
  backdrop-filter: blur(10px);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.dashboard-carousel-arrow:hover { background: rgba(0, 181, 151, .9); }
.dashboard-carousel-arrow.previous { left: 14px; }
.dashboard-carousel-arrow.next { right: 14px; }
.dashboard-carousel-arrow svg { width: 20px; height: 20px; }

.dashboard-carousel-dots {
  position: absolute;
  z-index: 9;
  left: 50%;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  transform: translateX(-50%);
}

.dashboard-carousel-dots button {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 99px;
  padding: 0;
  background: rgba(255,255,255,.55);
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}

.dashboard-carousel-dots button.is-active { width: 30px; background: #20d6b6; }

.oficerto-dashboard .dashboard-landing-slide {
  grid-template-columns: minmax(250px, 1.05fr) minmax(300px, 1.05fr) minmax(240px, .78fr);
  align-items: center;
  gap: clamp(18px, 2vw, 30px);
  padding: clamp(30px, 3.2vw, 46px) clamp(54px, 4.8vw, 76px) 54px;
  color: #fff;
  background:
    radial-gradient(circle at 69% 35%, rgba(16, 112, 226, .48), transparent 31%),
    radial-gradient(circle at 17% 112%, rgba(0, 191, 160, .17), transparent 30%),
    linear-gradient(116deg, #031127 0%, #08264f 54%, #0b55b8 100%);
}

.oficerto-dashboard .dashboard-landing-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .15;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to right, transparent, #000 48%, #000);
}

.landing-sales-copy,
.landing-product-mockup,
.landing-offer-card { position: relative; z-index: 2; min-width: 0; }

.landing-sales-copy { display: grid; align-content: center; gap: 13px; }
.landing-sales-kicker { width: max-content; max-width: 100%; color: #2ed9be; font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.landing-sales-copy h2 { margin: 0; color: #fff; font-size: clamp(25px, 2.25vw, 36px); line-height: 1.08; letter-spacing: -.035em; }
.landing-sales-copy h2 em { display: block; color: #20d6b6; font-style: normal; }
.landing-sales-copy > p { margin: 0; color: #d4e2f5; font-size: 12px; line-height: 1.55; }
.landing-sales-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 2px 0 0; padding: 0; list-style: none; }
.landing-sales-benefits li { display: grid; grid-template-columns: 15px minmax(0,1fr); align-items: start; gap: 6px; color: #f3f8ff; font-size: 10px; line-height: 1.35; }
.landing-sales-benefits svg { width: 14px; color: #20d6b6; }
.landing-sales-actions { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 10px; margin-top: 2px; }
.landing-sales-actions button { min-height: 48px; border-radius: 9px; cursor: pointer; }
.landing-primary-cta { display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; padding: 7px 12px; color: #fff; background: linear-gradient(135deg, #04b99d, #13cfad); box-shadow: 0 12px 24px rgba(0, 190, 157, .24); }
.landing-primary-cta > span { min-width: 0; display: grid; text-align: left; }
.landing-primary-cta strong { font-size: 12px; }
.landing-primary-cta small { margin-top: 2px; font-size: 8px; font-weight: 600; opacity: .9; }
.landing-primary-cta svg { width: 15px; }
.landing-secondary-cta { display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.55); padding: 7px 10px; color: #fff; background: rgba(4, 21, 45, .34); font-size: 11px; font-weight: 800; }
.landing-secondary-cta svg { width: 16px; }
.landing-sales-trust { display: flex; flex-wrap: wrap; gap: 10px 14px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.13); }
.landing-sales-trust span { display: inline-flex; align-items: center; gap: 5px; color: #d9e7f7; font-size: 9px; font-weight: 750; }
.landing-sales-trust svg { width: 13px; color: #22d6b7; }

.landing-product-mockup {
  align-self: center;
  overflow: hidden;
  border: 7px solid rgba(130, 170, 219, .32);
  border-radius: 16px;
  background: #071934;
  box-shadow: 0 26px 45px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.18);
  transform: perspective(1200px) rotateY(-2deg);
}
.landing-browser-bar { height: 26px; display: flex; align-items: center; gap: 5px; padding: 0 10px; background: #263b5a; }
.landing-browser-bar > span { width: 7px; height: 7px; border-radius: 50%; background: #98a9bd; }
.landing-browser-bar > span:nth-child(1) { background: #ff7a7a; }
.landing-browser-bar > span:nth-child(2) { background: #ffd065; }
.landing-browser-bar > span:nth-child(3) { background: #76d6a1; }
.landing-browser-bar small { margin-left: auto; color: #afbed0; font-size: 7px; }
.landing-browser-page { background: #fff; }
.landing-browser-page > header { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 8px 11px; color: #10213c; }
.landing-mock-logo { display: flex; align-items: center; gap: 4px; margin-right: auto; font-size: 8px; }
.landing-mock-logo svg { width: 17px; color: #039f86; }
.landing-browser-page nav { display: flex; gap: 8px; font-size: 5px; }
.landing-browser-page header > b { border-radius: 4px; padding: 6px 8px; color: #fff; background: #176dd7; font-size: 5px; }
.landing-browser-page main { min-height: 260px; display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 12px; padding: 20px 13px; background: radial-gradient(circle at 66% 40%, rgba(38, 185, 177, .17), transparent 38%), #071a39; }
.landing-mock-copy small { color: #1ccdb0; font-size: 5px; font-weight: 900; }
.landing-mock-copy h3 { margin: 8px 0; color: #fff; font-size: clamp(13px, 1.25vw, 19px); line-height: 1.22; }
.landing-mock-copy h3 span { color: #22d6b7; }
.landing-mock-copy p { margin: 0 0 15px; color: #c9d6e7; font-size: 6px; }
.landing-mock-copy > div { display: flex; gap: 5px; }
.landing-mock-copy > div > * { border-radius: 4px; padding: 7px; color: #fff; font-size: 5px; font-style: normal; }
.landing-mock-copy > div b { background: #14bda1; }
.landing-mock-copy > div i { border: 1px solid rgba(255,255,255,.5); }
.landing-mock-panel { display: grid; gap: 9px; border-radius: 8px; padding: 12px; color: #1b2d46; background: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.25); }
.landing-mock-panel > strong { font-size: 7px; }
.landing-mock-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.landing-mock-metrics > span { display: grid; gap: 4px; border-radius: 5px; padding: 7px; background: #f4f8fc; }
.landing-mock-metrics small { color: #708199; font-size: 5px; }
.landing-mock-metrics b { font-size: 7px; }
.landing-mock-chart { position: relative; height: 72px; display: flex; align-items: end; justify-content: space-around; overflow: hidden; border-bottom: 1px solid #dbe5ef; }
.landing-mock-chart i { width: 9%; border-radius: 2px 2px 0 0; background: #dcecff; }
.landing-mock-chart i:nth-child(1) { height: 22%; }.landing-mock-chart i:nth-child(2) { height: 35%; }.landing-mock-chart i:nth-child(3) { height: 28%; }.landing-mock-chart i:nth-child(4) { height: 49%; }.landing-mock-chart i:nth-child(5) { height: 58%; }.landing-mock-chart i:nth-child(6) { height: 72%; }
.landing-mock-chart svg { position: absolute; inset: 5px 0 0; width: 100%; height: 62px; overflow: visible; }
.landing-mock-chart polyline { fill: none; stroke: #2180e8; stroke-width: 3; }
.landing-browser-page > footer { min-height: 48px; display: grid; gap: 7px; padding: 9px 12px; color: #8290a3; background: #0b254b; }
.landing-browser-page > footer small { font-size: 5px; }
.landing-browser-page > footer div { display: flex; justify-content: space-between; color: #aab8cb; font-size: 5px; }

.landing-offer-card { display: grid; align-content: center; gap: 10px; border: 1px solid rgba(255,255,255,.68); border-radius: 17px; padding: clamp(18px, 1.8vw, 25px); color: #10213c; background: #fff; box-shadow: 0 24px 45px rgba(0,0,0,.28); }
.landing-offer-badge { width: max-content; border-radius: 99px; padding: 6px 9px; color: #078a76; background: #dff7f2; font-size: 8px; font-weight: 900; letter-spacing: .04em; }
.landing-offer-card h3 { margin: 0; color: #10213c; font-size: clamp(15px, 1.35vw, 20px); line-height: 1.25; }
.landing-offer-card h3 strong { display: block; }
.landing-offer-price { display: flex; align-items: baseline; color: #1468d8; }
.landing-offer-price small { align-self: center; margin-right: 5px; color: #10213c; font-size: 11px; font-weight: 900; }
.landing-offer-price b { font-size: clamp(39px, 4vw, 58px); line-height: .9; letter-spacing: -.06em; }
.landing-offer-price span { margin-left: 3px; color: #10213c; font-size: 11px; font-weight: 800; }
.landing-offer-card > p { margin: 0; color: #64748a; font-size: 9px; }
.landing-offer-card ul { display: grid; gap: 7px; margin: 2px 0; padding: 0; list-style: none; }
.landing-offer-card li { display: grid; grid-template-columns: 14px minmax(0,1fr); gap: 6px; color: #43546a; font-size: 9px; line-height: 1.35; }
.landing-offer-card li svg { width: 13px; color: #08ad91; stroke-width: 3; }
.landing-offer-card > button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 8px; color: #fff; background: linear-gradient(135deg, #1164d4, #0b51bd); box-shadow: 0 10px 22px rgba(18,100,211,.2); font-size: 11px; font-weight: 900; cursor: pointer; }
.landing-offer-card > button svg { width: 15px; }
.landing-offer-security { display: flex; align-items: center; justify-content: center; gap: 5px; color: #718096; font-size: 7px; }
.landing-offer-security svg { width: 11px; }
.landing-subscription-error { position: absolute; z-index: 8; left: 50%; bottom: 25px; transform: translateX(-50%); margin: 0; border-radius: 8px; padding: 7px 11px; color: #a9273c; background: #fff1f3; box-shadow: 0 8px 24px rgba(0,0,0,.2); font-size: 10px; font-weight: 800; }
[data-dashboard-landing-subscribe].is-loading { opacity: .72; cursor: wait; }
[data-dashboard-landing-subscribe].is-loading svg { animation: dashboard-spin .8s linear infinite; }

@media (max-width: 1180px) {
  .oficerto-dashboard .dashboard-landing-slide { min-height: 720px; grid-template-columns: minmax(0,1fr) minmax(310px,1fr); align-items: start; }
  .landing-offer-card { grid-column: 1 / -1; grid-template-columns: minmax(180px,.7fr) minmax(260px,1.3fr); align-items: center; }
  .landing-offer-card > :is(.landing-offer-badge,h3,.landing-offer-price,p) { grid-column: 1; }
  .landing-offer-card > :is(ul,button,.landing-offer-security) { grid-column: 2; }
  .landing-offer-card ul { grid-row: 1 / span 4; }
}

@media (max-width: 767px) {
  .oficerto-dashboard .dashboard-hero-carousel { border-radius: 17px; overflow: hidden; }
  .oficerto-dashboard .dashboard-hero-slide { min-height: 0; border-radius: 17px; }
  .oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-banner { min-height: 360px !important; padding: 78px 24px 58px !important; }
  .oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-copy { width: 100% !important; }
  .oficerto-dashboard .dashboard-hero-carousel .dashboard-hero-banner::before { right: -110px; width: 270px; }
  .dashboard-carousel-arrow { top: 16px; width: 38px; height: 38px; transform: none; }
  .dashboard-carousel-arrow.previous { left: auto; right: 62px; }
  .dashboard-carousel-arrow.next { right: 16px; }
  .dashboard-carousel-dots { bottom: 15px; }
  .oficerto-dashboard .dashboard-landing-slide { min-height: 0; grid-template-columns: minmax(0,1fr); gap: 24px; padding: 70px 18px 54px; }
  .landing-sales-copy { gap: 15px; }
  .landing-sales-copy h2 { font-size: clamp(28px, 8.5vw, 38px); }
  .landing-sales-copy > p { font-size: 13px; }
  .landing-sales-benefits { grid-template-columns: 1fr; }
  .landing-sales-benefits li { font-size: 12px; }
  .landing-sales-actions { grid-template-columns: 1fr; }
  .landing-sales-actions button { min-height: 52px; }
  .landing-primary-cta strong { font-size: 14px; }
  .landing-primary-cta small { font-size: 9px; }
  .landing-secondary-cta { font-size: 13px; }
  .landing-sales-trust { display: grid; grid-template-columns: 1fr 1fr; }
  .landing-sales-trust span { font-size: 10px; }
  .landing-product-mockup { transform: none; }
  .landing-browser-page nav { display: none; }
  .landing-browser-page main { min-height: 245px; }
  .landing-offer-card { grid-column: auto; grid-template-columns: 1fr; gap: 12px; padding: 24px 20px; }
  .landing-offer-card > :is(.landing-offer-badge,h3,.landing-offer-price,p,ul,button,.landing-offer-security) { grid-column: 1; grid-row: auto; }
  .landing-offer-card h3 { font-size: 20px; }
  .landing-offer-card > p, .landing-offer-card li { font-size: 11px; }
  .landing-offer-card ul { gap: 9px; }
  .landing-offer-card > button { min-height: 50px; font-size: 13px; }
  .landing-offer-security { font-size: 9px; }
  .landing-subscription-error { position: static; grid-column: 1; transform: none; text-align: center; }
}

@media (max-width: 430px) {
  .landing-browser-page main { grid-template-columns: 1fr; }
  .landing-mock-panel { display: none; }
  .landing-product-mockup { border-width: 5px; }
  .landing-sales-trust { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .oficerto-dashboard .dashboard-hero-slide.is-active { animation: none; }
  .dashboard-carousel-dots button { transition: none; }
}

/* Painel · oferta fixa Landing Page + Tráfego Pago */
.oficerto-dashboard .dashboard-landing-offer {
  position: relative;
  isolation: isolate;
  min-height: 440px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .78fr);
  gap: clamp(34px, 4.5vw, 70px);
  align-items: center;
  overflow: hidden;
  border-radius: 20px;
  padding: clamp(36px, 4.5vw, 62px) clamp(38px, 4.8vw, 68px);
  color: #fff;
  background:
    radial-gradient(circle at 88% 24%, rgba(43, 99, 194, .22), transparent 33%),
    radial-gradient(circle at 8% 100%, rgba(8, 166, 143, .08), transparent 29%),
    linear-gradient(118deg, #07162c 0%, #102a50 100%);
  box-shadow: 0 20px 46px rgba(8, 31, 69, .16);
}

.oficerto-dashboard .dashboard-landing-offer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .1;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, #000, transparent 75%);
}

.dashboard-landing-offer-copy { min-width: 0; display: grid; align-content: center; gap: 12px; }
.dashboard-landing-eyebrow { color: #41caae; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.dashboard-landing-offer-copy h2 { max-width: 600px; margin: 0; color: #fff; font-size: clamp(28px, 2.7vw, 40px); line-height: 1.08; letter-spacing: -.035em; }
.dashboard-landing-offer-copy > strong { color: #39c5a5; font-size: clamp(16px, 1.5vw, 22px); font-style: italic; }
.dashboard-landing-offer-copy > p { max-width: 620px; margin: 0; color: #becde0; font-size: 13px; line-height: 1.6; }
.dashboard-landing-featured { min-height: 50px; display: flex; align-items: center; gap: 12px; margin-top: 2px; border: 1px solid rgba(55, 202, 173, .34); border-radius: 8px; padding: 10px 16px; color: #f7fbff; background: rgba(57, 197, 165, .08); }
.dashboard-landing-featured > svg { width: 20px; color: #39c5a5; }
.dashboard-landing-featured > span { display: grid; gap: 3px; }
.dashboard-landing-featured b { font-size: 12px; }
.dashboard-landing-featured small { color: #42c9aa; font-size: 7px; font-weight: 800; letter-spacing: .025em; }
.dashboard-landing-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 26px; margin: 0; padding: 0; list-style: none; }
.dashboard-landing-benefits li { display: flex; align-items: center; gap: 8px; color: #f0f6fd; font-size: 11px; }
.dashboard-landing-benefits li svg { width: 17px; height: 17px; flex: 0 0 auto; color: #3bc9aa; }
.dashboard-landing-trust { display: flex; flex-wrap: wrap; gap: 14px 25px; margin-top: 7px; border-top: 1px solid rgba(255,255,255,.09); padding-top: 15px; }
.dashboard-landing-trust span { display: inline-flex; align-items: center; gap: 7px; color: #c8d5e5; font-size: 10px; font-weight: 650; }
.dashboard-landing-trust svg { width: 14px; color: #3bc9aa; }

.dashboard-landing-checkout { min-width: 0; display: grid; gap: 10px; border-radius: 18px; padding: 24px 22px 20px; color: #17263d; background: #fff; box-shadow: 0 24px 48px rgba(0, 0, 0, .26); }
.dashboard-landing-checkout-title { margin-bottom: 2px; color: #6e7d91; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.dashboard-landing-plan { position: relative; min-height: 63px; display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 8px; border: 1px solid #d9dfe7; border-radius: 10px; padding: 11px 13px; background: #fff; cursor: pointer; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.dashboard-landing-plan:hover { border-color: #86b9ad; }
.dashboard-landing-plan.is-selected { border-color: #32bd9f; background: #f4fcfa; box-shadow: inset 0 0 0 1px rgba(50, 189, 159, .1); }
.dashboard-landing-plan input { position: absolute; opacity: 0; pointer-events: none; }
.dashboard-plan-radio { width: 14px; height: 14px; border: 1.5px solid #bdc6d1; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 3px #fff; }
.dashboard-landing-plan.is-selected .dashboard-plan-radio { border-color: #32bd9f; background: #32bd9f; }
.dashboard-plan-copy { min-width: 0; display: grid; gap: 2px; }
.dashboard-plan-copy b { color: #18253a; font-size: 10px; }
.dashboard-plan-copy small { overflow: hidden; color: #9aa5b3; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-landing-plan > strong { align-self: end; color: #111b2d; font-size: 10px; white-space: nowrap; }
.dashboard-recommended-badge { position: absolute; z-index: 2; top: -8px; right: 12px; border-radius: 99px; padding: 4px 8px; color: #fff; background: #32bd9f; font-size: 6px; font-weight: 900; letter-spacing: .04em; }
.dashboard-landing-total { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: 8px; border-top: 1px solid #e6eaf0; padding-top: 13px; }
.dashboard-landing-total > span { color: #6f7f93; font-size: 9px; }
.dashboard-landing-total > strong { display: flex; align-items: baseline; color: #2864ca; line-height: 1; }
.dashboard-landing-total small { margin-right: 3px; font-size: 10px; text-transform: uppercase; }
.dashboard-landing-total b { font-size: 29px; letter-spacing: -.06em; }
.dashboard-landing-total em { margin-left: 2px; color: #8d99a9; font-size: 8px; font-style: normal; font-weight: 500; }
.dashboard-landing-checkout > button { min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 9px; padding: 10px 14px; color: #fff; background: #3166d8; box-shadow: 0 10px 20px rgba(49, 102, 216, .2); font-size: 10px; font-weight: 850; cursor: pointer; }
.dashboard-landing-checkout > button:hover { background: #2458c8; }
.dashboard-landing-checkout > button svg { width: 13px; }
.dashboard-landing-checkout > button.is-loading { opacity: .7; cursor: wait; }
.dashboard-landing-notes { display: grid; gap: 9px; margin: 4px 0 0; padding: 0; color: #8b97a8; list-style: none; }
.dashboard-landing-notes li { position: relative; padding-left: 12px; font-size: 7px; line-height: 1.55; }
.dashboard-landing-notes li::before { content: "•"; position: absolute; left: 0; color: #32bd9f; font-size: 10px; }
.dashboard-landing-notes b { color: #657387; }
.dashboard-landing-security { display: flex; align-items: center; justify-content: center; gap: 5px; color: #a5aeba; font-size: 7px; }
.dashboard-landing-security svg { width: 10px; }
.dashboard-landing-checkout .landing-subscription-error { position: static; transform: none; margin: 0; text-align: center; }

@media (max-width: 1040px) {
  .oficerto-dashboard .dashboard-landing-offer { grid-template-columns: minmax(0, 1fr) minmax(310px, .8fr); gap: 28px; padding: 34px; }
  .dashboard-landing-benefits { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 767px) {
  .oficerto-dashboard .dashboard-landing-offer { min-height: 0; grid-template-columns: 1fr; gap: 28px; border-radius: 17px; padding: 30px 18px 22px; }
  .dashboard-landing-offer-copy h2 { font-size: clamp(28px, 9vw, 38px); }
  .dashboard-landing-offer-copy > p { font-size: 12px; }
  .dashboard-landing-benefits { grid-template-columns: 1fr; }
  .dashboard-landing-trust { display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-landing-checkout { padding: 22px 16px 18px; }
}

@media (max-width: 430px) {
  .dashboard-landing-trust { grid-template-columns: 1fr; }
  .dashboard-plan-copy small { white-space: normal; }
}

.franchisee-dealer-status.inactive {
  background: #fff0ed;
  color: #b34736;
}

/* Admin must fit the application viewport at normal browser zoom. */
.admin-workspace,
.admin-workspace > *,
.admin-workspace .panel,
.admin-workspace .admin-responsive-table {
  min-width: 0;
  max-width: 100%;
}

.admin-workspace .admin-tabs {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.admin-workspace .admin-responsive-table {
  width: 100%;
  overflow-x: auto;
}

.admin-workspace .admin-table {
  width: max-content;
  min-width: 100%;
}

.franchisee-portfolio-search {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(180px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: #fff;
}

.franchisee-portfolio-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  font: inherit;
}

.franchisee-portfolio-search span {
  color: #68788d;
  font-size: 12px;
}

@media (max-width: 1366px) {
  .admin-workspace {
    padding-inline: 14px;
  }

  .admin-workspace .admin-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-workspace .admin-top-actions {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .franchisee-portfolio-search {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .franchisee-portfolio-search span {
    grid-column: 1 / -1;
  }
}
@media(max-width:360px){[data-view-panel="onboarding"]{padding-left:10px;padding-right:10px}.onboarding-title-icon{display:none}.onboarding-hero{grid-template-columns:1fr}.onboarding-status{grid-column:auto}.logo-upload-box{display:grid}.onboarding-success>div{width:100%}}

/* Cadastro da Revenda: acabamento mobile 320px-430px */
@media (max-width: 767px) {
  html,
  body,
  .workspace,
  .workspace .main,
  .view[data-view-panel="onboarding"],
  .wizard[data-onboarding-form] {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar {
    min-height: calc(106px + env(safe-area-inset-top, 0px)) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: 52px auto !important;
    column-gap: 8px !important;
    row-gap: 4px !important;
    align-items: center !important;
    padding: calc(6px + env(safe-area-inset-top, 0px)) 12px 9px 64px !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
    text-align: left !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-title strong {
    font-size: clamp(16px, 5vw, 19px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-subtitle {
    display: block !important;
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    display: grid !important;
    grid-template-columns: 40px 40px !important;
    gap: 6px !important;
    align-self: start !important;
    padding-top: 6px !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .notification-button,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions [data-refresh] {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .status-pill {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    display: inline-flex !important;
    width: max-content !important;
    max-width: 92px !important;
    min-height: 25px !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .status-pill span {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .view[data-view-panel="onboarding"].active {
    margin: 0 !important;
    padding: 12px 16px calc(116px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: auto !important;
  }

  .wizard[data-onboarding-form] {
    gap: 14px !important;
  }

  .onboarding-hero {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 11px 14px !important;
    border-radius: 13px !important;
  }

  .onboarding-hero > .onboarding-title-icon,
  .onboarding-hero > div:nth-child(2) {
    display: none !important;
  }

  .onboarding-status {
    grid-column: auto !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px 12px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .onboarding-status strong {
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .onboarding-status span {
    min-width: 0 !important;
    justify-content: flex-end !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    text-align: right !important;
  }

  .onboarding-mobile-progress {
    gap: 8px !important;
    padding: 12px 14px !important;
    border-radius: 13px !important;
  }

  .onboarding-mobile-progress div {
    min-width: 0 !important;
    align-items: center !important;
  }

  .onboarding-mobile-progress strong {
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .onboarding-mobile-progress span {
    flex: none !important;
    white-space: nowrap !important;
  }

  .onboarding-mobile-progress progress {
    display: block !important;
    height: 5px !important;
    border: 0 !important;
  }

  .onboarding-step.panel {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 16px 22px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .step-intro {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 22px !important;
  }

  .step-intro > div {
    min-width: 0 !important;
  }

  .step-intro h2 {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  .step-intro p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .step-intro > .primary-action {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    min-height: 50px !important;
  }

  .dealer-fields,
  .onboarding-contacts,
  .card-editor .editor-row,
  .owners-fieldset .editor-row {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .dealer-fields label,
  .onboarding-contacts label,
  .card-editor .editor-row label {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .field-shell,
  .dealer-fields input,
  .onboarding-contacts input,
  .card-editor input,
  .card-editor select {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .dealer-fields label > span {
    display: block !important;
    margin-bottom: 8px !important;
  }

  .field-shell {
    margin-top: 0 !important;
  }

  .field-shell input,
  .onboarding-contacts input,
  .card-editor input,
  .card-editor select {
    min-height: 52px !important;
    font-size: 16px !important;
  }

  .logo-upload-box {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    box-sizing: border-box !important;
  }

  .logo-actions {
    flex-wrap: wrap !important;
  }

  .onboarding-actions {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 70 !important;
    width: 100% !important;
    min-height: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-top: 1px solid #e1e7ef !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -8px 24px rgba(17, 43, 77, .08) !important;
    box-sizing: border-box !important;
    backdrop-filter: none !important;
  }

  .onboarding-actions > span {
    display: none !important;
  }

  .onboarding-actions .back-action {
    width: 56px !important;
    min-width: 56px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  .onboarding-actions [data-onboarding-next],
  .onboarding-actions [data-onboarding-submit] {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    justify-self: stretch !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
  }

  .onboarding-actions [data-onboarding-next] span,
  .onboarding-actions [data-onboarding-submit] span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .onboarding-actions [data-onboarding-submit] span {
    font-size: 0 !important;
  }

  .onboarding-actions [data-onboarding-submit] span::after {
    content: "Salvar e liberar";
    font-size: 14px;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .support-entry-fab,
  .workspace:has(.view[data-view-panel="onboarding"].active) .support-floating-button {
    right: 12px !important;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 60 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }
}

@media (max-width: 359px) {
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar {
    padding-left: 58px !important;
    padding-right: 10px !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions {
    grid-template-columns: 38px 38px !important;
    gap: 4px !important;
  }

  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions .notification-button,
  .workspace:has(.view[data-view-panel="onboarding"].active) .topbar-actions [data-refresh] {
    width: 38px !important;
    min-width: 38px !important;
  }

  .view[data-view-panel="onboarding"].active {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .onboarding-status {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .onboarding-status span {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .onboarding-actions {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .onboarding-actions .back-action {
    width: 52px !important;
    min-width: 52px !important;
  }
}

/* Portal público: nunca exibir o header/sidebar do sistema autenticado. */
body.public-client-mode .workspace > .sidebar,
body.public-client-mode .workspace > .main > .topbar,
body.public-client-mode .workspace .mobile-menu-toggle,
body.public-client-mode .workspace .support-entry-fab {
  display: none !important;
}

body.public-client-mode .workspace {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Atendimento/protocolo mobile premium 20260716-v2 — escopo exclusivo do tracking público. */
@media (max-width: 767px) {
  body.public-client-mode .tracking-page {
    display: block !important;
    padding: 0 16px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: clip !important;
    background: #f6f8fb !important;
  }

  body.public-client-mode .tracking-mobile-header {
    width: calc(100% + 32px) !important;
    margin: 0 -16px 12px !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    border: 0 !important;
    border-bottom: 1px solid #e5eaf1 !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: none !important;
  }

  body.public-client-mode .tracking-mobile-header.is-scrolled {
    box-shadow: 0 8px 24px rgba(10, 34, 70, .09) !important;
  }

  body.public-client-mode .tracking-mobile-toolbar {
    height: 56px !important;
    min-height: 56px !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 0 16px !important;
    border-bottom: 1px solid #eef1f5 !important;
  }

  body.public-client-mode .tracking-mobile-logo img {
    width: 108px !important;
    max-height: 30px !important;
  }

  body.public-client-mode .tracking-toolbar-actions {
    gap: 6px !important;
  }

  body.public-client-mode .tracking-toolbar-button,
  body.public-client-mode .tracking-refresh-button {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #17345d !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.public-client-mode .tracking-refresh-button {
    color: #008f83 !important;
  }

  body.public-client-mode .tracking-mobile-context {
    min-height: 68px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 8px 16px 10px !important;
  }

  body.public-client-mode .tracking-mobile-greeting {
    gap: 3px !important;
  }

  body.public-client-mode .tracking-mobile-greeting strong {
    overflow: visible !important;
    color: #10284f !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.public-client-mode .tracking-mobile-greeting span {
    max-width: none !important;
    overflow: visible !important;
    color: #6d7b90 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.public-client-mode .tracking-mobile-user {
    gap: 7px !important;
  }

  body.public-client-mode .tracking-mobile-user > i {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 50% !important;
    box-shadow: none !important;
  }

  body.public-client-mode .tracking-mobile-user > div {
    gap: 3px !important;
  }

  body.public-client-mode .tracking-mobile-user strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    color: #253b5a !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.public-client-mode .tracking-mobile-user strong svg {
    width: 12px !important;
    height: 12px !important;
  }

  body.public-client-mode .tracking-mobile-user em {
    margin: 0 !important;
    padding: 3px 6px !important;
    font-size: 8px !important;
  }

  body.public-client-mode .tracking-mobile-menu {
    top: calc(56px + env(safe-area-inset-top, 0px)) !important;
    right: 16px !important;
    left: 16px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  body.public-client-mode .tracking-protocol-compact {
    width: 100% !important;
    min-height: 82px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    grid-template-rows: auto auto !important;
    gap: 7px 10px !important;
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 6px 20px rgba(14, 35, 68, .055) !important;
  }

  body.public-client-mode .tracking-protocol-compact > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.public-client-mode .tracking-protocol-compact > div:nth-child(2) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 7px !important;
  }

  body.public-client-mode .tracking-protocol-compact > div:nth-child(2) span {
    margin: 0 !important;
  }

  body.public-client-mode .tracking-protocol-compact strong {
    overflow: visible !important;
    color: #10284f !important;
    font-size: clamp(14px, 4.4vw, 17px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.public-client-mode .tracking-protocol-compact em {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 5px 8px !important;
    overflow: visible !important;
    font-size: 10px !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.public-client-mode .tracking-protocol-compact em::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #16a675;
    box-shadow: 0 0 0 3px rgba(22, 166, 117, .12);
  }

  body.public-client-mode .tracking-protocol-compact .icon-button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    align-self: center !important;
    border: 1px solid #dfe7ee !important;
    border-radius: 12px !important;
  }

  body.public-client-mode .tracking-card {
    display: grid !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 13px !important;
    overflow: visible !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 20px rgba(14, 35, 68, .055) !important;
  }

  body.public-client-mode .tracking-card > header {
    align-items: center !important;
  }

  body.public-client-mode .tracking-card h2 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  body.public-client-mode .tracking-card > header strong {
    font-size: 18px !important;
  }

  body.public-client-mode .tracking-card > header strong span {
    display: inline !important;
    margin-left: 2px !important;
    color: #718097 !important;
    font-size: 9px !important;
  }

  body.public-client-mode .tracking-steps {
    gap: 6px !important;
    margin: 0 !important;
  }

  body.public-client-mode .tracking-steps > div {
    min-height: 48px !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    grid-template-areas: "dot title meta" !important;
    gap: 8px !important;
    padding: 6px 9px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #f7f9fc !important;
  }

  body.public-client-mode .tracking-steps > div.active {
    background: #edf4ff !important;
    box-shadow: inset 3px 0 0 #285ba8 !important;
  }

  body.public-client-mode .tracking-steps > div.done {
    background: #f0faf8 !important;
  }

  body.public-client-mode .tracking-steps i {
    width: 30px !important;
    height: 30px !important;
  }

  body.public-client-mode .tracking-steps i svg {
    width: 15px !important;
    height: 15px !important;
  }

  body.public-client-mode .tracking-steps strong {
    align-self: center !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  body.public-client-mode .tracking-steps span {
    align-self: center !important;
    justify-self: end !important;
    max-width: 116px !important;
    color: #697890 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    text-align: right !important;
  }

  body.public-client-mode .tracking-shortcuts,
  body.public-client-mode .tracking-summary,
  body.public-client-mode .tracking-help,
  body.public-client-mode .tracking-safe {
    margin-top: 12px !important;
  }
}

@media (max-width: 359px) {
  body.public-client-mode .tracking-page {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body.public-client-mode .tracking-mobile-header {
    width: calc(100% + 24px) !important;
    margin-right: -12px !important;
    margin-left: -12px !important;
  }

  body.public-client-mode .tracking-mobile-toolbar,
  body.public-client-mode .tracking-mobile-context {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body.public-client-mode .tracking-mobile-logo img {
    width: 94px !important;
  }

  body.public-client-mode .tracking-mobile-greeting strong {
    font-size: 15px !important;
  }

  body.public-client-mode .tracking-mobile-greeting span {
    max-width: 154px !important;
    font-size: 9px !important;
  }

  body.public-client-mode .tracking-mobile-user > i {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
  }

  body.public-client-mode .tracking-steps > div {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-areas: "dot title" "dot meta" !important;
    gap: 1px 7px !important;
  }

  body.public-client-mode .tracking-steps span {
    justify-self: start !important;
    max-width: none !important;
    text-align: left !important;
  }
}

/* Jornada unificada de ativação da venda */
.sale-kind-selector{display:grid;gap:13px;margin-bottom:22px;padding:18px;border:1px solid #b9d8fb;border-radius:15px;background:#f5faff}.sale-kind-selector>header strong{color:#082448;font-size:15px}.sale-kind-selector>header p{margin:5px 0 0;color:#62758d;font-size:12px}.sale-kind-selector>div{display:grid;grid-template-columns:1fr 1fr;gap:13px}.sale-kind-selector .sale-mode-card{min-height:118px;padding:16px}.sale-kind-selector .sale-mode-card:first-child.selected{border-color:#7c5ce4;background:#faf8ff;box-shadow:0 0 0 3px rgba(124,92,228,.1)}
.sale-journey{--sale-navy:#082448;--sale-blue:#126ee8;--sale-cyan:#15b8ad;max-width:1180px;margin:0 auto;padding:24px;color:#14243a}.sale-journey-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.sale-journey-head>button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:var(--sale-navy);cursor:pointer}.sale-journey-head>button svg{width:18px}.sale-journey-head>div{flex:1}.sale-journey-head h1{margin:0;font-size:24px;color:var(--sale-navy)}.sale-journey-head p{margin:5px 0 0;color:#718096;font-size:13px}.sale-journey-head>span{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:99px;background:#edfafa;color:#07877e;font-size:12px;font-weight:800}.sale-journey-head>span svg{width:16px}.sale-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px;margin-bottom:18px;border:1px solid #e1e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(8,36,72,.05)}.sale-progress button{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:0;background:transparent;text-align:left;color:#8995a5}.sale-progress button:not(:last-child)::after{content:"";position:absolute;left:calc(100% - 7px);top:50%;width:14px;height:1px;background:#dce4ed}.sale-progress button>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#f2f5f8;color:#8794a5}.sale-progress button>span svg{width:16px}.sale-progress button div{min-width:0;display:grid;gap:2px}.sale-progress button small{font-size:9px;text-transform:uppercase;letter-spacing:.07em}.sale-progress button strong{overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.sale-progress button.current{color:var(--sale-blue)}.sale-progress button.current>span{background:var(--sale-blue);color:#fff;box-shadow:0 0 0 5px rgba(18,110,232,.1)}.sale-progress button.done{color:#07877e;cursor:pointer}.sale-progress button.done>span{background:#dff8f4;color:#07877e}.sale-progress button.done::after{background:#70d7cd}.sale-journey-card{overflow:hidden;border:1px solid #e0e7ef;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(12,37,67,.08)}.sale-step-body{min-height:500px;padding:30px 34px}.sale-step-copy{display:flex;align-items:center;gap:14px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #e8edf3}.sale-step-copy>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#e8f2ff,#e6fbf9);color:var(--sale-blue)}.sale-step-copy>span svg{width:23px}.sale-step-copy h2{margin:0;color:var(--sale-navy);font-size:20px}.sale-step-copy p{margin:5px 0 0;color:#738196;font-size:13px}.sale-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.sale-field{display:grid;gap:7px;min-width:0;color:#34445a;font-size:12px;font-weight:750}.sale-field.wide{grid-column:span 2}.sale-field>span b,.sale-upload strong b{color:#d23b4d}.sale-input{position:relative}.sale-input>svg{position:absolute;left:13px;top:50%;width:17px;transform:translateY(-50%);color:#7c8ca1;pointer-events:none}.sale-input input,.sale-input select{width:100%;min-height:45px;box-sizing:border-box;padding:10px 12px 10px 41px;border:1px solid #dbe3ec;border-radius:10px;background:#fff;color:#172a43;font:inherit;font-weight:550;outline:0}.sale-input input:focus,.sale-input select:focus{border-color:var(--sale-blue);box-shadow:0 0 0 3px rgba(18,110,232,.1)}.sale-field small{color:#79879a;font-weight:450}.sale-subcard{margin-top:22px;padding:20px;border:1px solid #e3e9f0;border-radius:14px;background:#fbfcfe}.sale-subcard>header{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--sale-navy)}.sale-subcard>header>svg{width:20px;color:var(--sale-blue)}.sale-subcard>header>div:nth-child(2){display:grid;gap:3px;flex:1}.sale-subcard>header strong{font-size:14px}.sale-subcard>header small{color:#7d8999;font-size:11px}.sale-switch{display:flex!important;flex:0!important;grid-auto-flow:column;gap:5px!important;padding:3px;border-radius:9px;background:#edf1f6}.sale-switch label{padding:7px 12px;border-radius:7px;font-size:11px;cursor:pointer}.sale-switch label:has(input:checked){background:#fff;color:var(--sale-blue);box-shadow:0 1px 5px #1b35551a}.sale-switch input{accent-color:var(--sale-blue)}.sale-balance{display:flex;align-items:center;gap:13px;margin-top:22px;padding:16px 18px;border:1px solid #dae4ef;border-radius:13px;background:#f7f9fc}.sale-balance>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e9eef4;color:#5b6d83}.sale-balance>span svg{width:19px}.sale-balance>div{flex:1}.sale-balance strong{display:block;font-size:13px}.sale-balance p{margin:4px 0 0;color:#6d7b8e;font-size:11px}.sale-balance em{font-style:normal;font-size:12px;font-weight:800}.sale-balance.closed{border-color:#a9e6db;background:#f0fcf9;color:#067d70}.sale-balance.closed>span{background:#d6f7f0;color:#07877e}.sale-balance.open{border-color:#f3cf99;background:#fffbf2;color:#a45a08}.sale-uploads{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.sale-upload{position:relative;min-width:0;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;border:1px dashed #becddd;border-radius:12px;background:#fff;text-align:center;cursor:pointer;overflow:hidden}.sale-upload:hover{border-color:var(--sale-blue);background:#f8fbff}.sale-upload>input{position:absolute;inset:0;opacity:0;cursor:pointer}.sale-upload>span{width:100%;height:80px;display:grid;place-items:center;border-radius:8px;background:#f3f7fb;color:#44729f;overflow:hidden}.sale-upload>span svg{width:25px}.sale-upload img{width:100%;height:100%;object-fit:cover}.sale-upload strong{font-size:10px}.sale-upload small{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#8290a2;font-size:9px;white-space:nowrap}.sale-upload>button{position:absolute;right:7px;top:7px;z-index:2;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#c73044;box-shadow:0 2px 10px #10274433;cursor:pointer}.sale-upload>button svg{width:14px}.sale-upload.has-file{border-style:solid;border-color:#75d6cb}.sale-plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sale-plan-option{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;border:1px solid #dce4ed;border-radius:14px;background:#fff;color:#22364e;text-align:left;cursor:pointer}.sale-plan-option:hover,.sale-plan-option.selected{border-color:var(--sale-blue);box-shadow:0 0 0 3px rgba(18,110,232,.08)}.sale-plan-option>span{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#edf4ff;color:#116add}.sale-plan-option>span.green{background:#e8f9f4;color:#07826f}.sale-plan-option>span.purple{background:#f0edff;color:#6244dc}.sale-plan-option>span.navy{background:#e9eef5;color:#0b2b50}.sale-plan-option>span svg{width:22px}.sale-plan-option>div{display:grid;gap:4px}.sale-plan-option small{color:#748399;font-size:9px;font-weight:850;letter-spacing:.05em}.sale-plan-option strong{font-size:13px;color:var(--sale-navy)}.sale-plan-option p{margin:0;color:#708095;font-size:11px}.sale-plan-option em{color:#1672d6;font-size:10px;font-style:normal;font-weight:700}.sale-plan-option>b{font-size:15px;color:var(--sale-navy)}.sale-plan-option>i{position:absolute;right:9px;top:9px;color:var(--sale-blue)}.sale-plan-option>i svg{width:17px}.sale-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sale-mode-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-height:150px;padding:22px;border:1px solid #dce4ed;border-radius:16px;background:#fff;text-align:left;cursor:pointer}.sale-mode-card:hover,.sale-mode-card.selected{border-color:var(--sale-blue);background:#f8fbff;box-shadow:0 0 0 3px rgba(18,110,232,.08)}.sale-mode-card>span{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#e9f3ff,#ddf9f5);color:var(--sale-blue)}.sale-mode-card>span svg{width:26px}.sale-mode-card>div strong{color:var(--sale-navy);font-size:14px}.sale-mode-card p{margin:7px 0 0;color:#68798f;font-size:12px;line-height:1.5}.sale-mode-card>svg{width:21px;color:var(--sale-blue)}.sale-info-note{display:flex;gap:10px;margin-top:20px;padding:14px 16px;border-radius:12px;background:#edf7ff;color:#1d5f9e}.sale-info-note>svg{width:18px;flex:0 0 auto}.sale-info-note p{margin:0;font-size:11px;line-height:1.5}.sale-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sale-summary-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:16px;border:1px solid #e1e8f0;border-radius:13px}.sale-summary-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#ebf4ff;color:var(--sale-blue)}.sale-summary-card>span svg{width:18px}.sale-summary-card>div{display:grid;gap:3px}.sale-summary-card strong{font-size:12px;color:var(--sale-navy);margin-bottom:3px}.sale-summary-card p{margin:0;color:#6c7b8e;font-size:10px;line-height:1.4}.sale-summary-card>button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--sale-blue);font-size:10px;font-weight:750;cursor:pointer}.sale-summary-card>button svg{width:13px}.sale-confirm-check{display:flex;align-items:center;gap:10px;margin-top:16px;padding:14px;border:1px solid #dce6ef;border-radius:11px;background:#fafcfe;color:#364960;font-size:11px;cursor:pointer}.sale-confirm-check input{accent-color:var(--sale-blue)}.sale-confirm-check span{display:flex;align-items:center;gap:7px}.sale-confirm-check svg{width:15px;color:#079482}.sale-form-error{display:flex;align-items:center;gap:8px;margin:0 34px 18px;padding:12px 14px;border-radius:9px;background:#fff0f2;color:#b9253c;font-size:11px;font-weight:700}.sale-form-error svg{width:16px}.sale-journey-footer{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #e1e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.sale-journey-footer>span{flex:1;text-align:center;color:#7a8798;font-size:10px}.sale-journey-footer button{min-width:120px;min-height:42px;justify-content:center}.sale-activate-submit{background:linear-gradient(135deg,#0874ec,#0ea99f)!important;border:0!important;box-shadow:0 8px 20px rgba(13,111,202,.22)}.sale-activate-submit[disabled] svg{animation:spin 1s linear infinite}.sale-success{max-width:980px;margin:0 auto;padding:30px}.sale-success-card{padding:38px;border:1px solid #dce6ef;border-radius:20px;background:#fff;text-align:center;box-shadow:0 18px 50px rgba(12,37,67,.08)}.sale-success-icon{width:74px;height:74px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:#e4faf5;color:#079681}.sale-success-icon svg{width:42px;height:42px}.sale-success-card>small{color:#07897c;font-size:10px;font-weight:900;letter-spacing:.12em}.sale-success-card>h1{margin:8px 0;color:#082448;font-size:27px}.sale-success-card>p{margin:0;color:#6b7b8e;font-size:13px}.sale-success-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.sale-success-status article{display:grid;gap:5px;padding:17px;border:1px solid #e1e8f0;border-radius:13px;background:#fbfcfe;text-align:left}.sale-success-status article>span{color:#0d77df}.sale-success-status svg{width:20px}.sale-success-status small{color:#7b899a;font-size:9px;text-transform:uppercase}.sale-success-status strong{color:#102946;font-size:13px}.sale-contract-actions{padding:18px;border:1px solid #d9e6f1;border-radius:14px;background:#f7fbff;text-align:left}.sale-contract-actions header>div{display:flex;align-items:center;gap:10px}.sale-contract-actions header svg{width:22px;color:#106fde}.sale-contract-actions header span{display:grid;gap:3px}.sale-contract-actions header strong{font-size:13px;color:#0c294b}.sale-contract-actions header small{color:#748399;font-size:10px}.sale-contract-actions>div{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.sale-contract-actions a,.sale-contract-actions button{min-height:40px;text-decoration:none}.sale-contract-actions>p{margin:10px 0 0;color:#07826f;font-size:11px}.sale-success-card>footer{display:flex;justify-content:center;gap:10px;margin-top:22px}.plate-status{font-size:10px;margin:10px 0 0}.plate-status.loading{color:#176dcc}.plate-status.error{color:#b63b20}
@media (max-width:900px){.sale-journey{padding:14px}.sale-progress{display:flex;overflow:auto;scroll-snap-type:x mandatory}.sale-progress button{min-width:160px;scroll-snap-align:start}.sale-progress button:not(:last-child)::after{display:none}.sale-step-body{padding:22px}.sale-uploads{grid-template-columns:repeat(3,minmax(0,1fr))}.sale-form-error{margin-left:22px;margin-right:22px}.sale-plan-options,.sale-mode-options{grid-template-columns:1fr}}
@media (max-width:900px){.sale-kind-selector>div{grid-template-columns:1fr}}
@media (max-width:620px){.sale-journey-head>span{display:none}.sale-journey-head h1{font-size:20px}.sale-step-body{min-height:0;padding:18px 14px}.sale-step-copy{align-items:flex-start}.sale-step-copy>span{width:42px;height:42px;flex:0 0 42px}.sale-fields,.sale-summary-grid{grid-template-columns:1fr}.sale-field.wide{grid-column:auto}.sale-subcard{padding:14px}.sale-subcard>header{align-items:flex-start;flex-wrap:wrap}.sale-switch{width:100%}.sale-uploads{grid-template-columns:1fr 1fr}.sale-upload{min-height:145px}.sale-plan-option{grid-template-columns:auto 1fr}.sale-plan-option>b{grid-column:2}.sale-mode-card{position:relative;grid-template-columns:auto 1fr;padding:17px;min-height:130px}.sale-mode-card>svg{position:absolute;right:15px;top:15px}.sale-balance{align-items:flex-start;flex-wrap:wrap}.sale-balance em{width:100%;padding-left:51px}.sale-journey-footer{padding:12px}.sale-journey-footer>span{display:none}.sale-journey-footer button{flex:1;min-width:0}.sale-success{padding:14px}.sale-success-card{padding:26px 14px}.sale-success-status{grid-template-columns:1fr}.sale-contract-actions>div,.sale-success-card>footer{flex-direction:column}.sale-contract-actions a,.sale-contract-actions button,.sale-success-card>footer button{width:100%;justify-content:center}}
.sale-journey.contract-review-open{max-width:1500px}.contract-review-open .sale-step-body{padding:20px;background:#f7f9fc}.contract-review-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.contract-review-head>div{display:flex;align-items:center;gap:12px}.contract-review-head>div>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e8f2ff;color:#126ee8}.contract-review-head h2{margin:0;color:#082448;font-size:19px}.contract-review-head p{margin:4px 0 0;color:#718096;font-size:12px}.contract-review-layout{display:grid;grid-template-columns:minmax(440px,47%) minmax(520px,53%);gap:18px;align-items:start}.contract-review-form{display:grid;gap:12px}.contract-review-form .contract-form-section{margin:0}.contract-review-form .sale-fields{gap:11px 12px}.contract-review-form .sale-input input,.contract-review-form .sale-input select{min-height:40px}.contract-review-form .sale-field textarea{width:100%;min-height:80px;box-sizing:border-box;padding:10px;border:1px solid #dbe3ec;border-radius:10px;font:inherit;resize:vertical}.contract-review-note,.contract-plan-fixed{margin:12px 0 0;padding:11px;border-radius:8px;background:#f2f7fc;color:#52657a;font-size:11px}.contract-plan-fixed{display:grid;gap:4px;background:#edf9f6;color:#087669}.contract-review-preview{position:sticky;top:12px;max-height:calc(100vh - 130px);overflow:auto}.contract-review-preview .legal-paper{min-width:0}.contract-review-open .sale-journey-footer{flex-wrap:wrap}.contract-review-open .sale-journey-footer>span{display:none}.contract-review-open .sale-journey-footer button:first-child{margin-right:auto}
@media(max-width:1000px){.contract-review-layout{grid-template-columns:1fr}.contract-review-preview{position:static;max-height:none}.contract-review-open .sale-uploads{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.contract-review-open{padding-bottom:90px}.contract-review-head{align-items:flex-start}.contract-review-head .contract-preview-button{font-size:0;flex:0 0 44px}.contract-review-layout{display:block}.contract-review-preview{display:none}.contract-review-form .contract-form-section{border-radius:12px;padding:14px}.contract-review-form .contract-fields,.contract-review-form .sale-fields{grid-template-columns:1fr}.contract-review-open .sale-uploads{grid-template-columns:1fr 1fr}.contract-review-open .sale-journey-footer{position:fixed;left:0;right:0;bottom:0;z-index:60;padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #10274418}.contract-review-open .sale-journey-footer>[data-journey-back],.contract-review-open .sale-journey-footer>[data-save-contract-draft],.contract-review-open .sale-journey-footer>[data-activate-without-signature]{display:none}.contract-review-open .sale-journey-footer .sale-activate-submit{width:100%;min-height:48px}.contract-modal .legal-paper{min-width:680px}}

/* Painel: conteúdo fluido, sem recorte em desktops com viewport baixo. */
.workspace .sidebar-logo {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.oficerto-dashboard .dashboard-hero-banner {
  grid-template-columns: minmax(0, 1fr) !important;
}

.oficerto-dashboard .dashboard-hero-copy {
  width: min(100%, 760px);
}

.oficerto-dashboard .dashboard-hero-dots {
  display: none !important;
}

@media (min-width: 1024px) {
  .view[data-view-panel="overview"].active {
    max-height: none !important;
    overflow: visible !important;
  }

  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) {
    display: grid !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-hero-banner,
  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-plans-section,
  .oficerto-dashboard:not(:has(.dashboard-registration-alert)) .dashboard-bottom-grid,
  .oficerto-dashboard .dashboard-plans-section,
  .oficerto-dashboard .dashboard-bottom-grid {
    flex: none !important;
    height: auto !important;
  }

  .oficerto-dashboard .dashboard-plan-grid,
  .oficerto-dashboard .dashboard-tools-grid,
  .oficerto-dashboard .dashboard-coming-grid,
  .oficerto-dashboard .dashboard-plan-card,
  .oficerto-dashboard .dashboard-tool-card,
  .oficerto-dashboard .dashboard-coming-card {
    height: auto !important;
  }
}
.sale-field > textarea,
.activation-plan-settings textarea {
  width: 100%;
  min-height: 110px;
  box-sizing: border-box;
  resize: vertical;
  border: 1px solid #dbe3ec;
  border-radius: 10px;
  padding: 12px;
  color: #172a43;
  background: #fff;
  font: inherit;
  font-weight: 550;
  outline: 0;
}

.sale-field > textarea:focus,
.activation-plan-settings textarea:focus {
  border-color: #126ee8;
  box-shadow: 0 0 0 3px rgba(18,110,232,.1);
}

.sale-draft-resume {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 4px 22px;
  border: 1px solid #b9ded7;
  border-radius: 13px;
  padding: 14px 16px;
  color: #0b655c;
  background: #effaf7;
}

.sale-draft-resume > svg { width: 25px; height: 25px; }
.sale-draft-resume > div { flex: 1; display: grid; gap: 3px; }
.sale-draft-resume span { color: #5b706e; font-size: 12px; }

.sales-plan-card.is-unavailable,
.sale-plan-option.is-unavailable {
  filter: grayscale(.25);
  opacity: .68;
}

.sales-plan-activate:disabled,
.sale-plan-option:disabled {
  cursor: not-allowed !important;
  transform: none !important;
}

.activation-plan-settings {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 26px 0 50px;
  color: #14243a;
}

.activation-plan-settings > header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.activation-plan-settings h1 { margin: 0; color: #082448; font-size: 25px; }
.activation-plan-settings header p { margin: 4px 0 0; color: #718096; font-size: 13px; }
.activation-plan-settings > form { display: grid; gap: 14px; }
.activation-plan-settings article { border: 1px solid #dfe7ef; border-radius: 15px; padding: 18px; background: #fff; }
.activation-plan-settings-title { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.activation-plan-settings-title > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: #126ee8; background: #edf4ff; }
.activation-plan-settings-title > div { flex: 1; display: grid; gap: 3px; }
.activation-plan-settings-title small { color: #718096; }
.activation-plan-availability { display: flex; align-items: center; gap: 7px; color: #087f76; font-size: 12px; font-weight: 800; }
.activation-plan-availability input { width: 18px; height: 18px; accent-color: #087f76; }
.activation-plan-settings > form > footer { display: flex; justify-content: flex-end; gap: 10px; }

@media (max-width: 620px) {
  .sale-draft-resume { align-items: flex-start; flex-wrap: wrap; }
  .sale-draft-resume > div { min-width: calc(100% - 45px); }
  .sale-draft-resume button { width: 100%; }
  .activation-plan-settings { width: min(100% - 24px, 1180px); padding-top: 16px; }
  .activation-plan-settings > header { align-items: flex-start; }
  .activation-plan-settings-title { align-items: flex-start; flex-wrap: wrap; }
  .activation-plan-availability { width: 100%; }
}

/* Ativação da venda: jornada realmente fluida em celulares. */
@media (max-width: 767px) {
  html,
  body,
  .workspace,
  .workspace .main,
  .view.activation-view,
  .view.activation-view > [data-sales-activation-root],
  .sales-plans-page,
  .sale-journey,
  .sale-journey-card,
  .sale-step-body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html,
  body,
  .workspace .main,
  .view.activation-view,
  .view.activation-view > [data-sales-activation-root] {
    overflow-x: clip !important;
  }

  .sales-plans-page {
    padding: 18px 12px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .sales-plans-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
  }

  .sales-plans-actions .ghost-action {
    min-width: 0;
    min-height: 42px;
    padding: 0 12px;
  }

  .sales-plans-page > header {
    margin: 0 2px 18px !important;
  }

  .sales-plans-page > header h1 {
    font-size: clamp(22px, 7vw, 27px) !important;
    overflow-wrap: anywhere;
  }

  .sales-plans-page > header p,
  .sale-draft-resume span,
  .sales-plan-description,
  .sales-plan-benefits b,
  .sales-plan-foot span {
    overflow-wrap: anywhere;
  }

  .sales-plan-card,
  .sale-draft-resume {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .sales-plan-badge,
  .sales-plan-band {
    max-width: 100%;
    white-space: normal;
  }

  .sale-journey {
    padding: 14px 10px calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
  }

  .sale-journey-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0 2px 15px;
  }

  .sale-journey-head > button {
    width: 42px;
    height: 42px;
  }

  .sale-journey-head > div,
  .sale-step-copy > div,
  .sale-subcard > header > div,
  .sale-balance > div,
  .sale-plan-option > div,
  .sale-mode-card > div,
  .sale-summary-card > div {
    min-width: 0;
  }

  .sale-journey-head h1 {
    font-size: 21px !important;
    line-height: 1.15;
  }

  .sale-journey-head p,
  .sale-step-copy p,
  .sale-subcard small,
  .sale-balance p,
  .sale-plan-option p,
  .sale-mode-card p,
  .sale-summary-card p {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .sale-progress {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 3px;
    width: 100%;
    max-width: 100%;
    padding: 8px 5px;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .sale-progress button {
    min-width: 0 !important;
    width: 100%;
    padding: 7px 2px;
    justify-content: center;
  }

  .sale-progress button > span {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .sale-progress button > div {
    display: none;
  }

  .sale-journey-card {
    border-radius: 14px;
  }

  .sale-step-body {
    min-height: 0;
    padding: 18px 14px !important;
  }

  .sale-step-copy {
    gap: 10px;
    padding-bottom: 16px;
    margin-bottom: 18px;
  }

  .sale-step-copy > span {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
  }

  .sale-step-copy h2 {
    font-size: 19px;
    line-height: 1.2;
  }

  .sale-fields,
  .sale-summary-grid,
  .sale-plan-options,
  .sale-mode-options {
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sale-field,
  .sale-field.wide,
  .sale-input,
  .sale-input input,
  .sale-input select,
  .sale-field > textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .sale-input input,
  .sale-input select,
  .sale-field > textarea {
    font-size: 16px !important;
    line-height: 1.25;
  }

  .sale-input input,
  .sale-input select {
    min-height: 50px;
  }

  .sale-field > textarea {
    min-height: 125px;
  }

  .sale-subcard {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 16px;
    padding: 14px 12px !important;
    box-sizing: border-box;
  }

  .sale-subcard > header {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
  }

  .sale-subcard > header > svg {
    margin-top: 2px;
  }

  .sale-subcard > header .sale-switch {
    grid-column: 1 / -1;
    width: 100% !important;
    display: flex !important;
    box-sizing: border-box;
  }

  .sale-switch label {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 38px;
    padding: 7px 8px;
  }

  .sale-balance {
    width: 100%;
    max-width: 100%;
    padding: 14px 12px;
    box-sizing: border-box;
  }

  .sale-balance em {
    width: 100%;
    padding-left: 0 !important;
    overflow-wrap: anywhere;
  }

  .sale-plan-option,
  .sale-mode-card,
  .sale-summary-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .sale-plan-option {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px;
    padding: 14px 12px;
  }

  .sale-plan-option > span {
    width: 40px;
    height: 40px;
  }

  .sale-plan-option > b {
    grid-column: 2;
  }

  .sale-mode-card {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    min-height: 0;
    padding: 16px 13px;
  }

  .sale-mode-card > span {
    width: 46px;
    height: 46px;
  }

  .sale-summary-card {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    padding: 13px 11px;
  }

  .sale-summary-card > button {
    padding: 5px 2px;
  }

  .sale-confirm-check {
    align-items: flex-start;
    line-height: 1.45;
  }

  .sale-confirm-check input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
  }

  .sale-form-error {
    margin: 0 14px 14px !important;
    overflow-wrap: anywhere;
  }

  .sale-journey-footer {
    width: 100%;
    max-width: 100%;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box;
  }

  .sale-journey-footer button {
    min-width: 0 !important;
    min-height: 48px;
    padding-left: 11px;
    padding-right: 11px;
  }

  .sale-success,
  .sale-success-card,
  .sale-contract-actions {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .sale-success-card > h1 {
    font-size: 23px;
    overflow-wrap: anywhere;
  }

  .activation-plan-settings > form > footer {
    position: sticky;
    bottom: 0;
    z-index: 3;
    padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(245, 247, 250, .96);
  }
}

/* Plano Elite: checkout premium em tres etapas. */
.elite-purchase-backdrop {
  padding: 20px;
  background: rgba(7, 22, 46, 0.58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.elite-purchase-modal {
  width: min(1000px, calc(100vw - 40px));
  max-height: min(92dvh, 900px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #dce5ef;
  border-radius: 22px;
  color: #102a4f;
  background: #f8fafc;
  box-shadow: 0 28px 80px rgba(7, 22, 46, 0.24);
  animation: elite-modal-in 200ms ease-out;
}

.elite-purchase-header {
  position: relative;
  z-index: 2;
  align-items: flex-start !important;
  padding: 24px 30px 20px;
  border-bottom: 1px solid #e6edf4;
  background: #ffffff;
}

.elite-purchase-header > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.elite-purchase-header span {
  color: #0f9f9d !important;
  letter-spacing: 0.1em;
}

.elite-purchase-header h3 {
  margin: 0;
  color: #102a4f;
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  line-height: 1.2;
}

.elite-purchase-header p {
  margin: 2px 0 0;
  color: #66758a;
  font-size: 0.93rem;
  line-height: 1.5;
}

.elite-purchase-header .icon-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 1px solid #dce5ef;
  color: #102a4f;
  background: #ffffff;
}

.elite-purchase-header .icon-button:hover {
  border-color: #b9c8d9;
  background: #f4f7fa;
}

.elite-purchase-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 24px 30px 30px;
  scrollbar-gutter: stable;
}

.elite-stepper {
  margin-bottom: 18px;
}

.elite-stepper-desktop {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.elite-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #8b98a9;
}

.elite-step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 17px;
  left: 44px;
  right: 12px;
  height: 2px;
  background: #dfe7ef;
}

.elite-step.complete:not(:last-child)::after {
  background: #20b9b5;
}

.elite-step-marker {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  min-width: 34px;
  height: 34px;
  border: 2px solid #d5dfe9;
  border-radius: 50%;
  color: #7b899a;
  background: #ffffff;
  font-size: 0.84rem;
  font-weight: 900;
}

.elite-step-marker svg {
  width: 17px;
  height: 17px;
}

.elite-step.current,
.elite-step.complete {
  color: #102a4f;
}

.elite-step.current .elite-step-marker,
.elite-step.complete .elite-step-marker {
  border-color: #20b9b5;
  color: #ffffff;
  background: #20b9b5;
  box-shadow: 0 0 0 4px rgba(32, 185, 181, 0.1);
}

.elite-step strong {
  position: relative;
  z-index: 1;
  padding-right: 10px;
  background: #f8fafc;
  font-size: 0.9rem;
}

.elite-stepper-mobile {
  display: none;
}

.elite-checkout-trust,
.elite-confirm-hero {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 22px;
  padding: 13px 15px;
  border: 1px solid #bfe9e7;
  border-radius: 14px;
  color: #173555;
  background: #edfbfa;
}

.elite-checkout-trust > svg,
.elite-confirm-hero > svg {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  color: #0f9f9d;
}

.elite-checkout-trust div,
.elite-confirm-hero div {
  display: grid;
  gap: 2px;
}

.elite-checkout-trust strong,
.elite-confirm-hero strong {
  color: #102a4f;
}

.elite-checkout-trust span,
.elite-confirm-hero span {
  color: #5d7087;
  font-size: 0.88rem;
  line-height: 1.45;
}

.elite-step-content {
  animation: elite-step-in 190ms ease-out;
}

.elite-package-grid,
.elite-payment-methods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.elite-package-grid label,
.elite-payment-methods label {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  min-height: 218px;
  padding: 18px;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  color: #173555;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(16, 42, 79, 0.04);
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease;
}

.elite-package-grid label:hover,
.elite-payment-methods label:hover {
  border-color: #83d5d2;
  box-shadow: 0 10px 24px rgba(16, 42, 79, 0.09);
  transform: translateY(-2px);
}

.elite-package-grid label.active,
.elite-payment-methods label.active {
  border: 2px solid #20b9b5;
  padding: 17px;
  background: #f1fcfb;
  box-shadow: 0 12px 28px rgba(15, 159, 157, 0.13);
  transform: translateY(-2px);
}

.elite-package-grid input[type="radio"],
.elite-payment-methods input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.elite-package-radio {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 20px;
  height: 20px;
  border: 2px solid #b8c6d5;
  border-radius: 50%;
  background: #ffffff;
}

.active > .elite-package-radio {
  border: 6px solid #20b9b5;
}

.elite-selected-check {
  position: absolute;
  z-index: 2;
  top: -9px;
  right: -9px;
  display: grid !important;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 3px solid #f8fafc;
  border-radius: 50%;
  color: #ffffff !important;
  background: #20b9b5;
}

.elite-selected-check svg {
  width: 14px;
  height: 14px;
}

.elite-package-label {
  width: max-content;
  max-width: calc(100% - 34px);
  padding: 5px 9px;
  border-radius: 999px;
  color: #087f7e !important;
  background: #e5f8f7;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1;
}

.elite-package-label.featured {
  color: #ffffff !important;
  background: #0f9f9d;
}

.elite-package-grid label > strong {
  margin-top: 4px;
  color: #102a4f;
  font-size: 1.16rem;
}

.elite-package-price,
.elite-package-credits,
.elite-package-bonus {
  color: #68798d !important;
  font-size: 0.87rem;
  line-height: 1.45;
}

.elite-package-price b {
  display: block;
  margin-top: 1px;
  color: #102a4f !important;
  font-size: 1.28rem;
}

.elite-package-credits b {
  color: #102a4f !important;
}

.elite-package-bonus {
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid #e6edf4;
  width: 100%;
}

.elite-package-bonus b {
  float: right;
  color: #0b918f !important;
}

.elite-order-summary {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(16, 42, 79, 0.04);
}

.elite-order-summary h4,
.elite-review-grid h4 {
  margin: 0 0 12px;
  color: #102a4f;
  font-size: 1rem;
}

.elite-order-summary dl,
.elite-review-grid dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.elite-order-summary dl > div,
.elite-review-grid dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: baseline;
  padding: 9px 0;
  border-bottom: 1px solid #edf1f5;
}

.elite-order-summary dt,
.elite-review-grid dt {
  color: #68798d;
}

.elite-order-summary dd,
.elite-review-grid dd {
  margin: 0;
  color: #102a4f;
  font-weight: 800;
  text-align: right;
}

.elite-order-summary .positive,
.elite-review-grid .positive {
  color: #087f7e;
}

.elite-order-summary .total {
  padding-bottom: 3px;
  border-bottom: 0;
}

.elite-order-summary .total dt,
.elite-order-summary .total dd {
  color: #102a4f;
  font-size: 1.03rem;
  font-weight: 900;
}

.elite-order-summary p,
.elite-payment-privacy {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 12px 0 0;
  color: #68798d;
  font-size: 0.84rem;
  line-height: 1.45;
}

.elite-order-summary p svg,
.elite-payment-privacy svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  color: #0f9f9d;
}

.elite-payment-methods label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  min-height: 190px;
}

.elite-method-icon {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #0f9f9d !important;
  background: #e8f9f8;
}

.elite-method-icon svg {
  width: 22px;
  height: 22px;
}

.elite-payment-methods label > strong {
  align-self: end;
  color: #102a4f;
  font-size: 1rem;
}

.elite-payment-methods label > span:not(.elite-package-radio):not(.elite-selected-check):not(.elite-method-icon) {
  grid-column: 1 / -1;
  color: #68798d;
  font-size: 0.86rem;
  line-height: 1.45;
}

.elite-payment-methods small {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #e6edf4;
  color: #738399;
  font-size: 0.76rem;
}

.elite-payment-methods small svg {
  width: 15px;
  height: 15px;
  color: #0f9f9d;
}

.elite-payment-summary dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.elite-payment-summary dl > div {
  display: block;
  padding: 3px 18px;
  border: 0;
  border-right: 1px solid #e6edf4;
}

.elite-payment-summary dl > div:first-child {
  padding-left: 0;
}

.elite-payment-summary dl > div:last-child {
  padding-right: 0;
  border-right: 0;
}

.elite-payment-summary dd {
  margin-top: 4px;
  text-align: left;
}

.elite-review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 1fr);
  gap: 16px;
}

.elite-review-grid section {
  padding: 18px 20px;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  background: #ffffff;
}

.elite-review-grid dl > div:last-child {
  border-bottom: 0;
}

.elite-credit-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 17px 20px;
  border: 1px solid #bfe9e7;
  border-radius: 16px;
  color: #102a4f;
  background: #eafafa;
}

.elite-credit-total span {
  font-weight: 800;
}

.elite-credit-total strong {
  color: #087f7e;
  font-size: 1.45rem;
}

.elite-payment-privacy {
  max-width: 760px;
  margin-top: 16px;
}

.elite-purchase-footer {
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px;
  padding: 16px 30px calc(16px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #e1e9f1;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 -10px 24px rgba(16, 42, 79, 0.05);
}

.elite-purchase-footer button {
  min-height: 50px;
  border-radius: 12px;
  padding: 0 20px;
  font-weight: 800;
}

.elite-purchase-footer .ghost-action {
  border-color: #d5dfe9;
  color: #173555;
  background: #ffffff;
}

.elite-purchase-footer .primary-action {
  min-width: 190px;
  color: #ffffff;
  background: linear-gradient(135deg, #15aaa7, #20c4bf);
  box-shadow: 0 8px 18px rgba(15, 159, 157, 0.2);
}

.elite-purchase-footer .primary-action:hover:not(:disabled) {
  box-shadow: 0 10px 24px rgba(15, 159, 157, 0.28);
  transform: translateY(-1px);
}

.elite-purchase-footer button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  box-shadow: none;
}

.elite-purchase-footer [aria-busy="true"] svg {
  animation: elite-spin 900ms linear infinite;
}

.elite-purchase-modal :is(button, label, input):focus-visible,
.elite-package-grid label:has(input:focus-visible),
.elite-payment-methods label:has(input:focus-visible) {
  outline: 3px solid rgba(32, 185, 181, 0.38);
  outline-offset: 3px;
}

@keyframes elite-modal-in {
  from { opacity: 0; transform: translateY(10px) scale(0.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes elite-step-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes elite-spin {
  to { transform: rotate(360deg); }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .elite-purchase-modal {
    width: min(940px, calc(100vw - 32px));
  }

  .elite-purchase-header,
  .elite-purchase-body,
  .elite-purchase-footer {
    padding-left: 24px;
    padding-right: 24px;
  }

  .elite-package-grid,
  .elite-payment-methods {
    gap: 10px;
  }
}

@media (max-width: 767px) {
  .elite-purchase-backdrop {
    display: block;
    padding: 0;
    background: rgba(7, 22, 46, 0.58);
  }

  .elite-purchase-modal {
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .elite-purchase-header {
    flex-direction: row !important;
    align-items: flex-start !important;
    padding: calc(16px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) 15px max(16px, env(safe-area-inset-left, 0px));
  }

  .elite-purchase-header p {
    max-width: calc(100vw - 82px);
    font-size: 0.84rem;
  }

  .elite-purchase-body {
    padding: 18px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px));
  }

  .elite-stepper-desktop {
    display: none;
  }

  .elite-stepper-mobile {
    display: grid;
    gap: 9px;
  }

  .elite-stepper-mobile div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #68798d;
    font-size: 0.84rem;
  }

  .elite-stepper-mobile strong {
    color: #102a4f;
  }

  .elite-stepper-mobile progress {
    width: 100%;
    height: 5px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    accent-color: #20b9b5;
  }

  .elite-stepper-mobile progress::-webkit-progress-bar { background: #dfe7ef; }
  .elite-stepper-mobile progress::-webkit-progress-value { background: #20b9b5; }

  .elite-checkout-trust {
    margin-bottom: 18px;
  }

  .elite-package-grid,
  .elite-payment-methods,
  .elite-review-grid {
    grid-template-columns: 1fr;
  }

  .elite-package-grid label,
  .elite-payment-methods label {
    min-height: 0;
  }

  .elite-payment-methods label {
    min-height: 174px;
  }

  .elite-payment-summary dl {
    grid-template-columns: 1fr;
  }

  .elite-payment-summary dl > div,
  .elite-payment-summary dl > div:first-child,
  .elite-payment-summary dl > div:last-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 9px 0;
    border-right: 0;
    border-bottom: 1px solid #edf1f5;
  }

  .elite-payment-summary dd {
    margin-top: 0;
    text-align: right;
  }

  .elite-credit-total {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .elite-order-summary dl > div,
  .elite-review-grid dl > div {
    gap: 12px;
  }

  .elite-purchase-footer {
    display: grid !important;
    grid-template-columns: minmax(88px, auto) minmax(0, 1fr);
    padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  }

  .elite-purchase-footer button {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elite-purchase-modal,
  .elite-step-content,
  .elite-purchase-modal * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 430px) {
  .sale-uploads {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sale-upload {
    min-height: 132px;
  }

  .sale-upload > span {
    height: 64px;
  }

  .sale-summary-card {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .sale-summary-card > button {
    grid-column: 2;
    justify-self: start;
  }
}

.franchisee-dealer-card footer {
  gap: 8px;
  flex-wrap: wrap;
}
.franchisee-dealer-card .dealer-funds-action{margin-right:auto}
.franchisee-dealer-card .dealer-delete-draft{border-color:#efb8bd;background:#fff5f5;color:#b4232d}.franchisee-dealer-card .dealer-delete-draft:hover{border-color:#d95c65;background:#ffe9ea;color:#921b24}.franchisee-dealer-card .dealer-delete-draft:disabled{cursor:wait;opacity:.65}
.franchisee-dealer-card .dealer-activate-operation{margin-right:auto;background:linear-gradient(135deg,#176bd6,#0aa384);border-color:transparent}.franchisee-portfolio-message{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:10px;font-size:12px;font-weight:750}.franchisee-portfolio-message.success{color:#087452;background:#e9f8f1;border:1px solid #bce8d5}.franchisee-portfolio-message.error{color:#a83636;background:#fff0f0;border:1px solid #f0c9c9}
body:has(.workspace:not(.is-hidden)) .support-widget{display:none!important}
.dealer-funds-backdrop{z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(10,24,44,.58)}
.dealer-funds-modal{width:min(560px,100%);overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(4,19,39,.28)}
.dealer-funds-modal>header{display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #e4eaf2}
.dealer-funds-modal>header span{color:#176bd6;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.dealer-funds-modal h2{margin:5px 0;color:#10223b}.dealer-funds-modal header p{margin:4px 0 0;color:#68788d}
.dealer-funds-modal form,.dealer-funds-success{display:grid;gap:17px;padding:24px}
.dealer-funds-modal label{display:grid;gap:7px;color:#34445b;font-size:13px;font-weight:750}
.dealer-funds-modal input,.dealer-funds-modal select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfd9e6;border-radius:9px;background:#fff;color:#172b46;font:inherit}
.dealer-funds-modal aside{display:flex;align-items:flex-start;gap:9px;padding:13px;border-radius:10px;background:#eef6ff;color:#31557d;font-size:12px;line-height:1.5}
.dealer-funds-modal aside svg{flex:0 0 18px}.dealer-funds-modal form>footer{display:flex;justify-content:flex-end;gap:9px}
.dealer-funds-error{margin:0;color:#b42318;font-size:13px;font-weight:700}
.dealer-funds-success{text-align:center}.dealer-funds-success>svg{width:52px;height:52px;margin:auto;color:#15966b}
.dealer-funds-success h3,.dealer-funds-success p{margin:0}.dealer-funds-success>div{display:flex;gap:8px}.dealer-funds-success>a{justify-self:center}
@media(max-width:600px){.dealer-funds-success>div,.dealer-funds-modal form>footer{flex-direction:column}.dealer-funds-modal form>footer>*{width:100%;justify-content:center}}

/* Planos e Creditos: escopo isolado da pagina para preservar o shell global. */
[data-plans-root] {
  --plans-blue: #0b5bea;
  --plans-text: #101828;
  --plans-muted: #667085;
  --plans-line: #e2e8f0;
  display: grid;
  gap: 16px;
  min-width: 0;
  margin: -24px;
  padding: 22px 24px 40px;
  color: var(--plans-text);
  background: #f7f9fc;
}

[data-plans-root] :is(.plans-hero, .panel, .plans-kpi, .plans-alert) {
  border: 1px solid var(--plans-line);
  color: var(--plans-text);
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .035);
}

[data-plans-root] :is(button, input, select, summary) { transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
[data-plans-root] :is(button, input, select, summary):focus-visible { outline: 3px solid rgba(11, 91, 234, .2); outline-offset: 2px; }
[data-plans-root] :is(.primary-action, .ghost-action, .plans-alert-action) { min-height: 44px; justify-content: center; border-radius: 9px; font-weight: 750; }
[data-plans-root] .primary-action { border-color: var(--plans-blue); color: #fff; background: var(--plans-blue); box-shadow: 0 5px 12px rgba(11, 91, 234, .16); }
[data-plans-root] .ghost-action { border-color: #d8dee8; color: #253044; background: #fff; }
[data-plans-root] .metric-icon { width: 40px; height: 40px; display: grid; flex: 0 0 40px; place-items: center; border-radius: 50%; color: var(--plans-blue); background: #e8f0ff; }
[data-plans-root] .metric-icon svg { width: 20px; height: 20px; }
[data-plans-root] .metric-icon.tone-green { color: #078553; background: #e4f7ee; }
[data-plans-root] .metric-icon.tone-blue { color: #0b5bea; background: #e7efff; }
[data-plans-root] .metric-icon.tone-purple { color: #7c3aed; background: #f1eaff; }
[data-plans-root] .metric-icon.tone-orange { color: #f97316; background: #fff0df; }
[data-plans-root] .metric-icon.tone-cyan { color: #0891b2; background: #e3f7fb; }

[data-plans-root] .plans-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 0 2px 2px; border: 0; background: transparent; box-shadow: none; }
[data-plans-root] .fiscal-breadcrumb { color: #667085; font-size: 12px; }
[data-plans-root] .fiscal-breadcrumb strong { color: #344054; }
[data-plans-root] .plans-title { max-width: 760px; }
[data-plans-root] .plans-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
[data-plans-root] .plans-title h2 { margin: 0; color: #0c111d; font-size: clamp(25px, 2vw, 31px); line-height: 1.15; letter-spacing: -.035em; }
[data-plans-root] .plans-title p { margin: 7px 0 0; color: #475467; font-size: 13px; }
[data-plans-root] .plans-actions { display: flex; flex-wrap: nowrap; gap: 10px; }
[data-plans-root] .plans-actions button { padding-inline: 16px; white-space: nowrap; }
[data-plans-root] .plans-badge { padding: 5px 10px; font-size: 11px; font-weight: 750; }
[data-plans-root] .plans-badge.green { color: #087a4b; background: #e7f7ef; box-shadow: inset 0 0 0 1px #b7e6cf; }
[data-plans-root] .plans-badge.cyan { color: #164c9b; background: #e8f1ff; box-shadow: inset 0 0 0 1px #cbdcff; }

[data-plans-root] .plans-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
[data-plans-root] .plans-kpi { min-height: 148px; display: grid; grid-template-rows: auto auto 1fr auto; align-content: start; justify-items: stretch; gap: 5px; padding: 13px 14px 10px; border-radius: 12px; text-align: left; }
[data-plans-root] .plans-kpi:hover { border-color: #c9d5e5; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(16, 24, 40, .07); }
[data-plans-root] .plans-kpi-head { display: flex; align-items: center; gap: 10px; margin-bottom: 2px; color: #202939; font-size: 12px; font-weight: 750; }
[data-plans-root] .plans-kpi-head .metric-icon { width: 36px; height: 36px; flex-basis: 36px; }
[data-plans-root] .plans-kpi.tone-green .metric-icon { color: #078553; background: #e4f7ee; }
[data-plans-root] .plans-kpi.tone-blue .metric-icon { color: #0b5bea; background: #e7efff; }
[data-plans-root] .plans-kpi.tone-purple .metric-icon { color: #7c3aed; background: #f1eaff; }
[data-plans-root] .plans-kpi.tone-orange .metric-icon { color: #f97316; background: #fff0df; }
[data-plans-root] .plans-kpi.tone-cyan .metric-icon { color: #0891b2; background: #e3f7fb; }
[data-plans-root] .plans-kpi strong { align-self: end; color: #101828; font-size: clamp(17px, 1.45vw, 22px); line-height: 1.12; }
[data-plans-root] .plans-kpi small { color: #667085; font-size: 11px; }
[data-plans-root] .plans-kpi small.positive, [data-plans-root] .positive { color: #078553; }
[data-plans-root] .negative { color: #c4320a; }
[data-plans-root] .plans-kpi-footer { min-height: 27px; display: flex; align-items: center; gap: 7px; margin-top: 5px; padding-top: 8px; border-top: 1px solid #edf0f4; color: #475467; font-size: 11px; }
[data-plans-root] .plans-kpi-footer > svg { width: 15px; height: 15px; }

[data-plans-root] .plans-alert { grid-template-columns: auto minmax(0, 1fr) auto; gap: 13px; padding: 10px 12px 10px 16px; border-radius: 11px; }
[data-plans-root] .plans-alert.warning { border-color: #f8c874; color: #9a4b05; background: #fffaf1; }
[data-plans-root] .plans-alert.ok { border-color: #a8dfc3; color: #087a4b; background: #f0fbf5; }
[data-plans-root] .plans-alert > svg { width: 24px; height: 24px; color: #f79009; }
[data-plans-root] .plans-alert div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
[data-plans-root] .plans-alert span { color: #5c4530; font-size: 12px; }
[data-plans-root] .plans-alert-action { display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border: 0; color: #fff; background: #f59e0b; cursor: pointer; }
[data-plans-root] .plans-alert-action svg { width: 17px; }

[data-plans-root] .plans-main-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, 1fr); gap: 14px; align-items: stretch; }
[data-plans-root] .plans-side-stack { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; min-width: 0; }
[data-plans-root] .panel { padding: 15px; border-radius: 12px; }
[data-plans-root] .panel-head { margin-bottom: 12px; }
[data-plans-root] .panel-head h3, [data-plans-root] .recommendation-card h3 { margin: 0; color: #182230; font-size: 16px; }
[data-plans-root] .panel-head span { color: #667085; font-size: 11px; }
[data-plans-root] .fiscal-segmented { padding: 2px; border: 1px solid #dfe4ec; border-radius: 7px; background: #fff; }
[data-plans-root] .fiscal-segmented button { min-height: 32px; padding: 0 11px; border-radius: 5px; color: #475467; font-size: 10px; }
[data-plans-root] .fiscal-segmented button.active { color: #fff; background: var(--plans-blue); box-shadow: none; }
[data-plans-root] .plans-periods svg { width: 13px; margin-left: 5px; }
[data-plans-root] .plans-custom-range { display: flex; justify-content: flex-end; gap: 10px; margin: -2px 0 10px; }
[data-plans-root] .plans-custom-range label { display: grid; gap: 4px; color: #667085; font-size: 10px; }
[data-plans-root] .plans-custom-range input { min-height: 36px; border: 1px solid #dfe4ec; border-radius: 8px; padding: 5px 9px; color: #344054; background: #fff; }

[data-plans-root] .plans-consumption-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
[data-plans-root] .plans-consumption-grid > div { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e3e8ef; border-radius: 10px; background: #fff; }
[data-plans-root] .plans-consumption-grid section { min-width: 0; }
[data-plans-root] .plans-consumption-grid section > span { color: #475467; font-size: 10px; font-weight: 650; }
[data-plans-root] .plans-consumption-grid strong { display: block; margin: 2px 0; color: #101828; font-size: 18px; }
[data-plans-root] .plans-consumption-grid small { display: block; overflow: hidden; color: #667085; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
[data-plans-root] .plans-chart { margin: 10px 0 0; }
[data-plans-root] .plans-chart svg { width: 100%; height: 220px; overflow: visible; }
[data-plans-root] .plans-chart line { stroke: #dfe6ef; stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
[data-plans-root] .plans-chart text { fill: #667085; font-size: 10px; }
[data-plans-root] .plans-chart path { fill: none; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
[data-plans-root] .plans-chart path.used { stroke: #7c3aed; }
[data-plans-root] .plans-chart path.available { stroke: #078553; }
[data-plans-root] .plans-chart path.acquired { stroke: #0b5bea; stroke-dasharray: 5 4; }
[data-plans-root] .plans-legend { display: flex; justify-content: center; gap: 26px; margin-top: -4px; }
[data-plans-root] .plans-legend span { color: #475467; font-size: 10px; }
[data-plans-root] .plans-reading { display: grid; gap: 7px; margin-top: 10px; padding: 0; border: 0; background: transparent; }
[data-plans-root] .plans-reading > div { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid #d9e6fa; border-radius: 8px; color: #475467; background: #f8fbff; font-size: 11px; }
[data-plans-root] .plans-reading svg { width: 16px; flex: 0 0 16px; color: var(--plans-blue); }

[data-plans-root] .quick-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
[data-plans-root] .quick-action-grid button { min-height: 95px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e2e7ee; border-radius: 10px; color: #182230; background: #fff; text-align: left; }
[data-plans-root] .quick-action-grid button:hover { border-color: #bfcee2; transform: translateY(-1px); box-shadow: 0 5px 12px rgba(16, 24, 40, .055); }
[data-plans-root] .quick-action-grid section { display: grid; gap: 4px; }
[data-plans-root] .quick-action-grid strong { font-size: 11px; }
[data-plans-root] .quick-action-grid span { color: #667085; font-size: 9px; line-height: 1.4; }
[data-plans-root] .quick-action-grid button > svg { width: 15px; color: #667085; }
[data-plans-root] .quick-action-grid .metric-icon { width: 38px; height: 38px; flex-basis: 38px; }

[data-plans-root] .recommendation-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 105px; grid-template-rows: 1fr auto; gap: 10px; min-height: 126px; overflow: hidden; }
[data-plans-root] .recommendation-card p { margin: 10px 0 0; color: #475467; font-size: 11px; line-height: 1.5; }
[data-plans-root] .recommendation-card > .plans-badge { grid-column: 1; align-self: end; }
[data-plans-root] .recommendation-illustration { position: relative; grid-column: 2; grid-row: 1 / 3; display: grid; place-items: center; color: var(--plans-blue); }
[data-plans-root] .recommendation-illustration svg:first-child { width: 65px; height: 65px; padding: 12px; border: 1px solid #d8e4f7; border-radius: 9px; color: var(--plans-blue); background: #eef4ff; }
[data-plans-root] .recommendation-illustration svg:last-child { position: absolute; right: 4px; bottom: 15px; width: 34px; height: 34px; color: #98a2b3; }

[data-plans-root] .plans-history { padding: 15px 16px; }
[data-plans-root] .plan-tabs { border-bottom: 1px solid #e4e8ee; }
[data-plans-root] .plan-tabs button { min-height: 38px; color: #475467; background: transparent; }
[data-plans-root] .plan-tabs button.active { color: var(--plans-blue); }
[data-plans-root] .plan-tabs button.active::after { background: var(--plans-blue); }
[data-plans-root] .plans-filters { display: grid; grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(130px, 1fr)) auto; gap: 10px; align-items: end; margin: 13px 0; }
[data-plans-root] .plans-filters label { color: #667085; font-size: 9px; }
[data-plans-root] .plans-filters .wide { grid-column: auto; }
[data-plans-root] .plans-filters :is(input, select) { min-height: 42px; border: 1px solid #dfe4ec; border-radius: 8px; color: #344054; background: #fff; }
[data-plans-root] .plans-table { min-width: 900px; }
[data-plans-root] .fiscal-table-wrap { border-color: #e3e8ef; border-radius: 9px; }
[data-plans-root] .fiscal-table :is(th, td) { border-color: #edf0f4; color: #344054; background: #fff; }
[data-plans-root] .plans-empty { min-height: 145px; border-color: #d9e0e9; color: #344054; background: #fff; }
[data-plans-root] .plans-empty svg { width: 40px; height: 40px; color: #a5afbd; }
[data-plans-root] .finance-card-list { display: none; }
[data-plans-root] .fiscal-pagination button.active { color: #fff; background: var(--plans-blue); }

[data-plans-root] .plans-upgrade-modal { width: min(1220px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
[data-plans-root] .plans-upgrade-modal .plans-card-grid { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
[data-plans-root] .plans-upgrade-modal .plan-card { min-height: 0; color: #182230; background: #fff; }

@media (max-width: 1250px) {
  [data-plans-root] .plans-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-plans-root] .plans-main-grid { grid-template-columns: minmax(0, 1.3fr) minmax(310px, .8fr); }
  [data-plans-root] .quick-action-grid { grid-template-columns: 1fr; }
  [data-plans-root] .plans-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-plans-root] .plans-filters .wide { grid-column: span 2; }
}

@media (max-width: 980px) {
  [data-plans-root] { margin: -18px; padding: 20px 18px 34px; }
  [data-plans-root] .plans-main-grid { grid-template-columns: 1fr; }
  [data-plans-root] .quick-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-plans-root] .plans-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-plans-root] .plans-upgrade-modal .plans-card-grid { grid-template-columns: repeat(2, minmax(230px, 1fr)); }
}

@media (max-width: 680px) {
  [data-plans-root] { gap: 13px; margin: -14px; padding: 16px 14px 30px; }
  [data-plans-root] .plans-hero { align-items: stretch; flex-direction: column; }
  [data-plans-root] .plans-title-line { align-items: flex-start; flex-direction: column; gap: 8px; }
  [data-plans-root] .plans-title h2 { font-size: 24px; }
  [data-plans-root] .plans-actions { display: grid; grid-template-columns: 1fr; }
  [data-plans-root] .plans-actions button { width: 100%; }
  [data-plans-root] .plans-kpis { grid-template-columns: 1fr; }
  [data-plans-root] .plans-kpi { min-height: 142px; }
  [data-plans-root] .plans-alert { grid-template-columns: auto 1fr; align-items: start; padding: 14px; }
  [data-plans-root] .plans-alert div { display: grid; }
  [data-plans-root] .plans-alert-action, [data-plans-root] .plans-alert .ghost-action { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
  [data-plans-root] .panel-head { align-items: stretch; flex-direction: column; }
  [data-plans-root] .plans-periods { display: flex; width: 100%; overflow-x: auto; }
  [data-plans-root] .plans-periods button { flex: 0 0 auto; }
  [data-plans-root] .plans-custom-range { display: grid; grid-template-columns: 1fr; }
  [data-plans-root] .plans-consumption-grid, [data-plans-root] .quick-action-grid { grid-template-columns: 1fr; }
  [data-plans-root] .plans-chart { padding-bottom: 4px; }
  [data-plans-root] .plans-chart svg { min-width: 0; height: 190px; }
  [data-plans-root] .plans-chart .x-label { font-size: 8px; }
  [data-plans-root] .plans-legend { gap: 15px; }
  [data-plans-root] .recommendation-card { grid-template-columns: 1fr 82px; }
  [data-plans-root] .plans-history .fiscal-table-wrap { display: none; }
  [data-plans-root] .plans-history .finance-card-list { display: grid; gap: 10px; }
  [data-plans-root] .finance-card-list article { display: grid; gap: 9px; padding: 13px; border: 1px solid #e1e7ef; border-radius: 10px; background: #fff; }
  [data-plans-root] .finance-card-list article > div, [data-plans-root] .finance-card-list details section > div { display: flex; justify-content: space-between; gap: 12px; }
  [data-plans-root] .finance-card-list span { color: #667085; font-size: 10px; }
  [data-plans-root] .finance-card-list strong { color: #182230; font-size: 11px; text-align: right; }
  [data-plans-root] .finance-card-list details summary { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border-top: 1px solid #edf0f4; color: var(--plans-blue); font-size: 11px; font-weight: 700; cursor: pointer; }
  [data-plans-root] .finance-card-list details section { display: grid; gap: 8px; padding-top: 8px; }
  [data-plans-root] .plans-filters, [data-plans-root] .plans-filters .wide { grid-template-columns: 1fr; grid-column: auto; }
  [data-plans-root] .plans-filters .ghost-action { width: 100%; }
  [data-plans-root] .plan-tabs { overflow-x: auto; }
  [data-plans-root] .plan-tabs button { flex: 0 0 auto; }
  [data-plans-root] .plans-upgrade-modal .plans-card-grid { grid-template-columns: 1fr; }
}

/* Acompanhamento do atendimento — composição 20260724, isolada do restante do portal. */
body.public-client-mode .tracking-page {
  --tracking-navy: #071c49;
  --tracking-blue: #1262c5;
  --tracking-green: #079b67;
  --tracking-border: #e2e7ee;
  --tracking-muted: #677287;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 24px;
  display: grid;
  gap: 16px;
  color: #172033;
  box-sizing: border-box;
}

body.public-client-mode .tracking-page *,
body.public-client-mode .tracking-page *::before,
body.public-client-mode .tracking-page *::after {
  box-sizing: border-box;
}

body.public-client-mode .tracking-service-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

body.public-client-mode .tracking-service-title {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
}

body.public-client-mode .tracking-service-title img {
  width: 280px;
  height: 72px;
  object-fit: contain;
  object-position: left center;
  padding-right: 24px;
  border-right: 1px solid var(--tracking-border);
}

body.public-client-mode .tracking-service-title h1 {
  margin: 0;
  color: var(--tracking-navy);
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.12;
  letter-spacing: -.04em;
}

body.public-client-mode .tracking-service-title p {
  margin: 7px 0 0;
  color: var(--tracking-muted);
  font-size: 15px;
}

body.public-client-mode .tracking-service-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
}

body.public-client-mode .tracking-service-metric {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--tracking-border);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(7, 28, 73, .035);
}

body.public-client-mode .tracking-service-metric > svg {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  color: var(--tracking-navy);
}

body.public-client-mode .tracking-service-metric div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

body.public-client-mode .tracking-service-metric span {
  color: var(--tracking-muted);
  font-size: 12px;
}

body.public-client-mode .tracking-service-metric strong {
  overflow: hidden;
  color: #08728a;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.public-client-mode .tracking-service-metric.attention strong { color: #a35b0b; }

body.public-client-mode .tracking-refresh-button {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--tracking-border);
  border-radius: 10px;
  color: var(--tracking-navy);
  background: #fff;
  cursor: pointer;
}

body.public-client-mode .tracking-refresh-button svg { width: 18px; }
body.public-client-mode .tracking-refresh-button.is-loading svg { animation: spin 1s linear infinite; }

body.public-client-mode .tracking-live-status {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 1px solid #cce9dd;
  border-radius: 999px;
  color: #087750;
  background: #f2fbf7;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

body.public-client-mode .tracking-live-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tracking-green);
  box-shadow: 0 0 0 4px rgba(7, 155, 103, .12);
  animation: tracking-live-pulse 2.2s ease-in-out infinite;
}

body.public-client-mode .tracking-page.is-live-update .tracking-progress-number strong {
  animation: tracking-number-update .65s ease both;
}

body.public-client-mode .tracking-page.is-live-update .tracking-steps > li.active > i {
  animation: tracking-stage-update .75s ease both;
}

@keyframes tracking-live-pulse {
  50% { box-shadow: 0 0 0 7px rgba(7, 155, 103, 0); }
}

@keyframes tracking-number-update {
  0% { opacity: .35; transform: translateY(7px) scale(.96); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tracking-stage-update {
  0% { box-shadow: 0 0 0 0 rgba(7, 155, 103, .35); }
  100% { box-shadow: 0 0 0 12px rgba(7, 155, 103, 0); }
}

body.public-client-mode :is(.tracking-progress-card, .tracking-consultant-card, .tracking-timeline-card, .tracking-deadline-card) {
  border: 1px solid var(--tracking-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(7, 28, 73, .035);
}

body.public-client-mode .tracking-overview {
  display: grid;
  grid-template-columns: minmax(0, 2.45fr) minmax(280px, 1fr);
  gap: 16px;
}

body.public-client-mode .tracking-progress-card { padding: 24px 30px; }
body.public-client-mode .tracking-progress-card h2,
body.public-client-mode .tracking-timeline-card h2 {
  margin: 0;
  color: var(--tracking-navy);
  font-size: 17px;
}

body.public-client-mode .tracking-progress-content {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 38px;
  align-items: center;
  margin-top: 20px;
}

body.public-client-mode .tracking-progress-number {
  display: grid;
  gap: 10px;
}

body.public-client-mode .tracking-progress-number strong {
  color: #08768b;
  font-size: clamp(42px, 4.3vw, 62px);
  line-height: .95;
}

body.public-client-mode .tracking-progress-number span {
  color: var(--tracking-muted);
  font-size: 14px;
}

body.public-client-mode .tracking-progress-detail { min-width: 0; }

body.public-client-mode .tracking-segments {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(12px, 1fr);
  gap: 7px;
}

body.public-client-mode .tracking-segments i {
  height: 13px;
  border-radius: 999px;
  background: #e4e7ed;
  transition: background-color .35s ease, transform .35s ease;
}

body.public-client-mode .tracking-segments i.done { background: var(--tracking-green); }
body.public-client-mode .tracking-segments i.active { background: var(--tracking-navy); transform: scaleY(1.08); }
body.public-client-mode .tracking-segments i.cancelled { background: #c94d5d; }

body.public-client-mode .tracking-progress-detail p {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 28px 0 0;
  color: #536077;
  font-size: 13px;
}

body.public-client-mode .tracking-progress-detail p svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: var(--tracking-green);
}

body.public-client-mode .tracking-consultant-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px 16px;
  align-items: center;
  padding: 20px 22px;
}

body.public-client-mode .tracking-consultant-card > img,
body.public-client-mode .tracking-consultant-avatar {
  width: 88px;
  height: 88px;
  grid-row: span 2;
  display: grid;
  place-items: center;
  border-radius: 50%;
  object-fit: cover;
  color: #fff;
  background: var(--tracking-navy);
  font-size: 24px;
  font-style: normal;
  font-weight: 800;
}

body.public-client-mode .tracking-consultant-card div { min-width: 0; }
body.public-client-mode .tracking-consultant-card span { color: var(--tracking-muted); font-size: 11px; font-weight: 700; }
body.public-client-mode .tracking-consultant-card strong { display: block; margin-top: 4px; color: var(--tracking-navy); font-size: 19px; }
body.public-client-mode .tracking-consultant-card p { margin: 7px 0 0; color: #344054; font-size: 12px; line-height: 1.45; }

body.public-client-mode .tracking-consultant-action {
  min-height: 42px;
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--tracking-navy);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

body.public-client-mode .tracking-consultant-action svg { width: 17px; }

body.public-client-mode .tracking-special-alert {
  min-height: 60px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 18px;
  border: 1px solid #e9d5a9;
  border-radius: 12px;
  color: #80500e;
  background: #fffbef;
}

body.public-client-mode .tracking-special-alert.completed { border-color: #bde6d4; color: #087750; background: #f0fbf6; }
body.public-client-mode .tracking-special-alert.cancelled { border-color: #edc7cd; color: #a12b3b; background: #fff5f6; }
body.public-client-mode .tracking-special-alert > svg { width: 23px; flex: 0 0 23px; }
body.public-client-mode .tracking-special-alert div { flex: 1; display: grid; gap: 3px; }
body.public-client-mode .tracking-special-alert span { font-size: 12px; }
body.public-client-mode .tracking-special-alert a { color: inherit; font-size: 12px; font-weight: 800; }

body.public-client-mode .tracking-timeline-card { min-width: 0; padding: 20px 14px 14px; }
body.public-client-mode .tracking-timeline-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 16px 16px;
}
body.public-client-mode .tracking-timeline-card > header div { display: grid; gap: 5px; }
body.public-client-mode .tracking-timeline-card > header span { color: var(--tracking-muted); font-size: 11px; }
body.public-client-mode .tracking-copy-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid var(--tracking-border);
  border-radius: 8px;
  color: var(--tracking-navy);
  background: #fff;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
body.public-client-mode .tracking-copy-button svg { width: 15px; }

body.public-client-mode .tracking-timeline-card .tracking-steps {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: none !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(112px, 1fr);
  gap: 0;
  margin: 0;
  padding: 0 18px 18px;
  list-style: none;
  overflow: visible;
}

body.public-client-mode .tracking-timeline-card .tracking-steps::before,
body.public-client-mode .tracking-timeline-card .tracking-steps::after {
  display: none !important;
  content: none !important;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-rows: 24px 82px minmax(34px, auto) auto;
  justify-items: center;
  gap: 6px;
  color: #8a93a3;
  text-align: center;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 64px;
  left: calc(50% + 40px);
  width: calc(100% - 80px);
  border-top: 2px dashed #d4d8e0;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li:last-child::after { display: none; }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.done::after { border-top-style: solid; border-color: var(--tracking-green); }

body.public-client-mode .tracking-timeline-card .tracking-steps b {
  position: relative;
  z-index: 2;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #9ba3b2;
  font-size: 12px;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li.done b { background: var(--tracking-green); }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.active b { background: var(--tracking-navy); box-shadow: 0 0 0 7px #eaf2ff; }

body.public-client-mode .tracking-timeline-card .tracking-steps > li > i {
  position: relative;
  z-index: 1;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 1px solid #d6dbe3;
  border-radius: 50%;
  color: #747b87;
  background: #fff;
  font-style: normal;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li > i svg { width: 31px; height: 31px; }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.done > i { border-color: #b8e3d2; color: var(--tracking-green); background: #f8fdfa; }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.active > i {
  width: 84px;
  height: 84px;
  margin-top: -4px;
  border: 3px solid var(--tracking-blue);
  color: var(--tracking-navy) !important;
  background: #f4f8ff !important;
  box-shadow: 0 0 0 10px #eaf2ff, 0 10px 24px rgba(18, 98, 197, .13);
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li strong {
  max-width: 150px;
  color: var(--tracking-navy);
  font-size: 12px;
  line-height: 1.35;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li > span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  color: #697386;
  background: #f0f2f5;
  font-size: 9px;
  line-height: 1.2;
}

body.public-client-mode .tracking-timeline-card .tracking-steps > li > span svg { width: 11px; }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.done > span { color: #087750; background: #e9f8f1; }
body.public-client-mode .tracking-timeline-card .tracking-steps > li.active > span { color: #125bb4; background: #edf4ff; }

body.public-client-mode .tracking-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, 1fr);
  gap: 0;
  border: 1px solid var(--tracking-border);
  border-radius: 12px;
  overflow: hidden;
}

body.public-client-mode .tracking-current-step {
  min-width: 0;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) minmax(190px, .65fr);
  gap: 20px;
  align-items: center;
  padding: 24px 20px;
  background: #fff;
}

body.public-client-mode .tracking-current-icon {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--tracking-blue);
  background: #f0f6ff;
}
body.public-client-mode .tracking-current-icon svg { width: 52px; height: 52px; }
body.public-client-mode .tracking-current-copy > span { color: var(--tracking-blue); font-size: 11px; font-weight: 800; }
body.public-client-mode .tracking-current-copy h3 { margin: 5px 0 8px; color: var(--tracking-navy); font-size: 21px; }
body.public-client-mode .tracking-current-copy em {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #125bb4;
  background: #edf4ff;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}
body.public-client-mode .tracking-current-copy em svg { width: 11px; }
body.public-client-mode .tracking-current-copy p { margin: 12px 0 0; color: #344054; font-size: 12px; line-height: 1.55; }
body.public-client-mode .tracking-current-step dl { display: grid; gap: 20px; margin: 0; padding-left: 20px; border-left: 1px solid var(--tracking-border); }
body.public-client-mode .tracking-current-step dl div { display: grid; gap: 5px; }
body.public-client-mode .tracking-current-step dt { display: flex; align-items: center; gap: 7px; color: var(--tracking-muted); font-size: 10px; }
body.public-client-mode .tracking-current-step dt svg { width: 16px; }
body.public-client-mode .tracking-current-step dd { margin: 0 0 0 23px; color: var(--tracking-blue); font-size: 12px; font-weight: 800; }
body.public-client-mode .tracking-next-message {
  grid-column: 1 / -1;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 10px 14px;
  border-radius: 7px;
  color: #284d7d;
  background: #f2f7ff;
  font-size: 11px;
}
body.public-client-mode .tracking-next-message svg { width: 16px; flex: 0 0 16px; color: var(--tracking-blue); }

body.public-client-mode .tracking-history {
  min-width: 0;
  padding: 22px 24px;
  border-left: 1px solid var(--tracking-border);
  background: #fff;
}
body.public-client-mode .tracking-history h3 { margin: 0 0 18px; color: var(--tracking-navy); font-size: 16px; }
body.public-client-mode .tracking-history ol { margin: 0; padding: 0; list-style: none; }
body.public-client-mode .tracking-history li { position: relative; min-height: 58px; padding: 0 0 14px 28px; }
body.public-client-mode .tracking-history li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #aeb5c0;
}
body.public-client-mode .tracking-history li::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 17px;
  bottom: -2px;
  width: 2px;
  background: #e0e4e9;
}
body.public-client-mode .tracking-history li:last-child::after { display: none; }
body.public-client-mode .tracking-history li.latest::before { background: var(--tracking-blue); box-shadow: 0 0 0 4px #e9f2ff; }
body.public-client-mode .tracking-history time { color: var(--tracking-muted); font-size: 10px; }
body.public-client-mode .tracking-history li.latest time { color: var(--tracking-blue); font-weight: 800; }
body.public-client-mode .tracking-history p { margin: 3px 0 0; color: #172033; font-size: 11px; line-height: 1.4; }
body.public-client-mode .tracking-history li > span { display: block; margin-top: 3px; color: #7b8494; font-size: 9px; }
body.public-client-mode .tracking-history li > a { display: inline-flex; align-items: center; gap: 4px; margin-top: 5px; color: var(--tracking-blue); font-size: 10px; font-weight: 750; }
body.public-client-mode .tracking-history li > a svg { width: 12px; }

body.public-client-mode .tracking-deadline-card {
  min-height: 82px;
  display: grid;
  grid-template-columns: 54px minmax(250px, .8fr) minmax(280px, 1.4fr) auto;
  gap: 18px;
  align-items: center;
  padding: 15px 20px;
}
body.public-client-mode .tracking-deadline-card > i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--tracking-navy);
}
body.public-client-mode .tracking-deadline-card > i svg { width: 23px; }
body.public-client-mode .tracking-deadline-card div { display: grid; gap: 4px; }
body.public-client-mode .tracking-deadline-card span { color: var(--tracking-navy); font-size: 12px; font-weight: 800; }
body.public-client-mode .tracking-deadline-card strong { color: #08768b; font-size: 21px; }
body.public-client-mode .tracking-deadline-card p { margin: 0; padding-left: 20px; border-left: 1px solid var(--tracking-border); color: var(--tracking-muted); font-size: 11px; line-height: 1.5; }
body.public-client-mode .tracking-deadline-card > button {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 22px;
  border: 1px solid #16849b;
  border-radius: 8px;
  color: #09677b;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
body.public-client-mode .tracking-deadline-card > button svg { width: 15px; }

body.public-client-mode .tracking-empty-state {
  min-height: 130px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 20px;
  color: var(--tracking-muted);
  text-align: center;
}
body.public-client-mode .tracking-empty-state svg { width: 28px; color: #9aa4b3; }
body.public-client-mode .tracking-empty-state strong { color: var(--tracking-navy); font-size: 12px; }
body.public-client-mode .tracking-empty-state span { font-size: 10px; }
body.public-client-mode .tracking-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

body.public-client-mode .tracking-page :is(button, a):focus-visible {
  outline: 3px solid rgba(18, 98, 197, .32);
  outline-offset: 2px;
}
body.public-client-mode .tracking-page :is(button, a) { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
@media (hover: hover) {
  body.public-client-mode .tracking-page :is(button, .tracking-consultant-action):hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(7, 28, 73, .1); }
}

@media (max-width: 1180px) {
  body.public-client-mode .tracking-service-header { align-items: stretch; flex-wrap: wrap; }
  body.public-client-mode .tracking-service-title { flex-basis: 100%; }
  body.public-client-mode .tracking-service-metrics { flex: 1; }
  body.public-client-mode .tracking-progress-content { grid-template-columns: 210px minmax(0, 1fr); }
  body.public-client-mode .tracking-overview { grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); }
  body.public-client-mode .tracking-timeline-card .tracking-steps { grid-auto-columns: minmax(105px, 1fr); }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li > i { width: 68px; height: 68px; }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li.active > i { width: 76px; height: 76px; }
  body.public-client-mode .tracking-current-step { grid-template-columns: 86px minmax(0, 1fr); }
  body.public-client-mode .tracking-current-icon { width: 76px; height: 76px; }
  body.public-client-mode .tracking-current-icon svg { width: 40px; height: 40px; }
  body.public-client-mode .tracking-current-step dl { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; padding: 16px 0 0; border-top: 1px solid var(--tracking-border); border-left: 0; }
}

@media (max-width: 900px) {
  body.public-client-mode .tracking-page { padding: 18px; }
  body.public-client-mode .tracking-service-title img { width: 210px; height: 58px; }
  body.public-client-mode .tracking-overview,
  body.public-client-mode .tracking-detail-grid { grid-template-columns: 1fr; }
  body.public-client-mode .tracking-history { border-top: 1px solid var(--tracking-border); border-left: 0; }
  body.public-client-mode .tracking-deadline-card { grid-template-columns: 54px 1fr; }
  body.public-client-mode .tracking-deadline-card p { grid-column: 1 / -1; padding: 14px 0 0; border-top: 1px solid var(--tracking-border); border-left: 0; }
  body.public-client-mode .tracking-deadline-card > button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 820px) {
  body.public-client-mode .tracking-page {
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px;
    padding: 16px !important;
    overflow: hidden;
  }
  body.public-client-mode .tracking-service-header { display: grid; gap: 14px; }
  body.public-client-mode .tracking-service-title { display: grid; gap: 13px; }
  body.public-client-mode .tracking-service-title img {
    width: 164px;
    height: 45px;
    padding: 0;
    border: 0;
  }
  body.public-client-mode .tracking-service-title h1 { font-size: 25px; }
  body.public-client-mode .tracking-service-title p { font-size: 13px; line-height: 1.45; }
  body.public-client-mode .tracking-service-metrics { grid-template-columns: 1fr; }
  body.public-client-mode .tracking-service-metric { min-height: 72px; }
  body.public-client-mode .tracking-live-status { width: max-content; }
  body.public-client-mode .tracking-refresh-button { position: absolute; top: 0; right: 0; }
  body.public-client-mode .tracking-progress-card { padding: 20px 18px; }
  body.public-client-mode .tracking-progress-content { grid-template-columns: 1fr; gap: 20px; margin-top: 18px; }
  body.public-client-mode .tracking-progress-number strong { font-size: 48px; }
  body.public-client-mode .tracking-progress-detail p { align-items: flex-start; margin-top: 20px; line-height: 1.45; }
  body.public-client-mode .tracking-consultant-card { grid-template-columns: 68px minmax(0, 1fr); padding: 17px; }
  body.public-client-mode .tracking-consultant-card > img,
  body.public-client-mode .tracking-consultant-avatar { width: 68px; height: 68px; }
  body.public-client-mode .tracking-consultant-action { grid-column: 1 / -1; min-height: 46px; width: 100%; }
  body.public-client-mode .tracking-timeline-card { padding: 18px 14px 14px; }
  body.public-client-mode .tracking-timeline-card > header { align-items: flex-start; padding: 0 2px 18px; }
  body.public-client-mode .tracking-copy-button { width: 44px; padding: 0; justify-content: center; font-size: 0; }
  body.public-client-mode .tracking-timeline-card .tracking-steps {
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 0 16px 2px !important;
    overflow: visible !important;
  }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li {
    min-height: 84px;
    grid-template-columns: 34px 58px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: "number icon title" "number icon status";
    justify-items: start !important;
    align-items: center;
    gap: 2px 12px !important;
    text-align: left !important;
  }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li::after {
    top: 27px;
    bottom: -1px;
    left: 13px;
    width: 0;
    height: auto;
    border-top: 0;
    border-left: 2px dashed #d4d8e0;
  }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li.done::after { border-left-style: solid; border-color: var(--tracking-green); }
  body.public-client-mode .tracking-timeline-card .tracking-steps b { grid-area: number !important; align-self: start; margin-top: 3px; }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li > i,
  body.public-client-mode .tracking-timeline-card .tracking-steps > li.active > i {
    grid-area: icon !important;
    width: 54px !important;
    height: 54px !important;
    margin: 0;
    border-width: 2px;
    box-shadow: none;
  }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li > i svg { width: 24px; height: 24px; }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li strong {
    grid-area: title !important;
    width: auto !important;
    max-width: none !important;
    font-size: 13px;
    text-align: left !important;
  }
  body.public-client-mode .tracking-timeline-card .tracking-steps > li > span {
    grid-area: status !important;
    width: auto !important;
    max-width: none !important;
    min-height: 22px;
    justify-self: start !important;
    text-align: left !important;
  }
  body.public-client-mode .tracking-current-step { grid-template-columns: 62px minmax(0, 1fr); gap: 14px; padding: 18px 14px; }
  body.public-client-mode .tracking-current-icon { width: 58px; height: 58px; }
  body.public-client-mode .tracking-current-icon svg { width: 30px; height: 30px; }
  body.public-client-mode .tracking-current-copy h3 { font-size: 18px; }
  body.public-client-mode .tracking-current-step dl { grid-template-columns: 1fr; gap: 14px; }
  body.public-client-mode .tracking-history { padding: 20px 16px; }
  body.public-client-mode .tracking-deadline-card { grid-template-columns: 48px minmax(0, 1fr); padding: 16px; }
  body.public-client-mode .tracking-deadline-card > i { width: 44px; height: 44px; }
  body.public-client-mode .tracking-deadline-card strong { font-size: 18px; }
  body.public-client-mode .tracking-special-alert { align-items: flex-start; }
  body.public-client-mode .tracking-detail-backdrop { align-items: stretch; padding: 0; }
  body.public-client-mode .tracking-detail-panel { width: 100%; max-width: none; height: 100%; max-height: none; border-radius: 0; }
  body.public-client-mode .tracking-info-grid { grid-template-columns: 1fr; }
  body.public-client-mode .tracking-detail-actions { display: grid; grid-template-columns: 1fr; }
  body.public-client-mode .tracking-detail-actions button { width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  body.public-client-mode .tracking-page *,
  body.public-client-mode .tracking-page *::before,
  body.public-client-mode .tracking-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Landing Pages Gestao + Minha Landing Page */
.lpg-workspace {
  display: grid;
  gap: 18px;
}

.lpg-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.lpg-hero h2 {
  margin: 4px 0 6px;
}

.lpg-hero p {
  color: var(--muted);
  max-width: 720px;
}

.lpg-loading,
.lpg-error,
.lpg-toast {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--panel);
}

.lpg-error {
  border-color: rgba(255, 95, 134, 0.45);
  color: var(--red);
}

.lpg-toast {
  border-color: rgba(69, 223, 155, 0.45);
  color: var(--text);
}

.lpg-generate,
.lpg-offers,
.lpg-contracts,
.mlp-tab-content {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  padding: 18px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
}

.lpg-generate h3,
.lpg-section-header h3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.lpg-generate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 12px;
  align-items: end;
}

.lpg-generate-grid label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}

.lpg-generate-grid select {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  background: var(--panel-2);
  color: var(--text);
  font: inherit;
}

.lpg-generate-button {
  white-space: nowrap;
}

.lpg-offer-preview,
.lpg-link-result {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px dashed var(--line-strong);
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--panel-2);
}

.lpg-offer-preview span {
  color: var(--muted);
  display: block;
}

.lpg-link-result code {
  flex: 1;
  overflow-wrap: anywhere;
  font-size: 0.85rem;
}

.lpg-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.lpg-counter {
  color: var(--muted);
  font-size: 0.85rem;
}

.lpg-offer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.lpg-offer-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: var(--panel-2);
  display: grid;
  gap: 10px;
}

.lpg-offer-card.is-inactive {
  opacity: 0.55;
}

.lpg-offer-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.lpg-offer-price {
  font-size: 1.4rem;
  font-weight: 700;
}

.lpg-offer-price span {
  font-size: 0.9rem;
  color: var(--muted);
  font-weight: 500;
}

.lpg-offer-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.9rem;
}

.lpg-offer-card ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.lpg-offer-card ul li svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  margin-top: 2px;
}

.lpg-offer-form {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: var(--panel-2);
}

.lpg-offer-form label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}

.lpg-offer-form input,
.lpg-offer-form textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px 12px;
  background: var(--panel);
  color: var(--text);
  font: inherit;
}

.lpg-full {
  grid-column: 1 / -1;
}

.lpg-contract-list {
  display: grid;
  gap: 12px;
}

.lpg-contract-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
  overflow: hidden;
}

.lpg-contract-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
}

.lpg-contract-card > header span {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
}

.lpg-contract-header-right {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.lpg-contract-body {
  border-top: 1px solid var(--line);
  padding: 14px;
  display: grid;
  gap: 14px;
}

.lpg-contract-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.lpg-contract-columns h4 {
  margin: 0 0 10px;
}

.lpg-date-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 0.9rem;
}

.lpg-date-row span {
  color: var(--muted);
}

.lpg-date-row strong {
  text-align: right;
  overflow-wrap: anywhere;
}

.lpg-campaign {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 8px;
  background: var(--panel);
}

.lpg-campaign p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  white-space: pre-wrap;
}

.lpg-campaign-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.lpg-campaign-form input,
.lpg-campaign-form textarea {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--panel);
  color: var(--text);
  font: inherit;
}

.lpg-briefing-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}

.lpg-briefing-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.lpg-briefing-panel h4 { margin: 0; }
.lpg-briefing-panel header span,
.lpg-briefing-summary span { display: block; color: var(--muted); font-size: .82rem; }
.lpg-briefing-month input {
  width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px;
  background: var(--panel-2); color: var(--text); font: inherit;
}
.lpg-briefing-summary { padding: 11px 12px; border-radius: 11px; background: var(--panel-2); }
.lpg-briefing-summary p { margin: 7px 0 0; color: var(--muted); font-size: .86rem; }
.lpg-briefing-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.lpg-briefing-actions a { text-decoration: none; }
.lpg-campaign-title { margin-top: 18px !important; }
.lpg-inline-link { display: block; border: 0; padding: 3px 0; background: none; color: var(--blue); font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; text-align: left; }
.lpg-modal-backdrop { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 22px; background: rgba(7, 18, 40, .62); backdrop-filter: blur(5px); }
.lpg-briefing-modal { width: min(900px, 100%); max-height: min(820px, calc(100vh - 44px)); overflow: auto; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.lpg-briefing-modal > header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 20px; border-bottom: 1px solid var(--line); background: var(--panel); }
.lpg-briefing-modal h2 { margin: 2px 0 3px; }
.lpg-briefing-modal header span { color: var(--muted); }
.lpg-briefing-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px; }
.lpg-briefing-detail-grid article { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.lpg-briefing-detail-grid article strong { color: var(--muted); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.lpg-briefing-detail-grid article p { margin: 7px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.lpg-pix-configured { display: flex; align-items: center; gap: 6px; color: var(--green, #00a879) !important; font-weight: 700; }
.lpg-pix-configured svg { width: 15px; height: 15px; }
.lpg-pix-modal { width: min(680px, 100%); max-height: calc(100vh - 44px); overflow: auto; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.lpg-pix-modal > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 20px; border-bottom: 1px solid var(--line); }
.lpg-pix-modal h2 { margin: 2px 0 3px; }
.lpg-pix-modal header span { color: var(--muted); }
.lpg-pix-modal-body { display: grid; gap: 16px; padding: 20px; }
.lpg-pix-modal-body label { display: grid; gap: 7px; font-weight: 700; }
.lpg-pix-modal-body input, .lpg-pix-modal-body textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 12px; background: var(--panel-2); color: var(--text); font: inherit; }
.lpg-pix-modal-body small { color: var(--muted); font-weight: 500; }
.lpg-pix-notice { display: flex; gap: 11px; padding: 13px; border: 1px solid rgba(55,181,142,.35); border-radius: 12px; background: rgba(55,181,142,.08); }
.lpg-pix-notice svg { flex: none; width: 20px; }
.lpg-pix-notice p { margin: 0; line-height: 1.5; }
.lpg-pix-modal > footer { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--line); background: var(--panel-2); }

@media (max-width: 680px) {
  .lpg-briefing-actions { display: grid; grid-template-columns: 1fr; }
  .lpg-briefing-actions > * { width: 100%; justify-content: center; }
  .lpg-modal-backdrop { padding: 0; align-items: stretch; }
  .lpg-briefing-modal { max-height: none; border-radius: 0; }
  .lpg-pix-modal { width: 100%; max-height: none; border-radius: 0; }
  .lpg-briefing-detail-grid { grid-template-columns: 1fr; padding: 14px; }
}

.lpg-contract-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lpg-danger {
  color: var(--red);
}

.lpg-empty-note {
  color: var(--muted);
  font-size: 0.9rem;
}

.mlp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mlp-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 14px;
  background: var(--panel);
  color: var(--muted);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.mlp-tabs button.active {
  border-color: var(--line-strong);
  color: var(--text);
  background: var(--panel-2);
}

.mlp-tabs button svg {
  width: 15px;
  height: 15px;
}

.mlp-suspended {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(255, 95, 134, 0.45);
  border-radius: var(--radius);
  padding: 14px 16px;
  background: rgba(255, 95, 134, 0.08);
}

.mlp-suspended svg {
  width: 26px;
  height: 26px;
  color: var(--red);
  flex-shrink: 0;
}

.mlp-suspended p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.mlp-suspended .primary-action {
  margin-left: auto;
  white-space: nowrap;
}

.mlp-pending {
  border-color: rgba(255, 209, 102, 0.55);
  background: rgba(255, 209, 102, 0.1);
}

.mlp-pending svg {
  color: var(--yellow);
}

.mlp-logo-area {
  display: grid;
  gap: 14px;
  justify-items: start;
}

.mlp-logo-preview {
  margin: 0;
  display: grid;
  gap: 8px;
}

.mlp-logo-preview img {
  max-width: 260px;
  max-height: 160px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: var(--panel-2);
}

.mlp-logo-preview figcaption {
  color: var(--muted);
  font-size: 0.85rem;
}

.mlp-upload-button {
  cursor: pointer;
}

.mlp-campaign-current {
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  padding: 14px 16px;
  background: var(--panel-2);
}

.mlp-campaign-current h4 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
}

.mlp-campaign-current p {
  margin: 0;
  white-space: pre-wrap;
}

.mlp-campaign-current small {
  color: var(--muted);
}

.mlp-subtitle {
  margin: 14px 0 8px;
}

.mlp-payments {
  display: grid;
  gap: 10px;
}

.mlp-payment-row {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--panel-2);
}

.mlp-payment-row > div {
  display: grid;
}

.mlp-payment-row span {
  color: var(--muted);
  font-size: 0.85rem;
}

.mlp-payment-row em {
  margin-left: auto;
}

@media (max-width: 900px) {
  .lpg-generate-grid {
    grid-template-columns: 1fr;
  }

  .mlp-suspended {
    flex-wrap: wrap;
  }

  .mlp-suspended .primary-action {
    margin-left: 0;
  }
}

.site-leads-heading > .site-leads-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

/* Cadastro da revenda · perfil público do vendedor */
.card-editor .seller-profile-editor {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.card-editor .seller-profile-editor input[type="hidden"],
.card-editor .seller-profile-editor input[type="file"][hidden] {
  display: none !important;
}

.card-editor .seller-featured-toggle {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

.card-editor .seller-featured-toggle input[type="checkbox"] {
  flex: 0 0 18px !important;
  width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
}

.card-editor .seller-featured-toggle > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .card-editor .seller-profile-editor {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .card-editor .seller-featured-toggle {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
  }

  .card-editor .seller-photo-copy > div {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}
