/* Painel Elite - shell corporativo tipo SAP/Fiori */
:root {
  --bg: #0b0c0d;
  --shell: #171717;
  --surface: #1b1b1b;
  --surface-2: #222;
  --surface-3: #2b2b2b;
  --border: #303030;
  --border-soft: #252525;
  --text: #f4f4f4;
  --muted: #a7adb5;
  --subtle: #727880;
  --accent: #ff3045;
  --accent-2: #e11d2e;
  --blue: #1f5c8d;
  --cyan: #118a9e;
  --indigo: #2441a4;
  --violet: #7b2dde;
  --amber: #c77200;
  --teal: #0f8472;
  --rose: #a91444;
  --green: #148a3b;
  --danger: #e04444;
  --warn: #e2a323;
  --ok: #21a366;
  --radius: 8px;
  --shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  font-family: "IBM Plex Sans", Segoe UI, system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.45;
}

button, input, select, textarea { font: inherit; }
#app { min-height: 100vh; display: flex; flex-direction: column; }

header {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 24px;
  background: var(--shell);
  border-bottom: 1px solid var(--border-soft);
  position: sticky;
  top: 0;
  z-index: 50;
}

.shell-icon, .icon-btn {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.shell-icon:hover, .icon-btn:hover { background: var(--surface-3); color: var(--text); }
.shell-icon { flex-direction: column; gap: 4px; }
.shell-icon span { width: 14px; height: 2px; border-radius: 99px; background: currentColor; }

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text);
  text-decoration: none;
  padding-right: 10px;
}
.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.logo-img { width: 30px; height: 30px; object-fit: contain; }
.brand-copy { display: grid; gap: 1px; line-height: 1.05; }
.brand-kicker {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.brand-name { font-weight: 800; letter-spacing: -.1px; font-size: 15px; }
.brand-name strong { color: var(--accent); }
.logo-divider { width: 1px; height: 34px; background: var(--border); margin: 0 2px; }
#breadcrumb { color: var(--muted); font-size: 13px; min-width: 80px; }
.spacer { flex: 1; }

.global-search {
  width: min(520px, 36vw);
  height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  color: var(--subtle);
}
.global-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
}
.global-search input::placeholder { color: #6f747b; }
.search-mark {
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}
.search-mark::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 2px;
  background: currentColor;
  right: -5px;
  bottom: -3px;
  transform: rotate(45deg);
  border-radius: 99px;
}
#data-hora { color: var(--muted); font-size: 12px; white-space: nowrap; }
.header-user { display: flex; align-items: center; gap: 8px; }
.header-user-name { display: none; }
.header-user-chip {
  height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 4px 10px 4px 4px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: #fff;
}
.header-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, var(--accent), #8b0d16);
  color: #fff;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .2px;
}
.header-avatar-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.header-user-meta { display: grid; line-height: 1.05; min-width: 0; }
.header-user-meta strong { max-width: 138px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.header-user-meta small { color: #9aa4b2; font-size: 10px; font-weight: 700; }
.header-icon-action {
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: #dce3ee;
  text-decoration: none;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.header-icon-action:hover { background: rgba(255,255,255,.10); color: #fff; }
.header-icon-action.danger { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-logout { all: unset; }

nav {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 24px;
  background: var(--shell);
  border-bottom: 1px solid var(--border-soft);
  overflow-x: auto;
}
.nav-btn {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #b9c0c9;
  padding: 8px 10px;
  border-radius: 999px;
  min-width: max-content;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.nav-btn:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-btn.ativo { color: #fff; background: rgba(255,48,69,.12); border-bottom-color: var(--accent); font-weight: 800; }
.nav-ico, .mh-ico, .stat-icon, .stat-icon-pequeno, .resumo-icon, .tipo-icon { display: none !important; }

main {
  flex: 1;
  padding: 0 3px 28px;
  max-width: none;
  width: 100%;
  margin: 0 auto;
}

.loading, .empty, .empty-state {
  min-height: 160px;
  display: grid;
  place-items: center;
  color: var(--muted);
  text-align: center;
}

.erp-grid {
  display: grid;
  grid-template-columns: 510px 1fr;
  gap: 23px;
  align-items: start;
}
.section-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .7px;
  text-transform: uppercase;
  margin: 5px 0 18px;
}
.news-card, .app-tile, .card, .modal, .table-striped, .kanban-col, .task-card, .stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: none;
}
.news-media {
  height: 180px;
  border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(135deg, #2768dc, #1095a7);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.28);
}
.news-lines { width: 54px; display: grid; gap: 9px; }
.news-lines span { display: block; height: 2px; background: currentColor; border-radius: 99px; }
.news-body { padding: 20px 20px 22px; min-height: 159px; }
.eyebrow, .section-eyebrow { color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .45px; text-transform: uppercase; }
.news-body h2 { margin: 8px 0 8px; font-size: 16px; }
.news-body p { margin: 0; color: var(--muted); }
.news-meta { margin-top: 16px; color: #656565; font-size: 12px; }

.module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(190px, 1fr));
  gap: 12px;
}
.module-card {
  min-height: 124px;
  border: 0;
  border-radius: var(--radius);
  padding: 20px 14px 18px;
  color: #fff;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: transform .16s, filter .16s;
}
.module-card:hover { transform: translateY(-2px); filter: brightness(1.05); }
.module-card h3 { margin: 0 0 6px; font-size: 15px; }
.module-card p { margin: 0; font-size: 12px; color: rgba(255,255,255,.86); }
.module-icon { display: block; width: 24px; height: 24px; margin-bottom: 18px; color: #fff; }
.module-icon svg, .tile-mark svg { width: 100%; height: 100%; }
.module-card.financeiro { background: linear-gradient(135deg, var(--indigo), #2c45ad); }
.module-card.rh { background: linear-gradient(135deg, var(--violet), #852bd9); }
.module-card.compras { background: linear-gradient(135deg, var(--amber), #bb5c00); }
.module-card.estoque { background: linear-gradient(135deg, var(--teal), #0b705f); }
.module-card.vendas { background: linear-gradient(135deg, var(--rose), #9a123d); }
.module-card.tarefas { background: linear-gradient(135deg, #2563eb, #1e40af); }
.module-card.projetos { background: linear-gradient(135deg, var(--green), #12803b); }
.module-card.formularios { background: linear-gradient(135deg, #7c3aed, #5b21b6); }
.module-card.operacional { background: linear-gradient(135deg, #ea580c, #9a3412); }
.module-card.escalas { background: linear-gradient(135deg, #0891b2, #155e75); }
.module-card.postos { background: linear-gradient(135deg, #475569, #1f2937); }

.apps-section { margin-top: 24px; }
.tabs { display: flex; gap: 26px; border-bottom: 1px solid var(--border); margin-bottom: 16px; }
.tab { border: 0; background: transparent; color: var(--muted); padding: 0 0 11px; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 700; font-size: 13px; }
.tab.active { color: var(--accent); border-color: var(--accent); }
.apps-grid { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 12px; }
.app-tile { min-height: 75px; padding: 16px; display: flex; align-items: center; gap: 14px; cursor: pointer; text-align: left; }
.app-tile:hover { border-color: #484848; background: #202020; }
.tile-mark { width: 40px; height: 40px; border-radius: 7px; display: grid; place-items: center; background: #222; padding: 10px; color: var(--accent); flex: 0 0 auto; }
.tile-mark.red { color: #ff3045; }
.tile-mark.yellow { color: #ffc229; }
.tile-mark.cyan { color: #1dc8c7; }
.tile-mark.purple { color: #a855f7; }
.tile-mark.blue { color: #60a5fa; }
.tile-mark.green { color: #22c55e; }
.tile-mark.pink { color: #f43f70; }
.tile-mark.gray { color: #8c8c8c; }
.tile-mark.orange { color: #f97316; }
.app-tile h4 { margin: 0 0 3px; font-size: 14px; }
.app-tile p { margin: 0; color: var(--muted); font-size: 12px; }

.indicators-section { margin-top: 25px; }
.indicator-grid { display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: 12px; }
.indicator-card {
  min-height: 130px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px 16px 16px;
}
.indicator-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .8px;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 16px;
}
.indicator-value { font-size: 30px; font-weight: 800; line-height: 1; margin-bottom: 16px; }
.indicator-delta { color: #36ee7d; font-size: 12px; font-weight: 700; }

.module-page { padding: 4px 0 28px; }
.work-header {
  min-height: 118px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #1a1a1a, #202020);
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}
.work-header h1 { margin: 4px 0 6px; font-size: 28px; line-height: 1.1; }
.work-header p { margin: 0; color: var(--muted); max-width: 760px; }
.work-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.filter-strip {
  display: grid;
  grid-template-columns: 1.1fr .8fr .8fr 1.4fr;
  gap: 12px;
  padding: 14px;
  margin-bottom: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}
.filter-strip label { margin: 0; }
.filter-strip select, .filter-strip input { margin-top: 6px; }
.module-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.module-kpi {
  min-height: 116px;
  padding: 18px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.module-kpi span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .8px;
  font-weight: 700;
  margin-bottom: 14px;
}
.module-kpi strong { display: block; font-size: 27px; line-height: 1; margin-bottom: 12px; }
.module-kpi small { color: #36ee7d; font-size: 12px; font-weight: 700; }
.work-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 14px;
}
.work-main, .work-side {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.panel-title {
  min-height: 58px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.panel-title h2 { margin: 0; font-size: 16px; }
.panel-title span { color: var(--muted); font-size: 12px; }
.data-grid {
  width: 100%;
  border-collapse: collapse;
}
.data-grid th, .data-grid td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  font-size: 13px;
}
.data-grid th {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: 11px;
  background: #202020;
}
.data-grid tbody tr:hover { background: #202020; }
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #263342;
  color: #d7e8f8;
  font-size: 12px;
  font-weight: 700;
}
.row-action {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #242424;
  color: var(--text);
  padding: 6px 10px;
  cursor: pointer;
  font-weight: 700;
}
.row-action:hover { background: #303030; }
.process-list {
  list-style: none;
  margin: 0;
  padding: 16px 18px 18px;
  display: grid;
  gap: 14px;
}
.process-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d7d7d7;
  font-size: 13px;
}
.process-list li span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(255,48,69,.12);
}

.subnav-tabs {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  border-bottom: 1px solid var(--border);
  margin: -4px 0 14px;
}
.subnav-tabs .tab {
  min-width: max-content;
}
.posto360-list {
  display: grid;
  gap: 14px;
}
.posto360-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
}
.posto360-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.posto360-head h3 { margin: 0 0 4px; font-size: 18px; }
.posto360-head p { margin: 0; color: var(--muted); }
.posto360-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
}
.posto360-grid div {
  background: #f8fafc;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  padding: 12px;
}
.posto360-grid b {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: 8px;
}
.posto360-grid span {
  display: block;
  color: var(--elite-text);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.timeline-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.timeline-mini span {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--muted);
  background: #161616;
  font-size: 12px;
}

.finance-toolbar {
  display: grid;
  grid-template-columns: 150px 150px 170px minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  margin-bottom: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}
.finance-toolbar label { margin: 0; }
.finance-toolbar input, .finance-toolbar select { margin-top: 6px; }
.finance-layout { grid-template-columns: minmax(0, 1fr) 360px; }
.finance-table td strong { display: block; font-size: 13px; }
.finance-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.finance-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 140px;
}
.finance-summary {
  display: grid;
  gap: 16px;
  padding: 16px 18px 18px;
}
.finance-total-list {
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 14px;
}
.finance-total-list h3 {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.finance-total-list div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--border-soft);
}
.finance-total-list div:first-of-type { border-top: 0; }
.finance-total-list span { color: var(--muted); font-size: 12px; }
.finance-total-list strong { color: var(--text); font-size: 13px; white-space: nowrap; }
.finance-process { padding: 0; }
.finance-full {
  width: 100%;
  min-height: 360px;
}
.finance-centers {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
  padding: 16px;
}
.finance-center-card {
  min-height: 128px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 16px;
}
.finance-center-card h3 { margin: 0 0 5px; font-size: 16px; }
.finance-center-card p { margin: 0 0 14px; color: var(--muted); font-size: 12px; }
.finance-center-card strong { display: block; margin-bottom: 12px; font-size: 24px; }
.finance-bar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #272727;
}
.finance-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue), #4b91c8);
}
.finance-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  gap: 14px;
}
.finance-form-grid label { margin: 0; }
.finance-span-2 { grid-column: 1 / -1; }
.finance-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
}
.finance-detail div {
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 14px;
}
.finance-detail span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.finance-detail strong { font-size: 14px; }
.finance-detail p { margin: 0; color: var(--muted); }
.finance-close-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 16px;
  margin-bottom: 14px;
}
.finance-close-head span { color: var(--muted); }
.finance-close-head strong { font-size: 26px; }
.finance-close-note { color: var(--muted); margin: 14px 0 0; }

.finance-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.finance-hero {
  margin-bottom: 14px;
}
.finance-tabs {
  position: sticky;
  top: 92px;
  z-index: 20;
  padding: 10px;
  margin-bottom: 14px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--elite-shadow-soft);
  backdrop-filter: blur(10px);
}
.finance-tabs button {
  border-radius: 12px;
}
.finance-filter-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(240px, 1.4fr) auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin-bottom: 14px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}
.finance-filter-panel label {
  margin: 0;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--elite-muted);
}
.finance-filter-panel input,
.finance-filter-panel select {
  width: 100%;
  margin-top: 7px;
}
.finance-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.finance-kpi {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}
.finance-kpi::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--elite-blue);
}
.finance-kpi.good::before { background: var(--elite-green); }
.finance-kpi.warn::before { background: var(--elite-amber); }
.finance-kpi.bad::before { background: var(--elite-red); }
.finance-kpi span,
.finance-kpi small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.finance-kpi strong {
  display: block;
  margin: 12px 0 8px;
  color: var(--text);
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1;
  white-space: nowrap;
}
.finance-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.finance-panel {
  padding: 20px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}
.finance-wide {
  grid-column: span 2;
}
.finance-cash-chart {
  position: relative;
  display: flex;
  align-items: end;
  gap: 14px;
  min-height: 190px;
  padding: 18px 12px 8px;
  border-radius: 18px;
  background: #f7fafe;
  overflow-x: auto;
  overflow-y: visible;
}
.finance-cash-month {
  position: relative;
  display: grid;
  gap: 8px;
  justify-items: center;
  min-width: 54px;
}
.chart-hover-tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 30;
  display: grid;
  gap: 3px;
  min-width: 156px;
  padding: 9px 10px;
  border: 1px solid rgba(18,30,48,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.98);
  box-shadow: var(--elite-shadow);
  color: var(--elite-text);
  font-size: 11px;
  line-height: 1.25;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity .16s ease, transform .16s ease;
}
.chart-hover-tip strong {
  color: var(--elite-red);
  font-size: 11px;
}
.chart-hover-tip span {
  color: var(--elite-text);
  font-size: 11px;
  font-weight: 750;
}
.finance-cash-month:hover .chart-hover-tip,
.inventory-value-col:hover .chart-hover-tip {
  opacity: 1;
  transform: translate(-50%, 0);
}
.finance-cash-bars {
  display: flex;
  align-items: end;
  gap: 6px;
  height: 132px;
}
.finance-cash-bars i {
  display: block;
  width: 16px;
  min-height: 4px;
  border-radius: 999px 999px 4px 4px;
  transition: transform .18s ease, filter .18s ease;
}
.finance-cash-month:hover i {
  transform: scaleY(1.06);
  filter: brightness(1.08);
}
.finance-cash-bars .in,
.finance-chart-legend .in { background: var(--elite-green); }
.finance-cash-bars .out,
.finance-chart-legend .out { background: var(--elite-red); }
.finance-cash-month span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.finance-cash-month .chart-hover-tip span {
  color: var(--elite-text);
  font-size: 11px;
  font-weight: 750;
}
.finance-chart-legend {
  display: flex;
  gap: 16px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.finance-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.finance-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
}
.finance-bars {
  display: grid;
  gap: 10px;
}
.finance-bar-row {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1.4fr);
  gap: 9px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
}
.finance-bar-row:last-child { border-bottom: 0; }
.finance-bar-row span {
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.finance-bar-row div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4ebf5;
}
.finance-bar-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--elite-blue), var(--elite-red));
  transition: width .22s ease;
}
.finance-bar-row b {
  grid-column: 2;
  color: var(--muted);
  font-size: 11px;
  text-align: right;
}
.finance-donut-wrap {
  display: grid;
  grid-template-columns: 132px minmax(0,1fr);
  gap: 18px;
  align-items: center;
}
.finance-donut {
  display: grid;
  place-items: center;
  align-content: center;
  width: 126px;
  height: 126px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 57%, transparent 58%),
    conic-gradient(var(--elite-red) 0 var(--deg), var(--elite-green) var(--deg) 360deg);
}
.finance-donut strong {
  color: var(--text);
  font-size: 28px;
  line-height: 1;
}
.finance-donut span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.finance-donut-wrap h3 {
  margin: 0 0 8px;
}
.finance-donut-wrap p {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 13px;
}
.finance-table-wrap {
  overflow-x: auto;
}
.finance-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}
.finance-table .fin-in {
  color: var(--elite-green);
  font-weight: 850;
}
.finance-table .fin-out {
  color: var(--elite-red);
  font-weight: 850;
}
.finance-report-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.status-pago, .status-autorizada, .status-classificado, .status-fechado { background: rgba(33,163,102,.16); color: #67e59e; }
.status-aberto, .status-gerado, .status-agendado { background: rgba(226,163,35,.16); color: #ffd36e; }
.status-vencido { background: rgba(224,68,68,.18); color: #ff8b8b; }
.status-ativo, .status-justificada, .status-aplicada, .status-encerrada { background: rgba(33,163,102,.16); color: #67e59e; }
.status-ferias, .status-recorrente { background: rgba(226,163,35,.16); color: #ffd36e; }
.status-afastado, .status-sem-justificativa { background: rgba(224,68,68,.18); color: #ff8b8b; }
.rh-toolbar { grid-template-columns: 220px 180px minmax(260px, 1fr) auto; }
.rh-layout { grid-template-columns: minmax(0, 1fr) 340px; }
.rh-table td strong { display: block; font-size: 13px; }
.rh-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.rh-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 12px;
  padding: 16px;
}
.rh-card {
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 16px;
}
.rh-card h3 { margin: 0 0 5px; font-size: 16px; }
.rh-card p { margin: 0 0 14px; color: var(--muted); font-size: 12px; }
.rh-tags, .rh-doc-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}
.rh-tags span, .rh-doc-list span {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 9px;
  color: var(--muted);
  background: #151515;
  font-size: 12px;
}
.rh-doc-list { display: grid; }

.rh-page .work-header,
.rh-page .work-main,
.rh-page .work-side,
.rh-page .rh-chart-card,
.rh-page .module-kpi,
.rh-page .data-grid,
.rh-filter-panel,
.rh-stelanto-note {
  background: #fff;
  color: #1f2933;
  border-color: #dfe6ee;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .06);
}
.rh-page .work-header p,
.rh-page .module-kpi small,
.rh-page .panel-title span,
.rh-page .rh-table td small,
.rh-page .muted,
.rh-page .process-list li {
  color: #64748b;
}
.rh-hero {
  border-radius: 8px;
  padding: 20px;
}
.rh-filter-panel {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  padding: 12px;
}
.rh-kpis .module-kpi strong {
  color: #0f172a;
}
.rh-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.rh-chart-card {
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  padding: 16px;
}
.rh-bars {
  display: grid;
  gap: 12px;
}
.rh-bar-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 38px;
  gap: 8px;
  align-items: center;
  font-size: 12px;
}
.rh-bar-row > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #334155;
}
.rh-bar-row > strong {
  text-align: right;
  color: #0f172a;
}
.rh-bar-row > div {
  grid-column: 1 / -1;
  height: 8px;
  border-radius: 999px;
  background: #eef2f7;
  overflow: hidden;
}
.rh-bar-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1f7a63, #2f80ed);
}
.rh-pagination {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 0 0;
  color: #64748b;
  font-size: 12px;
}
.rh-pagination > div {
  display: flex;
  gap: 8px;
}
.rh-pagination .btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.row-action-primary {
  background: #e8f3ff;
  color: #145ea8;
  border-color: #bad9f7;
}
.rh-stelanto-note {
  border: 1px solid #dfe6ee;
  border-left: 4px solid #2f80ed;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.45;
}
.rh-ponto-toolbar {
  grid-template-columns: 180px minmax(280px, 1fr) auto;
}
.rh-profile {
  display: grid;
  gap: 16px;
}
.rh-profile-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  border-bottom: 1px solid #e5eaf0;
  padding-bottom: 14px;
}
.rh-profile-head h2 {
  margin: 4px 0;
  color: #0f172a;
}
.rh-profile-head p {
  margin: 0;
  color: #64748b;
}
.rh-profile-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 10px;
}
.rh-profile-kpis div,
.rh-profile-grid section,
.rh-profile-doc {
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;
}
.rh-profile-kpis span,
.rh-profile-doc span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: #64748b;
}
.rh-profile-kpis strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  color: #0f172a;
}
.rh-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.rh-profile-grid h3 {
  margin: 0 0 8px;
  font-size: 14px;
  color: #0f172a;
}
.rh-profile-grid p {
  margin: 0;
  color: #475569;
  line-height: 1.55;
}
.rh-profile-wide {
  grid-column: 1 / -1;
}
.rh-profile-docs {
  display: grid;
  gap: 8px;
}
.rh-profile-doc strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
}
.rh-profile-doc small {
  display: block;
  color: #64748b;
  margin: 4px 0;
}
.rh-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 1100px) {
  .rh-dashboard-grid,
  .rh-profile-grid {
    grid-template-columns: 1fr;
  }
  .rh-profile-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rh-filter-panel,
  .rh-ponto-toolbar {
    grid-template-columns: 1fr;
  }
}

/* RH redesenhado no mesmo padrão visual do Financeiro */
.rh-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.rh-page .rh-hero.work-header {
  color: #fff;
  border: 0;
  border-radius: var(--elite-radius-lg);
  background:
    linear-gradient(135deg, rgba(11,13,16,.96) 0%, rgba(0,67,156,.96) 62%, rgba(0,112,204,.92) 100%);
  box-shadow: var(--elite-shadow);
}
.rh-page .rh-hero.work-header p {
  color: rgba(255,255,255,.72);
}
.rh-page .rh-hero .section-eyebrow {
  color: var(--elite-red);
}
.rh-page .finance-tabs {
  position: sticky;
  top: 92px;
  z-index: 20;
}
.rh-page .finance-panel,
.rh-page .finance-kpi,
.rh-page .finance-filter-panel,
.rh-page .data-grid,
.rh-page .work-main,
.rh-page .work-side {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(18,30,48,.1);
  box-shadow: var(--elite-shadow-soft);
}
.rh-page .finance-kpi strong,
.rh-page .finance-panel h2,
.rh-page .home-card-head h2 {
  color: var(--elite-text);
}
.rh-page .rh-filter-panel {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  border-radius: 20px;
  padding: 16px;
}
.rh-page .rh-filter-panel label:nth-child(3) {
  min-width: 220px;
  grid-column: span 2;
}
.rh-page .rh-filter-panel .btn {
  width: 100%;
}
.rh-page .rh-dashboard-grid,
.rh-page .rh-tab-dashboard {
  margin-bottom: 16px;
}
.rh-page .rh-local-kpis {
  margin: 0 0 16px;
}
.rh-page .rh-panel-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.rh-period-chip {
  border: 1px solid rgba(191,15,24,.18);
  border-radius: 999px;
  background: rgba(191,15,24,.08);
  color: var(--elite-red);
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  padding: 7px 10px;
  white-space: nowrap;
}
.rh-period-chip:hover {
  background: rgba(191,15,24,.14);
  border-color: rgba(191,15,24,.28);
}
.rh-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rh-page .rh-local-kpis .finance-kpi strong,
.rh-page .finance-kpi strong {
  font-size: clamp(20px, 1.7vw, 30px);
  letter-spacing: 0;
  white-space: nowrap;
}
.rh-page .finance-cash-chart {
  padding-top: 34px;
}
.rh-page .work-side {
  border-radius: 20px;
}
.rh-dashboard-grid .data-grid {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
.rh-dashboard-grid .data-grid th,
.rh-dashboard-grid .data-grid td {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rh-page .rh-bars {
  display: grid;
  gap: 10px;
}
.rh-page .rh-bar-row {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) minmax(0, 1.4fr) 42px;
  gap: 9px 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
}
.rh-page .rh-bar-row:last-child { border-bottom: 0; }
.rh-page .rh-bar-row > span {
  color: var(--elite-text);
  font-size: 12px;
  font-weight: 800;
}
.rh-page .rh-bar-row > strong {
  grid-column: 3;
  grid-row: 1;
  color: var(--elite-muted);
  text-align: right;
}
.rh-page .rh-bar-row > div {
  grid-column: 2;
  grid-row: 1;
  height: 10px;
  background: #e4ebf5;
}
.rh-page .rh-bar-row i {
  background: linear-gradient(90deg, var(--elite-blue), var(--elite-red));
  transition: width .22s ease, filter .18s ease;
}
.rh-page .rh-bar-row:hover i,
.rh-page .finance-cash-month:hover i {
  filter: brightness(1.08);
}
.rh-stelanto-note {
  border-radius: 18px;
  border-color: rgba(18,30,48,.1);
  background: #f7fafe;
}
#modal-financeiro.modal,
#modal-financeiro .modal {
  width: min(96vw, 1080px);
}
#modal-financeiro .modal-body {
  padding: 22px;
}
.rh-profile-kpis {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}
.rh-profile-kpis strong {
  font-size: 18px;
  white-space: nowrap;
}
.rh-profile-grid section,
.rh-profile-kpis div,
.rh-profile-doc {
  background: #f8fafc;
}
.rh-review-modal .finance-detail {
  grid-template-columns: repeat(3, minmax(170px, 1fr));
}

@media (max-width: 1100px) {
  .rh-page .rh-filter-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rh-profile-kpis {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }
}

@media (max-width: 640px) {
  .rh-page .rh-filter-panel,
  .rh-review-modal .finance-detail {
    grid-template-columns: 1fr;
  }
  .rh-profile-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Ajustes finais de Tarefas & Agenda com precedência sobre o tema global */
.work-page .work-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: 100%;
  overflow: visible;
}
.work-page .work-calendar-day {
  min-width: 0;
}
.work-page .work-calendar-day button.work-event-chip {
  color: #174d92;
  background: rgba(0,112,204,.08);
  border-color: rgba(0,112,204,.16);
}
.work-page .work-calendar-day button.calendar-task {
  color: #5b2fa0;
  background: rgba(111,66,193,.1);
  border-color: rgba(111,66,193,.18);
}

@media (max-width: 1180px) {
  .work-page .work-calendar-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .work-page .work-calendar-grid {
    grid-template-columns: 1fr;
  }
}
.purchases-toolbar, .inv-toolbar { grid-template-columns: 220px 180px minmax(260px, 1fr) auto; }
.purchases-layout, .inventory-layout { grid-template-columns: minmax(0, 1fr) 340px; }
.inventory-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.inventory-hero {
  background:
    radial-gradient(circle at 14% 18%, rgba(71, 183, 131, .22), transparent 34%),
    linear-gradient(135deg, #f4fff9 0%, #f4f8ff 58%, #fff7f0 100%);
}
.inventory-hero .section-eyebrow,
.inventory-dashboard-grid .section-eyebrow {
  color: var(--elite-red);
}
.inventory-tabs {
  position: sticky;
  top: 82px;
  z-index: 14;
  background: rgba(248, 251, 255, .88);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 6px;
  border: 1px solid rgba(18, 30, 48, .08);
}
.inventory-filter-panel {
  grid-template-columns: 160px 180px minmax(190px, 1fr) 130px 135px 135px auto;
  align-items: end;
}
.inventory-filter-panel .btn,
.purchases-filter-panel .btn {
  width: 100%;
  min-height: 42px;
}
.inventory-kpis .finance-kpi strong {
  font-size: clamp(20px, 1.75vw, 30px);
}
.inventory-dashboard-grid {
  margin-bottom: 16px;
}
.inventory-dashboard-grid .finance-panel {
  min-height: 230px;
}
.inventory-side {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
  border: 1px solid rgba(18, 30, 48, .08);
  box-shadow: 0 18px 45px rgba(18, 30, 48, .08);
}
.inventory-value-chart {
  position: relative;
  display: flex;
  align-items: end;
  gap: 14px;
  min-height: 196px;
  padding: 22px 12px 10px;
  overflow-x: auto;
  overflow-y: visible;
  border-radius: 18px;
  background: #f7fafe;
}
.inventory-value-col {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 72px;
}
.inventory-value-col i {
  display: block;
  width: 22px;
  min-height: 8px;
  border-radius: 999px 999px 5px 5px;
  background: linear-gradient(180deg, #47b783, #0070cc);
  transition: transform .18s ease, filter .18s ease;
}
.inventory-value-col:hover i {
  transform: translateY(-3px);
  filter: saturate(1.12);
}
.inventory-value-col > span {
  width: 86px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rh-bar-row,
.purchases-bar-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.rh-bar-row span,
.purchases-bar-row span {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rh-bar-row strong,
.purchases-bar-row strong {
  max-width: 112px;
  overflow: hidden;
  color: var(--elite-text);
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rh-bar-row div,
.purchases-bar-row div {
  grid-column: 1 / -1;
}
.inventory-fleet-chart .inventory-value-col i {
  background: linear-gradient(180deg, #e84f5f, #f4b24e);
}
.inventory-modal-actions {
  background: linear-gradient(135deg, #f8fbff, #f2fff8);
}
.inv-kpi-solo {
  box-shadow: none;
}
.inv-kpi-solo strong {
  font-size: 28px;
}
.crm-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.crm-hero {
  background:
    radial-gradient(circle at 14% 18%, rgba(227, 6, 11, .18), transparent 34%),
    linear-gradient(135deg, #fff5f6 0%, #f4f8ff 58%, #f7fff9 100%);
}
.crm-hero .section-eyebrow,
.crm-dashboard-grid .section-eyebrow {
  color: var(--elite-red);
}
.crm-tabs {
  position: sticky;
  top: 82px;
  z-index: 14;
  background: rgba(248,251,255,.88);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 6px;
  border: 1px solid rgba(18,30,48,.08);
}
.crm-kpis .finance-kpi strong {
  font-size: clamp(20px, 1.75vw, 30px);
}
.crm-dashboard-grid {
  margin-bottom: 16px;
}
.crm-value-chart .inventory-value-col i {
  background: linear-gradient(180deg, #e84f5f, #0070cc);
}
.crm-stage-col:nth-child(1) i { background: linear-gradient(180deg, #64748b, #94a3b8); }
.crm-stage-col:nth-child(2) i { background: linear-gradient(180deg, #0070cc, #38bdf8); }
.crm-stage-col:nth-child(3) i { background: linear-gradient(180deg, #b77900, #f4b24e); }
.crm-stage-col:nth-child(4) i { background: linear-gradient(180deg, #6f42c1, #a78bfa); }
.crm-stage-col:nth-child(5) i { background: linear-gradient(180deg, #11845b, #47b783); }
.crm-pipeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 14px;
  align-items: start;
  overflow-x: auto;
  padding-bottom: 8px;
}
.crm-column {
  min-height: 340px;
  padding: 14px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}
.crm-column .kanban-header {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #fff;
}
.crm-column .kanban-header h3,
.crm-column .kanban-header .count {
  color: #fff;
}
.crm-stage-lead .kanban-header { background: linear-gradient(135deg, #475569, #64748b); }
.crm-stage-qualificacao .kanban-header { background: linear-gradient(135deg, #00439c, #0070cc); }
.crm-stage-proposta .kanban-header { background: linear-gradient(135deg, #b77900, #f4b24e); }
.crm-stage-contrato .kanban-header { background: linear-gradient(135deg, #5b21b6, #7c3aed); }
.crm-stage-ganho .kanban-header { background: linear-gradient(135deg, #0f6b4d, #11845b); }
.crm-card {
  cursor: grab;
  color: var(--elite-text);
  background: #fff;
  border: 1px solid rgba(18,30,48,.1);
  border-left: 4px solid #94a3b8;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
}
.crm-card:active {
  cursor: grabbing;
}
.crm-card h4,
.crm-card p,
.crm-card strong,
.crm-card .task-meta span {
  color: var(--elite-text);
}
.crm-card p,
.crm-card .task-meta span {
  color: var(--muted);
}
.crm-card-lead { border-left-color: #64748b; }
.crm-card-qualificacao { border-left-color: #0070cc; }
.crm-card-proposta { border-left-color: #f4b24e; }
.crm-card-contrato { border-left-color: #7c3aed; }
.crm-card-ganho { border-left-color: #11845b; }
.btn-sm-primary {
  color: #174d92;
  background: rgba(30,91,168,.1);
  border-color: rgba(30,91,168,.22);
  font-weight: 800;
}
.crm-list-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}
.crm-side {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
  border: 1px solid rgba(18,30,48,.08);
  box-shadow: 0 18px 45px rgba(18,30,48,.08);
}
.crm-table td strong,
.crm-table td small {
  display: block;
}
.crm-table td small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.crm-modal-actions {
  background: linear-gradient(135deg, #f8fbff, #fff5f6);
}
.crm-detail {
  margin-bottom: 14px;
}
.crm-pill {
  color: #174d92;
  background: rgba(30,91,168,.1);
}
.status-alta,
.status-critica {
  color: #b4232b;
  background: rgba(227,6,11,.1);
}
.status-media,
.status-enviada,
.status-renovacao,
.status-em-andamento {
  color: #8a5b00;
  background: rgba(244,178,78,.16);
}
.status-ativo,
.status-aprovada,
.status-cliente-ativo,
.status-ganha,
.status-concluida {
  color: #0f6b4d;
  background: rgba(17,132,91,.12);
}
.work-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.work-hero {
  background:
    radial-gradient(circle at 14% 18%, rgba(111, 66, 193, .18), transparent 34%),
    linear-gradient(135deg, #f7f3ff 0%, #f4f8ff 58%, #fff8f1 100%);
}
.work-hero .section-eyebrow,
.work-dashboard-grid .section-eyebrow {
  color: var(--elite-red);
}
.work-tabs {
  position: sticky;
  top: 82px;
  z-index: 14;
  background: rgba(248,251,255,.88);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 6px;
  border: 1px solid rgba(18,30,48,.08);
}
.work-kpis .finance-kpi strong {
  font-size: clamp(20px, 1.75vw, 30px);
}
.work-dashboard-grid {
  margin-bottom: 16px;
}
.work-status-chart .inventory-value-col i {
  background: linear-gradient(180deg, #6f42c1, #0070cc);
}
.work-status-0 i { background: linear-gradient(180deg, #b77900, #f4b24e) !important; }
.work-status-1 i { background: linear-gradient(180deg, #00439c, #0070cc) !important; }
.work-status-2 i { background: linear-gradient(180deg, #0f6b4d, #11845b) !important; }
.work-kanban {
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 16px;
}
.work-col {
  min-height: 420px;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(18,30,48,.1);
  box-shadow: var(--elite-shadow-soft);
}
.work-col .kanban-header {
  margin-bottom: 12px;
  padding: 12px;
  border-radius: 16px;
  color: #fff;
}
.work-col .kanban-header h3,
.work-col .kanban-header .count {
  color: #fff;
}
.work-col-a_fazer .kanban-header { background: linear-gradient(135deg, #b77900, #f4b24e); }
.work-col-fazendo .kanban-header { background: linear-gradient(135deg, #00439c, #0070cc); }
.work-col-feito .kanban-header { background: linear-gradient(135deg, #0f6b4d, #11845b); }
.work-card {
  cursor: grab;
  color: var(--elite-text);
  background: #fff;
  border: 1px solid rgba(18,30,48,.1);
  border-left: 4px solid #94a3b8;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
}
.work-card:active { cursor: grabbing; }
.work-card h4,
.work-card p,
.work-card strong,
.work-card .task-meta span {
  color: var(--elite-text);
}
.work-card p,
.work-card .task-meta span,
.work-card .task-meta small {
  color: var(--muted);
}
.work-card-a_fazer { border-left-color: #f4b24e; }
.work-card-fazendo { border-left-color: #0070cc; }
.work-card-feito { border-left-color: #11845b; opacity: .9; }
.work-card-feito h4 { text-decoration: line-through; }
.work-calendar-toolbar {
  display: grid;
  grid-template-columns: 220px auto auto auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(18,30,48,.1);
  box-shadow: var(--elite-shadow-soft);
}
.work-calendar-toolbar label {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.work-calendar-toolbar input {
  width: 100%;
  margin-top: 7px;
}
.work-calendar-grid {
  grid-template-columns: repeat(7, minmax(130px, 1fr));
}
.work-calendar-day {
  min-height: 132px;
  background: #fff;
  border: 1px solid rgba(18,30,48,.1);
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.work-calendar-day.out-month {
  opacity: .45;
  background: #f7fafe;
}
.work-event-chip,
.calendar-day .calendar-task {
  width: 100%;
  margin-top: 6px;
  padding: 7px 8px;
  border-radius: 10px;
  border: 1px solid rgba(0,112,204,.16);
  color: #174d92;
  background: rgba(0,112,204,.08);
  font-size: 12px;
  font-weight: 750;
  text-align: left;
}
.calendar-day .calendar-task {
  color: #5b2fa0;
  background: rgba(111,66,193,.1);
  border-color: rgba(111,66,193,.18);
}
.work-list-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}
.work-side-panel {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
  border: 1px solid rgba(18,30,48,.08);
  box-shadow: 0 18px 45px rgba(18,30,48,.08);
}
.purchases-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.purchases-hero {
  background:
    radial-gradient(circle at 14% 18%, rgba(246, 190, 84, .28), transparent 34%),
    linear-gradient(135deg, #fffaf1 0%, #f4f8ff 58%, #eef9f5 100%);
}
.purchases-hero .section-eyebrow,
.purchases-dashboard-grid .section-eyebrow {
  color: var(--elite-red);
}
.purchases-tabs {
  position: sticky;
  top: 82px;
  z-index: 14;
  background: rgba(248, 251, 255, .88);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 6px;
  border: 1px solid rgba(18, 30, 48, .08);
}
.purchases-filter-panel {
  grid-template-columns: 170px 140px minmax(160px, 1fr) 125px 130px 130px 92px;
  align-items: end;
}
.purchases-kpis .finance-kpi strong {
  font-size: clamp(20px, 1.75vw, 30px);
  white-space: nowrap;
}
.purchases-dashboard-grid {
  margin-bottom: 16px;
}
.purchases-dashboard-grid .finance-panel {
  min-height: 240px;
}
.purchases-chart {
  min-height: 180px;
}
.purchases-chart .finance-cash-bars i.in {
  background: linear-gradient(180deg, #e84f5f 0%, #f4b24e 100%);
}
.purchases-bars .rh-bar-row i {
  background: linear-gradient(90deg, #e84f5f 0%, #f4b24e 52%, #47b783 100%);
}
.purchases-side {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.96));
  border: 1px solid rgba(18, 30, 48, .08);
  box-shadow: 0 18px 45px rgba(18, 30, 48, .08);
}
.purchases-modal-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff, #fff7ec);
  border: 1px solid rgba(18, 30, 48, .09);
}
.purchases-modal-actions > div {
  min-width: 220px;
  margin-right: auto;
}
.purchases-modal-actions span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.purchases-modal-actions strong {
  display: block;
  margin-top: 3px;
  color: var(--text);
  font-size: 14px;
}
.row-action-primary {
  background: rgba(30, 91, 168, .1);
  color: #174d92;
  border-color: rgba(30, 91, 168, .22);
  font-weight: 800;
}
.purchases-table td strong, .inventory-table td strong {
  display: block;
  font-size: 13px;
}
.purchases-table td small, .inventory-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.status-aprovada, .status-recebida, .status-assinado {
  background: rgba(33,163,102,.16);
  color: #67e59e;
}
.status-em-aprovacao, .status-em-cotacao, .status-em-estoque, .status-em-manutencao {
  background: rgba(226,163,35,.16);
  color: #ffd36e;
}
.status-danificado, .status-pendente {
  background: rgba(224,68,68,.18);
  color: #ff8b8b;
}
.status-alocado-em-posto, .status-com-colaborador {
  background: rgba(47,103,157,.2);
  color: #9dccf5;
}

@media (max-width: 1180px) {
  .purchases-filter-panel,
  .inventory-filter-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .purchases-filter-panel label:nth-child(3) {
    grid-column: span 1;
  }
  .purchases-layout,
  .inventory-layout,
  .crm-list-layout,
  .work-list-layout {
    grid-template-columns: 1fr;
  }
  .crm-pipeline {
    grid-template-columns: repeat(5, minmax(240px, 280px));
  }
  .work-calendar-grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
  }
}

@media (max-width: 720px) {
  .purchases-filter-panel,
  .inventory-filter-panel {
    grid-template-columns: 1fr;
  }
  .purchases-tabs,
  .inventory-tabs {
    top: 64px;
  }
  .purchases-modal-actions > div,
  .purchases-modal-actions .btn {
    width: 100%;
  }
  .crm-pipeline {
    grid-template-columns: 1fr;
  }
  .work-kanban,
  .work-calendar-grid,
  .work-calendar-toolbar {
    grid-template-columns: 1fr;
  }
}

.app-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  border-bottom: 1px solid var(--border);
  margin: 4px 0 16px;
}
.app-tabs button {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 12px 4px 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
}
.app-tabs button.ativo {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.crm-workspace .work-actions,
.workdesk .work-actions {
  flex-wrap: wrap;
}
.crm-pipeline,
.kanban-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  align-items: start;
}
.crm-column,
.kanban-col {
  min-height: 360px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}
.kanban-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--border);
  background: #202020;
}
.kanban-header h3 {
  margin: 0;
  font-size: 14px;
}
.kanban-header .count {
  min-width: 26px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #303030;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}
.kanban-tasks {
  display: grid;
  gap: 10px;
  padding: 12px;
}
.task-card {
  padding: 13px;
  background: #181818;
  border: 1px solid var(--border);
  border-radius: 7px;
}
.task-card h4 {
  margin: 0 0 7px;
  font-size: 14px;
}
.task-card p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
}
.task-card strong {
  display: block;
  margin-bottom: 9px;
  font-size: 16px;
}
.task-top,
.task-meta,
.row-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.task-meta {
  color: var(--muted);
  font-size: 12px;
  margin: 8px 0 10px;
}
.row-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.task-late {
  border-color: rgba(224,68,68,.65);
}
.empty-mini {
  min-height: 72px;
  display: grid;
  place-items: center;
  color: var(--muted);
  border: 1px dashed var(--border);
  border-radius: 7px;
  font-size: 12px;
}
.crm-list-layout,
.workdesk .work-layout {
  grid-template-columns: minmax(0, 1fr) 330px;
}
.data-grid small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.priority-baixa { background: rgba(47,103,157,.2); color: #9dccf5; }
.priority-media { background: rgba(226,163,35,.16); color: #ffd36e; }
.priority-alta,
.priority-critica { background: rgba(224,68,68,.18); color: #ff8b8b; }
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 8px;
}
.calendar-day {
  min-height: 118px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 7px;
}
.calendar-day strong {
  color: var(--muted);
  font-size: 12px;
}
.calendar-day button {
  width: 100%;
  border: 1px solid rgba(47,103,157,.45);
  border-radius: 6px;
  background: rgba(47,103,157,.18);
  color: #d9ecff;
  text-align: left;
  padding: 6px 7px;
  cursor: pointer;
  font-size: 12px;
}
.calendar-day .calendar-task {
  border-color: rgba(226,163,35,.45);
  background: rgba(226,163,35,.14);
  color: #ffd36e;
}
.office-people {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.office-person {
  min-height: 130px;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.office-person h3 {
  margin: 0 0 4px;
  font-size: 15px;
}
.office-person p {
  margin: 0 0 12px;
  color: var(--muted);
}
.office-person strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 6px;
}
.office-person span {
  color: var(--muted);
  font-size: 12px;
}
.project-grid {
  display: grid;
  gap: 14px;
}
.project-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
}
.project-card p {
  color: var(--muted);
}
.progress-line {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #272727;
  margin: 12px 0 14px;
}
.progress-line span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--blue), var(--ok));
}
.timeline-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.timeline-item {
  min-height: 130px;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
.timeline-item strong {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 10px;
}
.timeline-item h3 {
  margin: 0 0 8px;
  font-size: 15px;
}
.timeline-item p {
  margin: 0 0 10px;
  color: var(--muted);
}
.full-panel {
  width: 100%;
}
.reports-page .report-form {
  padding: 16px;
}
.project-page,
.reports-page,
.forms-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.project-hero,
.reports-hero,
.forms-hero {
  margin-bottom: 14px;
}
.project-dashboard-grid,
.forms-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.project-card {
  padding: 20px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.97);
  box-shadow: var(--elite-shadow-soft);
}
.project-card h3 {
  color: var(--elite-text);
}
.project-card p,
.project-card .posto360-head p {
  color: var(--elite-muted);
}
.project-card-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.project-card-metrics div {
  padding: 12px;
  border: 1px solid rgba(18,30,48,.08);
  border-radius: 12px;
  background: #f8fafc;
}
.project-card-metrics b,
.project-card-metrics span {
  display: block;
}
.project-card-metrics b {
  color: var(--elite-muted);
  font-size: 11px;
  text-transform: uppercase;
}
.project-card-metrics span {
  margin-top: 5px;
  color: var(--elite-text);
  font-size: 13px;
  font-weight: 800;
}
.project-value-chart {
  min-height: 190px;
}
.project-value-col i {
  background: linear-gradient(180deg, var(--elite-red), var(--elite-blue));
}
.project-kanban .project-task-card {
  border-left: 4px solid var(--elite-red);
}
.project-timeline .timeline-item {
  background: rgba(255,255,255,.96);
}
.reports-layout .work-main,
.reports-layout .work-side {
  background: rgba(255,255,255,.96);
}
.report-history-list {
  display: grid;
  gap: 10px;
}
.report-history-list div {
  padding: 11px;
  border: 1px solid #edf2f7;
  border-radius: 12px;
  background: #f8fafc;
}
.report-history-list strong,
.report-history-list span {
  display: block;
}
.report-history-list strong {
  color: var(--elite-text);
  font-size: 13px;
}
.report-history-list span {
  margin-top: 4px;
  color: var(--elite-muted);
  font-size: 11px;
  font-weight: 700;
}
.report-source-title {
  margin-top: 18px;
}
.forms-filter-panel {
  grid-template-columns: repeat(4, minmax(128px, 1fr)) minmax(170px, 1fr) minmax(170px, 1fr) minmax(210px, 1.2fr) auto;
}
.operacional-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.operacional-hero {
  margin-bottom: 14px;
}
.op-filter-panel {
  grid-template-columns: repeat(5, minmax(120px, 1fr)) minmax(180px, 1.15fr) auto;
}
.op-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.op-value-chart {
  min-height: 190px;
}
.op-value-col i {
  background: linear-gradient(180deg, var(--elite-red), var(--elite-green));
}
.scale-page {
  width: min(1520px, 100%);
  margin: 0 auto;
}
.scale-hero {
  margin-bottom: 14px;
  background:
    radial-gradient(circle at 16% 18%, rgba(0, 112, 204, .18), transparent 34%),
    linear-gradient(135deg, #f5f9ff 0%, #fff6f6 56%, #f2fbf7 100%);
}
.scale-hero .section-eyebrow {
  color: var(--elite-red);
}
.scale-tabs {
  position: sticky;
  top: 82px;
  z-index: 14;
  background: rgba(248,251,255,.9);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  padding: 6px;
  border: 1px solid rgba(18,30,48,.08);
}
.scale-filter-panel {
  grid-template-columns: 145px 160px 142px 142px 142px 142px minmax(170px, 1fr) 92px;
  align-items: end;
}
.scale-dashboard-grid {
  display: grid;
  grid-template-columns: 1.25fr repeat(2, minmax(0, .9fr));
  gap: 16px;
  margin-bottom: 16px;
}
.scale-dashboard-grid .finance-panel {
  min-height: 228px;
}
.scale-dashboard-grid .finance-wide {
  grid-row: span 2;
}
.scale-value-chart {
  min-height: 190px;
}
.scale-value-col i {
  background: linear-gradient(180deg, var(--elite-red), var(--elite-blue));
}
.scale-page .finance-panel > .work-main.full-panel {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.scale-page .data-grid {
  background: #fff;
}
.scale-page .work-side .btn {
  width: 100%;
  margin-top: 12px;
}
.status-sugerido,
.status-convocado,
.status-planejado,
.status-convidado {
  color: #174d92;
  background: rgba(30,91,168,.1);
}
.status-aceito,
.status-agendado,
.status-trabalhando,
.status-confirmado,
.status-revisado,
.status-exportado {
  color: #0f6b4d;
  background: rgba(17,132,91,.12);
}
.status-recusado,
.status-falta,
.status-cancelado,
.status-descoberto {
  color: #b4232b;
  background: rgba(227,6,11,.1);
}
.forms-alert-detail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.filled-form-sheet {
  padding: 22px;
  border: 1px solid rgba(18,30,48,.12);
  border-radius: 18px;
  background: #fff;
  color: var(--elite-text);
}
.filled-form-sheet header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 2px solid #eef2f7;
}
.filled-form-sheet header span,
.filled-form-grid span,
.filled-form-fields span {
  display: block;
  color: var(--elite-muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.filled-form-sheet header h2 {
  margin: 5px 0 0;
  color: var(--elite-red);
  font-size: 22px;
}
.filled-form-sheet header strong {
  padding: 7px 11px;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--elite-text);
  font-size: 12px;
  text-transform: uppercase;
}
.filled-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.filled-form-grid div,
.filled-form-fields label,
.form-empty-line {
  padding: 12px;
  border: 1px solid #e8eef5;
  border-radius: 12px;
  background: #f8fafc;
}
.filled-form-grid strong {
  display: block;
  margin-top: 6px;
  color: var(--elite-text);
  font-size: 14px;
}
.filled-form-section {
  margin-top: 18px;
}
.filled-form-section h3 {
  margin: 0 0 10px;
  color: var(--elite-text);
  font-size: 15px;
}
.filled-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.filled-form-fields p {
  margin: 7px 0 0;
  color: var(--elite-text);
  white-space: pre-wrap;
}
.form-empty-line {
  color: var(--elite-muted);
  font-size: 13px;
}
.forms-page .finance-panel > .work-main.full-panel,
.reports-page .finance-panel > .work-main.full-panel,
.project-page .finance-panel > .work-main.full-panel,
.operacional-page .finance-panel > .work-main.full-panel {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.forms-page .data-grid,
.reports-page .data-grid,
.project-page .data-grid,
.operacional-page .data-grid {
  background: #fff;
}
.scale-page .finance-toolbar,
.posts-page .finance-toolbar {
  grid-template-columns: minmax(280px, 1fr) auto;
}
.form-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}
.form-photo {
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #181818;
  padding: 8px;
}
.form-photo span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 6px;
}
.form-photo img {
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 6px;
}
.form-signature {
  display: block;
  max-width: 420px;
  width: 100%;
  background: #fff;
  border-radius: 7px;
  border: 1px solid var(--border);
}
.qr-card small {
  display: block;
  word-break: break-all;
  color: var(--muted);
  margin-top: 10px;
}
.global-search { position: relative; }
.global-search-results {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 900;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.global-search-results.open { display: block; }
.global-search-results button {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  color: var(--text);
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}
.global-search-results button:hover { background: var(--surface-2); }
.global-search-results strong { display: block; font-size: 13px; }
.global-search-results span, .global-search-empty { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.global-search-empty { padding: 12px; }

.section-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.section-title { display: block; margin-top: 3px; font-size: 22px; font-weight: 700; }
.kpi-grid, .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 20px; }
.kpi, .stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; text-align: left; }
.kpi .num, .stat-card strong { display: block; color: var(--text); font-size: 26px; line-height: 1; margin-bottom: 8px; }
.kpi .label, .stat-card span { color: var(--muted); font-size: 12px; }
.dash-grid, .postos-grid { display: grid; grid-template-columns: repeat(2, minmax(320px, 1fr)); gap: 16px; }
.card-header { padding: 16px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
.card-header h3 { margin: 0; font-size: 15px; }
.card-header-accent { width: 3px; height: 18px; border-radius: 99px; background: var(--accent); }
.card-body { padding: 16px 18px; }

label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: var(--muted); }
input[type="text"], input[type="email"], input[type="number"], input[type="date"], input[type="time"], input[type="password"], select, textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #121212;
  color: var(--text);
}
input:focus, select:focus, textarea:focus { outline: 0; border-color: #4a84bd; box-shadow: 0 0 0 3px rgba(74,132,189,.16); }
textarea { min-height: 88px; resize: vertical; }
.form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.form-group { margin-bottom: 14px; }

.btn, .btn-sm, .close-btn {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 13px;
  background: var(--surface-2);
  color: var(--text);
  cursor: pointer;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.btn:hover, .btn-sm:hover { background: var(--surface-3); }
.btn-prim { background: #2f679d; border-color: #5d91c4; color: #fff; }
.btn-prim:hover { background: #3b78b5; }
.btn-ghost, .btn-secondary { background: transparent; color: var(--text); }
.btn-warn { background: var(--warn); border-color: var(--warn); color: #101010; }
.btn-sm { padding: 5px 9px; font-size: 12px; }

.badge, .badge-perfil, .priority-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #263342;
  color: #c9d7e6;
  font-size: 11px;
  font-weight: 700;
}
.bp-admin { background: var(--accent); color: #fff; }
.bp-supervisor { background: #244f78; color: #d9ecff; }
.bp-colaborador, .bp-leitura { background: #333; color: var(--muted); }

.overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.62); z-index: 1000; align-items: center; justify-content: center; padding: 20px; }
.overlay.aberto, .overlay.active { display: flex !important; }
.modal { width: min(92vw, 680px); max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: var(--shadow); }
.modal-header, .modal-footer { padding: 16px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.modal-footer { border-top: 1px solid var(--border); border-bottom: 0; justify-content: flex-end; }
.modal-header h2, .modal-header h3 { margin: 0; font-size: 18px; }
.modal-body { padding: 18px; overflow-y: auto; }

.table-striped { width: 100%; border-collapse: collapse; overflow: hidden; }
.table-striped th, .table-striped td { padding: 12px; border-bottom: 1px solid var(--border); text-align: left; font-size: 13px; }
.table-striped th { color: var(--muted); background: #202020; font-weight: 700; }
.table-striped tbody tr:hover { background: #202020; }

#toast { position: fixed; right: 20px; bottom: 20px; z-index: 1100; display: grid; gap: 8px; }
.toast-item { padding: 12px 14px; border-radius: 7px; background: var(--surface-2); border: 1px solid var(--border); color: var(--text); box-shadow: var(--shadow); }
.toast-ok { border-color: var(--ok); }
.toast-err { border-color: var(--danger); }

.benefits-report { --benefit-card:#1c1c1c; --benefit-head:#212121; --benefit-line:#2a2a2a; --benefit-muted:#666; --benefit-good:#22a85a; --benefit-danger:#e84545; --benefit-warn:#e6a817; --benefit-cesta:#e07030; }
.benefits-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:24px; }
.benefits-kpi { background:var(--benefit-card); border-radius:8px; padding:16px 18px; border-left:3px solid #555; }
.benefits-kpi div { font-size:24px; font-weight:800; line-height:1; color:var(--text); }
.benefits-kpi span { display:block; font-size:10px; color:var(--benefit-muted); text-transform:uppercase; letter-spacing:.8px; margin-top:6px; }
.benefits-kpi.green { border-left-color:var(--benefit-good); }
.benefits-kpi.green div { color:var(--benefit-good); }
.benefits-kpi.red { border-left-color:var(--elite-red); }
.benefits-kpi.red div { color:var(--elite-red); }
.benefits-kpi.orange { border-left-color:var(--benefit-cesta); }
.benefits-kpi.orange div { color:var(--benefit-cesta); }
.benefits-card { background:var(--benefit-card); border-radius:10px; overflow:hidden; margin-bottom:20px; border:1px solid var(--benefit-line); }
.benefits-card-header { background:var(--benefit-head); border-bottom:1px solid var(--benefit-line); padding:13px 20px; display:flex; align-items:center; gap:10px; }
.benefits-card-header span { width:3px; height:16px; background:var(--elite-red); border-radius:2px; }
.benefits-card-header strong { font-size:11px; font-weight:700; color:#ccc; text-transform:uppercase; letter-spacing:1px; }
.benefits-card-header em { margin-left:auto; font-style:normal; font-size:11px; color:#555; }
.benefits-table-wrap { overflow-x:auto; }
.benefits-report table { width:100%; border-collapse:collapse; }
.benefits-report th { background:#171717; color:#666; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; padding:10px 14px; border-bottom:1px solid var(--benefit-line); white-space:nowrap; }
.benefits-report td { padding:9px 14px; font-size:12px; color:#bbb; border-bottom:1px solid #1e1e1e; vertical-align:middle; }
.benefits-report tr:hover td { background:#212121; }
.nome-col { display:flex; flex-direction:column; gap:2px; }
.nome { font-size:12px; font-weight:700; color:#ddd; }
.cargo { font-size:10px; color:#666; text-transform:uppercase; letter-spacing:.4px; }
.posto { font-size:11px; color:#888; }
.center { text-align:center; }
.mono { font-feature-settings:"tnum"; white-space:nowrap; }
.bold { font-weight:800; color:var(--text); }
.motivo { font-size:10px; color:#666; }
.badge-ok { background:#0d2e1a; color:var(--benefit-good); }
.badge-warn { background:#2e0a0a; color:var(--benefit-danger); }
.badge-cesta { background:#1e1500; color:var(--benefit-cesta); }
.benefits-totals { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; padding:20px; }
.benefits-total { background:#171717; border-radius:8px; padding:18px 20px; border:1px solid var(--benefit-line); position:relative; overflow:hidden; }
.benefits-total:before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:#555; }
.benefits-total span { display:block; font-size:13px; font-weight:700; color:#fff; margin-bottom:10px; }
.benefits-total strong { font-size:22px; font-weight:800; }
.benefits-total small { display:block; font-size:11px; color:#555; margin-top:5px; }
.ti-yellow:before { background:var(--benefit-warn); }
.ti-green:before { background:var(--benefit-good); }
.ti-orange:before { background:var(--benefit-cesta); }
.ti-danger:before { background:var(--benefit-danger); }
.ti-total:before { background:linear-gradient(90deg,var(--elite-red),#8b1015); }
.ti-yellow strong { color:var(--benefit-warn); }
.ti-green strong { color:var(--benefit-good); }
.ti-orange strong { color:var(--benefit-cesta); }
.ti-danger strong { color:var(--benefit-danger); }
.ti-total strong { color:var(--elite-red); font-size:26px; }
.benefits-note { padding:12px 20px; background:#181818; border-top:1px solid var(--benefit-line); font-size:10px; color:#555; display:flex; align-items:center; gap:8px; }
.benefits-note span { width:5px; height:5px; border-radius:50%; background:var(--benefit-cesta); flex-shrink:0; }

@media (max-width: 980px) {
  header { padding: 0 14px; }
  .global-search { display: none; }
  nav { padding: 0 14px; gap: 14px; }
  main { padding: 16px; }
  .erp-grid { grid-template-columns: 1fr; }
  .module-grid, .apps-grid, .dash-grid { grid-template-columns: 1fr; }
  .home-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
  .work-header { align-items: flex-start; flex-direction: column; }
  .filter-strip, .module-kpis, .work-layout, .indicator-grid { grid-template-columns: 1fr; }
  .posto360-grid { grid-template-columns: 1fr; }
  .finance-toolbar, .finance-layout, .finance-centers, .finance-form-grid, .finance-detail { grid-template-columns: 1fr; }
  .finance-span-2 { grid-column: auto; }
}

/* ─── Banner de modo demonstração (ativado por ativarModoDemo em app.js) ─── */
#demo-banner {
  position: fixed; top: 0; left: 0; right: 0; z-index: 99999;
  background: #b91c1c; color: #fff; text-align: center;
  padding: 8px 16px; font-size: 13px; font-weight: 600; letter-spacing: .3px;
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
}
body.com-demo-banner { padding-top: 36px; }

/* Ajustes finais de Tarefas & Agenda */
.work-page .work-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: 100%;
  overflow: visible;
}
.work-page .work-calendar-day {
  min-width: 0;
}
.work-page .work-calendar-day button.work-event-chip {
  color: #174d92;
  background: rgba(0,112,204,.08);
  border-color: rgba(0,112,204,.16);
}
.work-page .work-calendar-day button.calendar-task {
  color: #5b2fa0;
  background: rgba(111,66,193,.1);
  border-color: rgba(111,66,193,.18);
}

@media (max-width: 1180px) {
  .work-page .work-calendar-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .work-page .work-calendar-grid {
    grid-template-columns: 1fr;
  }
}

/* ─── Sentinel Elite Theme — tokens do pacote de design ─────────────────── */
:root {
  --elite-blue: #0070cc;
  --elite-blue-dark: #00439c;
  --elite-blue-light: #0a84ff;
  --elite-red: #e3060b;
  --elite-red-dark: #a90509;
  --elite-ink: #0b0d10;
  --elite-text: #1b1f24;
  --elite-muted: #66717f;
  --elite-line: #dfe5ec;
  --elite-paper: #ffffff;
  --elite-surface: #f5f7fa;
  --elite-surface-2: #eef2f6;
  --elite-green: #11845b;
  --elite-amber: #b77900;
  --elite-purple: #6f42c1;
  --elite-cyan: #0b8aa8;
  --elite-shadow: 0 18px 50px rgba(0,0,0,.12);
  --elite-shadow-soft: 0 10px 28px rgba(0,0,0,.075);
  --elite-radius-xl: 34px;
  --elite-radius-lg: 26px;
  --elite-radius-md: 18px;

  --bg: var(--elite-surface);
  --shell: var(--elite-ink);
  --surface: var(--elite-paper);
  --surface-2: var(--elite-surface-2);
  --surface-3: #e6ebf2;
  --border: var(--elite-line);
  --border-soft: rgba(255,255,255,.08);
  --text: var(--elite-text);
  --muted: var(--elite-muted);
  --subtle: #8a95a3;
  --accent: var(--elite-red);
  --accent-2: var(--elite-red-dark);
  --blue: var(--elite-blue);
  --cyan: var(--elite-cyan);
  --indigo: var(--elite-blue-dark);
  --violet: var(--elite-purple);
  --amber: var(--elite-amber);
  --teal: #0f8472;
  --rose: #b31245;
  --green: var(--elite-green);
  --danger: #d92d35;
  --warn: #d89b16;
  --ok: var(--elite-green);
  --radius: var(--elite-radius-md);
  --shadow: var(--elite-shadow-soft);
}

body {
  background:
    radial-gradient(circle at 16% -10%, rgba(0,112,204,.14), transparent 36%),
    radial-gradient(circle at 88% 4%, rgba(227,6,11,.08), transparent 28%),
    linear-gradient(180deg, #f8fafc 0%, var(--elite-surface) 45%, #eef2f6 100%);
}

header {
  background:
    linear-gradient(180deg, rgba(18,22,28,.98), rgba(10,13,18,.96));
  border-bottom-color: rgba(255,255,255,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
.brand { color: #fff; min-width: 176px; }
.brand:hover .brand-name strong { color: #ff4b58; }
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.logo-img { width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 6px 14px rgba(227,6,11,.22)); }
.brand-copy { display: grid; gap: 2px; }
.brand-kicker { color: #7d8794; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand-name { letter-spacing: -.02em; font-size: 16px; }
.brand-name strong { color: var(--elite-red); }
.logo-divider { background: rgba(255,255,255,.10); }
#breadcrumb {
  color: #e6edf7;
  font-size: 13px;
  font-weight: 700;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
}
#data-hora { color: #aab4c2; }
.shell-icon, .icon-btn {
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: #d7dee8;
}
.shell-icon:hover, .icon-btn:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.global-search {
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.14);
  color: #aab4c2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.global-search input { color: #fff; }
.global-search input::placeholder { color: #8d98a8; }

nav {
  background:
    linear-gradient(180deg, rgba(14,18,24,.94), rgba(13,17,22,.90));
  border-bottom-color: rgba(255,255,255,.08);
  box-shadow: 0 12px 26px rgba(0,0,0,.06);
}
.nav-btn { color: #cbd5e1; }
.nav-btn:hover {
  color: #fff;
  background: rgba(255,255,255,.065);
}
.nav-btn.ativo {
  color: #fff;
  background: linear-gradient(180deg, rgba(227,6,11,.18), rgba(227,6,11,.08));
  border-bottom-color: var(--elite-red);
}

main { padding: 18px 18px 32px; }

.home-executive,
.home-dashboard-board,
.home-dashboards-grid,
.home-bottom-grid {
  width: min(1520px, 100%);
  margin: 0 auto 18px;
}

.home-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 22px;
  align-items: stretch;
  min-height: 188px;
  padding: 28px;
  border-radius: 26px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(11,13,16,.96), rgba(0,67,156,.94) 58%, rgba(0,112,204,.88));
  box-shadow: var(--elite-shadow);
}
.home-hero-panel h1 {
  margin: 8px 0 10px;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.05;
  letter-spacing: 0;
}
.home-hero-panel p {
  max-width: 780px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.6;
}
.home-health {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 132px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
}
.home-health span,
.home-health small {
  color: rgba(255,255,255,.74);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.home-health strong {
  margin: 8px 0;
  font-size: 46px;
  line-height: 1;
}
.home-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.home-summary-card,
.home-dashboard-card,
.home-alert,
.home-priority,
.home-bar-row {
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.home-summary-card {
  padding: 18px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-summary-card:hover,
.home-dashboard-card:hover,
.home-alert:hover,
.home-priority:hover,
.home-bar-row:hover {
  transform: translateY(-2px);
  border-color: rgba(0,112,204,.28);
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
}
.home-summary-card span,
.home-summary-card small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.home-summary-card strong {
  display: block;
  margin: 10px 0 8px;
  color: var(--text);
  font-size: 26px;
  line-height: 1;
}

.home-dashboard-board {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .8fr);
  gap: 16px;
}
.home-main-chart,
.home-alerts-panel,
.home-list-panel {
  padding: 20px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}
.home-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.home-card-head h2,
.home-card-head h3 {
  margin: 4px 0 0;
  color: var(--text);
  letter-spacing: 0;
}
.home-card-head h2 { font-size: 20px; }
.home-card-head h3 { font-size: 17px; }
.home-card-head small {
  color: var(--muted);
  font-size: 12px;
}
.home-bars {
  display: grid;
  gap: 10px;
}
.home-bar-row {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 48px;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: #f7fafe;
}
.home-bar-row span {
  color: var(--text);
  font-size: 13px;
  font-weight: 800;
}
.home-bar-row div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4ebf5;
}
.home-bar-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--elite-blue), var(--elite-red));
  transition: width .24s ease;
}
.home-bar-row b {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}
.home-alerts-panel {
  display: flex;
  flex-direction: column;
}
.home-alert {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 14px;
  border: 1px solid rgba(18,30,48,.1);
  border-left-width: 4px;
  border-radius: 14px;
  background: #f8fbff;
}
.home-alert strong,
.home-alert span {
  display: block;
}
.home-alert strong {
  color: var(--text);
  font-size: 13px;
}
.home-alert span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.home-alert.danger { border-left-color: var(--elite-red); }
.home-alert.warn { border-left-color: var(--elite-amber); }
.home-alert.info { border-left-color: var(--elite-blue); }
.home-empty {
  padding: 20px;
  color: var(--muted);
  border-radius: 14px;
  background: #f7fafe;
  font-size: 13px;
}

.home-dashboards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.home-dashboard-card {
  position: relative;
  min-height: 238px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-dashboard-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--elite-blue);
}
.home-dashboard-card.red::before { background: var(--elite-red); }
.home-dashboard-card.green::before { background: var(--elite-green); }
.home-dashboard-card.amber::before { background: var(--elite-amber); }
.home-dashboard-card.cyan::before { background: var(--elite-cyan); }
.home-dashboard-card.purple::before { background: var(--elite-purple); }
.home-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  color: var(--elite-blue);
  background: #eef5ff;
}
.home-dashboard-card.red .home-icon { color: var(--elite-red); background: #fff1f2; }
.home-dashboard-card.green .home-icon { color: var(--elite-green); background: #ecfdf3; }
.home-dashboard-card.amber .home-icon { color: var(--elite-amber); background: #fffbeb; }
.home-dashboard-card.cyan .home-icon { color: var(--elite-cyan); background: #ecfeff; }
.home-dashboard-card.purple .home-icon { color: var(--elite-purple); background: #f5f3ff; }
.home-card-metric strong {
  display: block;
  color: var(--text);
  font-size: 30px;
  line-height: 1;
}
.home-card-metric span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.home-mini-chart {
  height: 62px;
  margin: 18px 0 14px;
  padding: 8px;
  border-radius: 14px;
  background: #f7fafe;
}
.home-mini-chart svg {
  width: 100%;
  height: 100%;
}
.home-mini-chart polyline {
  fill: none;
  stroke: var(--elite-blue);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-dashboard-card.red .home-mini-chart polyline { stroke: var(--elite-red); }
.home-dashboard-card.green .home-mini-chart polyline { stroke: var(--elite-green); }
.home-dashboard-card.amber .home-mini-chart polyline { stroke: var(--elite-amber); }
.home-dashboard-card.cyan .home-mini-chart polyline { stroke: var(--elite-cyan); }
.home-dashboard-card.purple .home-mini-chart polyline { stroke: var(--elite-purple); }
.home-card-foot {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.home-card-foot span:last-child { color: var(--elite-blue); }

.home-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr);
  gap: 16px;
}
.home-priority {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 14px;
  background: #f8fbff;
  color: var(--text);
}
.home-priority span {
  font-size: 13px;
  font-weight: 750;
}
.home-priority b {
  color: var(--elite-blue);
  font-size: 12px;
}
.home-donut-wrap {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 20px;
  align-items: center;
}
.home-donut {
  display: grid;
  place-items: center;
  align-content: center;
  width: 146px;
  height: 146px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 57%, transparent 58%),
    conic-gradient(var(--elite-blue) 0 var(--deg), #e5ecf5 var(--deg) 360deg);
}
.home-donut strong {
  color: var(--text);
  font-size: 30px;
  line-height: 1;
}
.home-donut span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.home-donut-wrap h3 {
  margin: 0 0 6px;
  color: var(--text);
}
.home-donut-wrap p,
.home-donut-wrap small {
  display: block;
  margin: 0 0 8px;
  color: var(--muted);
  line-height: 1.5;
}

.news-card, .app-tile, .card, .modal, .table-striped, .kanban-col, .task-card, .stat-card,
.indicator-card, .module-kpi, .filter-strip, .work-main, .work-side, .global-search-results,
.finance-toolbar, .kpi {
  background: rgba(255,255,255,.96);
  border-color: rgba(18,30,48,.1);
  box-shadow: var(--elite-shadow-soft);
}
.app-tile:hover, .data-grid tbody tr:hover, .table-striped tbody tr:hover,
.global-search-results button:hover {
  background: #f4f8fd;
}
.tile-mark {
  border-radius: 14px;
  background: #eef5ff;
}
.module-card {
  border-radius: 22px;
  box-shadow: 0 16px 30px rgba(15,23,42,.14);
}
.module-card:hover {
  transform: translateY(-3px);
  filter: saturate(1.05) brightness(1.03);
}

.work-header {
  color: #fff;
  border: 0;
  border-radius: var(--elite-radius-lg);
  background:
    linear-gradient(135deg, rgba(11,13,16,.96) 0%, rgba(0,67,156,.96) 62%, rgba(0,112,204,.92) 100%);
  box-shadow: var(--elite-shadow);
}
.work-header p { color: rgba(255,255,255,.76); }
.work-header .section-eyebrow, .work-header .eyebrow { color: #ff6b73; }

label { color: #566274; }
input[type="text"], input[type="email"], input[type="number"], input[type="date"],
input[type="time"], input[type="password"], select, textarea {
  border-radius: 12px;
  background: #fff;
  color: var(--elite-text);
  border-color: #ccd6e2;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--elite-blue);
  box-shadow: 0 0 0 4px rgba(0,112,204,.16);
}

.btn, .btn-sm, .close-btn, .row-action {
  border-radius: 12px;
  background: #fff;
  color: var(--elite-text);
  border-color: #ccd6e2;
  box-shadow: 0 1px 2px rgba(15,23,42,.06);
}
.btn:hover, .btn-sm:hover, .row-action:hover {
  background: #f4f8fd;
  border-color: #b8c7d8;
}
.btn-prim {
  color: #fff;
  border-color: var(--elite-blue);
  background: linear-gradient(135deg, var(--elite-blue), var(--elite-blue-dark));
  box-shadow: 0 10px 24px rgba(0,112,204,.22);
}
.btn-prim:hover { background: linear-gradient(135deg, var(--elite-blue-light), var(--elite-blue)); }
.btn-ghost, .btn-secondary { background: #fff; color: var(--elite-text); }
.btn-warn { color: #1b1f24; background: #ffd97a; border-color: #f3bd3f; }

.data-grid th, .table-striped th {
  background: #f1f5f9;
  color: #596579;
}
.status-pill, .badge, .badge-perfil, .priority-badge {
  background: #eef5ff;
  color: var(--elite-blue-dark);
}
.bp-admin { background: var(--elite-red); color: #fff; }
.bp-supervisor { background: #e8f2ff; color: var(--elite-blue-dark); }
.bp-colaborador, .bp-leitura { background: #f1f5f9; color: #5b6675; }

.overlay { background: rgba(11,13,16,.62); backdrop-filter: blur(6px); }
.modal {
  border-radius: var(--elite-radius-lg);
  background: #fff;
  color: var(--elite-text);
}
.modal-header, .modal-footer { border-color: #e3e9f1; }
.toast-item {
  border-radius: 14px;
  background: #fff;
  color: var(--elite-text);
  border-color: #d8e2ed;
  box-shadow: var(--elite-shadow);
}

.kanban-coluna, .kanban-card {
  background: #fff;
  border: 1px solid rgba(18,30,48,.1);
  border-radius: 16px;
  box-shadow: var(--elite-shadow-soft);
}

.benefits-report {
  --text: #f4f4f4;
  color: #cbd5e1;
}

@media (max-width: 1100px) {
  .home-dashboards-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finance-filter-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-dashboard-grid { grid-template-columns: 1fr; }
  .finance-wide { grid-column: auto; }
}

@media (max-width: 900px) {
  .home-hero-panel,
  .home-dashboard-board,
  .home-bottom-grid,
  .home-donut-wrap {
    grid-template-columns: 1fr;
  }
  .home-summary-grid,
  .home-dashboards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-bar-row {
    grid-template-columns: 112px minmax(0, 1fr) 42px;
  }
  .finance-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .home-hero-panel { padding: 22px; }
  .home-summary-grid,
  .home-dashboards-grid {
    grid-template-columns: 1fr;
  }
  .home-bar-row {
    grid-template-columns: 1fr 42px;
    gap: 8px;
  }
  .home-bar-row div {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .home-dashboard-card { min-height: 220px; }
  .finance-filter-panel,
  .finance-kpi-grid,
  .finance-report-actions,
  .finance-donut-wrap {
    grid-template-columns: 1fr;
  }
  .finance-tabs {
    position: static;
    overflow-x: auto;
    flex-wrap: nowrap;
  }
}

/* Ajustes finos de UI: tooltips, filtros e modais claros */
.finance-page .finance-panel,
.rh-page .finance-panel,
.purchases-page .finance-panel,
.inventory-page .finance-panel,
.operacional-page .finance-panel,
.forms-page .finance-panel,
.posts-page .finance-panel {
  overflow: visible;
}

.finance-dashboard-grid,
.rh-dashboard-grid,
.purchases-dashboard-grid,
.inventory-dashboard-grid,
.op-dashboard-grid,
.forms-dashboard-grid,
.posts-dashboard-grid {
  overflow: visible;
}

.work-period-filter,
.project-period-filter {
  grid-template-columns: 150px 160px 160px 160px 160px auto;
  margin: 0 0 16px;
}

.posts-dashboard-compact {
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr);
}

.posts-dashboard-compact .finance-wide {
  grid-column: auto;
}

.posts-page .posto360-card {
  overflow: visible;
}

.posts-page .posto360-grid div,
#modal-financeiro .posto360-grid div {
  background: #f8fafc !important;
  border-color: #dfe7f1 !important;
  color: var(--elite-text) !important;
}

.posts-page .posto360-grid b,
#modal-financeiro .posto360-grid b {
  color: #64748b !important;
}

.posts-page .posto360-grid span,
#modal-financeiro .posto360-grid span {
  color: var(--elite-text) !important;
}

.finance-cash-chart,
.inventory-value-chart,
.op-value-chart,
.rh-frequency-chart,
.purchases-chart {
  overflow: visible;
  padding-top: 58px;
  margin-top: 8px;
}

.rh-page .finance-cash-chart {
  padding-top: 58px;
}

.chart-hover-tip {
  bottom: calc(100% + 16px);
  z-index: 120;
  max-width: min(260px, 70vw);
  white-space: normal;
}

.finance-cash-month:first-child .chart-hover-tip,
.inventory-value-col:first-child .chart-hover-tip {
  left: 0;
  transform: translate(0, 4px);
}

.finance-cash-month:first-child:hover .chart-hover-tip,
.inventory-value-col:first-child:hover .chart-hover-tip {
  transform: translate(0, 0);
}

.finance-cash-month:last-child .chart-hover-tip,
.inventory-value-col:last-child .chart-hover-tip {
  left: auto;
  right: 0;
  transform: translate(0, 4px);
}

.finance-cash-month:last-child:hover .chart-hover-tip,
.inventory-value-col:last-child:hover .chart-hover-tip {
  transform: translate(0, 0);
}

.finance-filter-panel,
.finance-toolbar,
.rh-ponto-toolbar {
  align-items: end;
}

.finance-filter-panel label,
.finance-toolbar label,
.rh-ponto-toolbar label,
.finance-form-grid label,
.form-group label {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.finance-filter-panel input,
.finance-filter-panel select,
.finance-toolbar input,
.finance-toolbar select,
.rh-ponto-toolbar input,
.rh-ponto-toolbar select,
.finance-form-grid input,
.finance-form-grid select,
.finance-form-grid textarea,
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  min-height: 42px;
  margin-top: 0;
  padding: 10px 12px;
  border: 1px solid #cbd6e2;
  border-radius: 14px;
  background: #fff;
  color: var(--elite-text);
  outline: 0;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.finance-form-grid textarea,
.form-group textarea {
  min-height: 96px;
  resize: vertical;
  line-height: 1.45;
}

.finance-filter-panel input:focus,
.finance-filter-panel select:focus,
.finance-toolbar input:focus,
.finance-toolbar select:focus,
.rh-ponto-toolbar input:focus,
.rh-ponto-toolbar select:focus,
.finance-form-grid input:focus,
.finance-form-grid select:focus,
.finance-form-grid textarea:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: rgba(0,112,204,.55);
  box-shadow: 0 0 0 4px rgba(0,112,204,.12);
}

.finance-toolbar,
.rh-ponto-toolbar {
  border-color: rgba(18,30,48,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--elite-shadow-soft);
}

.rh-ponto-toolbar {
  grid-template-columns: minmax(170px, .8fr) minmax(260px, 1.4fr) auto;
}

.rh-ponto-toolbar .btn,
.finance-filter-panel .btn,
.finance-toolbar .btn {
  min-height: 42px;
}

#modal-financeiro .finance-detail div {
  border-color: #dfe7f1 !important;
  background: #f8fafc !important;
  color: var(--elite-text) !important;
}

#modal-financeiro .finance-detail span {
  color: #64748b !important;
}

#modal-financeiro .finance-detail strong {
  color: #111827 !important;
}

#modal-financeiro .finance-detail p {
  color: #475569 !important;
}

#modal-financeiro .inventory-modal-actions {
  border: 1px solid #dfe7f1 !important;
  background: linear-gradient(135deg, #ffffff, #f8fafc) !important;
  color: var(--elite-text) !important;
}

#modal-financeiro .inventory-modal-actions > div {
  background: #f8fafc !important;
  border-color: #dfe7f1 !important;
}

#modal-financeiro .inventory-modal-actions span {
  color: #64748b !important;
}

#modal-financeiro .inventory-modal-actions strong {
  color: #111827 !important;
}

/* Correções finais de overflow em gráficos compactos e Postos 360 */
.rh-bars .rh-bar-row,
.purchases-bars .rh-bar-row,
.purchases-bar-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 6px 12px !important;
  align-items: center !important;
}

.rh-bars .rh-bar-row > span,
.purchases-bars .rh-bar-row > span,
.purchases-bar-row > span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rh-bars .rh-bar-row > strong,
.purchases-bars .rh-bar-row > strong,
.purchases-bar-row > strong {
  max-width: 118px !important;
  overflow: hidden !important;
  color: var(--elite-text) !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rh-bars .rh-bar-row > div,
.purchases-bars .rh-bar-row > div,
.purchases-bar-row > div {
  grid-column: 1 / -1 !important;
}

.posts-dashboard-compact {
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr) !important;
}

.posts-dashboard-compact .finance-wide {
  grid-column: auto !important;
}

.posts-page .posto360-grid div,
#modal-financeiro .posto360-grid div {
  background: #f8fafc !important;
  border: 1px solid #dfe7f1 !important;
  color: var(--elite-text) !important;
}

.posts-page .posto360-grid span,
#modal-financeiro .posto360-grid span {
  color: var(--elite-text) !important;
  overflow-wrap: anywhere !important;
}

.work-period-filter,
.project-period-filter {
  grid-template-columns: 150px 160px 160px 160px 160px auto !important;
  margin: 0 0 16px !important;
}
