:root {
  --panel-bg: #f6f8fb;
  --panel-surface: #ffffff;
  --panel-text: #17211d;
  --panel-muted: #4f6159;
  --panel-line: #e6ebe8;
  --panel-green: #138a5b;
  --panel-green-soft: #e9f7f0;
  --panel-blue: #3578e5;
  --panel-shadow: 0 12px 35px rgba(28, 48, 40, 0.055);
}

body.ops-body.ops-future {
  background: var(--panel-bg);
  color: var(--panel-text);
  font-size: 14px;
  line-height: 1.5;
}

.ops-future .ops-shell,
.ops-future .ops-main,
.ops-future .ops-content {
  background: var(--panel-bg);
}

.ops-future .ops-sidebar {
  width: 246px;
  border-right: 1px solid var(--panel-line);
  background: #fff;
  color: var(--panel-text);
  box-shadow: none;
}

.ops-future .ops-brand {
  color: #14352a;
}

.ops-future .ops-logo-mark {
  border: 0;
  background: var(--panel-green-soft);
  color: var(--panel-green);
  box-shadow: none;
}

.ops-future .ops-workspace {
  margin: 10px 14px 18px;
  border: 1px solid var(--panel-line);
  background: #fafcfb;
  color: var(--panel-text);
}

.ops-future .ops-workspace-icon {
  background: #173c30;
  color: #fff;
}

.ops-future .ops-workspace small,
.ops-future .ops-nav > small,
.ops-future .ops-sidebar-bottom p {
  color: #85908b;
}

.ops-future .ops-nav button {
  color: #57645f;
  border: 1px solid transparent;
  background: transparent;
}

.ops-future .ops-nav button:hover {
  background: #f6f9f7;
  color: #173c30;
}

.ops-future .ops-nav button.active {
  border-color: #d9eee3;
  background: var(--panel-green-soft);
  color: #0c744a;
  box-shadow: none;
}

.ops-future .ops-nav button.active::before {
  background: var(--panel-green);
}

.ops-future .ops-equipment-state,
.ops-future .ops-logout {
  border-color: var(--panel-line);
  background: #fafcfb;
  color: #58645f;
}

.ops-future .ops-header {
  min-height: 78px;
  border-bottom: 1px solid var(--panel-line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.ops-future .ops-header-copy span,
.ops-future .ops-kicker,
.ops-future .ops-panel-head span,
.ops-future .ops-page-toolbar .ops-kicker {
  color: #348064;
}

.ops-future .ops-header-copy h1,
.ops-future .ops-page-toolbar h2,
.ops-future .ops-panel-head h3,
.ops-future .ops-welcome h2 {
  color: var(--panel-text);
}

.ops-future .ops-current-date,
.ops-future .ops-api-state,
.ops-future .ops-admin {
  border-color: var(--panel-line);
  background: #fff;
  color: #46524d;
  box-shadow: none;
}

.ops-future .ops-admin > span {
  background: #173c30;
  color: #fff;
}

.ops-future .ops-profile-dropdown {
  border: 1px solid var(--panel-line);
  background: #fff;
  box-shadow: 0 18px 50px rgba(24, 43, 36, 0.12);
}

.ops-future .ops-welcome {
  overflow: hidden;
  border: 1px solid var(--panel-line);
  background: linear-gradient(120deg, #ffffff 0%, #f4fbf7 100%);
  color: var(--panel-text);
  box-shadow: var(--panel-shadow);
}

.ops-future .ops-welcome::before,
.ops-future .ops-welcome-glow {
  opacity: 0.18;
}

.ops-future .ops-welcome p,
.ops-future .ops-page-toolbar p,
.ops-future .ops-panel-head p {
  color: var(--panel-muted);
}

.ops-future .ops-stat,
.ops-future .ops-panel,
.ops-future .ops-map-status-grid article,
.ops-future .ops-finance-kpis article,
.ops-future .ops-report-kpis article {
  border: 1px solid var(--panel-line);
  background: var(--panel-surface);
  color: var(--panel-text);
  box-shadow: var(--panel-shadow);
}

.ops-future .ops-stat::after,
.ops-future .ops-panel::after {
  display: none;
}

.ops-future .ops-stat strong,
.ops-future .ops-finance-kpis strong,
.ops-future .ops-report-kpis strong {
  color: #1b2a24;
}

.ops-future .ops-stat span,
.ops-future .ops-stat small,
.ops-future .ops-finance-kpis span,
.ops-future .ops-finance-kpis small,
.ops-future .ops-report-kpis span,
.ops-future .ops-report-kpis small {
  color: var(--panel-muted);
}

.ops-future .ops-finance-kpis article.highlight,
.ops-future .ops-report-kpis article.highlight {
  border-color: #bce4d0;
  background: #f1fbf6;
}

.ops-future .ops-primary-action,
.ops-future .ops-filter-submit,
.ops-future .ops-login-submit {
  background: #173c30;
  color: #fff;
  box-shadow: 0 8px 22px rgba(23, 60, 48, 0.14);
}

.ops-future .ops-secondary-action,
.ops-future .ops-secondary,
.ops-future .ops-panel-action {
  border-color: var(--panel-line);
  background: #fff;
  color: #394840;
  box-shadow: none;
}

.ops-future .ops-finance-filters,
.ops-future .ops-filter-row {
  border: 1px solid var(--panel-line);
  background: #fff;
  box-shadow: none;
}

.ops-future input,
.ops-future select,
.ops-future textarea,
.ops-future .ops-search,
.ops-future .ops-login-field {
  border-color: #dfe6e2;
  background: #fbfcfc;
  color: var(--panel-text);
  box-shadow: none;
}

.ops-future input:focus,
.ops-future select:focus,
.ops-future textarea:focus {
  border-color: #65af8d;
  outline: 3px solid rgba(19, 138, 91, 0.09);
}

.ops-future .ops-table th {
  border-bottom: 1px solid var(--panel-line);
  background: #fafcfb;
  color: #738079;
}

.ops-future .ops-table td {
  border-bottom-color: #edf1ef;
  color: #344039;
}

.ops-future .ops-table tr:hover td {
  background: #fbfdfc;
}

.ops-future .ops-row-actions button,
.ops-future .ops-connector-card button {
  border: 1px solid var(--panel-line);
  background: #fff;
  color: #466157;
}

.ops-future .ops-modal::backdrop {
  background: rgba(20, 31, 27, 0.35);
  backdrop-filter: blur(5px);
}

.ops-future .ops-modal-card {
  border: 1px solid var(--panel-line);
  background: #fff;
  color: var(--panel-text);
  box-shadow: 0 30px 90px rgba(22, 42, 34, 0.2);
}

.ops-future .ops-modal-head,
.ops-future .ops-modal-footer,
.ops-future fieldset {
  border-color: var(--panel-line);
  background: #fff;
}

.ops-future .ops-revenue-chart,
.ops-future .ops-hourly-chart,
.ops-future .ops-status-report {
  min-height: 270px;
}

.ops-report-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.ops-report-kpis article {
  min-height: 128px;
  padding: 21px;
  border-radius: 18px;
}

.ops-report-kpis article span,
.ops-report-kpis article small {
  display: block;
  font-size: 10px;
}

.ops-report-kpis article strong {
  display: block;
  margin: 13px 0 8px;
  font-size: 23px;
}

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

.ops-hourly-chart {
  display: grid;
  grid-template-columns: repeat(24, minmax(4px, 1fr));
  align-items: end;
  gap: 3px;
  padding: 28px 4px 8px;
}

.ops-hourly-chart > div {
  display: grid;
  grid-template-rows: 215px 20px;
  align-items: end;
}

.ops-hourly-chart i {
  display: block;
  min-height: 3px;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(180deg, #2cad78, #168657);
}

.ops-hourly-chart small {
  margin-top: 7px;
  color: #87928d;
  font-size: 7px;
  text-align: center;
}

.ops-status-report {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.ops-status-report > div {
  display: grid;
  grid-template-columns: 1fr auto 46px;
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid var(--panel-line);
  border-radius: 13px;
  background: #fbfcfc;
}

.ops-status-report span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #4e5c55;
  font-size: 11px;
  font-weight: 700;
}

.ops-status-report i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8c9892;
}

.ops-status-report i.completed { background: #1ca66d; }
.ops-status-report i.failed,
.ops-status-report i.cancelled { background: #e16063; }
.ops-status-report i.charging { background: #3d81eb; }
.ops-status-report small { color: #87928d; text-align: right; }

.ops-future .admin-login {
  background: #f7f9f8;
}

.ops-future .ops-login-showcase {
  background: linear-gradient(145deg, #f0f8f4, #ffffff);
  color: var(--panel-text);
}

.ops-future .ops-login-showcase h1,
.ops-future .ops-login-showcase p,
.ops-future .ops-login-logo,
.ops-future .ops-login-feature b {
  color: var(--panel-text);
}

.ops-future .ops-login-showcase em,
.ops-future .ops-login-kicker {
  color: var(--panel-green);
}

.ops-future .ops-login-features article {
  border-color: var(--panel-line);
  background: rgba(255, 255, 255, 0.78);
}

.ops-future .ops-login-features small,
.ops-future .ops-login-footer {
  color: var(--panel-muted);
}

.ops-future .ops-login-access {
  background: #fff;
}

@media (max-width: 1250px) {
  .ops-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .ops-future .ops-sidebar { box-shadow: 16px 0 45px rgba(23, 40, 34, 0.12); }
  .ops-report-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .ops-report-kpis { grid-template-columns: 1fr; }
  .ops-report-kpis article { min-height: 112px; }
}

/* Legibilidade e consistência visual do painel 6.1 */
.ops-future .ops-brand,
.ops-future .ops-login-logo,
.ops-future .ops-login-mobile-brand {
  font-size: 17px;
  font-weight: 650;
}

.ops-future .ops-workspace b,
.ops-future .ops-nav button b,
.ops-future .ops-admin b {
  font-size: 12.5px;
}

.ops-future .ops-workspace small,
.ops-future .ops-nav > small,
.ops-future .ops-sidebar-bottom p,
.ops-future .ops-admin small,
.ops-future .ops-profile-dropdown small {
  color: #53655d;
  font-size: 11px;
  line-height: 1.45;
}

.ops-future .ops-nav > small,
.ops-future .ops-kicker,
.ops-future .ops-panel-head span,
.ops-future .ops-page-toolbar .ops-kicker,
.ops-future .ops-header-copy > span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.ops-future .ops-header-copy h1 {
  font-size: 23px;
  letter-spacing: -0.035em;
}

.ops-future .ops-page-toolbar h2 {
  font-size: 28px;
  letter-spacing: -0.045em;
}

.ops-future .ops-page-toolbar p,
.ops-future .ops-welcome p,
.ops-future .ops-panel-head p,
.ops-future .ops-empty p {
  color: #50625a;
  font-size: 13px;
  line-height: 1.65;
}

.ops-future .ops-panel-head h3 {
  font-size: 17px;
}

.ops-future .ops-stat span,
.ops-future .ops-finance-kpis span,
.ops-future .ops-report-kpis span {
  color: #4c5e56;
  font-size: 11.5px;
  font-weight: 650;
}

.ops-future .ops-stat small,
.ops-future .ops-finance-kpis small,
.ops-future .ops-report-kpis small {
  color: #5d6f67;
  font-size: 11.5px;
  line-height: 1.45;
}

.ops-future .ops-report-kpis article strong,
.ops-future .ops-finance-kpis article strong {
  font-size: 24px;
}

.ops-future .ops-table th {
  padding-block: 15px;
  color: #53645c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.035em;
}

.ops-future .ops-table td {
  padding-block: 15px;
  color: #2f3f38;
  font-size: 12.5px;
  line-height: 1.45;
}

.ops-future .ops-table td > b,
.ops-future .ops-table-station b,
.ops-future .ops-user-cell b {
  color: #172a22;
  font-size: 12.5px;
}

.ops-future .ops-table td > small,
.ops-future .ops-table-station small,
.ops-future .ops-user-cell small {
  color: #5f7168;
  font-size: 11px;
  line-height: 1.45;
}

.ops-future .ops-status,
.ops-future .ops-payment-type,
.ops-future .ops-payment-config-status {
  font-size: 10.5px;
}

.ops-future .ops-filter-row,
.ops-future .ops-finance-filters {
  padding: 17px;
  border-color: #dde6e1;
  border-radius: 17px;
  background: #ffffff;
}

.ops-future .ops-finance-filters label,
.ops-future .ops-payment-settings-grid label,
.ops-future .ops-form-grid label,
.ops-future .ops-inline-form label {
  color: #263a31;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
}

.ops-future .ops-finance-filters label > span,
.ops-future .ops-payment-settings-grid label > span {
  color: #42564d;
  font-size: 11.5px;
}

.ops-future .ops-search,
.ops-future .ops-filter-row > select,
.ops-future .ops-finance-filters input,
.ops-future .ops-finance-filters select,
.ops-future .ops-form-grid input,
.ops-future .ops-form-grid select,
.ops-future .ops-form-grid textarea,
.ops-future .ops-inline-form input,
.ops-future .ops-inline-form select,
.ops-future .ops-payment-settings-grid input,
.ops-future .ops-payment-settings-grid select {
  min-height: 48px;
  border: 1px solid #d7e1dc;
  border-radius: 12px;
  color: #172a22;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 47, 36, 0.025);
  font-size: 13px;
  font-weight: 550;
}

.ops-future .ops-search input {
  color: #172a22;
  background: transparent;
  font-size: 13px;
}

.ops-future input::placeholder,
.ops-future textarea::placeholder {
  color: #84918b;
  opacity: 1;
}

.ops-future select option {
  color: #172a22;
  background: #ffffff;
}

.ops-future .ops-form-grid input:focus,
.ops-future .ops-form-grid select:focus,
.ops-future .ops-form-grid textarea:focus,
.ops-future .ops-inline-form input:focus,
.ops-future .ops-inline-form select:focus,
.ops-future .ops-payment-settings-grid input:focus,
.ops-future .ops-payment-settings-grid select:focus,
.ops-future .ops-finance-filters input:focus,
.ops-future .ops-finance-filters select:focus {
  border-color: #56a982;
  outline: none;
  box-shadow: 0 0 0 4px rgba(19, 138, 91, 0.09);
}

.ops-future .ops-form-help,
.ops-future .ops-payment-settings-grid small,
.ops-future .ops-payment-settings-actions p {
  color: #5b6d64;
  font-size: 11.5px;
  line-height: 1.55;
}

.ops-future .ops-modal-card {
  border-color: #dce5e0;
  border-radius: 22px;
  color: #172a22;
  background: #ffffff;
}

.ops-future .ops-modal-head {
  padding: 25px 28px 20px;
  border-bottom: 1px solid #e2e9e5;
  background: #ffffff;
}

.ops-future .ops-modal-head h2 {
  color: #172a22;
  font-size: 22px;
}

.ops-future .ops-modal-head p {
  color: #56685f;
  font-size: 12px;
}

.ops-future .ops-modal-head > button {
  color: #43574e;
  background: #f1f5f3;
}

.ops-future .ops-form-scroll {
  padding: 24px 28px;
  background: #f8faf9;
}

.ops-future .ops-form-scroll fieldset {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid #dfe7e3;
  border-radius: 16px;
  background: #ffffff;
}

.ops-future .ops-form-scroll legend {
  width: auto;
  margin: 0 0 14px;
  padding: 0 8px;
  border: 0;
  color: #1d4938;
  background: #ffffff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.ops-future .ops-check,
.ops-future .ops-switch-field > div {
  min-height: 48px;
  border: 1px solid #dce5e0;
  color: #263a31;
  background: #f8faf9;
}

.ops-future .ops-check b,
.ops-future .ops-switch-field b {
  color: #263a31;
  font-size: 12px;
}

.ops-future .ops-modal-footer {
  padding: 17px 28px 22px;
  border-top: 1px solid #e2e9e5;
  background: #ffffff;
}

.ops-future .ops-equipment-hero {
  border: 1px solid #dce8e2;
  color: #172a22;
  background: linear-gradient(125deg, #ffffff, #eef9f3);
  box-shadow: var(--panel-shadow);
}

.ops-future .ops-equipment-product-copy h3,
.ops-future .ops-equipment-product-copy p,
.ops-future .ops-equipment-product-copy b,
.ops-future .ops-equipment-hero a {
  color: #23382f;
}

.ops-future .ops-equipment-product-copy > span {
  color: #237653;
}

.ops-future .ops-equipment-product-icon,
.ops-future .ops-integration-icon {
  border-color: #cfe6da;
  color: #17764f;
  background: #eaf8f1;
}

.ops-future .ops-integration {
  border: 1px solid #dfe7e3;
  color: #172a22;
  background: #ffffff;
  box-shadow: var(--panel-shadow);
}

.ops-future .ops-integration h3 {
  color: #1a3027;
}

.ops-future .ops-integration p,
.ops-future .ops-integration small {
  color: #576a61;
  font-size: 11.5px;
}

.ops-future .ops-payment-config-card {
  border-color: #dce6e1;
  color: #172a22;
  background: #ffffff;
}

.ops-future .ops-payment-settings-form,
.ops-future .ops-payment-settings-actions {
  border-color: #e1e8e4;
}

.ops-future .ops-readonly-copy button,
.ops-future .ops-payment-settings-actions .ops-secondary-action {
  border-color: #cfe2d9;
  color: #126c49;
  background: #edf8f2;
}

.ops-future .ops-connector-card,
.ops-future .ops-profile-hero,
.ops-future .ops-profile-note,
.ops-future .ops-command-warning {
  border-color: #dfe7e3;
  color: #263a31;
  background: #f8faf9;
}

.ops-future .ops-connector-card b,
.ops-future .ops-profile-hero b {
  color: #172a22;
}

.ops-future .ops-connector-card small,
.ops-future .ops-profile-hero small,
.ops-future .ops-profile-note p {
  color: #586a62;
  font-size: 11.5px;
}

.ops-future .ops-login-form > label > span {
  color: #24392f;
  font-size: 12.5px;
}

.ops-future .ops-login-field input {
  color: #172a22;
  background: transparent;
  font-size: 13.5px;
}

.ops-future .ops-login-form-wrap > p,
.ops-future .ops-login-security small,
.ops-future .ops-login-help,
.ops-future .ops-login-features small {
  color: #52655c;
  font-size: 11.5px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .ops-future .ops-header {
    background: rgba(255, 255, 255, 0.97);
  }
}
