
/* Névoa 2.0 (27/08/2026): trilho com ícones de traço numa coluna fixa,
   tudo alinhado à esquerda, ativo em azul tonal, seções em rótulo pequeno. */
.shell[data-v-b0ee937a] { min-height: 100vh; background: var(--bg-primary); display: flex; flex-direction: column;
}

/* ── Topo ── */
.topo[data-v-b0ee937a] {
  position: relative; z-index: 1000;
  background: var(--bg-surface); border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 12px; padding: 10px 18px; flex-shrink: 0; min-width: 300px;
}
.topo__burger[data-v-b0ee937a] { display: none; border: 1px solid var(--border); background: transparent; border-radius: 8px; padding: 6px 10px; font-size: 18px; cursor: pointer; color: var(--text-primary);
}
.topo__brand[data-v-b0ee937a] { display: flex; align-items: center; gap: 10px; background: none; border: none; cursor: pointer; padding: 0;
}
.topo__logo[data-v-b0ee937a] {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--primary-soft); color: var(--primary-dark); border: 1px solid var(--primary-line);
  display: grid; place-items: center;
}
.topo__logo svg[data-v-b0ee937a] { width: 20px; height: 20px;
}
.topo__nome[data-v-b0ee937a] {
  font-family: var(--font-heading); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; color: var(--text-primary);
  display: flex; flex-direction: column; line-height: 1.1; text-align: left; white-space: nowrap;
}
.topo__nome small[data-v-b0ee937a] { font: 500 15px var(--font-body); color: var(--text-tertiary);
}
.topo__direita[data-v-b0ee937a] { margin-left: auto; display: flex; align-items: center; gap: 10px;
}
.topo__papel[data-v-b0ee937a] { font-size: 15px; font-weight: 700; color: var(--warn); background: var(--warn-soft); padding: 5px 10px; border-radius: 999px;
}
.topo__quem[data-v-b0ee937a] { font-size: 15px; font-weight: 700; color: var(--text-primary); background: none; border: 1px solid transparent; border-radius: 8px; padding: 7px 10px; cursor: pointer; font-family: var(--font-body);
}
.topo__quem[data-v-b0ee937a]:hover { background: var(--primary-soft); color: var(--primary-dark);
}

/* ── Sino ── */
.sino[data-v-b0ee937a] { position: relative;
}
.sino__btn[data-v-b0ee937a] { position: relative; width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--border); background: transparent; color: var(--text-tertiary); cursor: pointer; display: grid; place-items: center;
}
.sino__btn[data-v-b0ee937a]:hover { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.sino__btn svg[data-v-b0ee937a] { width: 20px; height: 20px;
}
.sino__contador[data-v-b0ee937a] { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--risk); color: #fff; font-size: 12px; font-weight: 700; display: grid; place-items: center;
}
.sino__painel[data-v-b0ee937a] { position: absolute; right: 0; top: 44px; width: 360px; max-width: calc(100vw - 32px); height: auto; max-height: 70vh; overflow: auto; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 12px 32px rgba(23, 28, 36, 0.14); z-index: 1200; display: flex; flex-direction: column; text-align: left;
}
.sino__hdr[data-v-b0ee937a] { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--border-soft); font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--text-primary);
}
.sino__lidos[data-v-b0ee937a] { background: none; border: none; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer; padding: 0;
}
.sino__vazio[data-v-b0ee937a] { margin: 0; padding: 18px 14px; color: var(--text-tertiary); font-size: 15px;
}
.sino__item[data-v-b0ee937a] { display: block; width: 100%; height: auto; min-height: 0; text-align: left; padding: 12px 14px; border: none; border-bottom: 1px solid var(--border-soft); background: transparent; cursor: pointer; font-family: var(--font-body); line-height: 1.4; white-space: normal; overflow: visible;
}
.sino__item b[data-v-b0ee937a], .sino__item span[data-v-b0ee937a], .sino__item small[data-v-b0ee937a] { display: block;
}
.sino__item[data-v-b0ee937a]:last-child { border-bottom: none;
}
.sino__item[data-v-b0ee937a]:hover { background: var(--bg-soft);
}
.sino__item--novo[data-v-b0ee937a] { background: var(--primary-soft);
}
.sino__item b[data-v-b0ee937a] { font-size: 15px; color: var(--text-primary);
}
.sino__item span[data-v-b0ee937a] { font-size: 15px; color: var(--text-tertiary);
}
.sino__item small[data-v-b0ee937a] { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em;
}
.topo__sair[data-v-b0ee937a] {
  padding: 7px 14px; border-radius: 8px; border: 1px solid var(--border); background: transparent;
  cursor: pointer; font: 700 15px var(--font-body); color: var(--text-tertiary);
}
.topo__sair[data-v-b0ee937a]:hover { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}

/* ── Corpo ── */
.shell__corpo[data-v-b0ee937a] { display: flex; flex: 1; min-height: 0;
}

/* ── Trilho ── */
.rail[data-v-b0ee937a] {
  width: 64px; background: var(--bg-surface); border-right: 1px solid var(--border);
  display: flex; flex-direction: column; padding: 12px 10px; gap: 2px; flex-shrink: 0;
  transition: width 0.18s ease; overflow: visible;   /* visible: o tooltip do menu recolhido sai do trilho (28/08) */
}
.rail--exp[data-v-b0ee937a] { width: 240px;
}
.rail__item[data-v-b0ee937a] { overflow: hidden;
}                     /* o texto é cortado no item, não no trilho */
.rail__item[data-v-b0ee937a]:hover { overflow: visible;
}              /* …menos no hover, para o tooltip aparecer */
.rail__itens[data-v-b0ee937a] { display: flex; flex-direction: column; gap: 1px; flex: 1;
}
.rail__sec[data-v-b0ee937a] {
  font-size: 12px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  padding: 14px 10px 6px; white-space: nowrap; opacity: 0; height: 0; padding-top: 0; padding-bottom: 0; overflow: hidden;
  transition: opacity 0.15s;
}
.rail__sec[data-v-b0ee937a]:first-child { padding-top: 0;
}
.rail--exp .rail__sec[data-v-b0ee937a] { opacity: 1; height: auto; padding: 14px 10px 6px;
}
.rail--exp .rail__sec[data-v-b0ee937a]:first-child { padding-top: 2px;
}
.rail__item[data-v-b0ee937a] {
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  border: none; background: transparent; border-radius: 8px;
  padding: 8px 10px; font-weight: 600; font-size: 15px; font-family: var(--font-body);
  color: var(--text-tertiary); white-space: nowrap; width: 100%; text-align: left; cursor: pointer; position: relative;
  transition: background 0.1s, color 0.1s;
}
.rail__item[data-v-b0ee937a]:hover { background: var(--bg-soft); color: var(--text-primary);
}
.rail__item--ativo[data-v-b0ee937a] { background: var(--primary-soft); color: var(--primary-dark); font-weight: 700;
}
.rail__ico[data-v-b0ee937a] { width: 20px; height: 20px; flex-shrink: 0; color: var(--muted);
}
.rail__item:hover .rail__ico[data-v-b0ee937a] { color: var(--text-primary);
}
.rail__item--ativo .rail__ico[data-v-b0ee937a] { color: var(--primary-deep);
}
.rail__tx[data-v-b0ee937a] { opacity: 0; transition: opacity 0.15s; overflow: hidden; text-overflow: ellipsis;
}
.rail:not(.rail--exp) .rail__tx[data-v-b0ee937a] { width: 0;
}      /* recolhido: o rótulo não vaza para fora do trilho */
.rail--exp .rail__tx[data-v-b0ee937a] { opacity: 1;
}
.rail__item[data-tip][data-v-b0ee937a]:hover::after {
  content: attr(data-tip); position: absolute; left: calc(100% + 10px); top: 50%; transform: translateY(-50%);
  background: var(--text-primary); color: #fff; padding: 6px 10px; border-radius: 6px; font-size: 15px; white-space: nowrap; z-index: 2000;
  box-shadow: 0 4px 12px rgba(23, 28, 36, 0.18); pointer-events: none;
}
.rail--exp .rail__item[data-tip][data-v-b0ee937a]:hover::after { display: none;
}
.rail__pin[data-v-b0ee937a] {
  display: flex; align-items: center; gap: 8px; border: none; background: transparent; padding: 8px 10px;
  color: var(--muted); font-size: 15px; cursor: pointer; font-family: var(--font-body); white-space: nowrap; opacity: 0;
}
.rail--exp .rail__pin[data-v-b0ee937a] { opacity: 1;
}
.rail__pin input[data-v-b0ee937a] { accent-color: var(--primary); cursor: pointer;
}
.rail__toggle[data-v-b0ee937a] {
  border: 1px solid var(--border); background: transparent; border-radius: 8px; padding: 8px;
  color: var(--text-tertiary); font-weight: 700; display: flex; align-items: center; gap: 10px; justify-content: center;
  white-space: nowrap; cursor: pointer; font-size: 15px; font-family: var(--font-body);
}
.rail__toggle[data-v-b0ee937a]:hover { background: var(--bg-soft);
}
.rail__toggle-tx[data-v-b0ee937a] { display: none;
}
.rail--exp .rail__toggle-tx[data-v-b0ee937a] { display: inline;
}
.rail__toggle > span[data-v-b0ee937a]:first-child { width: 20px;
}

/* ── Gaveta mobile ── */
.drawer[data-v-b0ee937a] { position: absolute; inset: 0; background: rgba(23, 28, 36, 0.42); display: none; z-index: 8;
}
.drawer.open[data-v-b0ee937a] { display: block;
}
.drawer__pane[data-v-b0ee937a] { width: 280px; height: 100%; background: var(--bg-surface); padding: 12px 10px; display: flex; flex-direction: column; gap: 1px; box-shadow: 0 10px 30px rgba(23, 28, 36, 0.15);
}
.drawer__sec[data-v-b0ee937a] { font-size: 12px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 14px 10px 6px;
}
.drawer__item[data-v-b0ee937a] {
  display: flex; align-items: center; gap: 10px; width: 100%; border: none; background: transparent; border-radius: 8px;
  padding: 10px; font-weight: 600; color: var(--text-tertiary); text-align: left; cursor: pointer; font-size: 15px; font-family: var(--font-body);
}
.drawer__item[data-v-b0ee937a]:hover { background: var(--bg-soft); color: var(--text-primary);
}
.drawer__item--ativo[data-v-b0ee937a] { background: var(--primary-soft); color: var(--primary-dark); font-weight: 700;
}
.drawer__item--ativo .rail__ico[data-v-b0ee937a] { color: var(--primary-deep);
}

/* ── Main ── */
.shell__main[data-v-b0ee937a] { flex: 1; min-width: 0;
}
@media (max-width: 768px) {
.rail[data-v-b0ee937a] { display: none;
}
.topo__burger[data-v-b0ee937a] { display: block;
}
.drawer[data-v-b0ee937a] { position: fixed;
}
.drawer__pane[data-v-b0ee937a] { position: absolute; left: 0; top: 0; z-index: 10;
}
}

.j-avatar[data-v-af9a779e] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: var(--primary-soft);
  color: var(--primary-deep);
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
  overflow: hidden;
}
.j-avatar__image[data-v-af9a779e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.j-avatar__initials[data-v-af9a779e] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.j-stat[data-v-fd52579a] {
  background: var(--bg-soft); border: 1px solid var(--border-soft); border-radius: 10px;
  padding: 14px 16px; min-width: 0;
}
.j-stat__label[data-v-fd52579a] {
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--muted); white-space: nowrap;
}
.j-stat__value[data-v-fd52579a] {
  font-family: var(--font-heading); font-size: 26px; font-weight: 600; letter-spacing: -0.02em;
  margin-top: 6px; color: var(--text-primary); line-height: 1.15; font-variant-numeric: tabular-nums;
}
.j-stat__value--brand[data-v-fd52579a] { color: var(--primary-dark);
}
.j-stat__value--ok[data-v-fd52579a]    { color: var(--ok);
}
.j-stat__value--warn[data-v-fd52579a]  { color: var(--warn);
}
.j-stat__value--bad[data-v-fd52579a]   { color: var(--risk);
}
.j-stat__delta[data-v-fd52579a] { font-size: 15px; font-weight: 700; margin-top: 4px;
}
.j-stat__delta--up[data-v-fd52579a]   { color: var(--risk);
}
.j-stat__delta--down[data-v-fd52579a] { color: var(--ok);
}
.j-stat__delta--neutral[data-v-fd52579a] { color: var(--text-tertiary);
}
.j-stat__sub[data-v-fd52579a] { font-size: 15px; color: var(--text-tertiary); margin-top: 2px;
}

/* Névoa 2.0: superfície branca, hairline, raio 12, sem "pulo" no hover. */
.j-card[data-v-a45bd952] {
  background-color: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px 22px;
  box-shadow: 0 1px 2px rgba(23, 28, 36, 0.04);
}
.j-card__hdr[data-v-a45bd952] {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  margin-bottom: 16px;
}
.j-card__hdr-text[data-v-a45bd952] { min-width: 0;
}
.j-card__title[data-v-a45bd952] {
  margin: 0; font-family: var(--font-heading); font-size: 17px; font-weight: 600;
  letter-spacing: -0.01em; color: var(--text-primary); line-height: 1.3;
}
.j-card__subtitle[data-v-a45bd952] { margin: 2px 0 0; font-size: 15px; color: var(--text-tertiary); line-height: 1.45;
}
.j-card__hdr-actions[data-v-a45bd952] { flex-shrink: 0; display: flex; gap: 8px;
}
.j-card--alert[data-v-a45bd952] { border-left: 3px solid currentColor;
}
.j-card--alert-success[data-v-a45bd952] { color: var(--ok);
}
.j-card--alert-warning[data-v-a45bd952] { color: var(--warn);
}
.j-card--alert-error[data-v-a45bd952] { color: var(--risk);
}
.j-card--alert-info[data-v-a45bd952] { color: var(--primary);
}

.j-button[data-v-a5605ce9] {
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-semibold);
  border: 1px solid;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color var(--transition-fast),
              color var(--transition-fast),
              border-color var(--transition-fast),
              transform var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  user-select: none;
}
.j-button[data-v-a5605ce9]:active:not(:disabled) {
  transform: scale(0.98);
}
.j-button[data-v-a5605ce9]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Size variants */
.j-button--sm[data-v-a5605ce9] {
  font-size: 13.5px;
  padding: 8px 14px;
}
.j-button--md[data-v-a5605ce9] {
  font-size: 14px;
  padding: 10px 16px;
}
.j-button--lg[data-v-a5605ce9] {
  font-size: 16px;
  padding: 12px 20px;
}

/* Color variants */
.j-button--primary[data-v-a5605ce9] {
  background-color: var(--primary-soft);
  color: var(--primary-deep);
  border-color: var(--primary-line);
}
.j-button--primary[data-v-a5605ce9]:hover:not(:disabled) {
  background-color: #D5E8F3;
  border-color: #B5CEE0;
}
.j-button--secondary[data-v-a5605ce9] {
  background-color: var(--bg-card);
  color: var(--text-tertiary);
  border-color: var(--border-primary);
}
.j-button--secondary[data-v-a5605ce9]:hover:not(:disabled) {
  background-color: var(--bg-light);
  border-color: var(--primary-line);
}
.j-button--alert[data-v-a5605ce9] {
  background-color: var(--warn-soft);
  color: var(--warn);
  border-color: var(--warn-soft);
}
.j-button--alert[data-v-a5605ce9]:hover:not(:disabled) {
  background-color: #EFE4D0;
  border-color: #D4BFAA;
}
/* ghost: ação discreta dentro de um card (link em botão) */
.j-button--ghost[data-v-a5605ce9] {
  background-color: transparent;
  color: var(--primary-deep);
  border-color: transparent;
}
.j-button--ghost[data-v-a5605ce9]:hover:not(:disabled) {
  background-color: var(--primary-soft);
}
/* danger: tonal terroso — nunca vermelho cheio */
.j-button--danger[data-v-a5605ce9] {
  background-color: var(--risk-soft);
  color: var(--risk);
  border-color: transparent;
}
.j-button--danger[data-v-a5605ce9]:hover:not(:disabled) {
  background-color: #EFD5D0;
}

.j-badge[data-v-7974ac5b] {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 10px; border-radius: var(--radius-full, 999px);
  font-family: var(--font-body);
  font-size: 15px; font-weight: 700; letter-spacing: 0.01em;
  white-space: nowrap;
}
.j-badge__dot[data-v-7974ac5b] {
  width: 6px; height: 6px; border-radius: 50%; background: currentColor;
}
.j-badge--ok[data-v-7974ac5b]      { background: var(--ok-soft); color: var(--ok);
}
.j-badge--warn[data-v-7974ac5b]    { background: var(--warn-soft); color: var(--warn);
}
.j-badge--bad[data-v-7974ac5b]     { background: var(--risk-soft); color: var(--risk);
}
.j-badge--info[data-v-7974ac5b]    { background: var(--primary-soft); color: var(--primary-deep);
}
.j-badge--brand[data-v-7974ac5b]   { background: var(--primary-soft); color: var(--primary-deep); font-weight: 800;
}
.j-badge--neutral[data-v-7974ac5b] { background: var(--bg-soft); color: var(--text-tertiary); border: 1px solid var(--border);
}

.j-empty[data-v-f0919ecc] {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-tertiary);
  background: var(--bg-surface, #fff);
  border: 1px dashed var(--border);
  border-radius: var(--radius-md, 14px);
  font-size: 15px;
}
.j-empty__icon[data-v-f0919ecc] { font-size: 40px; margin-bottom: 10px;
}
.j-empty__msg[data-v-f0919ecc] { font-weight: 500;
}
.j-empty__action[data-v-f0919ecc] { margin-top: 14px;
}
.j-empty--error[data-v-f0919ecc] {
  color: var(--risk);
  border-color: rgba(169, 121, 123, 0.4);
  background: var(--risk-soft);
}
.j-empty--loading[data-v-f0919ecc] {
  color: var(--primary-deep);
  border-style: solid;
}

/* Névoa 2.0 (27/08/2026): grafite legível, "/" visível, a página atual em tinta
   forte; sem caixa alta nem tracking (era isso que apagava o breadcrumb). */
.breadcrumb[data-v-b9c1f814] {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--border);
}
.breadcrumb__back[data-v-b9c1f814] {
  background: none; border: 1px solid var(--border); color: var(--text-tertiary);
  font-family: var(--font-body); font-size: 15px; font-weight: 700; cursor: pointer;
  padding: 5px 10px; border-radius: 8px; white-space: nowrap;
}
.breadcrumb__back[data-v-b9c1f814]:hover { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.breadcrumb__crumbs[data-v-b9c1f814] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 15px; font-weight: 600; color: var(--text-tertiary);
}
.breadcrumb__item[data-v-b9c1f814] { display: flex; align-items: center; gap: 8px;
}
.breadcrumb__item--atual[data-v-b9c1f814] { color: var(--text-primary); font-weight: 700;
}
.breadcrumb__sep[data-v-b9c1f814] { color: var(--muted); font-weight: 400;
}

/* Névoa 2.0 (27/08/2026): tiles tonais, hairlines, Instrument Sans nos números,
   nada de gradiente nem azul cheio. */
.dashboard[data-v-a6043ec8] { max-width: none; padding: 28px 28px 40px;
}

/* cabeçalho: identidade + 4 tiles */
.header-card[data-v-a6043ec8] {
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px;
  padding: 20px 22px; margin-bottom: 16px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center;
}
.header-card__title[data-v-a6043ec8] { font-family: var(--font-heading); font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--text-primary); margin: 0;
}
.header-card__subtitle[data-v-a6043ec8] { font-size: 15px; color: var(--text-tertiary); margin: 2px 0 0;
}
.header-card__kpis[data-v-a6043ec8] { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 10px;
}
.kpi-item[data-v-a6043ec8] { background: var(--bg-soft); border: 1px solid var(--border-soft); border-radius: 10px; padding: 12px 16px; min-width: 0;
}
.kpi-item__value[data-v-a6043ec8] { font-family: var(--font-heading); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: var(--text-primary); line-height: 1.15; font-variant-numeric: tabular-nums;
}
.kpi-item__label[data-v-a6043ec8] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin-top: 4px; white-space: nowrap;
}
@media (max-width: 1024px) {
.header-card[data-v-a6043ec8] { grid-template-columns: auto 1fr;
}
.header-card__kpis[data-v-a6043ec8] { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr);
}
}

/* aviso: tonal areia, contador em pílula */
.alert-box[data-v-a6043ec8] {
  display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center;
  padding: 14px 18px; margin-bottom: 16px; border-radius: 10px;
  border: 1px solid var(--warn-soft); background: var(--warn-soft);
}
.alert-box__title[data-v-a6043ec8] { font-size: 15px; font-weight: 700; color: var(--warn); margin: 0 0 2px;
}
.alert-box__text[data-v-a6043ec8] { font-size: 15px; color: var(--text-tertiary); margin: 0;
}
.alert-box__action[data-v-a6043ec8] {
  padding: 8px 14px; font-size: 15px; font-weight: 700; font-family: var(--font-body);
  border: 1px solid var(--warn); background: transparent; color: var(--warn); border-radius: 8px; cursor: pointer;
}
.alert-box__action[data-v-a6043ec8]:hover { background: rgba(255, 255, 255, 0.5);
}

/* controles: segmento de mês + pílulas */
.controls[data-v-a6043ec8] { display: flex; gap: 12px; align-items: center; margin: 0 0 16px; padding: 0 4px; flex-wrap: wrap;
}
.controls__month[data-v-a6043ec8] { display: inline-flex; align-items: center; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.month-nav__btn[data-v-a6043ec8] { width: 32px; height: 32px; border-radius: 8px; border: none; background: transparent; color: var(--primary-deep); font-size: 16px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.month-nav__btn[data-v-a6043ec8]:hover { background: var(--primary-soft);
}
.month-nav__display[data-v-a6043ec8] { font-family: var(--font-heading); font-size: 16px; font-weight: 600; color: var(--text-primary); min-width: 120px; text-align: center;
}
.controls__filters[data-v-a6043ec8] { display: flex; gap: 6px; flex-wrap: wrap;
}
.filter-chip[data-v-a6043ec8] {
  padding: 7px 14px; font-size: 15px; font-weight: 700; font-family: var(--font-body);
  border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); border-radius: 999px; cursor: pointer;
}
.filter-chip[data-v-a6043ec8]:hover { border-color: var(--primary-line); color: var(--primary-deep);
}
.filter-chip--active[data-v-a6043ec8] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-dark);
}

/* grade */
.content-grid[data-v-a6043ec8] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.content-grid__card[data-v-a6043ec8] { grid-column: span 1;
}
.content-grid__card[data-v-a6043ec8]:first-child { grid-column: span 3;
}
@media (max-width: 1200px) {
.content-grid[data-v-a6043ec8] { grid-template-columns: repeat(2, 1fr);
}
.content-grid__card[data-v-a6043ec8]:first-child { grid-column: span 2;
}
}
@media (max-width: 768px) {
.content-grid[data-v-a6043ec8] { grid-template-columns: 1fr;
}
.content-grid__card[data-v-a6043ec8], .content-grid__card[data-v-a6043ec8]:first-child { grid-column: span 1;
}
}

/* listas de jornadas */
.j-list[data-v-a6043ec8] { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px;
}
.j-list__item[data-v-a6043ec8] {
  display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center;
  padding: 10px 10px; border-radius: 10px; cursor: pointer; border: 1px solid transparent;
}
.j-list__item[data-v-a6043ec8]:hover { background: var(--primary-soft);
}
.j-list__avatar[data-v-a6043ec8] {
  width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  font-family: var(--font-heading); font-weight: 600; font-size: 15px;
  background: var(--bg-soft); color: var(--text-tertiary); border: 1px solid var(--border);
}
.j-list__avatar--on[data-v-a6043ec8] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.j-list__name[data-v-a6043ec8] { font-weight: 700; font-size: 15px; color: var(--text-primary);
}
.j-list__meta[data-v-a6043ec8] { font-size: 15px; color: var(--text-tertiary); margin-top: 1px; font-variant-numeric: tabular-nums;
}

/* como está a operação */
.op[data-v-a6043ec8] { display: grid; gap: 22px;
}
.op__kpis[data-v-a6043ec8] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
@media (max-width: 720px) {
.op__kpis[data-v-a6043ec8] { grid-template-columns: repeat(2, 1fr);
}
}
.op__grafico-titulo[data-v-a6043ec8] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin-bottom: 10px;
}
.op__svg[data-v-a6043ec8] { width: 100%; height: auto; max-height: 200px; display: block;
}
.op__eixo[data-v-a6043ec8] { stroke: var(--border); stroke-width: 1;
}
.op__barra[data-v-a6043ec8] { fill: var(--primary-soft); stroke: var(--primary-line); stroke-width: 1;
}
.op__barra--atual[data-v-a6043ec8] { fill: var(--primary); stroke: var(--primary);
}
.op__valor[data-v-a6043ec8] { font-size: 13px; font-weight: 700; fill: var(--text-primary); font-family: var(--font-heading);
}
.op__rotulo[data-v-a6043ec8] { font-size: 12px; fill: var(--muted); font-family: var(--font-body);
}
.op__legenda[data-v-a6043ec8] { font-size: 15px; color: var(--text-tertiary); margin-top: 8px; line-height: 1.5;
}
.op__regras[data-v-a6043ec8] { display: grid; gap: 2px;
}
.op__regra[data-v-a6043ec8] { display: grid; grid-template-columns: 220px 1fr 40px; gap: 12px; align-items: center; font-size: 15px; padding: 9px 0; border-bottom: 1px solid var(--border-soft);
}
.op__regra[data-v-a6043ec8]:last-child { border-bottom: none;
}
@media (max-width: 720px) {
.op__regra[data-v-a6043ec8] { grid-template-columns: 1fr 40px;
}
.op__regra-bar[data-v-a6043ec8] { display: none;
}
}
.op__regra-nome[data-v-a6043ec8] { color: var(--text-primary); font-weight: 600;
}
.op__regra-bar[data-v-a6043ec8] { height: 8px; background: var(--bg-soft); border: 1px solid var(--border-soft); border-radius: 999px; overflow: hidden;
}
.op__regra-bar span[data-v-a6043ec8] { display: block; height: 100%; background: var(--warn); border-radius: 999px; opacity: 0.75;
}
.op__regra b[data-v-a6043ec8] { text-align: right; font-weight: 700; color: var(--text-primary); font-variant-numeric: tabular-nums;
}

.j-input[data-v-0a9e4a76] { display: block;
}
.j-input__label[data-v-0a9e4a76] {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 6px;
}
.j-input__required[data-v-0a9e4a76] { color: var(--risk); margin-left: 2px;
}
.j-input__field[data-v-0a9e4a76] {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  font-family: var(--font-body);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 12px);
  background: var(--bg-surface, #fff);
  color: var(--text-primary);
  transition: all var(--transition-fast, 0.2s ease);
  min-height: var(--button-height, 48px);
}
.j-input__field[data-v-0a9e4a76]:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-soft);
}
.j-input__field[data-v-0a9e4a76]::placeholder { color: var(--text-faint);
}
.j-input__field--error[data-v-0a9e4a76] { border-color: var(--risk);
}
.j-input__error[data-v-0a9e4a76] {
  display: block;
  color: var(--risk);
  font-size: 15px;
  margin-top: 4px;
  font-weight: 600;
}

.j-select[data-v-2ac7460d] { display: block;
}
.j-select__label[data-v-2ac7460d] {
  display: block; font-size: 15px; font-weight: 700;
  color: var(--text-primary); margin-bottom: 6px;
}
.j-select__required[data-v-2ac7460d] { color: var(--risk); margin-left: 2px;
}
.j-select__field[data-v-2ac7460d] {
  width: 100%; padding: 10px 14px; font-size: 15px;
  font-family: var(--font-body);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 12px);
  background: var(--bg-surface, #fff);
  color: var(--text-primary);
  min-height: var(--button-height, 48px);
  cursor: pointer;
}
.j-select__field[data-v-2ac7460d]:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-soft);
}
.j-select__field--error[data-v-2ac7460d] { border-color: var(--risk);
}
.j-select__error[data-v-2ac7460d] {
  display: block; color: var(--risk);
  font-size: 15px; margin-top: 4px; font-weight: 600;
}

.j-kpi[data-v-1fd73909] {
  display: flex; flex-direction: column; gap: 6px;
  padding: 14px 16px; border-radius: 10px;
  background: var(--bg-soft); border: 1px solid var(--border-soft);
  min-width: 0;
}
.j-kpi__label[data-v-1fd73909] {
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--muted); font-family: var(--font-body); white-space: nowrap;
}
.j-kpi__value[data-v-1fd73909] {
  font-family: var(--font-heading); font-weight: 600; font-size: 26px; line-height: 1.15;
  letter-spacing: -0.02em; color: var(--text-primary); font-variant-numeric: tabular-nums;
}
.j-kpi__sub[data-v-1fd73909] { font-size: 15px; color: var(--text-tertiary); font-family: var(--font-body);
}
.j-kpi--success[data-v-1fd73909] { background: var(--ok-soft); border-color: transparent;
}
.j-kpi--success .j-kpi__value[data-v-1fd73909] { color: var(--ok);
}
.j-kpi--warning[data-v-1fd73909] { background: var(--warn-soft); border-color: transparent;
}
.j-kpi--warning .j-kpi__value[data-v-1fd73909] { color: var(--warn);
}
.j-kpi--error[data-v-1fd73909] { background: var(--risk-soft); border-color: transparent;
}
.j-kpi--error .j-kpi__value[data-v-1fd73909] { color: var(--risk);
}

.j-pill[data-v-1f0dec2b] {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  border-radius: 999px; padding: 7px 14px;
  font-weight: 700; font-size: 15px; line-height: 1.2; font-family: var(--font-body);
  white-space: nowrap; user-select: none; border: 1px solid transparent;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.j-pill--neutral[data-v-1f0dec2b] { background: var(--bg-surface); color: var(--text-tertiary); border-color: var(--border);
}
.j-pill--neutral[data-v-1f0dec2b]:hover { border-color: var(--primary-line); color: var(--primary-deep);
}
.j-pill--info[data-v-1f0dec2b]    { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.j-pill--success[data-v-1f0dec2b] { background: var(--ok-soft); color: var(--ok); border-color: transparent;
}
.j-pill--alert[data-v-1f0dec2b]   { background: var(--warn-soft); color: var(--warn); border-color: transparent;
}
.j-pill--error[data-v-1f0dec2b]   { background: var(--risk-soft); color: var(--risk); border-color: transparent;
}

.j-alert-box[data-v-de78ee98] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-lg);
  border-left: 4px solid currentColor;
  padding: 18px 22px;
  background-color: var(--bg-card);
  border-radius: var(--radius-md);
  font-family: var(--font-family-body);
}
.j-alert-box__content[data-v-de78ee98] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-lg);
  flex: 1;
}
.j-alert-box__icon[data-v-de78ee98] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 16px;
}
.j-alert-box__text[data-v-de78ee98] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.j-alert-box__title[data-v-de78ee98] {
  font-weight: var(--font-weight-semibold);
  font-size: 14px;
  line-height: var(--line-height-tight);
}
.j-alert-box__description[data-v-de78ee98] {
  font-size: 13px;
  line-height: var(--line-height-normal);
  color: var(--text-secondary);
}
.j-alert-box__actions[data-v-de78ee98] {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-shrink: 0;
}

/* Variants */
.j-alert-box--success[data-v-de78ee98] {
  color: var(--ok);
  border-left-color: var(--ok);
}
.j-alert-box--success .j-alert-box__icon[data-v-de78ee98] {
  background-color: var(--ok-soft);
  color: var(--ok);
}
.j-alert-box--warning[data-v-de78ee98] {
  color: var(--warn);
  border-left-color: var(--warn);
}
.j-alert-box--warning .j-alert-box__icon[data-v-de78ee98] {
  background-color: var(--warn-soft);
  color: var(--warn);
}
.j-alert-box--error[data-v-de78ee98] {
  color: var(--risk);
  border-left-color: var(--risk);
}
.j-alert-box--error .j-alert-box__icon[data-v-de78ee98] {
  background-color: #FEE2E2;
  color: var(--risk);
}
.j-alert-box--info[data-v-de78ee98] {
  color: var(--primary);
  border-left-color: var(--primary);
}
.j-alert-box--info .j-alert-box__icon[data-v-de78ee98] {
  background-color: #DBEAFE;
  color: var(--primary);
}

.confirma-tela[data-v-3d9ccc6c] { max-width: 640px; margin: 0 auto; padding: 32px 20px;
}
.confirma-tela__card[data-v-3d9ccc6c] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 18px);
  padding: 32px;
  display: flex; flex-direction: column; gap: 14px;
  box-shadow: 0 12px 40px rgba(30, 41, 59, 0.08);
}
.confirma-tela__icone[data-v-3d9ccc6c] { font-size: 40px;
}
.confirma-tela__titulo[data-v-3d9ccc6c] {
  font-family: var(--font-heading);
  font-size: 26px; margin: 0;
  color: var(--text-primary);
}
.confirma-tela__sub[data-v-3d9ccc6c] { margin: -6px 0 0; font-size: 15px; color: var(--text-tertiary);
}
.confirma-tela__itens[data-v-3d9ccc6c] { margin: 8px 0 0; display: grid; gap: 8px;
}
.confirma-tela__item[data-v-3d9ccc6c] {
  display: grid; grid-template-columns: 160px 1fr; gap: 12px;
  padding: 10px 14px;
  background: var(--bg-primary);
  border-radius: var(--radius-sm, 12px);
  align-items: center;
}
.confirma-tela__item dt[data-v-3d9ccc6c] {
  font-size: 15px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--text-tertiary);
}
.confirma-tela__item dd[data-v-3d9ccc6c] { margin: 0; font-size: 16px; font-weight: 700; color: var(--text-primary);
}
.confirma-tela__aviso[data-v-3d9ccc6c] {
  background: var(--warn-soft); color: var(--warn);
  border-radius: var(--radius-sm, 12px);
  padding: 12px 14px; font-size: 15px; font-weight: 700;
}
.confirma-tela__acoes[data-v-3d9ccc6c] {
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-top: 10px;
}
@media (max-width: 560px) {
.confirma-tela__acoes[data-v-3d9ccc6c] { grid-template-columns: 1fr;
}
.confirma-tela__item[data-v-3d9ccc6c] { grid-template-columns: 1fr; gap: 2px;
}
}

.page[data-v-067c1ec6] { max-width: none; padding: 28px 28px 40px;
}
.voltar[data-v-067c1ec6] {
  background: none; border: none; cursor: pointer;
  font-family: var(--font-body);
  font-size: 15px; font-weight: 700;
  color: var(--primary-deep);
  padding: 0 0 12px;
}
.page-hdr[data-v-067c1ec6] { margin-bottom: 20px;
}
.page-hdr__crumb[data-v-067c1ec6] { font-size: 15px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--primary-deep); font-weight: 800; margin-bottom: 4px;
}
.page-hdr__title[data-v-067c1ec6] { font-family: var(--font-heading); font-size: 28px; margin: 0;
}

/* dash (resumo da operação) — Névoa 2.0 */
.dash-filtros[data-v-067c1ec6] { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; align-items: flex-end;
}
.filtro-nome[data-v-067c1ec6] { flex: 1 1 auto; min-width: 250px; max-width: 420px;
}
.filtro-datas[data-v-067c1ec6] { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end;
}
.filtro-datas[data-v-067c1ec6] .input-field { flex: 1; min-width: 140px;
}
.dash-filtros[data-v-067c1ec6] .input-field { margin-bottom: 0;
}
.dash-kpis[data-v-067c1ec6] { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 16px;
}
.dash-lista[data-v-067c1ec6] { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px;
}
.dash-item[data-v-067c1ec6] {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--border-soft); border-radius: 10px; cursor: pointer; background: var(--bg-soft);
}
.dash-item[data-v-067c1ec6]:hover { border-color: var(--primary-line); background: var(--primary-soft);
}
.dash-item__farol[data-v-067c1ec6] { width: 10px; height: 10px; border-radius: 50%; background: var(--border);
}
.dash-item__farol--on[data-v-067c1ec6] { background: var(--ok); box-shadow: 0 0 0 4px var(--ok-soft);
}
.dash-item__info b[data-v-067c1ec6] { display: block; font-size: 15px; color: var(--text-primary);
}
.dash-item__info span[data-v-067c1ec6] { font-size: 15px; color: var(--text-tertiary); font-variant-numeric: tabular-nums;
}
.dash-item__ir[data-v-067c1ec6] { color: var(--primary-deep); font-weight: 700; font-size: 15px;
}
.dash-item__horas[data-v-067c1ec6] { font-family: var(--font-heading); font-weight: 600; color: var(--primary-dark); font-variant-numeric: tabular-nums; font-size: 16px;
}
.motorista-grid[data-v-067c1ec6] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px;
}
.motorista-card[data-v-067c1ec6] {
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px; cursor: pointer;
  display: flex; flex-direction: column; gap: 10px;
}
.motorista-card[data-v-067c1ec6]:hover { border-color: var(--primary-line); background: var(--bg-soft);
}
.motorista-card__header[data-v-067c1ec6] { display: flex; gap: 12px; align-items: center;
}
.motorista-card__avatar[data-v-067c1ec6] {
  width: 44px; height: 44px; border-radius: 10px; background: var(--primary-soft); color: var(--primary-dark);
  display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-weight: 600; font-size: 16px;
  flex-shrink: 0; position: relative;
}
.motorista-card__farol[data-v-067c1ec6] { position: absolute; right: -4px; bottom: -4px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--bg-surface); background: var(--ok);
}
.motorista-card__farol.farol--ok[data-v-067c1ec6] { background: var(--ok);
}
.motorista-card__farol.farol--warn[data-v-067c1ec6] { background: var(--warn);
}
.motorista-card__farol.farol--risk[data-v-067c1ec6] { background: var(--risk);
}
.motorista-card__info[data-v-067c1ec6] { flex: 1; min-width: 0;
}
.motorista-card__nome[data-v-067c1ec6] { font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--text-primary); word-break: break-word; margin-bottom: 2px;
}
.motorista-card__meta[data-v-067c1ec6] { font-size: 15px; color: var(--text-tertiary); display: flex; gap: 6px; align-items: center;
}
.motorista-card__status-dot[data-v-067c1ec6] { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); flex-shrink: 0;
}
.motorista-card__stats[data-v-067c1ec6] { display: flex; justify-content: space-between; font-size: 15px; padding-top: 8px; border-top: 1px solid var(--border-soft);
}
.stat[data-v-067c1ec6] { text-align: left;
}
.stat__value[data-v-067c1ec6] { font-family: var(--font-heading); font-weight: 600; color: var(--text-primary); font-size: 17px; font-variant-numeric: tabular-nums;
}
.stat__label[data-v-067c1ec6] { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 1px;
}

/* ── Névoa 2.0 (27/08/2026): tonal em vez de azul cheio, hairlines, números
   em Instrument Sans tabular. O dono achou a tela feia — esta é a referência. */
.alert-section[data-v-067c1ec6] { margin-bottom: 16px;
}
.empty-actions[data-v-067c1ec6] { margin-top: 16px;
}
.spreadsheet-section[data-v-067c1ec6] { margin-bottom: 32px;
}

/* cockpit */
.cockpit-section[data-v-067c1ec6] { margin-bottom: 16px;
}
.cockpit-layout[data-v-067c1ec6] { display: flex; flex-direction: column; gap: 20px;
}
.cockpit-identity[data-v-067c1ec6] { display: flex; gap: 16px; align-items: center;
}
.cockpit-text[data-v-067c1ec6] { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.cockpit-title[data-v-067c1ec6] {
  margin: 0; font-family: var(--font-heading); font-size: 24px; font-weight: 600;
  line-height: 1.2; letter-spacing: -0.02em; color: var(--text-primary);
  text-transform: none;
}
.cockpit-subtitle[data-v-067c1ec6] { margin: 0; font-size: 15px; color: var(--text-tertiary); font-family: var(--font-body); font-variant-numeric: tabular-nums;
}
.cockpit-kpis[data-v-067c1ec6] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; width: 100%;
}
.cockpit-loading[data-v-067c1ec6] { min-height: 96px; display: flex; align-items: center; justify-content: center;
}

/* controles: uma linha só, sem caixa cinza */
.controls-section[data-v-067c1ec6] {
  display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
  margin: 0 0 14px; padding: 0 4px;
}
.controls-month[data-v-067c1ec6] {
  display: inline-flex; align-items: center; gap: 2px;
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.btn-month-nav[data-v-067c1ec6] {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 8px; border: none; background: transparent;
  font-family: var(--font-body); font-size: 18px; font-weight: 700; color: var(--primary-deep); cursor: pointer;
}
.btn-month-nav[data-v-067c1ec6]:hover { background: var(--primary-soft);
}
.month-label[data-v-067c1ec6] {
  font-family: var(--font-heading); font-size: 16px; font-weight: 600; color: var(--text-primary);
  min-width: 84px; text-align: center; padding: 0 4px;
}
.controls-filters[data-v-067c1ec6] { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; align-items: center;
}
.filter-pill[data-v-067c1ec6] { cursor: pointer;
}
.btn-new-journey[data-v-067c1ec6] { flex-shrink: 0; margin-left: auto;
}

/* planilha */
.tbl-scroll[data-v-067c1ec6] { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px;
}
.planilha[data-v-067c1ec6] { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 1140px; background: var(--bg-surface);
}
.planilha thead th[data-v-067c1ec6] {
  position: sticky; top: 0; z-index: 2;
  background: var(--bg-soft); color: var(--text-tertiary);
  font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 11px 10px; text-align: right; white-space: nowrap;
  border-bottom: 1px solid var(--border);
}
.planilha thead th.th-dia[data-v-067c1ec6], .planilha thead th[data-v-067c1ec6]:nth-child(2), .planilha thead th[data-v-067c1ec6]:nth-child(3) { text-align: left;
}
.planilha thead th.clt[data-v-067c1ec6] { color: var(--primary-dark); box-shadow: inset 0 2px 0 var(--primary-line);
}
.planilha tbody td[data-v-067c1ec6] {
  padding: 10px 10px; border-bottom: 1px solid var(--border-soft);
  white-space: nowrap; font-variant-numeric: tabular-nums; font-size: 15px; color: var(--text-primary);
  text-align: right;
}
.planilha tbody td[data-v-067c1ec6]:nth-child(1), .planilha tbody td[data-v-067c1ec6]:nth-child(2), .planilha tbody td[data-v-067c1ec6]:nth-child(3) { text-align: left;
}
.planilha tbody td:first-child b[data-v-067c1ec6] { font-weight: 700;
}
.planilha tbody td[data-v-067c1ec6]:first-child { color: var(--text-tertiary);
}
.planilha tbody td:first-child b[data-v-067c1ec6] { color: var(--text-primary); margin-right: 4px;
}
.planilha tbody tr:last-child td[data-v-067c1ec6] { border-bottom: none;
}
.planilha tr.dia[data-v-067c1ec6] { cursor: pointer;
}
.planilha tr.dia:hover td[data-v-067c1ec6] { background: var(--primary-soft);
}
.planilha tr.folga td[data-v-067c1ec6] { color: var(--muted);
}
.folga-label[data-v-067c1ec6] { font-style: italic; font-weight: 500; text-align: left !important;
}
.folga-label--feriado[data-v-067c1ec6] { color: var(--warn); font-weight: 700; font-style: normal;
}
.feriado-tag[data-v-067c1ec6] { margin-left: 4px; cursor: help;
}
.planilha tr.aberta-agora td[data-v-067c1ec6]:first-child { box-shadow: inset 3px 0 0 var(--ok);
}

/* selos de célula: tonal com hairline, nunca fundo cheio */
.cel-warn[data-v-067c1ec6], .cel-risk[data-v-067c1ec6], .cel-ok[data-v-067c1ec6] {
  display: inline-block; padding: 3px 9px; border-radius: 999px; font-weight: 700; font-size: 15px; line-height: 1.2;
  border: 1px solid transparent;
}
.cel-warn[data-v-067c1ec6] { background: var(--warn-soft); color: var(--warn);
}
.cel-risk[data-v-067c1ec6] { background: var(--risk-soft); color: var(--risk);
}
.cel-ok[data-v-067c1ec6]   { background: var(--ok-soft); color: var(--ok);
}
.neg[data-v-067c1ec6] { color: var(--risk); font-weight: 700;
}
.linha-2[data-v-067c1ec6] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.erro-boletim[data-v-067c1ec6] { color: var(--risk); font-size: 13.5px;
}
.form-card[data-v-067c1ec6] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 18px);
  padding: 28px; max-width: 520px;
  display: grid; gap: 14px;
}

.timeline[data-v-2362f852] { display: flex; flex-direction: column; gap: 8px;
}
.timeline__track[data-v-2362f852] {
  position: relative; height: 32px;
  background: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 12px);
  overflow: hidden;
}
.tl-block[data-v-2362f852] {
  position: absolute; top: 0; bottom: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 15px; font-weight: 700;
  overflow: hidden; padding: 0 4px;
}
.tl-block--dir[data-v-2362f852]  { background: var(--primary);
}
.tl-block--meal[data-v-2362f852] { background: var(--ok);
}
.tl-block--wait[data-v-2362f852] { background: var(--muted);
}
.tl-block--rest[data-v-2362f852] { background: var(--primary);
}
.tl-block--stop[data-v-2362f852] { background: #64748b;
}
.tl-block--pni[data-v-2362f852]  { background: repeating-linear-gradient(45deg, var(--risk), var(--risk) 6px, #7a3d40 6px, #7a3d40 12px);
}
.tl-now[data-v-2362f852] {
  position: absolute; top: -6px; bottom: -6px;
  width: 2px; background: var(--text-primary); z-index: 2;
}
.tl-now__label[data-v-2362f852] {
  position: absolute; top: -18px; left: 50%; transform: translateX(-50%);
  background: var(--text-primary); color: #fff;
  padding: 2px 6px; border-radius: 4px;
  font-family: var(--font-mono, monospace); font-size: 15px; font-weight: 800;
  white-space: nowrap;
}
.timeline__ruler[data-v-2362f852] {
  position: relative; height: 16px;
}
.timeline__ruler span[data-v-2362f852] {
  position: absolute; top: 0; transform: translateX(-50%);
  font-family: var(--font-mono, monospace); font-size: 15px;
  color: var(--text-tertiary);
}
.timeline__legend[data-v-2362f852] {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px;
  font-size: 15px; color: var(--text-tertiary);
}
.lg[data-v-2362f852] { display: inline-flex; align-items: center; gap: 4px;
}
.dot[data-v-2362f852] { width: 10px; height: 10px; border-radius: 2px; display: inline-block;
}

/* Névoa 2.0 (27/08/2026): tonal, hairlines, Instrument Sans tabular nos números,
   sem gradiente, sem monoespaçada, sem emoji como ícone. */
.page[data-v-41d07b54] { max-width: none; padding: 28px 28px 40px;
}
.voltar[data-v-41d07b54] { background: transparent; border: none; color: var(--primary-deep); font-family: var(--font-body); font-size: 15px; font-weight: 700; cursor: pointer; padding: 4px 0 12px;
}
.voltar[data-v-41d07b54]:hover { color: var(--primary);
}
.page-hdr[data-v-41d07b54] { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; flex-wrap: wrap; gap: 16px;
}
.page-hdr__crumb[data-v-41d07b54] { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 700; margin-bottom: 6px;
}
.page-hdr__title[data-v-41d07b54] { font-family: var(--font-heading); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-41d07b54] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; line-height: 1.5;
}
.page-hdr__actions[data-v-41d07b54] { display: flex; gap: 10px;
}

/* cabeçalho da jornada */
.header-card[data-v-41d07b54] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; margin-bottom: 16px;
}
.header-card__content[data-v-41d07b54] { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
}
.header-card__meta[data-v-41d07b54] { flex: 1; min-width: 260px;
}
.header-card__header[data-v-41d07b54] { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; flex-wrap: wrap;
}
.header-card__title[data-v-41d07b54] { font-family: var(--font-heading); font-size: 24px; font-weight: 600; margin: 0; color: var(--text-primary); letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
}
.header-card__duração[data-v-41d07b54] { font-size: 15px; color: var(--text-tertiary);
}
.entrega[data-v-41d07b54] { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: var(--primary-soft); border: 1px solid var(--primary-line); font-size: 15px; color: var(--text-primary); display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
.entrega__rotulo[data-v-41d07b54] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-dark); margin-right: 4px;
}
.entrega__obs[data-v-41d07b54] { color: var(--text-tertiary);
}
.entrega__aceite[data-v-41d07b54] { margin-left: auto;
}
.header-card__actions[data-v-41d07b54] { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end;
}

/* violações abertas: faixa areia tonal */
.alert-section[data-v-41d07b54] { background: var(--warn-soft); border: 1px solid var(--warn-soft); border-radius: 10px; padding: 12px 16px; margin-bottom: 16px; display: grid; gap: 2px;
}
.alert-header[data-v-41d07b54] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.alert-count[data-v-41d07b54] { background: var(--warn); color: #fff; min-width: 26px; height: 26px; padding: 0 9px; border-radius: 999px; font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums;
}
.alert-title[data-v-41d07b54] { font-weight: 700; color: var(--warn); font-size: 15px;
}
.alert-summary[data-v-41d07b54] { font-size: 15px; color: var(--text-tertiary); padding-left: 36px;
}

/* totais */
.totais-row[data-v-41d07b54] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px;
}
@media (max-width: 1024px) {
.totais-row[data-v-41d07b54] { grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 560px) {
.totais-row[data-v-41d07b54] { grid-template-columns: 1fr;
}
}

/* checklist */
.check-grid[data-v-41d07b54] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px;
}
.check[data-v-41d07b54] { border: 1px solid var(--border-soft); border-radius: 10px; padding: 14px; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: flex-start; background: var(--bg-soft);
}
.check--clickable[data-v-41d07b54] { cursor: pointer;
}
.check--clickable[data-v-41d07b54]:hover { border-color: var(--primary-line); background: var(--primary-soft);
}
.check__ic[data-v-41d07b54] { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; font-size: 18px; background: var(--bg-surface); border: 1px solid var(--border); flex-shrink: 0;
}
.check b[data-v-41d07b54] { display: block; font-size: 15px; font-weight: 700; color: var(--text-primary); margin-bottom: 2px;
}
.check__quem[data-v-41d07b54] { font-size: 15px; font-weight: 600; color: var(--text-tertiary);
}
.check--motorista .check__quem[data-v-41d07b54] { color: var(--primary-dark);
}
.check--sistema .check__quem[data-v-41d07b54] { color: var(--warn);
}
.check--faltou[data-v-41d07b54] { background: var(--risk-soft); border-color: transparent;
}
.check--faltou .check__quem[data-v-41d07b54] { color: var(--risk);
}
.check__corrigido[data-v-41d07b54] { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; background: var(--warn-soft); color: var(--warn); padding: 2px 7px; border-radius: 999px;
}
.check__hora[data-v-41d07b54] { color: var(--text-tertiary); font-size: 15px; font-variant-numeric: tabular-nums; margin-top: 2px;
}

/* violações */
.viol-lista[data-v-41d07b54] { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px;
}
.viol[data-v-41d07b54] { display: grid; gap: 12px; padding: 14px 16px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-surface);
}
.viol--alta[data-v-41d07b54] { background: var(--risk-soft); border-color: transparent;
}
.viol--alta .viol__info b[data-v-41d07b54] { color: var(--risk);
}
.viol--media[data-v-41d07b54] { background: var(--warn-soft); border-color: transparent;
}
.viol--media .viol__info b[data-v-41d07b54] { color: var(--warn);
}
.viol--fechada[data-v-41d07b54] { opacity: 0.6; background: var(--bg-soft); border-style: dashed; border-color: var(--border);
}
.viol--fechada .viol__info b[data-v-41d07b54] { color: var(--text-tertiary);
}
.viol__header[data-v-41d07b54] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
}
.viol__info b[data-v-41d07b54] { display: block; font-size: 15px; font-weight: 700; color: var(--text-primary); margin-bottom: 2px;
}
.viol__medida[data-v-41d07b54] { font-size: 15px; color: var(--text-tertiary); font-variant-numeric: tabular-nums; display: block;
}
.viol__status[data-v-41d07b54] { font-weight: 700; font-size: 12px; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap;
}
.viol__acoes[data-v-41d07b54] { display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}

/* passo a passo (timeline vertical) */
.tl[data-v-41d07b54] { list-style: none; padding: 0; margin: 0;
}
.tl__passo[data-v-41d07b54] { display: grid; grid-template-columns: 44px 1fr; gap: 14px; margin-bottom: 6px;
}
.tl__trilho[data-v-41d07b54] { display: flex; flex-direction: column; align-items: center;
}
.tl__no[data-v-41d07b54] { width: 40px; height: 40px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; font-size: 17px; background: var(--bg-soft); border: 1px solid var(--border); z-index: 1;
}
.tl__no--meal[data-v-41d07b54] { background: var(--ok-soft); border-color: transparent;
}
.tl__no--rest[data-v-41d07b54] { background: var(--primary-soft); border-color: transparent;
}
.tl__no--wait[data-v-41d07b54] { background: var(--warn-soft); border-color: transparent;
}
.tl__no--stop[data-v-41d07b54] { background: var(--bg-soft);
}
.tl__no--pni[data-v-41d07b54] { background: var(--risk-soft); border-color: transparent;
}
.tl__no--brand[data-v-41d07b54] { background: var(--primary-soft); border-color: var(--primary-line);
}
.tl__linha[data-v-41d07b54] { width: 2px; flex: 1; min-height: 16px; background: var(--border);
}
.tl__cartao[data-v-41d07b54] { background: var(--bg-surface); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; border: 1px solid var(--border-soft);
}
.tl__topo[data-v-41d07b54] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.tl__hora[data-v-41d07b54] { font-variant-numeric: tabular-nums; font-weight: 600; font-size: 15px; font-family: var(--font-heading); color: var(--primary-dark); min-width: 48px;
}
.tl__tipo[data-v-41d07b54] { font-size: 15px; color: var(--text-primary); flex: 1; font-weight: 700;
}
.tl__meta[data-v-41d07b54] { font-size: 15px; color: var(--text-tertiary); margin-top: 4px; font-variant-numeric: tabular-nums;
}
.aberto[data-v-41d07b54] { color: var(--ok); font-weight: 700;
}
.tl__corrigido[data-v-41d07b54] { font-size: 15px; color: var(--warn); background: var(--warn-soft); border-radius: 8px; padding: 8px 12px; margin-top: 8px;
}
.tl__acoes[data-v-41d07b54] { margin-top: 6px;
}

/* tabela de diárias */
.tbl[data-v-41d07b54] { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px;
}
.tbl th[data-v-41d07b54], .tbl td[data-v-41d07b54] { padding: 10px 12px; text-align: right; border-bottom: 1px solid var(--border-soft); font-variant-numeric: tabular-nums;
}
.tbl th[data-v-41d07b54]:first-child, .tbl td[data-v-41d07b54]:first-child { text-align: left;
}
.tbl th[data-v-41d07b54] { background: var(--bg-soft); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-tertiary); font-weight: 700; border-bottom: 1px solid var(--border);
}
.tbl tr:last-child td[data-v-41d07b54] { border-bottom: none;
}
.tbl__total[data-v-41d07b54] { font-weight: 700; color: var(--primary-dark);
}

/* formulários */
.dica[data-v-41d07b54] { font-size: 15px; color: var(--text-tertiary); margin: -4px 0 0;
}
.j-label[data-v-41d07b54] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 6px; display: block;
}
.j-textarea[data-v-41d07b54] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 100px; resize: vertical;
}
.j-textarea[data-v-41d07b54]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.j-input[data-v-41d07b54] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary);
}
.j-input[data-v-41d07b54]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.form-card[data-v-41d07b54] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px; max-width: 560px; display: grid; gap: 14px;
}
.evento-info[data-v-41d07b54] { display: grid; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--border-soft);
}
.info-row[data-v-41d07b54] { display: flex; justify-content: space-between; gap: 12px; font-size: 15px;
}
.info-row .label[data-v-41d07b54] { color: var(--text-tertiary);
}
.info-row .value[data-v-41d07b54] { color: var(--text-primary); font-weight: 700;
}
.badge-admin[data-v-41d07b54] { background: var(--warn-soft); color: var(--warn); padding: 2px 8px; border-radius: 999px; font-size: 15px;
}
.macro-review[data-v-41d07b54] { background: var(--primary-soft); border: 1px solid var(--primary-line); border-radius: 10px; padding: 14px 16px;
}
.review-item[data-v-41d07b54] { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: 15px;
}
.review-label[data-v-41d07b54] { color: var(--text-tertiary); font-weight: 600;
}
.review-value[data-v-41d07b54] { color: var(--text-primary); font-weight: 700;
}
.hora[data-v-41d07b54] { font: inherit; padding: 4px 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary);
}
.review-note[data-v-41d07b54] { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--primary-line); font-size: 15px; color: var(--text-tertiary); line-height: 1.5;
}
.form-actions[data-v-41d07b54] { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; margin-top: 8px;
}
@media (max-width: 560px) {
.form-actions[data-v-41d07b54] { grid-template-columns: 1fr;
}
}
@media (max-width: 720px) {
.page-hdr[data-v-41d07b54] { flex-direction: column; align-items: flex-start;
}
.header-card__content[data-v-41d07b54] { flex-direction: column; align-items: flex-start;
}
.header-card__actions[data-v-41d07b54] { justify-content: flex-start;
}
.check-grid[data-v-41d07b54] { grid-template-columns: 1fr;
}
.viol__header[data-v-41d07b54] { flex-direction: column;
}
}

.mapa-overlay[data-v-62edf5d4] { position: fixed; inset: 0; background: rgba(20,22,40,.55); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px;
}
.mapa-box[data-v-62edf5d4] { background: var(--bg-surface); border-radius: 16px; width: min(960px,100%); max-height: 92vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.mapa-head[data-v-62edf5d4] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 20px 8px;
}
.mapa-head h3[data-v-62edf5d4] { font-family: var(--font-heading); font-size: 19px; font-weight: 800; color: var(--text-primary); margin: 0;
}
.mapa-head p[data-v-62edf5d4] { font-size: 15px; color: var(--text-tertiary); margin: 2px 0 0;
}
.mapa-x[data-v-62edf5d4] { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--text-tertiary); line-height: 1; padding: 4px;
}
.dia[data-v-62edf5d4] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 20px 10px;
}
.dia__btn[data-v-62edf5d4] { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--primary-deep); font-size: 18px; font-weight: 700; cursor: pointer;
}
.dia__btn[data-v-62edf5d4]:disabled { opacity: .4; cursor: default;
}
.dia__input[data-v-62edf5d4] { font: inherit; font-size: 15px; padding: 6px 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); background: var(--bg-surface);
}
.dia__hoje[data-v-62edf5d4] { border: 1px solid var(--border); background: var(--bg-surface); border-radius: 8px; padding: 6px 10px; font: 700 14px var(--font-body); color: var(--primary-deep); cursor: pointer;
}
.dia__resumo[data-v-62edf5d4] { font-size: 15px; color: var(--text-tertiary);
}
.dia__chips[data-v-62edf5d4] { display: flex; gap: 6px; flex-wrap: wrap; width: 100%;
}
.chip[data-v-62edf5d4] { border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); border-radius: 999px; padding: 4px 10px; font: 700 13px var(--font-body); cursor: pointer;
}
.chip small[data-v-62edf5d4] { font-weight: 600; color: var(--muted);
}
.chip--on[data-v-62edf5d4] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-deep);
}
.corpo[data-v-62edf5d4] { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 12px; padding: 0 20px; min-height: 360px;
}
.mapa-col[data-v-62edf5d4] { display: flex; min-height: 360px;
}
.mapa-canvas[data-v-62edf5d4], .mapa-status[data-v-62edf5d4] { flex: 1; min-height: 360px; border-radius: 10px; overflow: hidden;
}
.mapa-status[data-v-62edf5d4] { display: flex; align-items: center; justify-content: center; color: var(--text-tertiary); text-align: center; padding: 20px;
}
.mapa-status--erro[data-v-62edf5d4] { color: var(--risk);
}
.lista[data-v-62edf5d4] { list-style: none; margin: 0; padding: 0; overflow: auto; max-height: 420px; border: 1px solid var(--border-soft); border-radius: 10px;
}
.ponto[data-v-62edf5d4] { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-bottom: 1px solid var(--border-soft); cursor: pointer; font-size: 15px;
}
.ponto[data-v-62edf5d4]:hover, .ponto--on[data-v-62edf5d4] { background: var(--primary-soft);
}
.ponto__n[data-v-62edf5d4] { width: 24px; height: 24px; border-radius: 50%; background: var(--primary-deep); color: #fff; font: 700 12px var(--font-body); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ponto__txt[data-v-62edf5d4] { flex: 1; color: var(--text-primary);
}
.ponto__txt small[data-v-62edf5d4] { color: var(--text-tertiary);
}
.ponto__link[data-v-62edf5d4] { color: var(--primary-deep); text-decoration: none; font-weight: 700;
}
.lista__vazio[data-v-62edf5d4] { padding: 14px; color: var(--text-tertiary); font-size: 15px;
}
.mapa-legenda[data-v-62edf5d4] { display: flex; gap: 14px; flex-wrap: wrap; padding: 10px 20px 0; font-size: 13px; color: var(--text-tertiary);
}
.mapa-legenda span[data-v-62edf5d4] { display: inline-flex; align-items: center; gap: 5px;
}
.mapa-legenda__dica[data-v-62edf5d4] { color: var(--muted);
}
.pin[data-v-62edf5d4] { width: 11px; height: 11px; border-radius: 50%; display: inline-block; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.15);
}
.pin--atual[data-v-62edf5d4] { background: #0f9c62;
}
.pin--dia[data-v-62edf5d4] { background: #46679A;
}
.mapa-acoes[data-v-62edf5d4] { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px 18px;
}
.mapa-btn[data-v-62edf5d4] { padding: 11px 18px; border-radius: 10px; font-family: var(--font-heading); font-weight: 700; font-size: 15px; cursor: pointer; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary);
}
@media (max-width: 760px) {
.corpo[data-v-62edf5d4] { grid-template-columns: 1fr;
}
.lista[data-v-62edf5d4] { max-height: 200px;
}
}

/* ── localização na lista (29/08/2026) ── */
.loc-filtros[data-v-2f50b39b] { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; padding: 4px 0 14px; border-bottom: 1px solid var(--border-soft); margin-bottom: 14px;
}
.filtro[data-v-2f50b39b] { display: flex; flex-direction: column; gap: 4px;
}
.filtro__rotulo[data-v-2f50b39b] { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}
.campo[data-v-2f50b39b] { font: inherit; font-size: 15px; color: var(--text-primary); background: var(--bg-surface); border: 1px solid var(--border); border-radius: 8px; padding: 8px 11px; min-width: 240px;
}
.campo--curto[data-v-2f50b39b] { min-width: 200px;
}
.linha[data-v-2f50b39b] { display: flex; gap: 6px; flex-wrap: wrap;
}
.raio[data-v-2f50b39b] { width: 220px; accent-color: var(--primary-deep);
}
.chips[data-v-2f50b39b] { display: flex; flex-wrap: wrap; gap: 6px;
}
.chip--alerta.chip--on[data-v-2f50b39b] { background: var(--warn-soft); border-color: #E4D6BC; color: var(--warn);
}
.chip small[data-v-2f50b39b] { color: var(--muted); font-weight: 600;
}
.dot[data-v-2f50b39b] { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: 1px;
}
.dot--dirigindo[data-v-2f50b39b] { background: var(--primary-dark);
}
.dot--parado[data-v-2f50b39b] { background: #b8790a;
}
.dot--livre[data-v-2f50b39b] { background: #0f9c62;
}
.dot--semgps[data-v-2f50b39b] { background: var(--nv-400);
}
.loc-dica[data-v-2f50b39b] { color: var(--muted); font-size: 13px; align-self: center;
}
.lote[data-v-2f50b39b] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: -4px 0 12px; padding: 10px 14px; background: var(--primary-soft); border: 1px solid var(--primary-line); border-radius: 10px; font-size: 15px;
}
.loc[data-v-2f50b39b] { display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; border-top: 1px solid var(--border-soft); margin-top: 8px; cursor: default;
}
.loc__sel input[data-v-2f50b39b] { width: 16px; height: 16px; accent-color: var(--primary-deep); margin-top: 3px;
}
.loc__txt[data-v-2f50b39b] { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; color: var(--text-secondary);
}
.loc__pos--muted[data-v-2f50b39b] { color: var(--muted);
}
.loc__alerta[data-v-2f50b39b] { width: 100%; color: var(--risk); font-weight: 700;
}
.loc__acoes[data-v-2f50b39b] { display: flex; flex-direction: column; gap: 2px; align-items: flex-end;
}
.link[data-v-2f50b39b] { background: none; border: none; color: var(--primary-deep); font: 700 14px var(--font-body); cursor: pointer; padding: 0;
}
.pill[data-v-2f50b39b] { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.pill--mini[data-v-2f50b39b] { font-size: 12px; padding: 2px 8px;
}
.pill--dirigindo[data-v-2f50b39b] { background: var(--primary-soft); color: var(--primary-dark);
}
.pill--parado[data-v-2f50b39b] { background: var(--warn-soft); color: var(--warn);
}
.pill--livre[data-v-2f50b39b] { background: var(--ok-soft); color: var(--ok);
}
.pill--semgps[data-v-2f50b39b] { background: var(--border-soft); color: var(--text-tertiary);
}
.pill--ok[data-v-2f50b39b] { background: var(--ok-soft); color: var(--ok);
}
.pill--warn[data-v-2f50b39b] { background: var(--warn-soft); color: var(--warn);
}
.pill--risk[data-v-2f50b39b] { background: var(--risk-soft); color: var(--risk);
}
.feedback[data-v-2f50b39b] { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; font-size: 15px; font-weight: 600;
}
.feedback--ok[data-v-2f50b39b] { background: var(--ok-soft); color: var(--ok);
}
.feedback--erro[data-v-2f50b39b] { background: var(--risk-soft); color: var(--risk);
}
.tx-risk[data-v-2f50b39b] { color: var(--risk); margin: 0; font-weight: 600;
}
.modal[data-v-2f50b39b] { position: fixed; inset: 0; background: rgba(20,22,40,.55); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px;
}
.modal__box[data-v-2f50b39b] { background: var(--bg-surface); border-radius: 14px; width: min(440px, 100%); padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 12px;
}
.modal__t[data-v-2f50b39b] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; margin: 0;
}
.modal__box .campo[data-v-2f50b39b] { min-width: 0; width: 100%;
}
.modal__acoes[data-v-2f50b39b] { display: flex; gap: 8px; justify-content: flex-end;
}

/* Névoa 2.0 (27/08/2026) */
.motoristas-view[data-v-2f50b39b] { max-width: none; padding: 28px 28px 40px;
}
.page-hdr[data-v-2f50b39b] { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--border);
}
.page-hdr__crumb[data-v-2f50b39b] { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 700; margin-bottom: 6px;
}
.page-hdr__title[data-v-2f50b39b] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-2f50b39b] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0; line-height: 1.5;
}
.page-hdr__actions[data-v-2f50b39b] { display: flex; gap: 8px; align-items: flex-end;
}
.voltar[data-v-2f50b39b] { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 15px; font-weight: 700; color: var(--primary-deep); padding: 0 0 12px;
}
.chip[data-v-2f50b39b] { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); font-family: var(--font-body); font-size: 15px; font-weight: 700; cursor: pointer;
}
.chip[data-v-2f50b39b]:hover { border-color: var(--primary-line); color: var(--primary-deep);
}
.chip--active[data-v-2f50b39b] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.loading-state[data-v-2f50b39b], .empty-state[data-v-2f50b39b], .error-state[data-v-2f50b39b] { padding: 40px 20px; text-align: center; color: var(--text-tertiary); background: var(--bg-surface); border: 1px dashed var(--border); border-radius: 12px; font-size: 15px;
}
.error-state[data-v-2f50b39b] { color: var(--risk); background: var(--risk-soft); border-color: transparent;
}
.form-card[data-v-2f50b39b] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px; max-width: 560px; display: grid; gap: 14px;
}
.form-card__row-2[data-v-2f50b39b] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
/* edição: ficha à esquerda, acompanhamento à direita (28/08/2026) */
.edicao[data-v-2f50b39b] { display: grid; grid-template-columns: minmax(360px, 560px) minmax(0, 1fr); gap: 18px; align-items: start;
}
.edicao--nova[data-v-2f50b39b] { grid-template-columns: minmax(360px, 560px);
}
.lado[data-v-2f50b39b] { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px;
}
.acesso[data-v-2f50b39b] { display: grid; gap: 12px;
}
.acesso__msg[data-v-2f50b39b] { margin: 0; font-size: 15px; font-weight: 600; color: var(--ok);
}
.acesso__msg--erro[data-v-2f50b39b] { color: var(--risk);
}
.lado__vazio[data-v-2f50b39b], .lado__muted[data-v-2f50b39b] { margin: 0; color: var(--text-tertiary); font-size: 15px;
}
.lado__destaque[data-v-2f50b39b] { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--ok);
}
.lado__linha[data-v-2f50b39b] { margin: 0 0 6px; font-size: 15px; color: var(--text-secondary);
}
.lado__link[data-v-2f50b39b] { color: var(--primary-deep); font-weight: 700; font-size: 15px; text-decoration: none;
}
.lado__link[data-v-2f50b39b]:hover { text-decoration: underline;
}
.lado__link--btn[data-v-2f50b39b] { background: none; border: none; padding: 0; margin-top: 8px; cursor: pointer; font-family: var(--font-body);
}
.lista[data-v-2f50b39b] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;
}
.lista__item[data-v-2f50b39b] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 9px 0; border-top: 1px solid var(--border-soft); font-size: 15px;
}
.lista__item[data-v-2f50b39b]:first-child { border-top: none; padding-top: 0;
}
.lista__item b[data-v-2f50b39b] { display: block; color: var(--text-primary);
}
.lista__meta[data-v-2f50b39b] { display: block; color: var(--text-tertiary); font-size: 14px;
}
.lista__texto[data-v-2f50b39b] { display: block; color: var(--text-secondary); font-size: 14px; margin-top: 2px;
}
.pill[data-v-2f50b39b] { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.pill--ok[data-v-2f50b39b] { background: var(--ok-soft); color: var(--ok);
}
.pill--warn[data-v-2f50b39b] { background: var(--warn-soft); color: var(--warn);
}
.pill--risk[data-v-2f50b39b] { background: var(--risk-soft); color: var(--risk);
}
@media (max-width: 1100px) {
.edicao[data-v-2f50b39b] { grid-template-columns: 1fr;
}
}
.j-label[data-v-2f50b39b] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: -6px; display: block;
}
.j-textarea[data-v-2f50b39b] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 96px; resize: vertical;
}
.j-textarea[data-v-2f50b39b]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.dica[data-v-2f50b39b] { font-size: 15px; color: var(--text-tertiary); margin: -4px 0 0;
}
.filters[data-v-2f50b39b] { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px;
}
.search-row[data-v-2f50b39b] { width: 100%; max-width: 480px;
}
.filter-group[data-v-2f50b39b] { display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
}
.filter-label[data-v-2f50b39b] { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; min-width: 104px;
}
.motorista-grid[data-v-2f50b39b] { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px;
}
.motorista-card[data-v-2f50b39b] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; cursor: pointer; display: flex; flex-direction: column; gap: 12px;
}
.motorista-card[data-v-2f50b39b]:hover { border-color: var(--primary-line); background: var(--bg-soft);
}
.motorista-card__header[data-v-2f50b39b] { display: flex; gap: 12px; align-items: center;
}
.motorista-card__avatar[data-v-2f50b39b] { width: 44px; height: 44px; border-radius: 10px; background: var(--primary-soft); color: var(--primary-dark); display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-weight: 600; font-size: 16px; flex-shrink: 0; position: relative;
}
.motorista-card__farol[data-v-2f50b39b] { position: absolute; right: -4px; bottom: -4px; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--bg-surface); background: var(--ok);
}
.motorista-card__farol.farol--ok[data-v-2f50b39b] { background: var(--ok);
}
.motorista-card__farol.farol--warn[data-v-2f50b39b] { background: var(--warn);
}
.motorista-card__farol.farol--risk[data-v-2f50b39b] { background: var(--risk);
}
.motorista-card__info[data-v-2f50b39b] { flex: 1; min-width: 0;
}
.motorista-card__nome[data-v-2f50b39b] { font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--text-primary); word-break: break-word;
}
.motorista-card__meta[data-v-2f50b39b] { font-size: 15px; color: var(--text-tertiary); margin-top: 2px;
}
.motorista-card__stats[data-v-2f50b39b] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding-top: 10px; border-top: 1px solid var(--border-soft);
}
.stat[data-v-2f50b39b] { text-align: left;
}
.stat__value[data-v-2f50b39b] { font-family: var(--font-heading); font-weight: 600; font-size: 18px; color: var(--text-primary); font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.stat__label[data-v-2f50b39b] { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 1px;
}

/* Névoa 2.0 (27/08/2026) */
.oc-view[data-v-0300ea8f] { max-width: none; padding: 28px 28px 40px;
}
.page-hdr[data-v-0300ea8f] { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--border);
}
.page-hdr__crumb[data-v-0300ea8f] { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 700; margin-bottom: 6px;
}
.page-hdr__title[data-v-0300ea8f] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-0300ea8f] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0; line-height: 1.5;
}
.page-hdr__actions[data-v-0300ea8f] { display: flex; gap: 8px; align-items: flex-end;
}
.voltar[data-v-0300ea8f] { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 15px; font-weight: 700; color: var(--primary-deep); padding: 0 0 12px;
}
.chip[data-v-0300ea8f] { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); font-family: var(--font-body); font-size: 15px; font-weight: 700; cursor: pointer;
}
.chip[data-v-0300ea8f]:hover { border-color: var(--primary-line); color: var(--primary-deep);
}
.chip--active[data-v-0300ea8f] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.loading-state[data-v-0300ea8f], .empty-state[data-v-0300ea8f], .error-state[data-v-0300ea8f] { padding: 40px 20px; text-align: center; color: var(--text-tertiary); background: var(--bg-surface); border: 1px dashed var(--border); border-radius: 12px; font-size: 15px;
}
.error-state[data-v-0300ea8f] { color: var(--risk); background: var(--risk-soft); border-color: transparent;
}
.form-card[data-v-0300ea8f] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px; max-width: 560px; display: grid; gap: 14px;
}
.form-card__row-2[data-v-0300ea8f] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.j-label[data-v-0300ea8f] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: -6px; display: block;
}
.j-textarea[data-v-0300ea8f] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 96px; resize: vertical;
}
.j-textarea[data-v-0300ea8f]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.dica[data-v-0300ea8f] { font-size: 15px; color: var(--text-tertiary); margin: -4px 0 0;
}
.filter-row[data-v-0300ea8f] { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 16px;
}
.mes-nav[data-v-0300ea8f] { display: inline-flex; align-items: center; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.mes-nav__btn[data-v-0300ea8f] { width: 32px; height: 32px; border: none; background: none; font-size: 18px; cursor: pointer; color: var(--primary-deep); border-radius: 8px;
}
.mes-nav__btn[data-v-0300ea8f]:hover { background: var(--primary-soft);
}
.mes-nav__label[data-v-0300ea8f] { min-width: 150px; text-align: center; font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--text-primary);
}
.j-select-wrap[data-v-0300ea8f] { display: block; min-width: 240px;
}
.j-select[data-v-0300ea8f] { width: 100%; padding: 9px 12px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 40px;
}
.j-select[data-v-0300ea8f]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.filter-chips[data-v-0300ea8f] { display: flex; gap: 6px; flex-wrap: wrap;
}
.card-grid[data-v-0300ea8f] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px;
}
.card-item[data-v-0300ea8f] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 12px;
}
.card-item__header[data-v-0300ea8f] { display: flex; gap: 12px; align-items: center;
}
.card-item__avatar[data-v-0300ea8f] { width: 44px; height: 44px; border-radius: 10px; background: var(--bg-soft); border: 1px solid var(--border-soft); display: grid; place-items: center; font-size: 20px; flex-shrink: 0;
}
.card-item__avatar--acidente[data-v-0300ea8f], .card-item__avatar--emergencia[data-v-0300ea8f] { background: var(--risk-soft); border-color: transparent;
}
.card-item__avatar--quebra[data-v-0300ea8f] { background: var(--warn-soft); border-color: transparent;
}
.card-item__avatar--multa[data-v-0300ea8f] { background: var(--primary-soft); border-color: transparent;
}
.card-item__info[data-v-0300ea8f] { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0;
}
.card-item__badge[data-v-0300ea8f] { width: fit-content;
}
.card-item__date[data-v-0300ea8f] { font-size: 15px; color: var(--text-tertiary); font-variant-numeric: tabular-nums;
}
.card-item__description[data-v-0300ea8f] { font-size: 15px; color: var(--text-primary); line-height: 1.5; margin: 0; word-break: break-word;
}
.card-item__stats[data-v-0300ea8f] { display: grid; gap: 4px; padding-top: 10px; border-top: 1px solid var(--border-soft);
}
.stat[data-v-0300ea8f] { display: flex; gap: 10px; align-items: baseline; font-size: 15px;
}
.stat__rotulo[data-v-0300ea8f] { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; min-width: 76px;
}
.stat__value[data-v-0300ea8f] { color: var(--text-primary); font-weight: 600; word-break: break-word;
}
.stat__link[data-v-0300ea8f] { background: none; border: none; padding: 0; font: inherit; font-weight: 700; color: var(--primary-deep); cursor: pointer;
}
.stat__link[data-v-0300ea8f]:hover { text-decoration: underline;
}
.tipos[data-v-0300ea8f] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
}
.tipo[data-v-0300ea8f] { border: 1px solid var(--border); background: var(--bg-surface); border-radius: 10px; padding: 12px 6px; cursor: pointer; display: grid; gap: 4px; justify-items: center; font-family: var(--font-body);
}
.tipo[data-v-0300ea8f]:hover { border-color: var(--primary-line); background: var(--bg-soft);
}
.tipo--ativo[data-v-0300ea8f] { border-color: var(--primary-line); background: var(--primary-soft);
}
.tipo__icone[data-v-0300ea8f] { font-size: 22px;
}
.tipo__label[data-v-0300ea8f] { font-size: 15px; font-weight: 700; color: var(--text-primary);
}
.j-textarea-wrap[data-v-0300ea8f] { display: block;
}
.j-textarea-wrap__label[data-v-0300ea8f] { display: block; font-size: 15px; font-weight: 700; color: var(--text-primary); margin-bottom: 6px;
}
.j-textarea-wrap__erro[data-v-0300ea8f] { display: block; margin-top: 4px; font-size: 15px; color: var(--risk);
}
@media (max-width: 560px) {
.tipos[data-v-0300ea8f] { grid-template-columns: repeat(2, 1fr);
}
}

/* Névoa 2.0 (27/08/2026) */
.page[data-v-24838dfb] { max-width: none; padding: 28px 28px 40px;
}
.page-hdr[data-v-24838dfb] { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--border);
}
.page-hdr__crumb[data-v-24838dfb] { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 700; margin-bottom: 6px;
}
.page-hdr__title[data-v-24838dfb] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-24838dfb] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0; line-height: 1.5;
}
.page-hdr__actions[data-v-24838dfb] { display: flex; gap: 8px; align-items: flex-end;
}
.voltar[data-v-24838dfb] { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 15px; font-weight: 700; color: var(--primary-deep); padding: 0 0 12px;
}
.chip[data-v-24838dfb] { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); font-family: var(--font-body); font-size: 15px; font-weight: 700; cursor: pointer;
}
.chip[data-v-24838dfb]:hover { border-color: var(--primary-line); color: var(--primary-deep);
}
.chip--active[data-v-24838dfb] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.loading-state[data-v-24838dfb], .empty-state[data-v-24838dfb], .error-state[data-v-24838dfb] { padding: 40px 20px; text-align: center; color: var(--text-tertiary); background: var(--bg-surface); border: 1px dashed var(--border); border-radius: 12px; font-size: 15px;
}
.error-state[data-v-24838dfb] { color: var(--risk); background: var(--risk-soft); border-color: transparent;
}
.form-card[data-v-24838dfb] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 24px; max-width: 560px; display: grid; gap: 14px;
}
.form-card__row-2[data-v-24838dfb] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.j-label[data-v-24838dfb] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: -6px; display: block;
}
.j-textarea[data-v-24838dfb] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 96px; resize: vertical;
}
.j-textarea[data-v-24838dfb]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.dica[data-v-24838dfb] { font-size: 15px; color: var(--text-tertiary); margin: -4px 0 0;
}
.page-hdr__title[data-v-24838dfb] { font-size: 26px;
}
.kpis[data-v-24838dfb] { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-bottom: 16px;
}
.feedback[data-v-24838dfb] { border-radius: 10px; padding: 10px 14px; font-size: 15px; font-weight: 700; margin: 0 0 12px;
}
.feedback--ok[data-v-24838dfb] { background: var(--ok-soft); color: var(--ok);
}
.feedback--erro[data-v-24838dfb] { background: var(--risk-soft); color: var(--risk);
}
.grupo[data-v-24838dfb] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 10px; overflow: hidden;
}
.grupo__hdr[data-v-24838dfb] { width: 100%; display: flex; align-items: center; gap: 10px; padding: 14px 18px; border: none; background: transparent; cursor: pointer; text-align: left; font-family: inherit;
}
.grupo__hdr[data-v-24838dfb]:hover { background: var(--bg-soft);
}
.grupo__ic[data-v-24838dfb] { font-size: 18px; width: 28px; text-align: center;
}
.grupo__titulo[data-v-24838dfb] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; margin: 0; flex: 1; color: var(--text-primary);
}
.grupo__seta[data-v-24838dfb] { color: var(--muted); font-size: 15px;
}
.casos[data-v-24838dfb] { list-style: none; margin: 0; padding: 0 12px 12px; display: grid; gap: 8px;
}
.caso[data-v-24838dfb] { border: 1px solid var(--border-soft); border-radius: 10px; padding: 12px 14px; display: grid; gap: 10px; background: var(--bg-soft);
}
.caso--alta[data-v-24838dfb] { background: var(--risk-soft); border-color: transparent;
}
.caso--media[data-v-24838dfb] { background: var(--warn-soft); border-color: transparent;
}
.caso--ia[data-v-24838dfb] { background: var(--primary-soft); border-color: var(--primary-line);
}
.caso__linha[data-v-24838dfb] { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center;
}
.caso__quem b[data-v-24838dfb] { display: block; font-size: 15px; font-weight: 700; color: var(--text-primary);
}
.caso__quem span[data-v-24838dfb] { font-size: 15px; color: var(--text-tertiary);
}
.caso__medida[data-v-24838dfb] { font-size: 15px; color: var(--text-tertiary); font-variant-numeric: tabular-nums;
}
.caso__acoes[data-v-24838dfb] { display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
}
.caso__proposta[data-v-24838dfb] { font-size: 15px; font-weight: 700; margin-right: 6px; font-variant-numeric: tabular-nums;
}
@media (max-width: 640px) {
.caso__linha[data-v-24838dfb] { grid-template-columns: 1fr;
}
}

.page[data-v-09b8f45c] {
  max-width: none;
  padding: 28px 28px 40px;
}
.page-hdr[data-v-09b8f45c] {
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--border-primary);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--spacing-lg);
  flex-wrap: wrap;
  gap: var(--spacing-lg);
}
.page-hdr__crumb[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-primary-deep);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-xs);
}
.page-hdr__title[data-v-09b8f45c] {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-3xl);
  margin: 0;
  color: var(--text-primary);
  font-weight: var(--font-weight-semibold);
}
.page-hdr__sub[data-v-09b8f45c] {
  margin: var(--spacing-sm) 0 0;
  font-size: var(--font-size-base);
  color: var(--text-tertiary);
  max-width: 640px;
  line-height: var(--line-height-normal);
}
.hdr-acoes[data-v-09b8f45c] {
  display: flex;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
}
.semana-nav[data-v-09b8f45c] {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
  flex-wrap: wrap;
}
.semana-nav__titulo[data-v-09b8f45c] {
  font-size: var(--font-size-lg);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  font-weight: var(--font-weight-medium);
}
.semana-nav__tag[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  background: var(--color-primary-soft);
  color: var(--color-primary-deep);
  border-radius: 999px;
  padding: var(--spacing-xs) var(--spacing-md);
  font-weight: var(--font-weight-bold);
}
.config-form[data-v-09b8f45c] {
  display: grid;
  grid-template-columns: 160px 200px auto 1fr;
  gap: var(--spacing-md);
  align-items: end;
}
@media (max-width: 720px) {
.config-form[data-v-09b8f45c] {
    grid-template-columns: 1fr;
}
}
.config-msg[data-v-09b8f45c] {
  font-size: var(--font-size-base);
  color: var(--text-tertiary);
}
.kpi-row[data-v-09b8f45c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
}
@media (max-width: 900px) {
.kpi-row[data-v-09b8f45c] {
    grid-template-columns: repeat(2, 1fr);
}
}
.aviso[data-v-09b8f45c] {
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-md);
  background: var(--ok-soft);
  color: var(--ok);
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-md);
  line-height: var(--line-height-normal);
}
.aviso--erro[data-v-09b8f45c] {
  background: #FBF1F1;
  color: var(--risk);
}
.gantt-wrap[data-v-09b8f45c] {
  overflow-x: auto;
}
.gantt[data-v-09b8f45c] {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  font-size: var(--font-size-base);
}
.gantt th[data-v-09b8f45c] {
  text-align: left;
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-sm);
  color: var(--text-tertiary);
  border-bottom: 1px solid var(--border-primary);
  background: var(--bg-light);
  font-weight: var(--font-weight-medium);
}
.gantt__dia[data-v-09b8f45c] {
  text-align: center !important;
  min-width: 96px;
}
.gantt__dia-nome[data-v-09b8f45c] {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}
.gantt__dia-num[data-v-09b8f45c] {
  display: block;
  font-weight: var(--font-weight-bold);
  color: var(--text-primary);
  font-size: var(--font-size-base);
}
.gantt__dia--fds[data-v-09b8f45c] {
  background: var(--bg-light);
}
.gantt__dia--hoje .gantt__dia-num[data-v-09b8f45c] {
  color: var(--color-primary);
}
.gantt__mot[data-v-09b8f45c] {
  min-width: 200px;
}
.gantt__tot[data-v-09b8f45c] {
  min-width: 120px;
}
.gantt__status[data-v-09b8f45c] {
  min-width: 220px;
}
.gantt__linha td[data-v-09b8f45c] {
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--border-primary);
  vertical-align: top;
}
.gantt__linha--aceito td[data-v-09b8f45c] {
  background: var(--ok-soft);
}
.gantt__linha--contestado td[data-v-09b8f45c] {
  background: #FBF1F1;
}
.gantt__cel[data-v-09b8f45c] {
  position: relative;
  padding: var(--spacing-md) var(--spacing-xs) !important;
}
.gantt__cel--fds[data-v-09b8f45c] {
  background: var(--bg-light);
}
.gantt__cel--hoje[data-v-09b8f45c] {
  box-shadow: inset 0 -3px 0 var(--color-primary);
}
.cel-vazia[data-v-09b8f45c] {
  color: var(--text-tertiary);
  text-align: center;
  font-size: var(--font-size-base);
}
.mot[data-v-09b8f45c] {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.mot__av[data-v-09b8f45c] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex: none;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-deep));
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
}
.mot__txt[data-v-09b8f45c] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}
.mot__txt b[data-v-09b8f45c] {
  font-size: var(--font-size-base);
  color: var(--text-primary);
  font-weight: var(--font-weight-semibold);
}
.mot__pend[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  color: var(--risk);
  font-weight: var(--font-weight-semibold);
}
.mot__ok[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  color: var(--ok);
  font-weight: var(--font-weight-semibold);
}
.barra[data-v-09b8f45c] {
  display: block;
  box-sizing: border-box;
  height: 28px;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  margin-bottom: var(--spacing-xs);
  padding: 0 var(--spacing-sm);
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  background: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-sm);
  font-family: inherit;
  font-weight: var(--font-weight-semibold);
  transition: filter var(--transition-fast);
}
.barra[data-v-09b8f45c]:hover {
  filter: brightness(1.08);
}
.barra--viol[data-v-09b8f45c] {
  background: var(--risk);
}
.barra--aberta[data-v-09b8f45c] {
  background: repeating-linear-gradient(
    45deg,
    var(--color-primary) 0 6px,
    var(--color-primary-deep) 6px 12px
  );
}
.barra__txt[data-v-09b8f45c] {
  font-weight: var(--font-weight-bold);
}
.tot[data-v-09b8f45c] {
  display: flex;
  flex-direction: column;
  line-height: var(--line-height-tight);
  margin-bottom: var(--spacing-xs);
}
.tot b[data-v-09b8f45c] {
  font-size: var(--font-size-lg);
  color: var(--text-primary);
  font-weight: var(--font-weight-semibold);
}
.tot span[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  color: var(--text-tertiary);
}
.tot--sm b[data-v-09b8f45c] {
  font-size: var(--font-size-base);
}
.prazo[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  color: var(--text-tertiary);
  margin-top: var(--spacing-sm);
  line-height: var(--line-height-normal);
}
.prazo--vencido[data-v-09b8f45c] {
  color: var(--risk);
  font-weight: var(--font-weight-semibold);
}
.acoes[data-v-09b8f45c] {
  display: flex;
  gap: var(--spacing-xs);
  flex-wrap: wrap;
  margin-top: var(--spacing-sm);
}
.pend-lista[data-v-09b8f45c] {
  margin: var(--spacing-sm) 0 0;
  padding-left: var(--spacing-xl);
  font-size: var(--font-size-sm);
  color: var(--risk);
  line-height: var(--line-height-normal);
}
.legenda[data-v-09b8f45c] {
  font-size: var(--font-size-sm);
  color: var(--text-tertiary);
  margin-top: var(--spacing-md);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
  line-height: var(--line-height-normal);
}
.leg[data-v-09b8f45c] {
  display: inline-block;
  width: 22px;
  height: 12px;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
}
.leg--viol[data-v-09b8f45c] {
  background: var(--risk);
}
.leg--aberta[data-v-09b8f45c] {
  background: repeating-linear-gradient(
    45deg,
    var(--color-primary) 0 4px,
    var(--color-primary-deep) 4px 8px
  );
}
.pop-backdrop[data-v-09b8f45c] {
  position: fixed;
  inset: 0;
  z-index: 50;
}
.pop[data-v-09b8f45c] {
  position: absolute;
  width: 290px;
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: var(--spacing-lg);
  display: grid;
  gap: var(--spacing-md);
  font-size: var(--font-size-base);
}
.pop__hdr[data-v-09b8f45c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-sm);
}
.pop__fechar[data-v-09b8f45c] {
  border: none;
  background: none;
  font-size: var(--font-size-xl);
  line-height: 1;
  cursor: pointer;
  color: var(--text-tertiary);
  padding: 0;
  transition: color var(--transition-fast);
}
.pop__fechar[data-v-09b8f45c]:hover {
  color: var(--text-primary);
}
.pop__row[data-v-09b8f45c] {
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-md);
  font-size: var(--font-size-sm);
}
.pop__row span[data-v-09b8f45c] {
  color: var(--text-tertiary);
  font-weight: var(--font-weight-normal);
}
.pop__row b[data-v-09b8f45c] {
  color: var(--text-primary);
  font-weight: var(--font-weight-semibold);
}
.txt-bad[data-v-09b8f45c] {
  color: var(--risk);
  font-weight: var(--font-weight-semibold);
}
.so-quem-trabalhou[data-v-09b8f45c] { padding: 24px; text-align: center; color: var(--text-tertiary); font-size: 15px; background: var(--bg-surface); border: 1px dashed var(--border); border-radius: 12px;
}
.so-quem-trabalhou .link[data-v-09b8f45c] { background: none; border: none; padding: 0; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer;
}

.page[data-v-6d1cd7c5] { max-width: none; padding: 28px 28px 40px; background: var(--bg-primary); border-radius: 16px;
}
.voltar[data-v-6d1cd7c5] { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--primary-deep); padding: 0 0 12px; transition: color 0.2s;
}
.voltar[data-v-6d1cd7c5]:hover { color: var(--primary-dark);
}
.page-hdr[data-v-6d1cd7c5] {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border); margin-bottom: 24px;
}
.page-hdr--acoes[data-v-6d1cd7c5] { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap;
}
.page-hdr__crumb[data-v-6d1cd7c5] { font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 900; margin-bottom: 8px;
}
.page-hdr__title[data-v-6d1cd7c5] { font-family: var(--font-heading); font-size: 32px; font-weight: 700; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-6d1cd7c5] { font-size: 14px; color: var(--text-tertiary); margin: 8px 0 0; max-width: 720px; line-height: 1.5;
}
.kpis[data-v-6d1cd7c5] { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 20px;
}
.filtros[data-v-6d1cd7c5] { display: grid; grid-template-columns: 2fr 1.4fr 1fr 1fr auto; gap: 12px; align-items: end; margin-bottom: 20px;
}
@media (max-width: 820px) {
.filtros[data-v-6d1cd7c5] { grid-template-columns: 1fr 1fr;
}
}
.card-grid[data-v-6d1cd7c5] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}
.card-item[data-v-6d1cd7c5] {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 3px rgba(30, 41, 59, 0.06);
}
.card-item[data-v-6d1cd7c5]:hover {
  border-color: var(--primary-deep);
  box-shadow: 0 4px 12px rgba(62, 92, 134, 0.15);
  transform: translateY(-2px);
}
.card-item__header[data-v-6d1cd7c5] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.card-item__avatar[data-v-6d1cd7c5] {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.card-item__info[data-v-6d1cd7c5] {
  word-break: break-word;
  flex: 1;
}
.card-item__title[data-v-6d1cd7c5] {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
}
.card-item__subtitle[data-v-6d1cd7c5] {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.card-item__meta[data-v-6d1cd7c5] {
  font-size: 12px;
  color: var(--muted);
}
.card-item__meta-title[data-v-6d1cd7c5] {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 4px;
}
.card-item__meta-body[data-v-6d1cd7c5] {
  font-size: 13px;
  color: var(--text-tertiary);
  line-height: 1.4;
}
.card-item__stats[data-v-6d1cd7c5] {
  display: flex;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--primary-soft);
}
.card-item__stat[data-v-6d1cd7c5] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  font-size: 12px;
}
.card-item__stat-label[data-v-6d1cd7c5] {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.card-item__stat-value[data-v-6d1cd7c5] {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.card-item__footer[data-v-6d1cd7c5] {
  margin-top: auto;
  padding-top: 8px;
}
@media (max-width: 820px) {
.card-grid[data-v-6d1cd7c5] { grid-template-columns: 1fr;
}
}
.form-card[data-v-6d1cd7c5] { display: grid; gap: 16px; max-width: 560px; padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(30, 41, 59, 0.06);
}
.campo[data-v-6d1cd7c5] { display: block;
}
.campo__label[data-v-6d1cd7c5] { display: block; font-size: 14px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px;
}
.campo__area[data-v-6d1cd7c5] { width: 100%; font: inherit; font-size: 14px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; resize: vertical; box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04); transition: border-color 0.2s ease;
}
.campo__area[data-v-6d1cd7c5]:hover { border-color: var(--primary-deep);
}
.campo__area[data-v-6d1cd7c5]:focus { outline: none; border-color: var(--primary-deep); box-shadow: 0 0 0 3px var(--primary-soft);
}
.rodape-ajuda[data-v-6d1cd7c5] { font-size: 13px; color: var(--text-tertiary); margin-top: 16px; line-height: 1.6;
}
.link[data-v-6d1cd7c5] { background: none; border: none; padding: 0; font: inherit; font-size: 13px; color: var(--primary-deep); font-weight: 600; cursor: pointer; text-decoration: underline; transition: color 0.2s;
}
.link[data-v-6d1cd7c5]:hover { color: var(--primary-dark);
}

.diarias-view[data-v-bf43a648] {
  max-width: none;
  padding: 28px 28px 40px;
}

/* ── Page Header ── */
.page-hdr[data-v-bf43a648] {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-light);
}
.page-hdr__title[data-v-bf43a648] {
  font-family: var(--font-heading);
  font-size: 28px;
  margin: 0;
  color: var(--text-primary);
  font-weight: 800;
}
.page-hdr__sub[data-v-bf43a648] {
  color: var(--text-tertiary);
  font-size: 15px;
  margin: 4px 0 0;
  max-width: 640px;
}

/* ── Filter Row ── */
.filter-row[data-v-bf43a648] {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 16px;
  background: var(--bg-primary);
  border-radius: 12px;
}
.mes-nav[data-v-bf43a648] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px;
}
.mes-nav__btn[data-v-bf43a648] {
  width: 34px;
  height: 34px;
  border: none;
  background: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--primary-deep);
  border-radius: 6px;
  transition: all 0.15s ease;
}
.mes-nav__btn[data-v-bf43a648]:hover {
  background: var(--primary-soft);
}
.mes-nav__label[data-v-bf43a648] {
  min-width: 120px;
  text-align: center;
  font-weight: 800;
  font-size: 15px;
  color: var(--text-primary);
}
.j-select-wrap[data-v-bf43a648] {
  display: block;
  flex: 1;
  min-width: 200px;
  max-width: 300px;
}
.j-select[data-v-bf43a648] {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  font-family: var(--font-body);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-surface, #fff);
  color: var(--text-primary);
  min-height: 44px;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
  transition: all 0.15s ease;
}
.j-select[data-v-bf43a648]:hover {
  border-color: var(--primary);
}
.j-select[data-v-bf43a648]:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-soft);
}

/* ── KPI Row ── */
.kpis[data-v-bf43a648] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
@media (max-width: 720px) {
.kpis[data-v-bf43a648] {
    grid-template-columns: repeat(2, 1fr);
}
.motorista-acoes[data-v-bf43a648] {
    width: 100%;
}
}

/* ── Motorista Groups ── */
.motorista-group[data-v-bf43a648] {
  margin-bottom: 32px;
}
.motorista-header[data-v-bf43a648] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-light);
  flex-wrap: wrap;
}
.motorista-info[data-v-bf43a648] {
  flex: 1;
  min-width: 200px;
}
.motorista-nome[data-v-bf43a648] {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}
.motorista-resumo[data-v-bf43a648] {
  font-size: 13px;
  color: var(--text-tertiary);
  margin: 4px 0 0;
}
.motorista-acoes[data-v-bf43a648] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── Card Grid ── */
.card-grid[data-v-bf43a648] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
@media (max-width: 768px) {
.card-grid[data-v-bf43a648] {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
}
@media (max-width: 480px) {
.card-grid[data-v-bf43a648] {
    grid-template-columns: 1fr;
}
}

/* ── Card Item ── */
.card-item[data-v-bf43a648] {
  background: var(--bg-card, #fff);
  border: 1px solid var(--border-primary);
  border-radius: 10px;
  padding: 16px;
  cursor: default;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
}
.card-item[data-v-bf43a648]:hover {
  border-color: var(--primary);
  box-shadow: 0 4px 12px rgba(62, 92, 134, 0.15);
  transform: translateY(-2px);
}
.card-item.card-item--meia[data-v-bf43a648] {
  background: #FFFBF5;
  border-color: var(--warn-soft);
}
.card-item.card-item--meia[data-v-bf43a648]:hover {
  border-color: #FFD699;
}

/* ── Card Header ── */
.card-item__header[data-v-bf43a648] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.card-item__icon[data-v-bf43a648] {
  font-size: 24px;
  flex-shrink: 0;
  line-height: 1;
}
.card-item__info[data-v-bf43a648] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  word-break: break-word;
}
.card-item__title[data-v-bf43a648] {
  font-size: 13px;
  font-weight: 700;
  color: var(--primary-deep);
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  transition: color 0.15s ease;
  text-align: left;
  display: block;
}
.card-item__title[data-v-bf43a648]:hover {
  color: var(--primary);
}

/* ── Meia Badge ── */
.meia-badge[data-v-bf43a648] {
  font-size: 12px;
  font-weight: 700;
  color: var(--warn);
  background: var(--warn-soft);
  padding: 4px 8px;
  border-radius: 6px;
  white-space: nowrap;
}

/* ── Card Meta ── */
.card-item__meta[data-v-bf43a648] {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── Card Body ── */
.card-item__body[data-v-bf43a648] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.refeicoes[data-v-bf43a648] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 0;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}
.refeicao-item[data-v-bf43a648] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.refeicao-label[data-v-bf43a648] {
  color: var(--text-tertiary);
  font-weight: 500;
}
.refeicao-valor[data-v-bf43a648] {
  color: var(--text-primary);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ── Card Footer ── */
.card-item__footer[data-v-bf43a648] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 4px;
}
.card-item__total[data-v-bf43a648] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.total-label[data-v-bf43a648] {
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 500;
}
.total-valor[data-v-bf43a648] {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

/* ── Link styling (reusable) ── */
.link[data-v-bf43a648] {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-weight: 700;
  color: var(--primary-deep);
  cursor: pointer;
  text-decoration: underline;
  transition: color 0.15s ease;
}
.link[data-v-bf43a648]:hover {
  color: var(--primary);
}

/* ── Empty/Loading States ── */
.loading-state[data-v-bf43a648], .error-state[data-v-bf43a648] {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-tertiary);
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(30, 41, 59, 0.04);
}
.error-state[data-v-bf43a648] {
  color: var(--text-error);
  border-color: var(--border-light);
}

.page[data-v-39cc6cd8] { max-width: none; padding: 28px 28px 40px;
}
.page-hdr[data-v-39cc6cd8] { margin-bottom: 20px;
}
.page-hdr__crumb[data-v-39cc6cd8] { font-size: 15px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--primary-deep); font-weight: 800; margin-bottom: 4px;
}
.page-hdr__title[data-v-39cc6cd8] { font-family: var(--font-heading); font-size: 28px; margin: 0;
}
.page-hdr__sub[data-v-39cc6cd8] { font-size: 15px; color: var(--text-tertiary); margin: 6px 0 0; max-width: 720px;
}
.filtros[data-v-39cc6cd8] { display: grid; grid-template-columns: 1fr 1fr 2fr auto; gap: 12px; align-items: end; margin-bottom: 10px;
}
@media (max-width: 820px) {
.filtros[data-v-39cc6cd8] { grid-template-columns: 1fr 1fr;
}
}
.msg[data-v-39cc6cd8] { font-size: 15px; color: var(--primary-deep); font-weight: 700; margin: 0 0 12px;
}
.kpis[data-v-39cc6cd8] { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 16px;
}
.card-grid[data-v-39cc6cd8] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
@media (max-width: 768px) {
.card-grid[data-v-39cc6cd8] { grid-template-columns: 1fr;
}
}
.card-item[data-v-39cc6cd8] {
  background: var(--bg-card, white);
  border: 1px solid var(--border-primary);
  border-radius: 10px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card-item[data-v-39cc6cd8]:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(62, 92, 134, 0.15);
  transform: translateY(-2px);
}
.card-item__header[data-v-39cc6cd8] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.card-item__avatar[data-v-39cc6cd8] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.card-item__info[data-v-39cc6cd8] {
  flex: 1;
  word-break: break-word;
  min-width: 0;
}
.card-item__title[data-v-39cc6cd8] {
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}
.card-item__meta[data-v-39cc6cd8] {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 4px;
}
.card-item__stats[data-v-39cc6cd8] {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.card-item__stat[data-v-39cc6cd8] {
  flex: 1;
  text-align: center;
  padding: 8px;
  background: var(--bg-neutral);
  border-radius: 6px;
}
.card-item__stat-label[data-v-39cc6cd8] {
  display: block;
  font-size: 11px;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}
.card-item__stat-value[data-v-39cc6cd8] {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}
.card-item__details[data-v-39cc6cd8] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.card-item__detail[data-v-39cc6cd8] {
  font-size: 12px;
  color: var(--text-secondary);
  display: flex;
  justify-content: space-between;
}
.card-item__detail-label[data-v-39cc6cd8] {
  font-weight: 500;
}
.card-item__actions[data-v-39cc6cd8] {
  display: flex;
  gap: 6px;
  margin-top: 4px;
}
.fin[data-v-39cc6cd8] { border-top: 1px dashed var(--border); margin-top: 8px; padding-top: 8px; font-size: 13px;
}
.fin__linha[data-v-39cc6cd8] { display: flex; justify-content: space-between; padding: 2px 0; color: var(--text-primary);
}
.fin__linha--total[data-v-39cc6cd8] { border-top: 1px solid var(--border); margin-top: 4px; padding-top: 6px; font-weight: 800;
}
.fin__aviso[data-v-39cc6cd8] { color: var(--text-tertiary); font-size: 12.5px;
}
.rodape-ajuda[data-v-39cc6cd8] { font-size: 15px; color: var(--text-tertiary); margin-top: 14px;
}

.veiculos-view[data-v-e561b7d0] {
  max-width: none;
  padding: 32px 20px;
  background: var(--bg-primary);
  border-radius: 16px;
}
.page-hdr[data-v-e561b7d0] {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.page-hdr__crumb[data-v-e561b7d0] {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary-deep);
  font-weight: 900;
  margin-bottom: 8px;
}
.page-hdr__title[data-v-e561b7d0] {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  margin: 0;
  color: var(--text-primary);
}
.page-hdr__sub[data-v-e561b7d0] {
  color: var(--text-tertiary);
  font-size: 14px;
  margin: 8px 0 0;
  line-height: 1.5;
}
.filter-row[data-v-e561b7d0] {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  align-items: center;
}
.filter-search[data-v-e561b7d0] { flex: 1; min-width: 260px; max-width: 460px;
}
.filter-chips[data-v-e561b7d0] { display: flex; gap: 6px; flex-wrap: wrap;
}
.chip[data-v-e561b7d0] {
  padding: 8px 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text-tertiary);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
}
.chip[data-v-e561b7d0]:hover { border-color: var(--primary-deep); color: var(--primary-deep); background: var(--bg-soft);
}
.chip--active[data-v-e561b7d0] {
  background: var(--primary-soft);
  color: var(--primary-deep);
  border-color: var(--primary-deep);
  box-shadow: 0 2px 4px rgba(70, 103, 154, 0.12);
}
.loading-state[data-v-e561b7d0], .empty-state[data-v-e561b7d0], .error-state[data-v-e561b7d0] {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-tertiary);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
}
.error-state[data-v-e561b7d0] { color: var(--risk); border-color: var(--risk-soft); background: var(--risk-soft);
}

/* Card Grid Layout */
.card-grid[data-v-e561b7d0] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.card-item[data-v-e561b7d0] {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
}
.card-item[data-v-e561b7d0]:hover {
  border-color: var(--primary-deep);
  box-shadow: 0 4px 12px rgba(62, 92, 134, 0.15);
  transform: translateY(-2px);
}

/* Card Header: Avatar + Info */
.card-item__header[data-v-e561b7d0] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.card-item__avatar[data-v-e561b7d0] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: var(--primary-soft);
  display: grid;
  place-items: center;
  font-size: 22px;
  flex-shrink: 0;
}
.card-item__info[data-v-e561b7d0] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.card-item__title[data-v-e561b7d0] {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary);
  letter-spacing: 0.03em;
  word-break: break-word;
}
.card-item__meta[data-v-e561b7d0] {
  font-size: 12px;
  color: var(--primary-deep);
  line-height: 1.4;
  word-break: break-word;
}

/* Card Status */
.card-item__status[data-v-e561b7d0] {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.gps-indicator[data-v-e561b7d0] {
  font-size: 12px;
  color: var(--primary-deep);
  font-weight: 600;
}
.status-badge[data-v-e561b7d0] {
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  display: inline-block;
}
.status-badge--operacional[data-v-e561b7d0] { background: #F0FDF4; color: #166534;
}
.status-badge--manutencao[data-v-e561b7d0]  { background: #FFF8F3; color: #B45309;
}
.status-badge--inativo[data-v-e561b7d0]     { background: #FEF2F2; color: #991B1B;
}

/* Card Actions */
.card-item__actions[data-v-e561b7d0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid #F0F4F8;
}
.voltar[data-v-e561b7d0] {
  background: none; border: none; cursor: pointer;
  font-family: var(--font-body);
  font-size: 14px; font-weight: 600;
  color: var(--primary-deep);
  padding: 0 0 12px;
  transition: color 0.2s;
}
.voltar[data-v-e561b7d0]:hover { color: var(--primary-dark);
}
.form-card[data-v-e561b7d0] {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px;
  max-width: 560px;
  display: grid; gap: 14px;
  box-shadow: 0 1px 3px rgba(30, 41, 59, 0.06);
}
.form-card__row-2[data-v-e561b7d0] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.j-select-wrap[data-v-e561b7d0] { display: block;
}
.j-select-wrap__label[data-v-e561b7d0] {
  display: block; font-size: 14px; font-weight: 600;
  color: var(--text-primary); margin-bottom: 6px;
}
.j-select[data-v-e561b7d0] {
  width: 100%; padding: 10px 14px; font-size: 14px;
  font-family: var(--font-body);
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  color: var(--text-primary);
  min-height: 44px;
  box-shadow: 0 1px 2px rgba(30, 41, 59, 0.04);
  transition: border-color 0.2s ease;
}
.j-select[data-v-e561b7d0]:hover { border-color: var(--primary-deep);
}
.j-select[data-v-e561b7d0]:focus {
  outline: none;
  border-color: var(--primary-deep);
  box-shadow: 0 0 0 3px var(--primary-soft);
}

.end[data-v-74b8f4eb] { border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; background: var(--bg-soft); display: flex; flex-direction: column; gap: 10px;
}
.end__topo[data-v-74b8f4eb] { display: flex; align-items: center; justify-content: space-between;
}
.end__titulo[data-v-74b8f4eb] { font-weight: 700; color: var(--text-primary);
}
.end__remover[data-v-74b8f4eb] { background: none; border: none; color: var(--risk); font: 700 14px var(--font-body); cursor: pointer; padding: 0;
}
.linha[data-v-74b8f4eb] { display: grid; gap: 10px;
}
.linha--3[data-v-74b8f4eb] { grid-template-columns: 1fr 2fr 1fr;
}
.linha--janela[data-v-74b8f4eb] { grid-template-columns: 1fr 1fr 2fr;
}
.end__previa[data-v-74b8f4eb] { margin: 0; font-size: 14px; color: var(--text-tertiary);
}
.end__previa b[data-v-74b8f4eb] { color: var(--primary-dark);
}
.end__erro[data-v-74b8f4eb] { margin: 0; font-size: 14px; color: var(--risk); font-weight: 700;
}
@media (max-width: 720px) {
.linha--3[data-v-74b8f4eb], .linha--janela[data-v-74b8f4eb] { grid-template-columns: 1fr;
}
}

.mapa-overlay[data-v-0b893f5c] { position: fixed; inset: 0; background: rgba(20,22,40,.55); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px;
}
.mapa-box[data-v-0b893f5c] { background: var(--bg-surface); border-radius: 16px; width: min(720px,100%); max-height: 92vh; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.mapa-box--full[data-v-0b893f5c] { width: 96vw; max-width: 96vw; height: 94vh; max-height: 94vh;
}
.mapa-box--full .mapa-canvas[data-v-0b893f5c], .mapa-box--full .mapa-status[data-v-0b893f5c] { min-height: 60vh;
}
.mapa-head-btns[data-v-0b893f5c] { display: flex; align-items: center; gap: 4px; flex: none;
}
.mapa-head[data-v-0b893f5c] { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 20px 10px;
}
.mapa-head h3[data-v-0b893f5c] { font-family: var(--font-heading); font-size: 19px; font-weight: 800; color: var(--text-primary);
}
.mapa-head p[data-v-0b893f5c] { font-size: 14px; color: var(--text-tertiary); margin-top: 2px;
}
.mapa-x[data-v-0b893f5c] { background: none; border: none; font-size: 20px; cursor: pointer; color: var(--text-tertiary); line-height: 1; padding: 4px;
}
.mapa-busca[data-v-0b893f5c] { margin: 0 20px 10px; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 10px; background: var(--bg-surface); color: var(--text-primary);
}
.mapa-canvas[data-v-0b893f5c], .mapa-status[data-v-0b893f5c] { flex: 1; min-height: 320px; margin: 0 20px; border-radius: 10px; overflow: hidden;
}
.mapa-status[data-v-0b893f5c] { display: flex; align-items: center; justify-content: center; color: var(--text-tertiary); text-align: center; padding: 20px;
}
.mapa-status--erro[data-v-0b893f5c] { color: var(--risk);
}
.mapa-legenda[data-v-0b893f5c] { display: flex; gap: 14px; flex-wrap: wrap; padding: 10px 20px 0; font-size: 12.5px; color: var(--text-tertiary);
}
.mapa-legenda span[data-v-0b893f5c] { display: inline-flex; align-items: center; gap: 5px;
}
.pin[data-v-0b893f5c] { width: 11px; height: 11px; border-radius: 50%; display: inline-block; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.15);
}
.pin--livre[data-v-0b893f5c] { background: #0f9c62;
}
.pin--dirigindo[data-v-0b893f5c] { background: #2c4a73;
}
.pin--parado[data-v-0b893f5c] { background: #b8790a;
}
.pin--teto[data-v-0b893f5c] { background: #d1435b;
}
.pin--coleta[data-v-0b893f5c] { background: #111827; border-radius: 2px;
}
.mapa-sel[data-v-0b893f5c] { margin: 10px 20px 0; font-size: 14px; font-weight: 600; color: var(--primary-deep);
}
.mapa-acoes[data-v-0b893f5c] { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px 18px;
}
.mapa-btn[data-v-0b893f5c] { padding: 11px 18px; border-radius: 10px; font-family: var(--font-heading); font-weight: 700; font-size: 15px; cursor: pointer; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary);
}
.mapa-btn--primary[data-v-0b893f5c] { background: var(--primary); border-color: var(--primary); color: #fff;
}
.mapa-btn--primary[data-v-0b893f5c]:disabled { opacity: .5; cursor: not-allowed;
}

.prog-view[data-v-e4e76cfb] { max-width: none; padding: 28px 28px 40px;
}
.voltar[data-v-e4e76cfb] {
  background: none; border: none; cursor: pointer; padding: 0 0 16px;
  color: var(--primary-deep); font: 700 15px var(--font-body);
}
.page-hdr[data-v-e4e76cfb] {
  padding-bottom: 20px; border-bottom: 1px solid var(--border);
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 24px; flex-wrap: wrap; gap: 16px;
}
.page-hdr__crumb[data-v-e4e76cfb] { font-size: 15px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 800; margin-bottom: 8px;
}
.page-hdr__title[data-v-e4e76cfb] { font-family: var(--font-heading); font-size: 30px; font-weight: 700; margin: 0; color: var(--text-primary); letter-spacing: -0.02em;
}
.page-hdr__sub[data-v-e4e76cfb] { color: var(--text-tertiary); font-size: 15px; margin: 8px 0 0; line-height: 1.5;
}
.form-card[data-v-e4e76cfb] {
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px;
  padding: 24px; display: flex; flex-direction: column; gap: 14px;
}
.form-card__row-2[data-v-e4e76cfb] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.form-sec[data-v-e4e76cfb] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--text-primary); margin: 10px 0 0;
}
.form-hint[data-v-e4e76cfb] { margin: 0; font-size: 15px; color: var(--text-tertiary);
}
.form-hint strong[data-v-e4e76cfb] { color: var(--primary-deep); font-weight: 700;
}
.form-error[data-v-e4e76cfb] { margin: 0; font-size: 15px; color: var(--risk);
}
.dias[data-v-e4e76cfb] { display: flex; gap: 8px; flex-wrap: wrap;
}
.dia[data-v-e4e76cfb] {
  padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg-surface);
  color: var(--text-tertiary); font: 700 15px var(--font-body); cursor: pointer;
}
.dia--on[data-v-e4e76cfb] { background: var(--primary-soft); color: var(--primary-deep); border-color: var(--primary-deep);
}
.inline-card[data-v-e4e76cfb] { border: 1px solid var(--primary-line); background: var(--primary-soft); border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px;
}
.inline-card--dentro[data-v-e4e76cfb] { background: var(--bg-soft); border-color: var(--border); margin-bottom: 4px;
}
.inline-card__hdr[data-v-e4e76cfb] { display: flex; justify-content: space-between; align-items: center; font-size: 15px; color: var(--text-primary);
}
.inline-card__acoes[data-v-e4e76cfb] { display: flex; justify-content: flex-end; align-items: center; gap: 12px;
}
.link[data-v-e4e76cfb] { background: none; border: none; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer; padding: 0;
}
.j-select-wrap[data-v-e4e76cfb] { display: flex; flex-direction: column; gap: 6px;
}
.j-select-wrap__label[data-v-e4e76cfb] { font-size: 15px; font-weight: 700; color: var(--text-primary);
}
.j-select[data-v-e4e76cfb] { width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); min-height: 46px;
}
.motorista--novo[data-v-e4e76cfb] { justify-content: center; border: 1px dashed var(--primary-line); color: var(--primary-deep); font-weight: 700; background: transparent;
}
.motoristas[data-v-e4e76cfb] { display: flex; flex-direction: column; gap: 6px; max-height: 320px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; padding: 8px;
}
.motorista[data-v-e4e76cfb] {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; cursor: pointer;
  font-size: 15px; color: var(--text-primary);
}
.motorista[data-v-e4e76cfb]:hover { background: var(--bg-primary);
}
.motorista--on[data-v-e4e76cfb] { background: var(--primary-soft);
}
.motorista input[data-v-e4e76cfb] { accent-color: var(--primary); width: 18px; height: 18px;
}
.motorista__nome[data-v-e4e76cfb] { font-weight: 700; flex: 1;
}
.motorista__meta[data-v-e4e76cfb] { color: var(--text-tertiary);
}
.empty-inline[data-v-e4e76cfb] { color: var(--text-tertiary); font-size: 15px; margin: 0; padding: 6px 4px;
}

/* Sugestão de motorista (perto + livre + fôlego de teto) */
.sugerido[data-v-e4e76cfb] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-radius: 10px; background: var(--ok-soft, var(--primary-soft)); border: 1px solid var(--ok, var(--primary-line));
}
.sugerido__txt[data-v-e4e76cfb] { font-size: 14px; color: var(--text-primary); flex: 1; min-width: 200px;
}
.sugerido__btn[data-v-e4e76cfb] { padding: 8px 14px; border-radius: 8px; border: none; background: var(--primary); color: #fff; font-family: var(--font-heading); font-weight: 700; font-size: 14px; cursor: pointer;
}
.sugerido__ok[data-v-e4e76cfb] { color: var(--ok); font-weight: 700; font-size: 14px;
}

/* Seletor de coleta no mapa (29/08/2026) */
.coleta-pick[data-v-e4e76cfb] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.coleta-btn[data-v-e4e76cfb] { padding: 11px 16px; border-radius: 10px; border: 1px solid var(--primary-line); background: var(--primary-soft); color: var(--primary-deep); font-family: var(--font-heading); font-weight: 700; font-size: 15px; cursor: pointer;
}
.coleta-btn[data-v-e4e76cfb]:hover { background: var(--primary-soft); border-color: var(--primary);
}
.coleta-sel[data-v-e4e76cfb] { font-size: 14px; color: var(--text-secondary, var(--text-tertiary)); font-weight: 600;
}

/* Linha rica: nome + distância do ponto de coleta + jornada atual (29/08/2026) */
.form-hint[data-v-e4e76cfb] { color: var(--text-tertiary); font-size: 14px; margin: 0 0 2px;
}
.motorista--rico[data-v-e4e76cfb] { align-items: flex-start;
}
.motorista--rico input[data-v-e4e76cfb] { margin-top: 2px;
}
.mot-body[data-v-e4e76cfb] { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0;
}
.mot-top[data-v-e4e76cfb] { display: flex; align-items: center; gap: 8px;
}
.mot-sub[data-v-e4e76cfb] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.mot-dist[data-v-e4e76cfb] { font-weight: 800; font-size: 13px; white-space: nowrap;
}
.mot-dist--ok[data-v-e4e76cfb] { color: var(--ok);
}
.mot-dist--warn[data-v-e4e76cfb] { color: var(--warn);
}
.mot-dist--risk[data-v-e4e76cfb] { color: var(--risk);
}
.mot-dist--pos[data-v-e4e76cfb] { color: var(--primary-deep);
}
.mot-dist--none[data-v-e4e76cfb] { color: var(--text-tertiary);
}
.mot-jr[data-v-e4e76cfb] { font-size: 13px; font-weight: 600;
}
.mot-jr--estrada[data-v-e4e76cfb] { color: var(--ok);
}
.mot-jr--parado[data-v-e4e76cfb] { color: var(--warn);
}
.mot-jr--livre[data-v-e4e76cfb] { color: var(--text-tertiary);
}
.loading-state[data-v-e4e76cfb], .empty-state[data-v-e4e76cfb], .error-state[data-v-e4e76cfb] {
  padding: 40px 20px; text-align: center; color: var(--text-tertiary);
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; font-size: 15px;
}
.error-state[data-v-e4e76cfb] { color: var(--risk);
}
.card-grid[data-v-e4e76cfb] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px;
}
.card-item[data-v-e4e76cfb] {
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px;
  padding: 18px; display: flex; flex-direction: column; gap: 10px;
}
.card-item__header[data-v-e4e76cfb] { display: flex; gap: 12px; align-items: center;
}
.card-item__avatar[data-v-e4e76cfb] {
  width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center;
  background: var(--primary-soft); font-size: 22px; flex-shrink: 0;
}
.card-item__title[data-v-e4e76cfb] { font-family: var(--font-heading); font-weight: 600; font-size: 17px; color: var(--text-primary);
}
.card-item__meta[data-v-e4e76cfb] { color: var(--text-tertiary); font-size: 15px;
}
.card-item__linha[data-v-e4e76cfb] { display: flex; justify-content: space-between; gap: 10px; font-size: 15px;
}
.card-item__linha .rotulo[data-v-e4e76cfb] { color: var(--text-tertiary);
}
.card-item__linha .valor[data-v-e4e76cfb] { color: var(--text-primary); font-weight: 700; text-align: right;
}
.card-item__obs[data-v-e4e76cfb] { font-size: 15px; color: var(--text-tertiary); font-style: italic;
}
.card-item__motoristas[data-v-e4e76cfb] { display: flex; flex-wrap: wrap; gap: 6px;
}
.status-badge[data-v-e4e76cfb] {
  padding: 4px 10px; border-radius: 999px; font-size: 15px; font-weight: 700;
  background: var(--bg-primary); color: var(--text-tertiary); border: 1px solid var(--border);
}
.status-badge--aceita[data-v-e4e76cfb] { background: var(--ok-soft); color: var(--ok); border-color: var(--ok);
}
.status-badge--recusada[data-v-e4e76cfb] { background: var(--risk-soft); color: var(--risk); border-color: var(--risk);
}
.card-item__actions[data-v-e4e76cfb] { display: flex; gap: 8px; margin-top: 4px;
}
@media (max-width: 600px) {
.form-card__row-2[data-v-e4e76cfb] { grid-template-columns: 1fr;
}
.card-item__actions[data-v-e4e76cfb] { flex-direction: column;
}
}

.loc-view[data-v-8c6a5d24] { padding: 28px 28px 40px;
}
.page-hdr[data-v-8c6a5d24] { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border);
}
.page-hdr__title[data-v-8c6a5d24] { font-family: var(--font-heading); font-size: 24px; font-weight: 600; margin: 0;
}
.page-hdr__sub[data-v-8c6a5d24] { margin: 4px 0 0; color: var(--text-tertiary); font-size: 15px;
}
.page-hdr__actions[data-v-8c6a5d24] { display: flex; gap: 8px; flex-wrap: wrap;
}
.filtros[data-v-8c6a5d24] { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 14px;
}
.filtro[data-v-8c6a5d24] { display: flex; flex-direction: column; gap: 4px;
}
.filtro__rotulo[data-v-8c6a5d24] { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}
.campo[data-v-8c6a5d24] { font: inherit; font-size: 15px; color: var(--text-primary); background: var(--bg-surface); border: 1px solid var(--border); border-radius: 8px; padding: 8px 11px; min-width: 220px;
}
.campo--data[data-v-8c6a5d24] { min-width: 150px;
}
.linha[data-v-8c6a5d24] { display: flex; gap: 6px;
}
.chips[data-v-8c6a5d24] { display: flex; flex-wrap: wrap; gap: 6px;
}
.chip[data-v-8c6a5d24] { border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); border-radius: 999px; padding: 6px 12px; font: 700 14px var(--font-body); cursor: pointer;
}
.chip--on[data-v-8c6a5d24] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-deep);
}
.limpar[data-v-8c6a5d24] { background: none; border: none; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer; align-self: center;
}
.feedback[data-v-8c6a5d24] { margin: 0 0 12px; padding: 10px 14px; border-radius: 8px; font-size: 15px; font-weight: 600;
}
.feedback--ok[data-v-8c6a5d24] { background: var(--ok-soft); color: var(--ok);
}
.feedback--erro[data-v-8c6a5d24] { background: var(--risk-soft); color: var(--risk);
}
.grade[data-v-8c6a5d24] { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; align-items: start;
}
.card[data-v-8c6a5d24] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 12px;
}
.card__t[data-v-8c6a5d24] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; margin: 0; padding: 14px 18px 0;
}
.card__s[data-v-8c6a5d24] { color: var(--text-tertiary); font-size: 15px; margin: 2px 0 6px; padding: 0 18px;
}
.stats[data-v-8c6a5d24] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 14px 18px;
}
.stat[data-v-8c6a5d24] { background: var(--bg-soft); border: 1px solid var(--border-soft); border-radius: 10px; padding: 10px 12px;
}
.stat small[data-v-8c6a5d24] { display: block; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.stat b[data-v-8c6a5d24] { font-family: var(--font-heading); font-size: 20px; display: block;
}
.stat span[data-v-8c6a5d24] { color: var(--text-tertiary); font-size: 14px;
}
.mapa[data-v-8c6a5d24] { margin: 0 18px 12px; height: 460px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border-soft); background: var(--bg-soft);
}
.mapa--erro[data-v-8c6a5d24] { display: flex; align-items: center; justify-content: center; color: var(--risk); padding: 20px;
}
.legenda[data-v-8c6a5d24] { display: flex; gap: 14px; flex-wrap: wrap; padding: 0 18px 14px; font-size: 13px; color: var(--text-tertiary);
}
.legenda span[data-v-8c6a5d24] { display: inline-flex; align-items: center; gap: 5px;
}
.legenda__dica[data-v-8c6a5d24] { color: var(--muted);
}
.pin[data-v-8c6a5d24] { width: 11px; height: 11px; border-radius: 50%; display: inline-block; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.15);
}
.pin--atual[data-v-8c6a5d24] { background: #0f9c62;
}
.pin--dia[data-v-8c6a5d24] { background: #46679A;
}
.pin--sim[data-v-8c6a5d24] { background: #AEB8C6;
}
.item[data-v-8c6a5d24] { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 18px; border-top: 1px solid var(--border-soft); font-size: 15px;
}
.item b[data-v-8c6a5d24] { display: block;
}
.item small[data-v-8c6a5d24] { color: var(--text-tertiary); display: block;
}
.item--click[data-v-8c6a5d24] { cursor: pointer;
}
.item--click[data-v-8c6a5d24]:hover, .item--on[data-v-8c6a5d24] { background: var(--primary-soft);
}
.tx-warn[data-v-8c6a5d24] { color: var(--warn);
}
.tx-risk[data-v-8c6a5d24] { color: var(--risk); margin: 0; font-weight: 600;
}
.tl[data-v-8c6a5d24] { list-style: none; margin: 0; padding: 0 0 8px; max-height: 420px; overflow: auto;
}
.ponto[data-v-8c6a5d24] { display: flex; align-items: center; gap: 10px; padding: 9px 18px; border-top: 1px solid var(--border-soft); cursor: pointer; font-size: 15px;
}
.ponto[data-v-8c6a5d24]:hover, .ponto--on[data-v-8c6a5d24] { background: var(--primary-soft);
}
.n[data-v-8c6a5d24] { width: 24px; height: 24px; border-radius: 50%; background: var(--primary-deep); color: #fff; font: 700 12px var(--font-body); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.n--sim[data-v-8c6a5d24] { background: var(--nv-400);
}
.ponto__txt[data-v-8c6a5d24] { flex: 1;
}
.ponto__txt b[data-v-8c6a5d24] { display: block;
}
.ponto__txt small[data-v-8c6a5d24] { color: var(--text-tertiary);
}
.ponto__link[data-v-8c6a5d24] { color: var(--primary-deep); text-decoration: none; font-weight: 700;
}
.vazio[data-v-8c6a5d24] { padding: 12px 18px 16px; color: var(--text-tertiary); font-size: 15px;
}
.pill[data-v-8c6a5d24] { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.pill--ok[data-v-8c6a5d24] { background: var(--ok-soft); color: var(--ok);
}
.pill--warn[data-v-8c6a5d24] { background: var(--warn-soft); color: var(--warn);
}
.pill--neutro[data-v-8c6a5d24] { background: var(--border-soft); color: var(--text-tertiary);
}
.pill--azul[data-v-8c6a5d24] { background: var(--primary-soft); color: var(--primary-dark);
}
.modal[data-v-8c6a5d24] { position: fixed; inset: 0; background: rgba(20,22,40,.55); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 16px;
}
.modal__box[data-v-8c6a5d24] { background: var(--bg-surface); border-radius: 14px; width: min(440px, 100%); padding: 6px 20px 20px; display: flex; flex-direction: column; gap: 12px;
}
.modal__box .card__t[data-v-8c6a5d24] { padding: 14px 0 0;
}
.modal__box .campo[data-v-8c6a5d24] { min-width: 0; width: 100%;
}
.modal__acoes[data-v-8c6a5d24] { display: flex; gap: 8px; justify-content: flex-end;
}
@media (max-width: 1100px) {
.grade[data-v-8c6a5d24] { grid-template-columns: 1fr;
}
.stats[data-v-8c6a5d24] { grid-template-columns: repeat(2, 1fr);
}
}

.frota-view[data-v-998cb7e9] { padding: 4px 2px 24px;
}
.page-hdr[data-v-998cb7e9] { margin-bottom: 14px;
}
.page-hdr__crumb[data-v-998cb7e9] { font-size: 12px; color: var(--text-tertiary); font-weight: 700;
}
.page-hdr__title[data-v-998cb7e9] { font-family: var(--font-heading); font-size: 26px; font-weight: 800; color: var(--text-primary);
}
.page-hdr__sub[data-v-998cb7e9] { font-size: 14px; color: var(--text-tertiary);
}
.resumo[data-v-998cb7e9] { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px;
}
.kpi[data-v-998cb7e9] { flex: 1; min-width: 118px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 13px; padding: 11px 13px; cursor: pointer; text-align: left;
}
.kpi[data-v-998cb7e9]:hover { border-color: var(--primary);
}
.kpi.on[data-v-998cb7e9] { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft);
}
.kpi__n[data-v-998cb7e9] { font-family: var(--font-heading); font-weight: 800; font-size: 24px; color: var(--text-primary); display: flex; align-items: center; gap: 7px;
}
.kpi__l[data-v-998cb7e9] { font-size: 12.5px; color: var(--text-tertiary); display: block;
}
.dot[data-v-998cb7e9] { width: 11px; height: 11px; border-radius: 50%; display: inline-block;
}
.dot.dirigindo[data-v-998cb7e9] { background: #1e3a8a;
}
.dot.parado[data-v-998cb7e9] { background: #f59e0b;
}
.dot.livre[data-v-998cb7e9] { background: var(--ok);
}
.dot.teto[data-v-998cb7e9] { background: #ef4444;
}
.dot.offline[data-v-998cb7e9] { background: #9ca3af;
}
.toolbar[data-v-998cb7e9] { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap;
}
.btn[data-v-998cb7e9] { font-family: var(--font-heading); font-weight: 700; font-size: 14px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 10px; padding: 8px 14px; cursor: pointer;
}
.btn[data-v-998cb7e9]:hover { border-color: var(--primary);
}
.filtro-tag[data-v-998cb7e9] { font-size: 13px; color: var(--text-tertiary); background: var(--bg-surface); border: 1px solid var(--border); border-radius: 999px; padding: 5px 12px;
}
.filtro-tag button[data-v-998cb7e9] { border: none; background: none; color: var(--text-tertiary); cursor: pointer; margin-left: 6px;
}
.cidade[data-v-998cb7e9] { flex: 1; min-width: 200px; font-size: 13.5px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 10px; padding: 8px 12px;
}
.cidade[data-v-998cb7e9]:focus { outline: none; border-color: var(--primary);
}
.grow[data-v-998cb7e9] { flex: 1;
}
.clock[data-v-998cb7e9] { font-size: 12.5px; color: var(--text-tertiary);
}
.grid[data-v-998cb7e9] { display: grid; grid-template-columns: 1fr 320px; gap: 16px; align-items: start;
}
@media (max-width: 860px) {
.grid[data-v-998cb7e9] { grid-template-columns: 1fr;
}
}
.mapcard[data-v-998cb7e9] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 16px; overflow: hidden;
}
.mapcanvas[data-v-998cb7e9] { width: 100%; height: 560px;
}
.mapstatus[data-v-998cb7e9] { height: 560px; display: flex; align-items: center; justify-content: center; color: var(--text-tertiary);
}
.mapstatus--erro[data-v-998cb7e9] { color: var(--risk);
}
.side[data-v-998cb7e9] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 16px; overflow: hidden;
}
.side h3[data-v-998cb7e9] { font-family: var(--font-heading); font-weight: 800; font-size: 15px; padding: 14px 16px 8px; display: flex; align-items: center; gap: 8px; color: var(--text-primary);
}
.side h3 .c[data-v-998cb7e9] { margin-left: auto; font-size: 12px; background: var(--risk-soft); color: var(--risk); border-radius: 999px; padding: 2px 9px;
}
.side h3 .c--info[data-v-998cb7e9] { background: var(--primary-soft); color: var(--primary);
}
.exlist[data-v-998cb7e9] { max-height: 300px; overflow: auto; padding: 0 8px 8px;
}
.ex--linha[data-v-998cb7e9] { align-items: center; cursor: default;
}
.ex__b--btn[data-v-998cb7e9] { border: none; background: none; text-align: left; cursor: pointer; padding: 0;
}
.mini[data-v-998cb7e9] { flex: none; font-size: 11.5px; font-weight: 700; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 8px; padding: 4px 8px; cursor: pointer;
}
.mini[data-v-998cb7e9]:hover { border-color: var(--primary); color: var(--primary);
}
.ex-vazio[data-v-998cb7e9] { padding: 14px 10px; color: var(--text-tertiary); font-size: 13px;
}
.ex[data-v-998cb7e9] { display: flex; gap: 10px; width: 100%; padding: 10px; border-radius: 11px; cursor: pointer; align-items: flex-start; border: none; background: none; text-align: left;
}
.ex[data-v-998cb7e9]:hover { background: var(--bg-primary, var(--primary-soft));
}
.ex__ic[data-v-998cb7e9] { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: 15px; flex: none;
}
.ex.teto .ex__ic[data-v-998cb7e9] { background: var(--risk-soft);
}
.ex.parado .ex__ic[data-v-998cb7e9] { background: var(--warn-soft);
}
.ex.offline .ex__ic[data-v-998cb7e9] { background: var(--bg-surface);
}
.ex__b[data-v-998cb7e9] { flex: 1; min-width: 0;
}
.ex__nm[data-v-998cb7e9] { font-family: var(--font-heading); font-weight: 800; font-size: 13.5px; color: var(--text-primary); display: block;
}
.ex__ds[data-v-998cb7e9] { font-size: 12px; color: var(--text-tertiary);
}
.ex__tag[data-v-998cb7e9] { font-family: var(--font-heading); font-weight: 800; font-size: 12px; white-space: nowrap;
}
.ex.teto .ex__tag[data-v-998cb7e9] { color: var(--risk);
}
.ex.parado .ex__tag[data-v-998cb7e9] { color: var(--warn);
}
.ex.offline .ex__tag[data-v-998cb7e9] { color: var(--text-tertiary);
}
.legenda[data-v-998cb7e9] { display: flex; gap: 12px; flex-wrap: wrap; padding: 10px 16px 16px; font-size: 12px; color: var(--text-tertiary);
}
.legenda span[data-v-998cb7e9] { display: inline-flex; align-items: center; gap: 5px;
}
.lc[data-v-998cb7e9] { width: 11px; height: 11px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.12);
}


.banco-view[data-v-f05f6521] { padding: 4px 2px 24px;
}
.page-hdr[data-v-f05f6521] { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 14px;
}
.page-hdr__crumb[data-v-f05f6521] { font-size: 12px; color: var(--text-tertiary); font-weight: 700;
}
.page-hdr__title[data-v-f05f6521] { font-family: var(--font-heading); font-size: 26px; font-weight: 800; color: var(--text-primary);
}
.page-hdr__sub[data-v-f05f6521] { font-size: 14px; color: var(--text-tertiary); max-width: 62ch;
}
.hdr-actions[data-v-f05f6521] { display: flex; gap: 8px; align-items: center;
}
.sel[data-v-f05f6521] { border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 10px; padding: 8px 10px; font-size: 14px;
}
.btn[data-v-f05f6521] { font-family: var(--font-heading); font-weight: 700; font-size: 14px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 10px; padding: 8px 14px; cursor: pointer;
}
.btn--primario[data-v-f05f6521] { background: var(--primary); border-color: var(--primary); color: #fff;
}
.btn[data-v-f05f6521]:disabled { opacity: .55; cursor: default;
}
.kpis[data-v-f05f6521] { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px;
}
.kpi[data-v-f05f6521] { flex: 1; min-width: 140px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 13px; padding: 12px 14px;
}
.kpi__n[data-v-f05f6521] { font-family: var(--font-heading); font-weight: 800; font-size: 22px; color: var(--text-primary); display: block; font-variant-numeric: tabular-nums;
}
.kpi__l[data-v-f05f6521] { font-size: 12.5px; color: var(--text-tertiary);
}
.kpi--ok .kpi__n[data-v-f05f6521] { color: var(--ok);
}
.kpi--risk .kpi__n[data-v-f05f6521] { color: var(--risk);
}
.aviso[data-v-f05f6521] { color: var(--text-tertiary); padding: 12px 2px;
}
.aviso--erro[data-v-f05f6521] { color: var(--risk);
}
.tabela-wrap[data-v-f05f6521] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 14px; overflow-x: auto;
}
.tabela[data-v-f05f6521] { width: 100%; border-collapse: collapse; font-size: 14px;
}
.tabela th[data-v-f05f6521] { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-tertiary); padding: 12px 14px 8px; border-bottom: 1px solid var(--border);
}
.tabela td[data-v-f05f6521] { padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--text-primary);
}
.tabela tr:last-child td[data-v-f05f6521] { border-bottom: none;
}
.num[data-v-f05f6521] { text-align: right; font-variant-numeric: tabular-nums;
}
.ok[data-v-f05f6521] { color: var(--ok);
}
.risk[data-v-f05f6521] { color: var(--risk);
}
.link[data-v-f05f6521] { border: none; background: none; color: var(--text-primary); font-weight: 700; cursor: pointer; padding: 0; font-size: 14px;
}
.link[data-v-f05f6521]:hover { color: var(--primary);
}
.pill[data-v-f05f6521] { display: inline-block; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 3px 10px; background: var(--bg-primary, var(--primary-soft)); color: var(--text-tertiary);
}
.pill--ok[data-v-f05f6521] { background: var(--ok-soft); color: var(--ok);
}
.pill--risk[data-v-f05f6521] { background: var(--risk-soft); color: var(--risk);
}
.mini[data-v-f05f6521] { font-size: 12px; font-weight: 700; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 8px; padding: 4px 10px; cursor: pointer;
}
.mini[data-v-f05f6521]:hover { border-color: var(--primary); color: var(--primary);
}
.acoes[data-v-f05f6521] { text-align: right;
}
.tr--aberto td[data-v-f05f6521] { border-bottom: none;
}
.tr--extrato td[data-v-f05f6521] { background: color-mix(in srgb, var(--bg-surface) 60%, transparent); padding-top: 0;
}
.ext[data-v-f05f6521] { width: 100%; max-width: 420px; border-collapse: collapse; font-size: 13px; margin: 4px 0 8px;
}
.ext th[data-v-f05f6521] { font-size: 11px; text-transform: uppercase; color: var(--text-tertiary); text-align: left; padding: 4px 10px;
}
.ext td[data-v-f05f6521] { padding: 4px 10px; border-bottom: 1px dashed var(--border);
}
.ext-status[data-v-f05f6521] { color: var(--text-tertiary); font-size: 13px; padding: 6px 0 10px;
}
.rodape[data-v-f05f6521] { font-size: 12.5px; color: var(--text-tertiary); margin-top: 12px; max-width: 80ch;
}

.perfil-view[data-v-4da85624] { max-width: none; padding: 28px 28px 40px;
}
.page-hdr[data-v-4da85624] { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--border);
}
.page-hdr__title[data-v-4da85624] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-4da85624] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0;
}
.grade[data-v-4da85624] { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; align-items: start;
}
.dados[data-v-4da85624] { margin: 0; display: grid; gap: 10px;
}
.dados div[data-v-4da85624] { display: grid; grid-template-columns: 96px 1fr; gap: 10px; font-size: 15px;
}
.dados dt[data-v-4da85624] { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding-top: 3px;
}
.dados dd[data-v-4da85624] { margin: 0; color: var(--text-primary); font-weight: 600; word-break: break-word;
}
.acoes[data-v-4da85624] { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border-soft);
}
.form[data-v-4da85624] { display: grid; gap: 12px;
}
.ok[data-v-4da85624] { margin: 0; font-size: 15px; color: var(--ok); font-weight: 700;
}
.loading-state[data-v-4da85624] { color: var(--text-tertiary); font-size: 15px;
}

.grade-view[data-v-74c9658d] { display: flex; flex-direction: column; padding: 28px 28px 40px;
}
.page-hdr[data-v-74c9658d] { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px;
}
.page-hdr__title[data-v-74c9658d] { font-family: var(--font-heading); font-size: 24px; font-weight: 600; margin: 0;
}
.page-hdr__sub[data-v-74c9658d] { margin: 2px 0 0; color: var(--text-tertiary); font-size: 15px;
}
.page-hdr__actions[data-v-74c9658d] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.periodo[data-v-74c9658d] { display: inline-flex; align-items: center; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.periodo__btn[data-v-74c9658d] { width: 32px; height: 32px; border-radius: 8px; border: none; background: transparent; color: var(--primary-deep); font-size: 18px; font-weight: 700; cursor: pointer;
}
.periodo__btn[data-v-74c9658d]:hover { background: var(--primary-soft);
}
.periodo__label[data-v-74c9658d] { font-family: var(--font-heading); font-size: 16px; font-weight: 600; min-width: 150px; text-align: center; color: var(--text-primary);
}
/* filtros — opção A */
.filtros[data-v-74c9658d] { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 14px;
}
.filtro[data-v-74c9658d] { display: flex; flex-direction: column; gap: 4px;
}
.filtro__rotulo[data-v-74c9658d] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}
.campo[data-v-74c9658d] { font: inherit; font-size: 15px; color: var(--text-primary); background: var(--bg-surface); border: 1px solid var(--border); border-radius: 8px; padding: 9px 11px; min-width: 240px;
}
.campo[data-v-74c9658d]:focus { outline: none; border-color: var(--primary); box-shadow: var(--shadow-focus);
}
.chips[data-v-74c9658d] { display: flex; flex-wrap: wrap; gap: 6px;
}
.chip[data-v-74c9658d] { border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); border-radius: 999px; padding: 7px 12px; font: 700 15px var(--font-body); cursor: pointer;
}
.chip[data-v-74c9658d]:hover { border-color: var(--primary-line);
}
.chip--on[data-v-74c9658d] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-deep);
}
.chip__n[data-v-74c9658d] { color: var(--muted); font-weight: 600; margin-left: 2px;
}
.legenda[data-v-74c9658d] { display: flex; flex-wrap: wrap; gap: 14px; color: var(--text-tertiary); font-size: 15px; margin-left: auto; align-self: center;
}
.cor[data-v-74c9658d] { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px;
}
.cor--rec[data-v-74c9658d] { background: var(--primary);
}
.cor--avulsa[data-v-74c9658d] { background: var(--ok);
}
.cor--warn[data-v-74c9658d] { background: var(--warn);
}
.cor--risk[data-v-74c9658d] { background: var(--risk);
}
.cor--folga[data-v-74c9658d] { background: var(--nv-400);
}
.feedback[data-v-74c9658d] { margin: 0 0 12px; padding: 10px 14px; border-radius: 8px; font-size: 15px; font-weight: 600;
}
.feedback--ok[data-v-74c9658d] { background: var(--ok-soft); color: var(--ok);
}
.feedback--erro[data-v-74c9658d] { background: var(--risk-soft); color: var(--risk);
}
/* grade */
.grade[data-v-74c9658d] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; overflow: auto; max-height: 72vh; position: relative;
}
.tabela[data-v-74c9658d] { border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; min-width: 100%;
}
.tabela th[data-v-74c9658d], .tabela td[data-v-74c9658d] { border-bottom: 1px solid var(--border-soft); border-right: 1px solid var(--border-soft); padding: 0; vertical-align: top;
}
.mot[data-v-74c9658d] { position: sticky; top: 0; z-index: 3; background: var(--bg-surface); height: 64px; min-width: 156px; padding: 10px 12px; text-align: left; box-shadow: 0 1px 0 var(--border);
}
.mot__nome[data-v-74c9658d] { display: block; background: none; border: none; padding: 0; text-align: left; font: 600 15px var(--font-heading); color: var(--text-primary); cursor: pointer;
}
.mot__nome[data-v-74c9658d]:hover { color: var(--primary-deep); text-decoration: underline;
}
.mot small[data-v-74c9658d] { display: block; color: var(--muted); font-weight: 600; font-size: 13px;
}
.dia[data-v-74c9658d] { position: sticky; left: 0; z-index: 2; background: var(--bg-surface); min-width: 96px; width: 96px; padding: 8px 12px; font: 600 17px/1.2 var(--font-heading); box-shadow: 1px 0 0 var(--border);
}
.dia small[data-v-74c9658d] { display: block; color: var(--muted); font: 600 13px var(--font-body);
}
.dia--canto[data-v-74c9658d] { top: 0; z-index: 4; box-shadow: 1px 0 0 var(--border), 0 1px 0 var(--border); font: 700 12px var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); text-align: left; vertical-align: top;
}
tr.fds td[data-v-74c9658d], tr.fds .dia[data-v-74c9658d] { background: var(--bg-soft);
}
tr.hoje .dia[data-v-74c9658d] { background: var(--primary-soft); color: var(--primary-dark);
}
tr.hoje .dia small[data-v-74c9658d] { color: var(--primary-deep);
}
tr.hoje td.cel[data-v-74c9658d] { background: #F5F8FC;
}
.cel[data-v-74c9658d] { height: 54px; min-width: 156px; padding: 6px; cursor: pointer; transition: background-color 0.12s;
}
.cel[data-v-74c9658d]:hover { background: var(--primary-soft) !important;
}
.cel[data-v-74c9658d]:focus-visible { outline: none; box-shadow: inset var(--shadow-focus);
}
.cel[data-v-74c9658d]:empty::after { content: '+'; color: transparent; font-size: 18px; display: block; text-align: center; line-height: 40px;
}
.cel[data-v-74c9658d]:hover:empty::after { color: var(--primary-deep);
}
.ev[data-v-74c9658d] { display: block; border: 1px solid var(--border-soft); background: var(--bg-soft); border-radius: 8px; padding: 5px 9px; font-size: 15px; line-height: 1.3; font-weight: 700; color: var(--text-primary); margin-bottom: 4px;
}
.ev small[data-v-74c9658d] { display: block; font-weight: 600; font-size: 13px; color: var(--text-tertiary);
}
.ev--rec[data-v-74c9658d] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-dark);
}
.ev--rec small[data-v-74c9658d] { color: var(--primary-deep);
}
.ev--avulsa[data-v-74c9658d], .ev--evento[data-v-74c9658d] { background: var(--ok-soft); border-color: #CFE0DA; color: var(--ok);
}
.ev--avulsa small[data-v-74c9658d], .ev--evento small[data-v-74c9658d] { color: var(--ok);
}
.ev--folga[data-v-74c9658d] { color: var(--text-tertiary); font-weight: 600;
}
.ev--pend[data-v-74c9658d] { background: var(--warn-soft); border-color: #E4D6BC; color: var(--warn);
}
.ev--pend small[data-v-74c9658d] { color: var(--warn);
}
.ev--risco[data-v-74c9658d] { background: var(--risk-soft); border-color: #E4C7C2; color: var(--risk);
}
.ev--risco small[data-v-74c9658d] { color: var(--risk);
}
.vazio[data-v-74c9658d] { padding: 24px; color: var(--text-tertiary); margin: 0;
}
/* pop-up */
.pop[data-v-74c9658d] { position: absolute; z-index: 20; width: 352px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow-xl, 0 12px 24px rgba(18,21,28,.15)); padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px;
}
.pop__titulo[data-v-74c9658d] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; margin: 0;
}
.pop__ctx[data-v-74c9658d] { color: var(--text-tertiary); font-size: 15px; margin: -6px 0 0;
}
.pop__rec[data-v-74c9658d] { background: var(--primary-soft); border-radius: 8px; padding: 8px 10px; font-size: 15px; color: var(--primary-dark); display: flex; flex-direction: column; gap: 4px;
}
.tipos[data-v-74c9658d] { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px;
}
.tipo[data-v-74c9658d] { border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); border-radius: 8px; padding: 9px 4px; font: 700 15px var(--font-body); cursor: pointer;
}
.tipo[data-v-74c9658d]:hover { border-color: var(--primary-line);
}
.tipo--on[data-v-74c9658d] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-deep);
}
.pop__campo[data-v-74c9658d] { display: flex; flex-direction: column; gap: 4px;
}
.pop__campo .campo[data-v-74c9658d] { min-width: 0; width: 100%;
}
.repetir[data-v-74c9658d] { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; color: var(--primary-deep); cursor: pointer;
}
.repetir input[data-v-74c9658d] { width: 18px; height: 18px; accent-color: var(--primary-deep);
}
.adv[data-v-74c9658d] { border-top: 1px dashed var(--border); padding-top: 8px; display: flex; flex-direction: column; gap: 4px;
}
.dias[data-v-74c9658d] { display: flex; gap: 4px;
}
.dias button[data-v-74c9658d] { flex: 1; border: 1px solid var(--border); background: var(--bg-surface); border-radius: 8px; padding: 7px 0; font: 700 14px var(--font-body); color: var(--text-tertiary); cursor: pointer;
}
.dias button.on[data-v-74c9658d] { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary-deep);
}
.pop__dica[data-v-74c9658d] { margin: 4px 0 0; font-size: 13px; color: var(--muted);
}
.pop__erro[data-v-74c9658d] { margin: 0; font-size: 15px; color: var(--risk); font-weight: 600;
}
.acoes[data-v-74c9658d] { display: flex; gap: 8px; margin-top: 4px;
}
.acoes[data-v-74c9658d] > * { flex: 1;
}
.acao--link[data-v-74c9658d] { background: none; border: none; color: var(--primary-deep); padding: 0; font: 700 15px var(--font-body); cursor: pointer;
}

.agenda[data-v-091305d7] { max-width: none; padding: 28px 28px 40px;
}   /* usa a largura toda: hoje fixo à esquerda, próximos dias esticam (pedido do dono 27/08) */
.page-hdr[data-v-091305d7] { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--border); flex-wrap: wrap;
}
.page-hdr__title[data-v-091305d7] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-091305d7] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0;
}
.page-hdr__actions[data-v-091305d7] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.periodo[data-v-091305d7] { display: inline-flex; align-items: center; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.periodo__btn[data-v-091305d7] { width: 32px; height: 32px; border-radius: 8px; border: none; background: transparent; color: var(--primary-deep); font-size: 18px; font-weight: 700; cursor: pointer;
}
.periodo__btn[data-v-091305d7]:hover { background: var(--primary-soft);
}
.periodo__label[data-v-091305d7] { font-family: var(--font-heading); font-size: 16px; font-weight: 600; min-width: 130px; text-align: center; color: var(--text-primary); font-variant-numeric: tabular-nums;
}

/* filtros — opção A */
.filtros[data-v-091305d7] { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 18px;
}
.filtro[data-v-091305d7] { display: flex; flex-direction: column; gap: 4px;
}
.filtro__rotulo[data-v-091305d7] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}
.segmento[data-v-091305d7] { display: inline-flex; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.segmento__item[data-v-091305d7] { padding: 7px 14px; border-radius: 8px; border: none; background: transparent; color: var(--text-tertiary); font: 700 15px var(--font-body); cursor: pointer; white-space: nowrap;
}
.segmento__item--rodando[data-v-091305d7] { color: var(--ok);
}
.segmento__item--atrasado[data-v-091305d7] { color: var(--risk);
}
.segmento__item[data-v-091305d7]:hover { background: var(--bg-soft);
}
.segmento__item--on[data-v-091305d7] { background: var(--primary-soft); color: var(--primary-dark);
}
.segmento__n[data-v-091305d7] { color: var(--muted); font-variant-numeric: tabular-nums; margin-left: 2px;
}
.campo[data-v-091305d7] { min-width: 240px; padding: 9px 12px; font-size: 15px; font-family: var(--font-body); border: 1px solid var(--border); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); height: 40px;
}
.campo[data-v-091305d7]:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft);
}
.limpar[data-v-091305d7] { background: none; border: none; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer; padding: 10px 4px; margin-left: auto;
}

/* grade */
.grade[data-v-091305d7] { display: grid; grid-template-columns: minmax(440px, 34%) minmax(0, 1fr); gap: 16px; align-items: start;
}
@media (max-width: 1100px) {
.grade[data-v-091305d7] { grid-template-columns: 1fr;
}
}

/* hoje */
.hoje[data-v-091305d7] { background: var(--bg-surface); border: 1px solid var(--primary-line); border-radius: 12px; overflow: hidden;
}
.hoje__hdr[data-v-091305d7] { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 18px; background: var(--primary-soft); border-bottom: 1px solid var(--primary-line);
}
.hoje__titulo[data-v-091305d7] { display: flex; align-items: baseline; gap: 10px;
}
.hoje__nome[data-v-091305d7] { font-family: var(--font-heading); font-size: 20px; font-weight: 600; color: var(--primary-dark);
}
.hoje__data[data-v-091305d7] { color: var(--text-tertiary); font-size: 15px;
}
.hoje__total[data-v-091305d7] { font-weight: 700; color: var(--primary-dark); font-variant-numeric: tabular-nums;
}
.hoje__resumo[data-v-091305d7] { display: flex; gap: 8px; flex-wrap: wrap; padding: 12px 18px; border-bottom: 1px solid var(--border-soft);
}
.vazio[data-v-091305d7] { margin: 0; padding: 24px 18px; color: var(--text-tertiary); font-size: 15px;
}
.entrega[data-v-091305d7] { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border-soft); align-items: start; cursor: pointer;
}
.entrega[data-v-091305d7]:last-child { border-bottom: none;
}
.entrega[data-v-091305d7]:hover { background: var(--bg-soft);
}
.entrega--risk[data-v-091305d7] { background: var(--risk-soft);
}
.entrega--risk[data-v-091305d7]:hover { background: var(--risk-soft);
}
.entrega--warn[data-v-091305d7] { background: var(--warn-soft);
}
.entrega--warn[data-v-091305d7]:hover { background: var(--warn-soft);
}
.entrega__hora[data-v-091305d7] { display: flex; flex-direction: column; line-height: 1.2; font-variant-numeric: tabular-nums;
}
.entrega__hora b[data-v-091305d7] { font-family: var(--font-heading); font-weight: 600; font-size: 17px; color: var(--text-primary);
}
.entrega__hora small[data-v-091305d7] { font-size: 13px; color: var(--muted);
}
.entrega__info[data-v-091305d7] { display: flex; flex-direction: column; gap: 3px; min-width: 0;
}
.entrega__cliente[data-v-091305d7] { font-size: 16px; font-weight: 700; color: var(--text-primary);
}
.entrega__meta[data-v-091305d7] { color: var(--text-tertiary); font-size: 15px;
}
.entrega__quem[data-v-091305d7] { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; font-size: 15px;
}
.avatar[data-v-091305d7] { width: 28px; height: 28px; border-radius: 8px; background: var(--primary-soft); color: var(--primary-dark); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 600; font-size: 12px;
}
.avatar--risk[data-v-091305d7] { background: var(--bg-surface); color: var(--risk);
}
.entrega__nome[data-v-091305d7] { font-weight: 600; color: var(--text-primary);
}
.entrega__nome--link[data-v-091305d7] { background: none; border: none; padding: 0; font: 600 15px var(--font-body); cursor: pointer; color: var(--text-primary);
}
.entrega__nome--link[data-v-091305d7]:hover { color: var(--primary-deep); text-decoration: underline;
}
.feedback[data-v-091305d7] { margin: 0 0 12px; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 700;
}
.feedback--ok[data-v-091305d7] { background: var(--ok-soft); color: var(--ok);
}
.feedback--erro[data-v-091305d7] { background: var(--risk-soft); color: var(--risk);
}
.acao[data-v-091305d7]:disabled { opacity: 0.6; cursor: default;
}
.entrega__placa[data-v-091305d7] { color: var(--muted);
}
.entrega__semResp[data-v-091305d7] { color: var(--risk); font-weight: 700;
}
.entrega__acoes[data-v-091305d7] { display: flex; flex-direction: column; gap: 6px; align-items: flex-end;
}
.acao[data-v-091305d7] { border-radius: 8px; font: 700 15px var(--font-body); cursor: pointer; white-space: nowrap;
}
.acao--risk[data-v-091305d7] { padding: 6px 12px; background: var(--bg-surface); border: 1px solid #E4C7C2; color: var(--risk);
}
.acao--link[data-v-091305d7] { background: none; border: none; color: var(--primary-deep); padding: 2px 0;
}

/* pílulas */
.pill[data-v-091305d7] { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 15px; font-weight: 700; white-space: nowrap;
}
.pill--mini[data-v-091305d7] { padding: 2px 8px; font-size: 13px; align-self: flex-start;
}
.pill--ok[data-v-091305d7] { background: var(--ok-soft); color: var(--ok);
}
.pill--neutro[data-v-091305d7] { background: var(--border-soft); color: var(--text-tertiary);
}
.pill--risk[data-v-091305d7] { background: var(--bg-surface); color: var(--risk);
}
.entrega:not(.entrega--risk) .pill--risk[data-v-091305d7], .coluna .cartao:not(.cartao--risk) .pill--risk[data-v-091305d7] { background: var(--risk-soft);
}
.pill--warn[data-v-091305d7] { background: var(--bg-surface); color: var(--warn);
}
.cartao:not(.cartao--warn) .pill--warn[data-v-091305d7], .entrega:not(.entrega--warn) .pill--warn[data-v-091305d7] { background: var(--warn-soft);
}
.pill--aceite[data-v-091305d7] { background: var(--ok-soft); color: var(--ok);
}

/* próximos dias */
.proximos[data-v-091305d7] { display: flex; flex-direction: column; gap: 10px; min-width: 0;
}
.proximos__hdr[data-v-091305d7] { display: flex; align-items: baseline; justify-content: space-between; padding: 0 4px; flex-wrap: wrap; gap: 8px;
}
.proximos__titulo[data-v-091305d7] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--text-primary);
}
.proximos__resumo[data-v-091305d7] { color: var(--text-tertiary); font-size: 15px;
}
.tx-risk[data-v-091305d7] { color: var(--risk);
}
.tx-warn[data-v-091305d7] { color: var(--warn);
}
.colunas[data-v-091305d7] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
}
@media (max-width: 900px) {
.colunas[data-v-091305d7] { grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.coluna[data-v-091305d7] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; display: flex; flex-direction: column; min-height: 320px;
}
.coluna__hdr[data-v-091305d7] { padding: 12px 12px 10px; border-bottom: 1px solid var(--border-soft); display: flex; flex-direction: column; gap: 2px;
}
.coluna__dia[data-v-091305d7] { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted);
}
.coluna__linha[data-v-091305d7] { display: flex; align-items: baseline; justify-content: space-between;
}
.coluna__data[data-v-091305d7] { font-family: var(--font-heading); font-size: 20px; font-weight: 600; color: var(--text-primary);
}
.coluna__n[data-v-091305d7] { color: var(--text-tertiary); font-weight: 700; font-variant-numeric: tabular-nums;
}
.coluna__n--zero[data-v-091305d7] { color: var(--muted);
}
.coluna__vazio[data-v-091305d7] { padding: 20px 12px; color: var(--muted); font-size: 14px; text-align: center;
}
.cartao[data-v-091305d7] { margin: 10px 10px 0; border: 1px solid var(--border-soft); border-radius: 10px; padding: 10px; background: var(--bg-soft); display: flex; flex-direction: column; gap: 4px; cursor: pointer;
}
.cartao[data-v-091305d7]:last-child { margin-bottom: 10px;
}
.cartao[data-v-091305d7]:hover { border-color: var(--primary-line);
}
.cartao--risk[data-v-091305d7] { background: var(--risk-soft); border-color: #E4C7C2;
}
.cartao--warn[data-v-091305d7] { background: var(--warn-soft); border-color: #E4D6BC;
}
.cartao__hora[data-v-091305d7] { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums;
}
.cartao__cliente[data-v-091305d7] { font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--text-primary);
}
.cartao__quem[data-v-091305d7] { color: var(--text-tertiary); font-size: 14px;
}
.legenda[data-v-091305d7] { display: flex; gap: 14px; flex-wrap: wrap; padding: 6px 4px 0; font-size: 14px; color: var(--text-tertiary); align-items: center;
}
.legenda span[data-v-091305d7] { display: inline-flex; align-items: center; gap: 6px;
}
.legenda__cor[data-v-091305d7] { width: 10px; height: 10px; border-radius: 3px; display: inline-block; border: 1px solid transparent;
}
.legenda__cor--ok[data-v-091305d7] { background: var(--ok-soft); border-color: #C8DFD7;
}
.legenda__cor--warn[data-v-091305d7] { background: var(--warn-soft); border-color: #E4D6BC;
}
.legenda__cor--risk[data-v-091305d7] { background: var(--risk-soft); border-color: #E4C7C2;
}
.legenda__dica[data-v-091305d7] { margin-left: auto;
}

.clientes-view[data-v-f52a90a4] { max-width: none; padding: 28px 28px 40px;
}
.voltar[data-v-f52a90a4] { background: none; border: none; cursor: pointer; font: 700 15px var(--font-body); color: var(--primary-deep); padding: 0 0 12px;
}
.page-hdr[data-v-f52a90a4] { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--border); flex-wrap: wrap;
}
.page-hdr__crumb[data-v-f52a90a4] { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--primary-deep); font-weight: 700; margin-bottom: 6px;
}
.page-hdr__title[data-v-f52a90a4] { font-family: var(--font-heading); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-f52a90a4] { color: var(--text-tertiary); font-size: 15px; margin: 6px 0 0;
}
.filtros[data-v-f52a90a4] { display: flex; gap: 8px; align-items: center; margin-bottom: 16px; flex-wrap: wrap;
}
.busca[data-v-f52a90a4] { width: 380px; max-width: 100%;
}
.chip[data-v-f52a90a4] { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); font: 700 15px var(--font-body); cursor: pointer;
}
.chip--active[data-v-f52a90a4] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.loading-state[data-v-f52a90a4], .empty-state[data-v-f52a90a4], .error-state[data-v-f52a90a4] { padding: 40px 20px; text-align: center; color: var(--text-tertiary); background: var(--bg-surface); border: 1px dashed var(--border); border-radius: 12px; font-size: 15px;
}
.error-state[data-v-f52a90a4] { color: var(--risk); background: var(--risk-soft); border-color: transparent;
}
.lista[data-v-f52a90a4] { display: flex; flex-direction: column; gap: 12px;
}
.cliente[data-v-f52a90a4] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px;
}
.cliente--inativo[data-v-f52a90a4] { opacity: 0.65;
}
.cliente__hdr[data-v-f52a90a4] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.avatar[data-v-f52a90a4] { width: 40px; height: 40px; border-radius: 10px; background: var(--primary-soft); color: var(--primary-dark); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 600; flex-shrink: 0;
}
.cliente__info[data-v-f52a90a4] { display: flex; flex-direction: column; flex: 1; min-width: 200px;
}
.cliente__nome[data-v-f52a90a4] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--text-primary);
}
.cliente__nome--link[data-v-f52a90a4] { background: none; border: none; padding: 0; height: auto; text-align: left; cursor: pointer;
}
.cliente__nome--link[data-v-f52a90a4]:hover { color: var(--primary-deep); text-decoration: underline;
}
.cliente__meta[data-v-f52a90a4] { color: var(--text-tertiary); font-size: 15px;
}
.cliente__resumo[data-v-f52a90a4] { color: var(--text-tertiary); font-size: 15px;
}
.cliente__resumo b[data-v-f52a90a4] { color: var(--text-primary);
}
.pill[data-v-f52a90a4] { padding: 3px 9px; border-radius: 999px; font-size: 13px; font-weight: 700;
}
.pill--neutro[data-v-f52a90a4] { background: var(--border-soft); color: var(--text-tertiary);
}
.enderecos[data-v-f52a90a4] { margin-top: 10px;
}
.endereco[data-v-f52a90a4] { display: grid; grid-template-columns: 160px minmax(0, 1fr) 220px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--border-soft); font-size: 15px;
}
.endereco__apelido[data-v-f52a90a4] { font-weight: 700; color: var(--text-primary);
}
.endereco__local[data-v-f52a90a4] { color: var(--text-tertiary);
}
.endereco__janela[data-v-f52a90a4] { display: flex; flex-direction: column; gap: 2px;
}
.endereco__janela b[data-v-f52a90a4] { color: var(--primary-dark); font-variant-numeric: tabular-nums;
}
.endereco__janela small[data-v-f52a90a4] { font-size: 13px; color: var(--muted);
}
.muted[data-v-f52a90a4] { color: var(--muted);
}
@media (max-width: 720px) {
.endereco[data-v-f52a90a4] { grid-template-columns: 1fr;
}
}

/* form */
.grade[data-v-f52a90a4] { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 16px; align-items: start;
}
@media (max-width: 960px) {
.grade[data-v-f52a90a4] { grid-template-columns: 1fr;
}
}
.form-card[data-v-f52a90a4] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px;
}
.form-sec[data-v-f52a90a4] { font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--text-primary); margin: 0;
}
.form-sec--linha[data-v-f52a90a4] { display: flex; align-items: baseline; justify-content: space-between;
}
.check[data-v-f52a90a4] { display: flex; align-items: center; gap: 8px; color: var(--text-tertiary); font-size: 15px;
}
.check input[data-v-f52a90a4] { accent-color: var(--primary); width: 18px; height: 18px;
}
.add-endereco[data-v-f52a90a4] { border: 1px dashed var(--primary-line); background: transparent; border-radius: 10px; padding: 12px; color: var(--primary-deep); font: 700 15px var(--font-body); cursor: pointer;
}
.add-endereco[data-v-f52a90a4]:hover { background: var(--primary-soft);
}
.erro[data-v-f52a90a4] { margin: 0; color: var(--risk); font-size: 15px;
}
.acoes[data-v-f52a90a4] { display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px;
}

.cliente-view[data-v-476ef967] { max-width: none; padding: 28px 28px 40px; display: flex; flex-direction: column; gap: 16px;
}
.cab[data-v-476ef967] { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 16px;
}
.cab__linha[data-v-476ef967] { display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.cab__info[data-v-476ef967] { display: flex; flex-direction: column; flex: 1; min-width: 220px;
}
.cab__nome[data-v-476ef967] { margin: 0; font-family: var(--font-heading); font-size: 26px; font-weight: 600; letter-spacing: -0.02em; color: var(--text-primary);
}
.cab__meta[data-v-476ef967] { color: var(--text-tertiary); font-size: 15px;
}
.avatar[data-v-476ef967] { width: 48px; height: 48px; border-radius: 12px; background: var(--primary-soft); color: var(--primary-dark); display: grid; place-items: center; font-family: var(--font-heading); font-weight: 600; font-size: 18px; flex-shrink: 0;
}
.avatar--sm[data-v-476ef967] { width: 30px; height: 30px; border-radius: 8px; font-size: 12px;
}
.enderecos[data-v-476ef967] { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px;
}
.endereco[data-v-476ef967] { border: 1px solid var(--border-soft); border-radius: 10px; padding: 10px 14px; background: var(--bg-soft); display: flex; flex-direction: column; gap: 2px; font-size: 15px;
}
.endereco b[data-v-476ef967] { color: var(--text-primary);
}
.endereco__janela[data-v-476ef967] { color: var(--primary-dark); font-weight: 700; font-size: 14px; font-variant-numeric: tabular-nums;
}
.muted[data-v-476ef967] { color: var(--text-tertiary); font-size: 14px;
}
.periodo-linha[data-v-476ef967] { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.sec[data-v-476ef967] { margin: 0; font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--text-primary);
}
.periodo[data-v-476ef967] { display: inline-flex; align-items: center; gap: 2px; background: var(--bg-surface); border: 1px solid var(--border); border-radius: 10px; padding: 3px;
}
.periodo__btn[data-v-476ef967] { width: 32px; height: 32px; border-radius: 8px; border: none; background: transparent; color: var(--primary-deep); font-size: 18px; font-weight: 700; cursor: pointer;
}
.periodo__btn[data-v-476ef967]:hover { background: var(--primary-soft);
}
.periodo__label[data-v-476ef967] { font-family: var(--font-heading); font-size: 16px; font-weight: 600; min-width: 130px; text-align: center; color: var(--text-primary);
}
.tiles[data-v-476ef967] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
}
@media (max-width: 960px) {
.tiles[data-v-476ef967] { grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.grade[data-v-476ef967] { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start;
}
@media (max-width: 900px) {
.grade[data-v-476ef967] { grid-template-columns: 1fr;
}
}
.chips[data-v-476ef967] { display: flex; gap: 6px; flex-wrap: wrap;
}
.chip[data-v-476ef967] { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-tertiary); font: 700 14px var(--font-body); cursor: pointer; height: auto;
}
.chip--active[data-v-476ef967] { background: var(--primary-soft); color: var(--primary-dark); border-color: var(--primary-line);
}
.vazio[data-v-476ef967] { margin: 0; padding: 18px 4px; color: var(--text-tertiary); font-size: 15px;
}
.tabela[data-v-476ef967] { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column;
}
.tabela__hdr[data-v-476ef967] > *, .linha[data-v-476ef967] > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tabela__hdr[data-v-476ef967], .linha[data-v-476ef967] { display: grid; grid-template-columns: 92px 130px minmax(0, 1fr) 110px 80px 130px; gap: 12px; align-items: center; padding: 10px 14px;
}
.tabela__hdr[data-v-476ef967] { background: var(--bg-soft); border-bottom: 1px solid var(--border); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-tertiary);
}
.linha[data-v-476ef967] { width: 100%; height: auto; border: none; border-top: 1px solid var(--border-soft); background: var(--bg-surface); text-align: left; font: 15px var(--font-body); color: var(--text-primary); cursor: pointer; border-radius: 0;
}
.linha[data-v-476ef967]:first-of-type { border-top: none;
}
.linha[data-v-476ef967]:hover:not(:disabled) { background: var(--primary-soft);
}
.linha[data-v-476ef967]:disabled { cursor: default; color: var(--text-primary); opacity: 1;
}
.linha--nao_realizada[data-v-476ef967], .linha--sem_resposta[data-v-476ef967] { background: var(--risk-soft);
}
.linha--fora_janela[data-v-476ef967] { background: var(--warn-soft);
}
.forte[data-v-476ef967] { font-weight: 700; color: var(--text-primary);
}
.tab[data-v-476ef967] { font-variant-numeric: tabular-nums;
}
.dir[data-v-476ef967] { justify-self: end;
}
.mais[data-v-476ef967] { border: none; border-top: 1px solid var(--border-soft); background: var(--bg-surface); color: var(--primary-deep); font: 700 15px var(--font-body); padding: 12px; cursor: pointer; height: auto; border-radius: 0;
}
.pill[data-v-476ef967] { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.pill--ok[data-v-476ef967] { background: var(--ok-soft); color: var(--ok);
}
.pill--warn[data-v-476ef967] { background: var(--bg-surface); color: var(--warn);
}
.pill--risk[data-v-476ef967] { background: var(--bg-surface); color: var(--risk);
}
.pill--azul[data-v-476ef967] { background: var(--primary-soft); color: var(--primary-dark);
}
.pill--neutro[data-v-476ef967] { background: var(--border-soft); color: var(--text-tertiary);
}
.lateral[data-v-476ef967] { display: flex; flex-direction: column; gap: 12px;
}
.mot[data-v-476ef967] { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 15px;
}
.mot__nome[data-v-476ef967] { flex: 1; text-align: left; background: none; border: none; padding: 0; height: auto; font: 600 15px var(--font-body); color: var(--text-primary); cursor: pointer;
}
.mot__nome[data-v-476ef967]:hover { color: var(--primary-deep); text-decoration: underline;
}
.prog[data-v-476ef967] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; background: none; border: none; border-top: 1px solid var(--border-soft); padding: 10px 0; height: auto; text-align: left; font: 15px var(--font-body); color: var(--text-primary); cursor: pointer; border-radius: 0;
}
.prog[data-v-476ef967]:first-of-type { border-top: none;
}
.prog:hover b[data-v-476ef967] { color: var(--primary-deep);
}

.day-strip[data-v-5c480013] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 14px);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.day-strip__hdr[data-v-5c480013] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--text-tertiary);
}
.day-strip__hdr b[data-v-5c480013] { color: var(--text-primary); font-size: 15px;
}
.day-strip__total[data-v-5c480013] { margin-left: auto; font-weight: 700;
}
.day-strip__track[data-v-5c480013] {
  position: relative;
  /* alto o bastante pros rótulos respeitarem o piso de leitura (15px) */
  height: 28px;
  background: var(--primary-soft);
  border-radius: 6px;
  overflow: hidden;
}
.day-strip__seg[data-v-5c480013] {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
}
.day-strip__legend[data-v-5c480013] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 15px;
  color: var(--text-tertiary);
}
.day-strip__sw[data-v-5c480013] {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  display: inline-block;
  margin-right: 4px;
}

.macro-grid[data-v-53cb7f0b] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.macro-choice[data-v-53cb7f0b] {
  padding: 18px 16px;
  border-radius: var(--radius-md, 14px);
  border: 1.5px solid var(--border);
  background: var(--bg-surface, #fff);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-align: left;
  font-family: var(--font-body);
  transition: transform 0.06s ease, border-color 0.1s ease, box-shadow 0.1s ease;
}
.macro-choice[data-v-53cb7f0b]:hover {
  border-color: var(--primary);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(30, 41, 59, 0.08);
}
.macro-choice[data-v-53cb7f0b]:active { transform: translateY(0);
}
.macro-choice--destaque[data-v-53cb7f0b] {
  border-color: var(--primary);
  background: var(--primary-soft);
}
.macro-choice__tag[data-v-53cb7f0b] {
  background: var(--primary);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: var(--radius-full, 999px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.macro-choice__ic[data-v-53cb7f0b] {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-md, 14px);
  background: var(--primary-soft);
  display: grid;
  place-items: center;
  font-size: 26px;
}
.macro-choice--destaque .macro-choice__ic[data-v-53cb7f0b] { background: var(--bg-surface, #fff);
}
.macro-choice__lbl[data-v-53cb7f0b] {
  font-weight: 800;
  /* piso de leitura do projeto: nada abaixo de 15px */
  font-size: 16px;
  color: var(--text-primary);
}
.macro-choice__desc[data-v-53cb7f0b] {
  color: var(--text-tertiary);
  font-size: 15px;
  line-height: 1.35;
}

.evento-curso[data-v-9d647c99] {
  background: linear-gradient(180deg, var(--primary-soft), var(--bg-surface, #fff));
  border: 1px solid var(--primary);
  border-radius: var(--radius-lg, 18px);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.evento-curso__topo[data-v-9d647c99] { display: flex; align-items: center; gap: 12px;
}
.evento-curso__ic[data-v-9d647c99] {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-md, 14px);
  background: var(--bg-surface, #fff);
  display: grid;
  place-items: center;
  font-size: 26px;
}
.evento-curso__titulo[data-v-9d647c99] {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 19px;
  color: var(--text-primary);
}
.evento-curso__sub[data-v-9d647c99] { font-size: 15px; color: var(--text-tertiary);
}
.evento-curso__clock[data-v-9d647c99] {
  font-size: 58px;
  font-weight: 900;
  letter-spacing: -2px;
  color: var(--primary-deep);
  text-align: center;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  padding: 6px 0;
}
.evento-curso__minimo[data-v-9d647c99] {
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--warn);
}
.evento-curso__minimo.ok[data-v-9d647c99] { color: var(--ok);
}

.tablet[data-v-2eb1cbc5] {
  min-height: 100vh;
  background: var(--bg-app);
  padding: 20px;
  display: flex;
  flex-direction: column;
}

/* ── telas centradas (quem / inicio / resumo) ── */
.tablet__center[data-v-2eb1cbc5] {
  margin: auto;
  width: 100%;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
  padding: 40px 0;
}
.tablet__titulo[data-v-2eb1cbc5] {
  font-family: var(--font-heading);
  font-size: 34px;
  margin: 0;
  color: var(--text-primary);
}
.tablet__sub[data-v-2eb1cbc5] { margin: -8px 0 0; color: var(--text-tertiary); font-size: 17px;
}
.tablet__aviso[data-v-2eb1cbc5] {
  padding: 32px;
  border: 1px dashed var(--border);
  border-radius: var(--radius-md, 14px);
  color: var(--text-tertiary);
  background: var(--bg-surface, #fff);
  font-size: 16px;
}
.tablet__link[data-v-2eb1cbc5] {
  background: none;
  border: none;
  color: var(--primary-deep);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  padding: 8px;
}
.tablet__erro[data-v-2eb1cbc5] {
  background: rgba(169, 121, 123, 0.12);
  color: var(--risk);
  border: 1px solid var(--risk);
  border-radius: var(--radius-md, 14px);
  padding: 12px 16px;
  font-weight: 700;
  font-size: 15px;
}

/* ── seleção de motorista ── */
.pessoa-grid[data-v-2eb1cbc5] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}
.pessoa-card[data-v-2eb1cbc5] {
  background: var(--bg-surface, #fff);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg, 18px);
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-family: var(--font-body);
  transition: transform 0.06s ease, border-color 0.1s ease;
}
.pessoa-card[data-v-2eb1cbc5]:hover { border-color: var(--primary); transform: translateY(-2px);
}
.pessoa-card__av[data-v-2eb1cbc5] {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-deep));
  color: #fff;
  display: grid; place-items: center;
  font-weight: 800; font-size: 22px;
}
.pessoa-card__nome[data-v-2eb1cbc5] { font-weight: 800; font-size: 17px; color: var(--text-primary);
}

/* ── seleção de veículo ── */
.veiculo-grid[data-v-2eb1cbc5] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px;
}
.veiculo-card[data-v-2eb1cbc5] {
  background: var(--bg-surface, #fff);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md, 14px);
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-family: var(--font-body);
}
.veiculo-card--sel[data-v-2eb1cbc5] {
  border-color: var(--primary);
  background: var(--primary-soft);
  box-shadow: 0 8px 24px rgba(94, 134, 184, 0.18);
}
.veiculo-card__ic[data-v-2eb1cbc5] { font-size: 30px;
}
.veiculo-card__placa[data-v-2eb1cbc5] { font-weight: 900; font-size: 19px; letter-spacing: 0.04em; color: var(--text-primary);
}
.veiculo-card__tipo[data-v-2eb1cbc5] { font-size: 15px; color: var(--text-tertiary);
}

/* ── jornada em andamento ── */
.tablet__jornada[data-v-2eb1cbc5] {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.app-hdr[data-v-2eb1cbc5] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 14px);
}
.app-hdr__av[data-v-2eb1cbc5] {
  width: 46px; height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-deep));
  color: #fff;
  display: grid; place-items: center;
  font-weight: 800; font-size: 16px;
}
.app-hdr__nome[data-v-2eb1cbc5] { font-weight: 800; font-size: 16px; color: var(--text-primary);
}
.app-hdr__sub[data-v-2eb1cbc5] { font-size: 15px; color: var(--text-tertiary);
}
.app-hdr__chips[data-v-2eb1cbc5] { margin-left: auto; display: flex; gap: 8px;
}
.chip[data-v-2eb1cbc5] {
  padding: 7px 12px;
  border-radius: var(--radius-full, 999px);
  background: var(--primary-soft);
  color: var(--primary-deep);
  font-size: 15px;
  font-weight: 800;
}
.chip--ok[data-v-2eb1cbc5] { background: var(--ok-soft); color: var(--ok);
}
.chip--warn[data-v-2eb1cbc5] { background: var(--warn-soft); color: var(--warn);
}
.chip--risk[data-v-2eb1cbc5] { background: var(--risk-soft); color: var(--risk);
}
.cursos[data-v-2eb1cbc5] {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.wizard-bloco[data-v-2eb1cbc5] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 18px);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wizard-bloco__titulo[data-v-2eb1cbc5] {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 20px;
  color: var(--text-primary);
}
.tablet__rodape[data-v-2eb1cbc5] { display: flex; justify-content: flex-end; padding-bottom: 12px;
}

/* ── resumo ── */
.resumo-grid[data-v-2eb1cbc5] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.resumo-item[data-v-2eb1cbc5] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 14px);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.resumo-item span[data-v-2eb1cbc5] {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--text-tertiary);
}
.resumo-item b[data-v-2eb1cbc5] { font-size: 24px; color: var(--primary-deep);
}

/* ── tela de confirmação ── */
.tablet__confirma[data-v-2eb1cbc5] { max-width: 640px;
}
.confirma-icone[data-v-2eb1cbc5] { font-size: 52px;
}
.confirma-aviso[data-v-2eb1cbc5] {
  background: var(--warn-soft);
  color: var(--warn);
  border-radius: var(--radius-md, 14px);
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 700;
}
.confirma-acoes[data-v-2eb1cbc5] {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
  margin-top: 8px;
}
@media (max-width: 560px) {
.confirma-acoes[data-v-2eb1cbc5] { grid-template-columns: 1fr;
}
}

/* ── recados do gerente ── */
.recados[data-v-2eb1cbc5] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 380px;
}
.recado[data-v-2eb1cbc5] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius-md, 14px);
  padding: 12px 14px;
  display: flex;
  gap: 10px;
  align-items: center;
  box-shadow: 0 12px 32px rgba(30, 41, 59, 0.14);
}
.recado__ic[data-v-2eb1cbc5] { font-size: 22px;
}
.recado__corpo[data-v-2eb1cbc5] { flex: 1;
}
.recado__corpo b[data-v-2eb1cbc5] { font-size: 15px; color: var(--text-primary);
}
.recado__corpo p[data-v-2eb1cbc5] { margin: 2px 0 0; font-size: 15px; color: var(--text-tertiary);
}

.page[data-v-3ef62869] { max-width: 900px; margin: 0 auto; padding: 32px 20px;
}
.page-hdr[data-v-3ef62869] { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 16px;
}
.page-hdr__crumb[data-v-3ef62869] { font-size: 15px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--primary-deep); font-weight: 800; margin-bottom: 4px;
}
.page-hdr__title[data-v-3ef62869] { font-family: var(--font-heading); font-size: 28px; margin: 0;
}
.page-hdr__sub[data-v-3ef62869] { color: var(--text-tertiary); font-size: 15px; margin: 4px 0 0;
}
.corte-row[data-v-3ef62869] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.corte-label[data-v-3ef62869] { font-weight: 700; font-size: 14px; color: var(--text-primary); display: flex; align-items: center; gap: 8px;
}
.corte-input[data-v-3ef62869] { width: 70px; border: 1px solid var(--border); background: var(--bg-surface); color: var(--text-primary); border-radius: 8px; padding: 7px 10px; font-size: 14px;
}
.corte-hint[data-v-3ef62869] { font-size: 13px; color: var(--text-tertiary);
}
.corte-msg[data-v-3ef62869] { font-size: 13px; color: var(--ok);
}
.grid-2[data-v-3ef62869] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 15px;
}
.hist[data-v-3ef62869] { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px;
}
.hist__item[data-v-3ef62869] { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; background: var(--bg-primary); border-radius: 10px;
}
.hist__meta[data-v-3ef62869] { font-size: 15px; color: var(--text-tertiary); margin-top: 2px;
}
.voltar[data-v-3ef62869] {
  background: none; border: none; cursor: pointer;
  font-family: var(--font-body);
  font-size: 15px; font-weight: 700;
  color: var(--primary-deep);
  padding: 0 0 12px;
}
.form-card[data-v-3ef62869] {
  background: var(--bg-surface, #fff);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 18px);
  padding: 28px;
  display: grid; gap: 12px;
}
.hint[data-v-3ef62869] { font-size: 15px; color: var(--text-tertiary); font-style: italic;
}
.erro-inline[data-v-3ef62869] {
  background: rgba(169, 121, 123, 0.12); color: var(--risk);
  border-radius: 12px; padding: 10px 14px; font-size: 15px; font-weight: 700;
}

.pd-view[data-v-fc567eaa] { max-width: 820px; margin: 0 auto; padding: 32px 20px; display: grid; gap: 16px;
}
.page-hdr[data-v-fc567eaa] { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px;
}
.page-hdr__crumb[data-v-fc567eaa] { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: var(--primary-deep); font-weight: 800; margin-bottom: 4px;
}
.page-hdr__title[data-v-fc567eaa] { font-family: var(--font-heading); font-size: 28px; margin: 0; color: var(--text-primary);
}
.page-hdr__sub[data-v-fc567eaa] { color: var(--text-tertiary); font-size: 15px; margin: 4px 0 0;
}
.itens[data-v-fc567eaa] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px;
}
.item[data-v-fc567eaa] { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm, 12px); font-size: 15px;
}
.item__lbl[data-v-fc567eaa] { color: var(--text-tertiary); font-weight: 700;
}
.item__val[data-v-fc567eaa] { font-weight: 800; color: var(--text-primary); font-size: 16px;
}
.item--total[data-v-fc567eaa] { background: var(--primary-soft); border-color: var(--primary); grid-column: 1 / -1;
}
.hist[data-v-fc567eaa] { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px;
}
.hist__item[data-v-fc567eaa] { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--border); font-size: 15px;
}
.hist__nome[data-v-fc567eaa] { font-weight: 700;
}
.hist__meta[data-v-fc567eaa] { color: var(--text-tertiary); font-size: 15px;
}
.hist__val[data-v-fc567eaa] { font-weight: 800;
}
.hist__val small[data-v-fc567eaa] { font-weight: 600; color: var(--text-tertiary); font-size: 15px;
}
.voltar[data-v-fc567eaa] { background: none; border: none; cursor: pointer; font-family: var(--font-body); font-size: 15px; font-weight: 700; color: var(--primary-deep); padding: 0; text-align: left;
}
.form-card[data-v-fc567eaa] { background: var(--bg-surface, #fff); border: 1px solid var(--border); border-radius: var(--radius-lg, 18px); padding: 28px; max-width: 560px; display: grid; gap: 14px;
}
.form-card__row-2[data-v-fc567eaa] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.dica[data-v-fc567eaa] { font-size: 15px; color: var(--text-tertiary); margin: 0; line-height: 1.5;
}
.total-preview[data-v-fc567eaa] { font-size: 15px; padding: 10px 14px; background: var(--primary-soft); border-radius: var(--radius-sm, 12px);
}
.loading-state[data-v-fc567eaa] { padding: 40px 20px; text-align: center; color: var(--text-tertiary);
}

/* App root styles — theme variables defined in theme.css */
html, body, #app {
  width: 100%;
  height: 100%;
  font-family: var(--font-family-body);
  background-color: var(--bg-body);
  color: var(--text-primary);
}
body {
  margin: 0;
  padding: 0;
}
.landing-frame { display: block; width: 100%; height: 100vh; border: 0; background: var(--bg-body);
}
/* Jornada — Névoa 2.0 (26/08/2026), por cima do tema v6.
 * Fonte da verdade: cadence-aux/design-system + mobile/design/Theme.kt.
 * Títulos Instrument Sans, corpo Nunito, piso de leitura 15px, tonal > cheio.
 * As views usam os aliases abaixo (--primary, --text-primary, --border…);
 * cores fixas foram trocadas por eles em 26/08 — não voltar a escrever hex. */

:root {
  /* Névoa: neutros e azul de marca */
  --nv-0: #FFFFFF; --nv-25: #F7F9FC; --nv-50: #F1F4F8; --nv-100: #EFF3F8; --nv-200: #E1E8F1;
  --nv-300: #CFDAE6; --nv-400: #AEB8C6; --nv-500: #8A93A3; --nv-600: #55617B; --nv-900: #171C24;
  --azul-100: #EAF1F9; --azul-300: #CFDEEE; --azul-400: #BCD0E6; --azul-500: #5E86B8; --azul-700: #46679A; --azul-900: #2C4A73;
  --ok-100: #E6F1EE; --ok-700: #3A6E5E;
  --atencao-100: #F4EDE0; --atencao-700: #8A6B3B;
  --atrasado-100: #F6E3E0; --atrasado-700: #8C3B33;

  /* Aliases que as telas usam */
  --bg-primary: var(--nv-50);
  --bg-surface: var(--nv-0);
  --bg-soft: var(--nv-25);
  --border: var(--nv-200);
  --border-soft: var(--nv-100);
  --text-primary: var(--nv-900);
  --text-secondary: var(--nv-600);
  --text-tertiary: var(--nv-600);
  --muted: var(--nv-500);
  --text: var(--nv-900);
  --primary: var(--azul-500);
  --primary-deep: var(--azul-700);
  --primary-dark: var(--azul-900);
  --primary-soft: var(--azul-100);
  --primary-line: var(--azul-300);
  --soft: var(--azul-100);
  --risk: var(--atrasado-700);
  --risk-soft: var(--atrasado-100);
  --warn: var(--atencao-700);
  --warn-soft: var(--atencao-100);
  --alert-warn: var(--atencao-700);
  --ok: var(--ok-700);
  --ok-soft: var(--ok-100);
  --card-bg: var(--nv-0);
  --font-heading: 'Instrument Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'Nunito', system-ui, -apple-system, sans-serif;
}


:root {
  /* ==================== COLOR SYSTEM ==================== */

  /* Primary Brand: Blue Dessaturado (Grafite) */
  --color-primary-50: #E8EBF0;
  --color-primary-100: #D1D7E0;
  --color-primary-200: #A8B5D4;
  --color-primary-300: #7F93C8;
  --color-primary-400: #5670B8;
  --color-primary-500: #46679A;
  --color-primary-600: #364E76;
  --color-primary-700: #2C4A73;
  --color-primary-800: #22345A;
  --color-primary-900: #1A264C;

  /* Accent: Grafite */
  --color-accent: #4A5262;
  --color-accent-dark: #2C3548;
  --color-accent-light: #6B7A94;

  /* Semantic Status Colors */
  --color-success-50: #E7EDEA;
  --color-success-100: #C2D2CB;
  --color-success-200: #8FB5A7;
  --color-success-500: #2F5E50;
  --color-success-600: #2A5148;
  --color-success-700: #25453F;

  --color-error-50: #F3E4E1;
  --color-error-100: #DCC3BE;
  --color-error-200: #BD9791;
  --color-error-500: #7C3B34;
  --color-error-600: #6E3430;
  --color-error-700: #602D2A;

  --color-warning-50: #F2EDE2;
  --color-warning-100: #D9CDB2;
  --color-warning-200: #B4A075;
  --color-warning-500: #79613A;
  --color-warning-600: #6B5633;
  --color-warning-700: #5D4B2C;

  --color-info-50: #E8EBF0;
  --color-info-100: #D1D7E0;
  --color-info-200: #A8B5D4;
  --color-info-500: #3E5C86;
  --color-info-600: #364E76;
  --color-info-700: #2C4468;

  /* Neutral Colors (light mode) */
  --color-neutral-50: #FAFBFC;
  --color-neutral-100: #F4F5F7;
  --color-neutral-200: #EDEEF1;
  --color-neutral-300: #DEE0E5;
  --color-neutral-400: #9BA0AB;
  --color-neutral-500: #767D8A;
  --color-neutral-600: #4A5262;
  --color-neutral-700: #303540;
  --color-neutral-800: #1A1E28;
  --color-neutral-900: #12151C;

  /* Legacy named colors */
  --color-primary-deep: #2C4A73;
  --color-primary: #46679A;
  --color-primary-soft: #EAF1F9;
  --alert-amber: #79613A;
  --alert-red: #7C3B34;
  --alert-green: #2F5E50;
  --alert-blue: #3E5C86;

  /* ==================== BACKGROUNDS ==================== */

  --bg-body: #F1F4F8;
  --bg-card: #FFFFFF;
  --bg-card-hover: #FAFAFB;
  --bg-light: #FAFAFB;
  --bg-overlay: rgba(18, 21, 28, 0.5);
  --bg-input: #FFFFFF;
  --bg-input-hover: #FAFAFB;
  --bg-input-disabled: #EDEEF1;

  /* ==================== TEXT COLORS ==================== */

  --text-primary: #171C24;
  --text-secondary: #55617B;
  --text-tertiary: #55617B;
  --text-inverted: #FFFFFF;
  --text-muted: #9BA0AB;
  --text-placeholder: #BCC3CF;
  --text-disabled: #DEE0E5;

  /* Semantic text colors */
  --text-success: #2F5E50;
  --text-error: #7C3B34;
  --text-warning: #79613A;
  --text-info: #3E5C86;

  /* ==================== BORDERS ==================== */

  --border-primary: #E1E8F1;
  --border-secondary: #EFF3F8;
  --border-light: #F4F5F7;
  --border-hover: #BCC3CF;
  --border-focus: #46679A;
  --border-disabled: #EDEEF1;
  --border-error: #F3E4E1;
  --border-success: #E7EDEA;

  /* ==================== TYPOGRAPHY ==================== */

  /* Font Families */
  --font-family-heading: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-body: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-mono: 'IBM Plex Mono', 'Courier New', monospace;

  /* Font Sizes - Mobile first scale */
  --font-size-xs: 15px;
  --font-size-sm: 15px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;
  --font-size-5xl: 48px;

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;

  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.05em;
  --letter-spacing-wider: 0.1em;

  /* ==================== SPACING ==================== */

  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --spacing-2xl: 32px;
  --spacing-3xl: 48px;
  --spacing-4xl: 64px;

  /* ==================== BORDER RADIUS ==================== */

  --radius-none: 0;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* ==================== SHADOWS ==================== */

  /* Elevation shadows (light mode) */
  --shadow-none: none;
  --shadow-sm: 0 1px 2px 0 rgba(18, 21, 28, 0.045);
  --shadow-md: 0 4px 8px 0 rgba(18, 21, 28, 0.08);
  --shadow-lg: 0 8px 16px 0 rgba(18, 21, 28, 0.12);
  --shadow-xl: 0 12px 24px 0 rgba(18, 21, 28, 0.15);
  --shadow-2xl: 0 20px 32px 0 rgba(18, 21, 28, 0.2);

  /* Interactive shadows */
  --shadow-focus: 0 0 0 2px #FFFFFF, 0 0 0 4px #3E5C86;
  --shadow-error-focus: 0 0 0 2px #FFFFFF, 0 0 0 4px #7C3B34;

  /* ==================== TRANSITIONS ==================== */

  --transition-fast: 150ms ease-in-out;
  --transition-base: 250ms ease-in-out;
  --transition-slow: 350ms ease-in-out;

  /* Specific transition timings */
  --transition-color: 200ms ease-in-out;
  --transition-shadow: 200ms ease-in-out;
  --transition-transform: 200ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ==================== OPACITY ==================== */

  --opacity-disabled: 0.5;
  --opacity-hover: 0.8;
  --opacity-focus: 0.9;
  --opacity-backdrop: 0.5;

  /* ==================== Z-INDEX SCALE ==================== */

  --z-dropdown: 1000;
  --z-sticky: 100;
  --z-fixed: 200;
  --z-modal-backdrop: 300;
  --z-modal: 301;
  --z-tooltip: 400;
  --z-notification: 500;

  /* ==================== COMPONENT TOKENS ==================== */

  /* Button */
  --btn-height-sm: 32px;
  --btn-height-md: 40px;
  --btn-height-lg: 48px;
  --btn-padding-x-sm: 12px;
  --btn-padding-x-md: 16px;
  --btn-padding-x-lg: 24px;

  /* Input */
  --input-height-sm: 32px;
  --input-height-md: 40px;
  --input-height-lg: 48px;
  --input-padding-x: 12px;
  --input-padding-y: 8px;
  --input-border-width: 1px;

  /* Card */
  --card-padding: var(--spacing-lg);
  --card-border-width: 1px;
  --card-border-radius: var(--radius-lg);

  /* Badge/Pill */
  --badge-height: 24px;
  --badge-padding: 0 8px;
  --badge-radius: var(--radius-full);
}

/* Dark mode is DEFAULT — Modern Minimal design */
/* No light mode overrides — dark mode everywhere */

/* ==================== GLOBAL STYLES ==================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-body);
  color: var(--text-primary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  transition: background-color var(--transition-color), color var(--transition-color);
}

#app {
  width: 100%;
  min-height: 100vh;
  background-color: var(--bg-body);
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==================== TYPOGRAPHY ==================== */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--text-primary);
  text-wrap: balance;
  margin: 0;
}

h1 {
  font-size: var(--font-size-5xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  margin-bottom: var(--spacing-lg);
  letter-spacing: var(--letter-spacing-tight);
}

h2 {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-lg);
}

h3 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-md);
}

h4 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-md);
}

h5 {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-sm);
}

h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-sm);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
}

p {
  margin-bottom: var(--spacing-md);
  color: var(--text-primary);
  line-height: var(--line-height-relaxed);
}

/* Text utilities */
.text-sm {
  font-size: var(--font-size-sm);
}

.text-base {
  font-size: var(--font-size-base);
}

.text-lg {
  font-size: var(--font-size-lg);
}

/* Links with improved states */
a {
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color var(--transition-color);
  font-weight: var(--font-weight-medium);
}

a:hover {
  color: var(--color-primary-700);
  text-decoration: underline;
}

a:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

a:active {
  color: var(--color-primary-800);
}

/* Code and pre blocks */
code {
  font-family: var(--font-family-mono);
  font-size: 0.9em;
  background-color: var(--bg-light);
  border-radius: var(--radius-sm);
  padding: 2px 6px;
  color: var(--text-primary);
  word-break: break-word;
}

pre {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  background-color: var(--bg-light);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  overflow-x: auto;
  color: var(--text-primary);
  line-height: var(--line-height-relaxed);
}

pre code {
  background: none;
  padding: 0;
  color: inherit;
}

/* ==================== FORM ELEMENTS ==================== */

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  border: var(--input-border-width) solid var(--border-primary);
  border-radius: var(--radius-md);
  padding: var(--input-padding-y) var(--input-padding-x);
  background-color: var(--bg-input);
  color: var(--text-primary);
  transition: border-color var(--transition-color), background-color var(--transition-color), box-shadow var(--transition-shadow);
}

input::placeholder,
textarea::placeholder {
  color: var(--text-placeholder);
}

input:hover:not(:disabled),
textarea:hover:not(:disabled),
select:hover:not(:disabled) {
  background-color: var(--bg-input-hover);
  border-color: var(--border-hover);
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
  border-color: var(--border-focus);
  box-shadow: var(--shadow-focus);
  background-color: var(--bg-input);
}

input:disabled,
textarea:disabled,
select:disabled {
  background-color: var(--bg-input-disabled);
  color: var(--text-disabled);
  border-color: var(--border-disabled);
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
}

/* Error state */
input.error,
textarea.error,
select.error {
  border-color: var(--color-error-500);
  background-color: var(--color-error-50);
}

input.error:focus-visible,
textarea.error:focus-visible,
select.error:focus-visible {
  box-shadow: var(--shadow-error-focus);
}

/* Success state */
input.success,
textarea.success,
select.success {
  border-color: var(--color-success-500);
}

/* Label styling */
label {
  display: block;
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-sm);
  color: var(--text-primary);
}

/* Help text */
.form-help {
  font-size: var(--font-size-xs);
  color: var(--text-tertiary);
  margin-top: var(--spacing-xs);
}

.form-error {
  font-size: var(--font-size-xs);
  color: var(--color-error-600);
  margin-top: var(--spacing-xs);
  font-weight: var(--font-weight-medium);
}

.form-success {
  font-size: var(--font-size-xs);
  color: var(--color-success-600);
  margin-top: var(--spacing-xs);
  font-weight: var(--font-weight-medium);
}

/* ==================== BUTTONS ==================== */

button {
  font-family: inherit;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  border: none;
  border-radius: var(--radius-md);
  padding: var(--spacing-md) var(--spacing-lg);
  height: var(--btn-height-md);
  background-color: var(--color-primary-600);
  color: #ffffff;
  cursor: pointer;
  transition: background-color var(--transition-color), box-shadow var(--transition-shadow), transform var(--transition-transform);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  white-space: nowrap;
}

button:hover:not(:disabled) {
  background-color: var(--color-primary-700);
  box-shadow: var(--shadow-md);
}

button:focus-visible {
  outline: none;
  box-shadow: var(--shadow-focus);
}

button:active:not(:disabled) {
  transform: scale(0.98);
  background-color: var(--color-primary-800);
}

button:disabled {
  opacity: var(--opacity-disabled);
  cursor: not-allowed;
  box-shadow: none;
}

/* Button variants */
button.btn-secondary {
  background-color: var(--bg-light);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
}

button.btn-secondary:hover:not(:disabled) {
  background-color: var(--neutral-100);
  border-color: var(--border-hover);
}

button.btn-danger {
  background-color: var(--color-error-600);
}

button.btn-danger:hover:not(:disabled) {
  background-color: var(--color-error-700);
}

button.btn-success {
  background-color: var(--color-success-600);
}

button.btn-success:hover:not(:disabled) {
  background-color: var(--color-success-700);
}

/* Button sizes */
button.btn-sm {
  height: var(--btn-height-sm);
  padding: 0 var(--btn-padding-x-sm);
  font-size: var(--font-size-xs);
}

button.btn-lg {
  height: var(--btn-height-lg);
  padding: 0 var(--btn-padding-x-lg);
  font-size: var(--font-size-base);
}

/* ==================== CARDS & CONTAINERS ==================== */

.card {
  background-color: var(--bg-card);
  border: var(--card-border-width) solid var(--border-primary);
  border-radius: var(--card-border-radius);
  padding: var(--card-padding);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-shadow), transform var(--transition-transform), border-color var(--transition-color);
}

.card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--border-hover);
}

.card.elevated {
  box-shadow: var(--shadow-lg);
}

.card.interactive {
  cursor: pointer;
}

.card.interactive:active {
  transform: scale(0.99);
}

/* Badge/Pill component */
.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  height: var(--badge-height);
  padding: var(--badge-padding);
  border-radius: var(--badge-radius);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  background-color: var(--color-primary-50);
  color: var(--color-primary-700);
  white-space: nowrap;
}

.badge.success {
  background-color: var(--color-success-50);
  color: var(--color-success-700);
}

.badge.error {
  background-color: var(--color-error-50);
  color: var(--color-error-700);
}

.badge.warning {
  background-color: var(--color-warning-50);
  color: var(--color-warning-700);
}

.badge.info {
  background-color: var(--color-info-50);
  color: var(--color-info-700);
}

/* ==================== UTILITIES ==================== */

/* Text color utilities */
.text-primary {
  color: var(--text-primary);
}

.text-secondary {
  color: var(--text-secondary);
}

.text-tertiary {
  color: var(--text-tertiary);
}

.text-muted {
  color: var(--text-muted);
}

.text-success {
  color: var(--text-success);
}

.text-error {
  color: var(--text-error);
}

.text-warning {
  color: var(--text-warning);
}

.text-info {
  color: var(--text-info);
}

/* Background utilities */
.bg-light {
  background-color: var(--bg-light);
}

.bg-card {
  background-color: var(--bg-card);
}

.bg-success {
  background-color: var(--color-success-50);
}

.bg-error {
  background-color: var(--color-error-50);
}

.bg-warning {
  background-color: var(--color-warning-50);
}

.bg-info {
  background-color: var(--color-info-50);
}

/* Border utilities */
.border-primary {
  border-color: var(--border-primary);
}

.border-secondary {
  border-color: var(--border-secondary);
}

.border-success {
  border-color: var(--color-success-500);
}

.border-error {
  border-color: var(--color-error-500);
}

.border-warning {
  border-color: var(--color-warning-500);
}

.border-info {
  border-color: var(--color-info-500);
}

/* Spacing utilities */
.gap-xs {
  gap: var(--spacing-xs);
}

.gap-sm {
  gap: var(--spacing-sm);
}

.gap-md {
  gap: var(--spacing-md);
}

.gap-lg {
  gap: var(--spacing-lg);
}

.gap-xl {
  gap: var(--spacing-xl);
}

.gap-2xl {
  gap: var(--spacing-2xl);
}

/* Margin utilities */
.m-auto {
  margin: auto;
}

.mt-auto {
  margin-top: auto;
}

.mb-auto {
  margin-bottom: auto;
}

/* Padding utilities */
.p-md {
  padding: var(--spacing-md);
}

.p-lg {
  padding: var(--spacing-lg);
}

.p-xl {
  padding: var(--spacing-xl);
}

.px-md {
  padding-left: var(--spacing-md);
  padding-right: var(--spacing-md);
}

.py-md {
  padding-top: var(--spacing-md);
  padding-bottom: var(--spacing-md);
}

/* Shadow utilities */
.shadow-sm {
  box-shadow: var(--shadow-sm);
}

.shadow-md {
  box-shadow: var(--shadow-md);
}

.shadow-lg {
  box-shadow: var(--shadow-lg);
}

.shadow-xl {
  box-shadow: var(--shadow-xl);
}

/* Flex utilities */
.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

/* Grid utilities */
.grid {
  display: grid;
}

/* Rounded utilities */
.rounded-sm {
  border-radius: var(--radius-sm);
}

.rounded-md {
  border-radius: var(--radius-md);
}

.rounded-lg {
  border-radius: var(--radius-lg);
}

.rounded-xl {
  border-radius: var(--radius-xl);
}

.rounded-full {
  border-radius: var(--radius-full);
}

/* Display utilities */
.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

/* Font weight utilities */
.font-light {
  font-weight: var(--font-weight-light);
}

.font-normal {
  font-weight: var(--font-weight-normal);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

/* Line height utilities */
.leading-tight {
  line-height: var(--line-height-tight);
}

.leading-snug {
  line-height: var(--line-height-snug);
}

.leading-normal {
  line-height: var(--line-height-normal);
}

.leading-relaxed {
  line-height: var(--line-height-relaxed);
}

/* Opacity utilities */
.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-90 {
  opacity: 0.9;
}

/* Cabeçalho de página (28/08/2026): o título alinha com o conteúdo dos cards
 * (JCard tem 22px de padding lateral) — antes ficava colado na borda. Regra
 * global de propósito: os 17 .page-hdr das views só definem padding-bottom. */
.page-hdr { padding-left: 22px; padding-right: 22px; }
