/* src/client/styles/01-base-and-layout.css */
:root {
  --bg: #07111f;
  --panel: #0d1a2b;
  --panel2: #101f32;
  --border: rgba(148, 163, 184, 0.13);
  --text: #f8fafc;
  --muted: #8da0ba;
  --green: #22c55e;
  --blue: #2f81f7;
  --purple: #8b5cf6;
  --orange: #f59e0b;
  --lime: #84cc16;
  --cyan: #06b6d4;
  --red: #ef4444;
  --sidebar: 220px;
}
* {
  box-sizing: border-box;
}
html,
body {
  min-height: 100%;
}
body {
  margin: 0;
  background:
    radial-gradient(circle at 60% -20%, rgba(34, 197, 94, 0.06), transparent 35%), var(--bg);
  color: var(--text);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  font-size: 14px;
}
.app-shell {
  min-height: 100vh;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  background: #081524;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  z-index: 30;
  transition:
    transform 0.25s ease,
    width 0.25s ease;
}
.brand {
  height: 92px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  border-bottom: 1px solid var(--border);
  min-width: 0;
}
.brand-mark {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #10b981, #22c55e);
  font-weight: 900;
  font-size: 20px;
  box-shadow: 0 12px 30px rgba(16, 185, 129, 0.18);
}
.brand-copy {
  min-width: 0;
}
.brand strong {
  display: block;
  font-size: 14px;
  letter-spacing: 0.03em;
}
.brand span {
  display: block;
  color: #7f91a9;
  font-size: 10px;
  letter-spacing: 0.15em;
  margin-top: 2px;
}
.sidebar-close {
  display: none;
  margin-left: auto;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}
.sidebar nav {
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nav-item {
  width: 100%;
  border: 0;
  background: transparent;
  color: #9fb0c6;
  padding: 12px 14px;
  border-radius: 10px;
  display: flex;
  gap: 12px;
  align-items: center;
  cursor: pointer;
  text-align: left;
  font: inherit;
  white-space: nowrap;
}
.nav-item b {
  font-size: 15px;
  width: 16px;
  text-align: center;
}
.nav-item:hover {
  background: #0d2135;
  color: white;
}
.nav-item.active {
  color: #dfffee;
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.22), rgba(16, 185, 129, 0.06));
  box-shadow: inset 3px 0 0 #10b981;
}
.nav-item.disabled {
  opacity: 0.58;
  cursor: default;
}
.sidebar-footer {
  margin: auto 12px 14px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb, #8b5cf6);
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
}
.sidebar-footer strong {
  font-size: 12px;
  display: block;
}
.sidebar-footer span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  margin-top: 2px;
}
.main {
  margin-left: var(--sidebar);
  padding: 28px 28px 42px;
  min-width: 0;
  transition: margin-left 0.25s ease;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}
.title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.hamburger {
  width: 42px;
  height: 42px;
  border: 1px solid var(--border);
  background: #0b1828;
  border-radius: 10px;
  display: none;
  place-items: center;
  padding: 10px;
  cursor: pointer;
}
.hamburger span {
  display: block;
  height: 2px;
  background: #dce7f2;
  border-radius: 2px;
  margin: 3px 0;
  width: 100%;
}
.eyebrow,
.panel-kicker {
  color: #54d89b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin: 0 0 5px;
}
.topbar h1 {
  font-size: 28px;
  margin: 0;
  letter-spacing: -0.03em;
}
.topbar p:not(.eyebrow) {
  margin: 5px 0 0;
  color: var(--muted);
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.date-control {
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--border);
  background: #0b1828;
  border-radius: 10px;
  color: var(--muted);
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
}
.date-control input {
  background: transparent;
  color: #fff;
  border: 0;
  outline: 0;
  font: inherit;
  color-scheme: dark;
}
.primary,
.secondary,
.icon-button {
  border: 0;
  border-radius: 10px;
  height: 44px;
  padding: 0 16px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.primary {
  color: white;
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 10px 28px rgba(16, 185, 129, 0.18);
}
.secondary {
  color: #d7e2ef;
  background: #0d1d30;
  border: 1px solid var(--border);
}
.icon-button {
  width: 44px;
  padding: 0;
  background: #0b1828;
  color: #c9d5e5;
  border: 1px solid var(--border);
  font-size: 20px;
}
.page {
  display: none;
}
.active-page {
  display: block;
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.kpi-card {
  position: relative;
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--border);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.005)), var(--panel);
  border-radius: 16px;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
}
.kpi-card::before {
  content: '';
  position: absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  right: -50px;
  top: -60px;
  background: currentColor;
  opacity: 0.045;
}
.kpi-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.06);
}
.green {
  color: #37d67a;
}
.blue {
  color: #4ea1ff;
}
.purple {
  color: #9b7cff;
}
.orange {
  color: #ffad38;
}
.lime {
  color: #9bd52a;
}
.cyan {
  color: #22d3ee;
}
.kpi-content span {
  display: block;
  color: #c2cedd;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.kpi-content strong {
  display: block;
  color: white;
  font-size: 30px;
  margin: 7px 0 3px;
  letter-spacing: -0.04em;
}
.kpi-content small {
  color: var(--muted);
}
.mini-bars {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 13px;
  height: 24px;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  opacity: 0.65;
}
.mini-bars i {
  flex: 1;
  background: currentColor;
  border-radius: 4px 4px 1px 1px;
  min-width: 3px;
}
.progress-ring {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: conic-gradient(currentColor var(--pct, 0%), rgba(255, 255, 255, 0.08) 0);
  display: grid;
  place-items: center;
}
.progress-ring::after {
  content: '';
  position: absolute;
  width: 48px;
  height: 48px;
  background: #101e30;
  border-radius: 50%;
}
.progress-ring span {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.55fr);
  gap: 14px;
}
.panel {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.005)), var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 18px;
  min-width: 0;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.panel-head h2 {
  font-size: 16px;
  margin: 0;
  letter-spacing: -0.015em;
}
.pill {
  border: 1px solid var(--border);
  background: #0a1726;
  color: #9db0c6;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 10px;
  white-space: nowrap;
}
.link-button {
  background: transparent;
  border: 0;
  color: var(--brand-accent, #6ee7b7);
  cursor: pointer;
  font-weight: 700;
}
.wide-panel {
  grid-column: 1/-1;
}
.distribution-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(320px, 1.1fr);
  gap: 18px;
}
.distribution-main {
  border-right: 1px solid rgba(148, 163, 184, 0.08);
  padding-right: 18px;
}
.donut-wrap {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 190px;
}
.donut {
  width: 152px;
  height: 152px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
}
.donut::after {
  content: '';
  position: absolute;
  width: 98px;
  height: 98px;
  border-radius: 50%;
  background: #0d1a2b;
}
.donut > div {
  position: relative;
  z-index: 2;
  text-align: center;
}
.donut strong {
  display: block;
  font-size: 23px;
}
.donut span {
  font-size: 10px;
  color: var(--muted);
}
.legend {
  display: grid;
  gap: 12px;
}
.legend-row {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 9px;
}
.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.legend-row span {
  color: #c6d3e2;
  font-size: 12px;
}
.legend-row strong {
  font-size: 12px;
}
.metric-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.metric-box {
  background: #0a1726;
  border: 1px solid rgba(148, 163, 184, 0.09);
  border-radius: 12px;
  padding: 11px;
}
.metric-box span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.metric-box strong {
  display: block;
  font-size: 18px;
  margin-top: 5px;
}
.distribution-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.mini-section {
  background: rgba(7, 17, 31, 0.42);
  border: 1px solid rgba(148, 163, 184, 0.08);
  border-radius: 13px;
  padding: 13px;
}
.armadores-section {
  grid-column: 1/-1;
}
.mini-section-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.mini-section-head strong {
  font-size: 11px;
}
.mini-section-head span {
  font-size: 9px;
  color: var(--muted);
  text-transform: uppercase;
}
.progress-list,
.rank-list {
  display: grid;
  gap: 10px;
}
.progress-row {
  display: grid;
  grid-template-columns: 92px 1fr 28px;
  align-items: center;
  gap: 8px;
}
.progress-row span,
.rank-row span {
  font-size: 10px;
  color: #c5d0dc;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.progress-track {
  height: 6px;
  border-radius: 999px;
  background: #152438;
  overflow: hidden;
}
.progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #10b981, #3b82f6);
}
.progress-row strong {
  font-size: 10px;
  text-align: right;
}
.rank-row {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 8px;
}
.rank-row b {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: #12243a;
  display: grid;
  place-items: center;
  color: #6ee7b7;
  font-size: 9px;
}
.rank-row strong {
  font-size: 10px;
}
.chip-cloud {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.dist-chip {
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: #0b1929;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 9px;
  color: #bfccda;
}
.dist-chip strong {
  color: #fff;
  margin-left: 5px;
}
.timeline {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

/* src/client/styles/02-timeline-and-metrics.css */
.timeline-item {
  display: grid;
  grid-template-columns: 58px 8px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.08);
}
.timeline-time {
  font-weight: 800;
  color: #e6edf6;
}
.timeline-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.45);
}
.timeline-item strong {
  display: block;
  font-size: 12px;
}
.timeline-item span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  margin-top: 3px;
}
.tag {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}
.tag-importação {
  color: #d7c6ff;
  background: rgba(139, 92, 246, 0.15);
}
.tag-exportação {
  color: #ffd28a;
  background: rgba(245, 158, 11, 0.14);
}
.tag-cabotagem {
  color: #9aefbb;
  background: rgba(34, 197, 94, 0.14);
}
.tag-status {
  color: #c6d4e5;
  background: #15263b;
}
.tag-status.realizada {
  color: #9aefbb;
  background: rgba(34, 197, 94, 0.14);
}
.tag-status.andamento {
  color: #91c5ff;
  background: rgba(47, 129, 247, 0.14);
}
.table-wrap {
  overflow: auto;
  border: 1px solid rgba(148, 163, 184, 0.1);
  border-radius: 12px;
}
.dashboard-table-wrap {
  max-height: 300px;
}
.full-table-wrap {
  max-height: calc(100vh - 390px);
}
table {
  border-collapse: collapse;
  width: 100%;
  min-width: 900px;
}
th {
  position: sticky;
  top: 0;
  background: #0d1a2b;
  color: #7f93ac;
  font-size: 9px;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 11px 12px;
  border-bottom: 1px solid var(--border);
  z-index: 1;
}
td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.07);
  color: #d8e3ef;
  font-size: 11px;
  white-space: nowrap;
}
tbody tr:hover {
  background: rgba(255, 255, 255, 0.025);
}
.ops-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.ops-kpi {
  position: relative;
  min-height: 134px;
  padding: 15px 15px 10px;
  border: 1px solid var(--border);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.005)), var(--panel);
  border-radius: 15px;
  overflow: hidden;
}
.ops-kpi::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 42px;
  background: linear-gradient(to top, var(--metric-color, currentColor), transparent);
  opacity: 0.035;
}
.ops-kpi-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.ops-kpi-top span {
  color: #c2cedd;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.ops-kpi-top b {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: color-mix(in srgb, currentColor 13%, transparent);
  display: grid;
  place-items: center;
}
.ops-kpi > strong {
  display: block;
  color: #fff;
  font-size: 26px;
  letter-spacing: -0.04em;
  margin: 7px 0 1px;
}
.ops-kpi small {
  color: var(--muted);
  font-size: 9px;
}
.sparkline {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 6px;
  width: calc(100% - 20px);
  height: 35px;
  overflow: visible;
}
.sparkline path {
  fill: none;
  stroke: var(--metric-color, currentColor);
  stroke-width: 2.3;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 4px var(--metric-color, currentColor));
}
.efficiency-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 7px 0 2px;
}
.efficiency-row strong {
  font-size: 24px;
  color: #fff;
}
.small-ring {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: conic-gradient(currentColor var(--pct, 0%), rgba(255, 255, 255, 0.08) 0);
  position: relative;
}
.small-ring::after {
  content: '';
  position: absolute;
  inset: 7px;
  background: #0d1a2b;
  border-radius: 50%;
}
.filter-panel {
  padding: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 15px;
  margin-bottom: 14px;
}
.filter-row {
  display: grid;
  grid-template-columns: 2fr repeat(4, 1fr);
  gap: 10px;
}
.filter-row label,
.form-grid label {
  color: #8fa3ba;
  font-size: 10px;
  font-weight: 700;
}
.filter-row input,
.filter-row select,
.form-grid input,
.form-grid select {
  width: 100%;
  margin-top: 6px;
  height: 40px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: #091727;
  color: #e5edf6;
  padding: 0 10px;
  outline: none;
}
.operations-panel {
  padding: 0;
}
.operations-panel .panel-head {
  padding: 17px 18px 0;
}
.operations-panel .table-wrap {
  border-radius: 0 0 15px 15px;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
.table-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.table-actions .secondary {
  height: 34px;
  font-size: 11px;
}
.operations-table {
  min-width: 1450px;
}
.row-actions {
  display: flex;
  gap: 5px;
}
.row-button {
  border: 1px solid var(--border);
  background: #0d2034;
  color: #9db0c6;
  border-radius: 7px;
  padding: 5px 7px;
  cursor: pointer;
}
.row-button.delete:hover {
  color: #ff9d9d;
  border-color: rgba(239, 68, 68, 0.3);
}
.modal {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 15, 0.76);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 60;
}
.modal.open {
  display: flex;
}
.modal-card {
  width: min(850px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: #0d1a2b;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
}
.modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.modal-head h2 {
  margin: 0;
}
.close-button {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: #0b1727;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: #b7c7d9;
  font-size: 12px;
}
.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
}
.toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  background: #0f2b21;
  border: 1px solid rgba(34, 197, 94, 0.28);
  color: #baf5d0;
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.28);
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: 0.22s;
  z-index: 100;
}
.toast.show {
  transform: translateY(0);
  opacity: 1;
}
.mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 15, 0.68);
  backdrop-filter: blur(3px);
  z-index: 25;
}
@media (max-width: 1320px) {
  .ops-kpi-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .full-table-wrap {
    max-height: calc(100vh - 520px);
  }
}
@media (max-width: 1120px) {
  .kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .filter-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .wide-panel {
    grid-column: auto;
  }
  .distribution-layout {
    grid-template-columns: 1fr;
  }
  .distribution-main {
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    padding: 0 0 16px;
  }
  .topbar {
    align-items: flex-start;
  }
  .form-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .sidebar {
    transform: translateX(-105%);
    box-shadow: 20px 0 60px rgba(0, 0, 0, 0.35);
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .sidebar-close {
    display: block;
  }
  .mobile-overlay.show {
    display: block;
  }
  .main {
    margin-left: 0;
    padding: 22px;
  }
  .hamburger {
    display: block;
  }
  .topbar {
    flex-direction: column;
  }
  .top-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .date-control {
    flex: 1;
    min-width: 190px;
  }
  .ops-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .full-table-wrap {
    max-height: none;
  }
}
@media (max-width: 680px) {
  body {
    font-size: 13px;
  }
  .main {
    padding: 14px;
  }
  .topbar {
    margin-bottom: 18px;
  }
  .topbar h1 {
    font-size: 24px;
  }
  .title-wrap {
    align-items: flex-start;
  }
  .top-actions {
    display: grid;
    grid-template-columns: 1fr 44px;
    width: 100%;
  }
  .date-control {
    min-width: 0;
  }
  .top-actions .primary {
    grid-column: 1/-1;
    width: 100%;
  }
  .dashboard-kpis,
  .ops-kpi-grid {
    grid-template-columns: 1fr;
  }
  .kpi-card {
    min-height: 138px;
  }
  .distribution-side {
    grid-template-columns: 1fr;
  }
  .armadores-section {
    grid-column: auto;
  }
  .donut-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .legend {
    width: 100%;
  }
  .metric-strip {
    grid-template-columns: 1fr;
  }
  .filter-row,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .panel {
    padding: 14px;
  }
  .panel-head {
    align-items: flex-start;
  }
  .table-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .timeline-item {
    grid-template-columns: 48px 8px 1fr;
  }
  .timeline-item > .tag {
    grid-column: 3;
  }
  .modal {
    padding: 10px;
  }
  .modal-card {
    padding: 16px;
  }
  .sidebar {
    width: min(84vw, 290px);
  }
  .sidebar nav {
    overflow: auto;
  }
  .ops-kpi {
    min-height: 126px;
  }
}
.hidden {
  display: none !important;
}
.login-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(380px, 0.75fr);
  background: #06101d;
}
.login-art {
  padding: 52px 7vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 80%, rgba(16, 185, 129, 0.16), transparent 32%),
    radial-gradient(circle at 90% 15%, rgba(59, 130, 246, 0.13), transparent 34%),
    linear-gradient(145deg, #081625, #07111f);
}
.login-art:after {
  content: '';
  position: absolute;
  right: -180px;
  bottom: -180px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(52, 211, 153, 0.15);
  border-radius: 50%;
  box-shadow:
    0 0 0 70px rgba(52, 211, 153, 0.02),
    0 0 0 140px rgba(52, 211, 153, 0.015);
}
.login-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 2;
}
.login-brand strong {
  display: block;
  letter-spacing: 0.05em;
}
.login-brand span {
  display: block;
  font-size: 10px;
  color: #7f91a9;
  letter-spacing: 0.18em;
}
.login-copy {
  z-index: 2;
  max-width: 720px;
}
.login-copy h1 {
  font-size: clamp(42px, 5vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.055em;
  margin: 10px 0 22px;
}
.login-copy h1 em {
  font-style: normal;
  color: #42d99a;
}
.login-copy p {
  font-size: 16px;
  line-height: 1.7;
  color: #98aac0;
  max-width: 620px;
}
.role-flow {
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.role-flow div {
  min-width: 150px;
  padding: 16px;
  border: 1px solid var(--border);
  background: rgba(8, 21, 36, 0.7);
  border-radius: 14px;
}
.role-flow b {
  font-size: 10px;
  color: #52d69d;
}
.role-flow strong,
.role-flow span {
  display: block;
}
.role-flow strong {
  margin: 7px 0 3px;
}
.role-flow span {
  font-size: 10px;
  color: var(--muted);
}
.role-flow i {
  color: #4b627a;
}
.login-box-wrap {
  display: grid;
  place-items: center;
  padding: 30px;
  background: #091522;
}
.login-box {
  width: min(420px, 100%);
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.005)), #0d1a2b;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}
.login-box h2 {
  font-size: 30px;
  margin: 8px 0 4px;
}
.login-box > p {
  color: var(--muted);
  margin: 0 0 24px;
}
.login-box label {
  display: block;
  color: #9cb0c8;
  font-size: 11px;
  font-weight: 700;
  margin: 14px 0;
}
.login-box input {
  width: 100%;
  height: 46px;
  margin-top: 7px;
  padding: 0 13px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #071522;
  color: #fff;
  outline: none;
}
.login-button {
  width: 100%;
  margin-top: 8px;
}
.login-error {
  min-height: 18px;
  color: #ff9595;
  font-size: 11px;
  margin-top: 10px;
}
.demo-users {
  border-top: 1px solid var(--border);
  margin-top: 18px;
  padding-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.demo-users > strong {
  grid-column: 1/-1;
  color: #758aa3;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 4px;
}
.demo-users button {
  border: 1px solid var(--border);
  background: #0a1726;
  color: #cbd7e4;
  border-radius: 9px;
  padding: 9px;
  text-align: left;
  font-size: 10px;
  cursor: pointer;
}
.demo-users button span {
  display: block;
  color: #5f748d;
  font-size: 8px;
  margin-top: 2px;
}
.permission-card {
  margin: auto 12px 10px;
  padding: 12px;
  border: 1px solid rgba(52, 211, 153, 0.13);
  background: linear-gradient(145deg, rgba(16, 185, 129, 0.08), rgba(16, 185, 129, 0.02));
  border-radius: 13px;
}
.permission-card span {
  display: block;
  font-size: 8px;
  letter-spacing: 0.12em;
  color: #5f997f;
}
.permission-card strong {
  display: block;
  font-size: 12px;
  margin: 5px 0;
  color: #d9ffee;
}
.permission-card small {
  display: block;
  color: #7f96a9;
  font-size: 9px;
  line-height: 1.45;
}
.logout-mini {
  margin-left: auto;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #0a1828;
  color: #9fb0c6;
  cursor: pointer;
}
.access-banner {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 14px;
  padding: 10px 13px;
  border: 1px solid rgba(59, 130, 246, 0.16);
  background: rgba(59, 130, 246, 0.055);
  border-radius: 11px;
}
.access-banner b {
  font-size: 10px;
  color: #8fc5ff;
}
.access-banner span {
  font-size: 10px;
  color: #8398b1;
}

/* Cores da série independentes das cores de texto do cartão. */
.ops-kpi.green{--metric-color:#37d67a}
.ops-kpi.blue{--metric-color:#4ea1ff}
.ops-kpi.purple{--metric-color:#9b7cff}
.ops-kpi.orange{--metric-color:#ffad38}
.ops-kpi.lime{--metric-color:#9bd52a}
.ops-kpi.cyan{--metric-color:#22d3ee}
html[data-theme=light] .ops-kpi.green{--metric-color:#15803d}
html[data-theme=light] .ops-kpi.blue{--metric-color:#2563eb}
html[data-theme=light] .ops-kpi.purple{--metric-color:#7c3aed}
html[data-theme=light] .ops-kpi.orange{--metric-color:#b45309}
html[data-theme=light] .ops-kpi.lime{--metric-color:#4d7c0f}
html[data-theme=light] .ops-kpi.cyan{--metric-color:#0e7490}
html[data-theme=light] .ops-kpi .sparkline path{filter:none}

#operationsPage .kpi-card[role=button] { cursor: pointer; }
#operationsPage .kpi-card[role=button]:focus-visible,
#operationsPage .kpi-card.ops-period-active { outline: 2px solid var(--brand-action, #1680e5); outline-offset: -2px; }
@media (hover: hover) {
  #operationsPage .kpi-card[role=button]:hover { outline: 1px solid var(--brand-action, #1680e5); box-shadow: 0 4px 14px rgba(22, 128, 229, .16); }
  #operationsPage .kpi-card.ops-period-active:hover { outline-width: 2px; }
}
.ops-period-controls { display: flex; justify-content: flex-end; margin: .5rem 0 .75rem; }

#operationsPage .ops-filter-row { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.ops-saved-filters, .ops-saved-filters [data-ops-filter-buttons] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ops-saved-filters { margin: 0 0 .85rem; }
.ops-saved-filters [data-ops-filter-buttons] > span { display: inline-flex; gap: .25rem; }

.reuse-time-controls { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:.4rem; }
.reuse-time-controls input { min-width:0; }
.reuse-time-field [data-reuse-flag], .reuse-time-field [data-reuse-hint][hidden] { display:none !important; }
.reuse-time-field[data-reuse-active=true] input[type=datetime-local] { background:color-mix(in srgb, var(--panel) 75%, #808080); cursor:not-allowed; }
.reuse-time-field [data-reuse-time][aria-pressed=true] { border-color:var(--brand-action, #1680e5); }

/* src/client/styles/03-tables-and-forms.css */
.clickable {
  cursor: pointer;
}
.clickable:hover {
  background: rgba(16, 185, 129, 0.035) !important;
}
.operation-detail-card {
  width: min(1120px, 96vw);
  padding: 0;
  overflow: hidden;
}
.operation-detail-card .modal-head {
  padding: 20px 22px 15px;
  margin: 0;
  border-bottom: 1px solid var(--border);
}
.modal-subtitle {
  color: var(--muted);
  font-size: 10px;
  margin: 5px 0 0;
}
.section-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border-bottom: 1px solid var(--border);
}
.section-tab {
  border: 0;
  background: #0a1726;
  color: #8fa3ba;
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-align: left;
}
.section-tab b {
  width: 33px;
  height: 33px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #122238;
  color: #c5d4e5;
}
.section-tab span {
  font-size: 11px;
  font-weight: 800;
}
.section-tab small {
  display: block;
  font-size: 8px;
  font-weight: 500;
  color: #63788f;
  margin-top: 3px;
}
.section-tab.active {
  background: #0d1a2b;
  color: #fff;
  box-shadow: inset 0 -2px var(--brand-primary, #10b981);
}
.section-tab.active b {
  background: var(--brand-soft, rgba(16, 185, 129, 0.14));
  color: var(--brand-accent, #70ebb9);
}
.form-section {
  display: none;
  padding: 21px 22px 8px;
  max-height: 58vh;
  overflow: auto;
}
.form-section.active {
  display: block;
}
.section-heading {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 18px;
}
.section-heading h3 {
  font-size: 15px;
  margin: 0;
}
.section-heading p {
  font-size: 9px;
  color: var(--muted);
  margin: 3px 0 0;
}
.section-icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  font-weight: 900;
}
.section-icon.operation {
  color: #56df9e;
  background: rgba(16, 185, 129, 0.12);
}
.section-icon.risk {
  color: #8cc5ff;
  background: rgba(59, 130, 246, 0.12);
}
.section-icon.finance {
  color: #d3b7ff;
  background: rgba(139, 92, 246, 0.12);
}
.permission-pill {
  margin-left: auto;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.permission-pill.edit {
  color: #78e7ae;
  background: rgba(34, 197, 94, 0.11);
}
.permission-pill.read {
  color: #8b9aae;
  background: rgba(148, 163, 184, 0.08);
}
.detail-grid {
  grid-template-columns: repeat(4, 1fr);
}
.field > span {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  align-items: center;
}
.field .lock {
  font-size: 7px;
  font-style: normal;
  color: #63788f;
  font-weight: 500;
}
.form-grid textarea {
  width: 100%;
  min-height: 90px;
  margin-top: 6px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: #091727;
  color: #e5edf6;
  padding: 10px;
  outline: none;
  resize: vertical;
}
.field-wide {
  grid-column: span 2;
}
.form-grid input:disabled,
.form-grid select:disabled,
.form-grid textarea:disabled {
  opacity: 0.62;
  cursor: not-allowed;
  background: #0b1623;
}
.switch {
  height: 40px;
  margin-top: 6px !important;
  border: 1px solid var(--border);
  background: #091727;
  border-radius: 9px;
  padding: 0 10px;
  display: flex !important;
  align-items: center;
  gap: 8px;
}
.switch input {
  display: none;
}
.switch > span {
  width: 32px;
  height: 17px;
  background: #253449;
  border-radius: 999px;
  position: relative;
}
.switch > span:after {
  content: '';
  position: absolute;
  width: 13px;
  height: 13px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #9dadc0;
  transition: 0.2s;
}
.switch input:checked + span {
  background: #0e8f63;
}
.switch input:checked + span:after {
  left: 17px;
  background: #fff;
}
.switch em {
  font-size: 9px;
  font-style: normal;
  color: #a8b7c7;
}
.operation-detail-card .modal-actions {
  padding: 14px 22px 18px;
  margin: 0;
  border-top: 1px solid var(--border);
}
#deleteOperationBtn {
  margin-right: auto;
  color: #ff9999;
}
.audit-box {
  margin: 0 22px 20px;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: #091522;
  max-height: 150px;
  overflow: auto;
}
.audit-box > strong {
  display: block;
  font-size: 9px;
  color: #7b8ea5;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 7px;
}
.audit-box div {
  display: grid;
  grid-template-columns: 145px 150px auto;
  gap: 8px;
  padding: 6px 0;
  border-top: 1px solid rgba(148, 163, 184, 0.06);
  font-size: 9px;
  color: #7f91a8;
}
.audit-box div b {
  color: #bac8d7;
}
.audit-box div em {
  color: #58d69d;
  font-style: normal;
}
.users-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 16px;
}
.users-head h2 {
  margin: 3px 0;
  font-size: 20px;
}
.users-head p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
}
.role-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
.role-cards article {
  padding: 14px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 13px;
}
.role-cards b,
.role-cards span {
  display: block;
}
.role-cards b {
  font-size: 11px;
}
.role-cards span {
  font-size: 9px;
  color: var(--muted);
  margin-top: 5px;
}
.user-cell {
  display: flex;
  align-items: center;
  gap: 9px;
}
.mini-avatar {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2563eb, #8b5cf6);
  display: grid;
  place-items: center;
  font-size: 8px;
  font-weight: 800;
}
.role-badge {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 800;
}
.role-badge.operation {
  color: #75eeb3;
  background: rgba(16, 185, 129, 0.12);
}
.role-badge.risk {
  color: #8dc6ff;
  background: rgba(59, 130, 246, 0.12);
}
.role-badge.finance {
  color: #d4b4ff;
  background: rgba(139, 92, 246, 0.12);
}
.role-badge.admin {
  color: #ffca80;
  background: rgba(245, 158, 11, 0.12);
}
.status-dot {
  font-size: 9px;
}
.status-dot.on {
  color: #6fe3a7;
}
.status-dot.off {
  color: #ef8a8a;
}
.small-modal {
  width: min(480px, 94vw);
}
.one-col {
  grid-template-columns: 1fr !important;
}
.toast.error {
  background: #32151a;
  border-color: rgba(239, 68, 68, 0.3);
  color: #ffc2c2;
}
@media (max-width: 1050px) {
  .detail-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .role-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .login-screen {
    grid-template-columns: 1fr;
  }
  .login-art {
    display: none;
  }
  .login-box-wrap {
    min-height: 100vh;
  }
  .operation-detail-card {
    width: 100%;
    max-height: 96vh;
  }
  .section-tabs {
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
}
@media (max-width: 680px) {
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .field-wide {
    grid-column: auto;
  }
  .section-heading {
    align-items: flex-start;
  }
  .permission-pill {
    font-size: 7px;
  }
  .role-cards {
    grid-template-columns: 1fr;
  }
  .users-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .users-head .primary {
    width: 100%;
  }
  .access-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .form-section {
    padding: 16px 14px;
  }
  .operation-detail-card .modal-head,
  .operation-detail-card .modal-actions {
    padding-left: 14px;
    padding-right: 14px;
  }
  .section-tab {
    padding: 11px;
  }
  .demo-users {
    grid-template-columns: 1fr;
  }
  .login-box {
    padding: 22px;
  }
  .audit-box {
    margin: 0 14px 14px;
  }
  .audit-box div {
    grid-template-columns: 1fr;
  }
}

@media (pointer:fine) {
  .table-wrap.drag-scrollable { cursor:grab; }
  .table-wrap.dragging, .table-wrap.dragging * { cursor:grabbing !important; user-select:none; }
}

/* src/client/styles/04-pages-and-administration.css */
/* V2 - páginas reais, detalhe sem modal e telas administrativas */
.sidebar nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.permission-card {
  margin: 8px 12px 10px;
}
.wide-btn {
  width: 100%;
}
.detail-page-head,
.page-tools {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 16px;
}
.detail-page-head > div:nth-child(2),
.page-tools > div {
  flex: 1;
  min-width: 0;
}
.detail-page-head h2,
.page-tools h2 {
  margin: 3px 0;
  font-size: 22px;
}
.detail-page-head p,
.page-tools p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}
.detail-actions {
  display: flex;
  gap: 9px;
}
.danger {
  height: 44px;
  border-radius: 10px;
  padding: 0 15px;
  border: 1px solid rgba(239, 68, 68, 0.24);
  background: rgba(239, 68, 68, 0.08);
  color: #ff9b9b;
  font-weight: 800;
  cursor: pointer;
}
.detail-panel {
  padding: 0;
  overflow: hidden;
}
.detail-panel .section-tabs {
  border-radius: 16px 16px 0 0;
}
.detail-panel .form-section {
  max-height: none;
  overflow: visible;
  padding: 24px;
}
.detail-panel .audit-box {
  margin: 0 24px 24px;
}
.simple-form {
  margin: -2px 0 18px;
  padding: 16px;
  border: 1px solid rgba(16, 185, 129, 0.16);
  background: rgba(16, 185, 129, 0.035);
  border-radius: 13px;
}
.inline-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 11px;
  align-items: end;
}
.inline-form label {
  font-size: 9px;
  color: #8fa3ba;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.inline-form input,
.inline-form select {
  width: 100%;
  height: 40px;
  margin-top: 6px;
  padding: 0 10px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: #091727;
  color: #e5edf6;
  outline: none;
}
.inline-actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.inline-actions .primary,
.inline-actions .secondary {
  height: 40px;
}
.row-btn {
  border: 1px solid var(--border);
  background: #0b1929;
  color: #b9c9da;
  border-radius: 8px;
  padding: 6px 9px;
  cursor: pointer;
  font-size: 9px;
}
.mini-kpi-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.mini-kpi-row article {
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--panel);
}
.mini-kpi-row span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.mini-kpi-row strong {
  display: block;
  font-size: 22px;
  margin-top: 5px;
}
.report-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.report-kpis .kpi-card {
  min-height: 110px;
}
.bar-chart {
  height: 210px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 18px 8px 5px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
}
.bar-col {
  min-width: 38px;
  flex: 1;
  height: 185px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
}
.bar {
  width: min(28px, 70%);
  background: linear-gradient(180deg, #34d399, #0e8f63);
  border-radius: 7px 7px 2px 2px;
  min-height: 8px;
}
.bar-col span,
.bar-value {
  font-size: 8px;
  color: var(--muted);
}
.bar-value {
  color: #cce8dc;
}
.finance-col {
}
.empty {
  text-align: center !important;
  color: var(--muted) !important;
  padding: 28px !important;
}
.table-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.operations-table .ellipsis {
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.full-table-wrap {
  max-height: 64vh;
  overflow: auto;
}
.full-table-wrap thead {
  position: sticky;
  top: 0;
  z-index: 2;
}
.switch em {
  min-width: 22px;
}
.mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.58);
  z-index: 29;
}
.mobile-overlay.show {
  display: block;
}
@media (max-width: 1200px) {
  .report-kpis {
    grid-template-columns: repeat(3, 1fr);
  }
  .inline-form {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 980px) {
  .detail-page-head,
  .page-tools {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .detail-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .inline-form {
    grid-template-columns: repeat(2, 1fr);
  }
  .report-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 760px) {
  .main {
    padding: 18px 14px 34px;
  }
  .topbar {
    align-items: flex-start;
  }
  .top-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .date-control {
    flex: 1;
  }
  .top-actions .primary,
  .top-actions .secondary {
    flex: 1;
    min-width: 145px;
  }
  .detail-page-head {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .detail-page-head > .detail-actions {
    grid-column: 1/-1;
  }
  .detail-actions > * {
    flex: 1;
  }
  .mini-kpi-row {
    grid-template-columns: 1fr;
  }
  .inline-form {
    grid-template-columns: 1fr;
  }
  .report-kpis {
    grid-template-columns: 1fr 1fr;
  }
  .detail-panel .form-section {
    padding: 16px 14px;
  }
  .detail-panel .audit-box {
    margin: 0 14px 14px;
  }
  .sidebar {
    transform: translateX(-102%);
    width: min(84vw, 300px);
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .main {
    margin-left: 0;
  }
  .hamburger {
    display: block;
  }
  .sidebar-close {
    display: block;
  }
  .kpi-grid {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .distribution-layout {
    grid-template-columns: 1fr;
  }
  .distribution-main {
    border-right: 0;
    padding-right: 0;
    border-bottom: 1px solid var(--border);
    padding-bottom: 14px;
  }
  .distribution-side {
    grid-template-columns: 1fr;
  }
  .armadores-section {
    grid-column: auto;
  }
}
@media (max-width: 520px) {
  .kpi-grid,
  .report-kpis {
    grid-template-columns: 1fr;
  }
  .topbar h1 {
    font-size: 23px;
  }
  .detail-page-head {
    grid-template-columns: 1fr;
  }
  .detail-page-head > #backOperationsBtn {
    width: max-content;
  }
  .detail-page-head > .detail-actions {
    grid-column: auto;
  }
  .section-tabs {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    overflow-x: auto;
  }
  .donut-wrap {
    grid-template-columns: 1fr;
  }
  .donut {
    margin: auto;
  }
  .metric-strip {
    grid-template-columns: 1fr;
  }
  .panel {
    padding: 14px;
  }
  .page-tools .primary {
    width: 100%;
  }
}

/* src/client/styles/05-wallet-and-detail.css */
/* V3 - carteira financeira de motoristas e limpeza de títulos duplicados */
.page-tools > div {
  padding-bottom: 2px;
}
.page-tools > div > .panel-kicker + .page-tools p {
  margin-top: 7px;
}
.row-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  white-space: nowrap;
}
.wallet-btn {
  border-color: rgba(139, 92, 246, 0.28);
  color: #d7c3ff;
  background: rgba(139, 92, 246, 0.08);
}
.wallet-debt {
  color: #ffadad;
}
.wallet-kpi-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.wallet-kpi-grid article {
  padding: 18px;
  border-radius: 15px;
  background: var(--panel);
  border: 1px solid var(--border);
}
.wallet-kpi-grid span,
.wallet-kpi-grid small {
  display: block;
}
.wallet-kpi-grid span {
  font-size: 9px;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-weight: 800;
}
.wallet-kpi-grid strong {
  display: block;
  font-size: 25px;
  margin: 7px 0 4px;
}
.wallet-kpi-grid small {
  font-size: 9px;
  color: var(--muted);
}
.wallet-balance-card {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.08), rgba(139, 92, 246, 0.05)) !important;
  border-color: rgba(239, 68, 68, 0.16) !important;
}
.wallet-balance-card strong.has-debt {
  color: #ff9c9c;
}
.wallet-actions-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
  margin-bottom: 14px;
}
.wallet-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}
.wallet-form.compact {
  grid-template-columns: 1fr;
}
.wallet-form label {
  font-size: 9px;
  color: #8fa3ba;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.wallet-form input,
.wallet-form select,
.wallet-form textarea {
  width: 100%;
  margin-top: 6px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #091727;
  color: #e5edf6;
  padding: 10px;
  outline: none;
}
.wallet-form input,
.wallet-form select {
  height: 40px;
}
.wallet-form textarea {
  min-height: 72px;
  resize: vertical;
}
.wallet-form .field-wide {
  grid-column: 1/-1;
}
.wallet-offset-field {
  grid-column: 1/-1;
}
.offset-row {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}
.offset-row > input[type='checkbox'] {
  width: 20px;
  height: 20px;
  margin: 0;
}
.offset-row > input[type='number'] {
  margin: 0;
}
.wallet-offset-field small {
  display: block;
  margin-top: 5px;
  color: #667b92;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
.wallet-payment-preview {
  grid-column: 1/-1;
  padding: 12px 14px;
  border: 1px solid rgba(16, 185, 129, 0.2);
  background: rgba(16, 185, 129, 0.055);
  border-radius: 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wallet-payment-preview span {
  font-size: 9px;
  color: #87a699;
  text-transform: uppercase;
  font-weight: 800;
}
.wallet-payment-preview strong {
  font-size: 18px;
  color: #71e5ab;
}
.wallet-form > button {
  grid-column: 1/-1;
  height: 42px;
}
.danger-soft {
  border: 1px solid rgba(239, 68, 68, 0.25);
  background: rgba(239, 68, 68, 0.08);
  color: #ffaaaa;
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
}
.panel-copy {
  font-size: 10px;
  line-height: 1.55;
  color: var(--muted);
  margin: -3px 0 14px;
}
.wallet-divider {
  height: 1px;
  background: var(--border);
  margin: 22px 0;
}
.wallet-tag {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 800;
}
.wallet-tag.debt {
  background: rgba(239, 68, 68, 0.1);
  color: #ffaaaa;
}
.wallet-tag.credit {
  background: rgba(16, 185, 129, 0.1);
  color: #79e9b0;
}
.wallet-move {
  font-weight: 800;
}
.wallet-move.plus {
  color: #ff9d9d;
}
.wallet-move.minus {
  color: #76e4ac;
}
@media (max-width: 980px) {
  .wallet-kpi-grid {
    grid-template-columns: 1fr 1fr;
  }
  .wallet-balance-card {
    grid-column: 1/-1;
  }
  .wallet-actions-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .wallet-kpi-grid {
    grid-template-columns: 1fr;
  }
  .wallet-balance-card {
    grid-column: auto;
  }
  .wallet-form {
    grid-template-columns: 1fr;
  }
  .wallet-form .field-wide,
  .wallet-offset-field,
  .wallet-payment-preview,
  .wallet-form > button {
    grid-column: auto;
  }
  .row-actions {
    flex-wrap: wrap;
  }
}

/* src/client/styles/06-lookups-and-dialogs.css */
/* V4 — lookups operacionais */
.lookup-field small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
}
.lookup-wrap {
  display: flex;
  gap: 8px;
  align-items: stretch;
}
.lookup-wrap > input {
  flex: 1;
  min-width: 0;
}
.lookup-add {
  width: 42px;
  min-width: 42px;
  border: 1px solid rgba(96, 165, 250, 0.32);
  background: rgba(59, 130, 246, 0.12);
  color: #93c5fd;
  border-radius: 10px;
  font-size: 20px;
  cursor: pointer;
}
.lookup-add:hover {
  background: rgba(59, 130, 246, 0.22);
}
/* V5 — lookups, picklists, confirmações, paginação e drag horizontal */
.table-wrap {
  cursor: grab;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
}
.table-wrap.dragging {
  cursor: grabbing;
  user-select: none;
}
.table-wrap.dragging * {
  user-select: none;
}
.table-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 4px 2px;
  color: var(--muted);
  font-size: 10px;
}
.table-pagination > div {
  display: flex;
  align-items: center;
  gap: 9px;
}
.table-pagination button {
  width: 34px;
  height: 32px;
  border-radius: 9px;
  border: 1px solid var(--border);
  background: #0a1828;
  color: #d8e5f3;
  cursor: pointer;
  font-size: 18px;
}
.table-pagination button:disabled {
  opacity: 0.32;
  cursor: not-allowed;
}
.table-pagination b {
  font-size: 10px;
  color: #b9c9da;
  min-width: 54px;
  text-align: center;
}
.smart-field {
  position: relative;
}
.smart-input {
  padding-right: 34px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #657b92 50%),
    linear-gradient(135deg, #657b92 50%, transparent 50%) !important;
  background-position:
    calc(100% - 16px) 17px,
    calc(100% - 11px) 17px !important;
  background-size:
    5px 5px,
    5px 5px !important;
  background-repeat: no-repeat !important;
}
.smart-menu,
.custom-select-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 80;
  max-height: 250px;
  overflow: auto;
  padding: 6px;
  background: #071423;
  border: 1px solid rgba(96, 165, 250, 0.25);
  border-radius: 11px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.42);
}
.smart-menu.open,
.custom-select-menu.open {
  display: block;
}
.smart-menu button,
.custom-select-menu button {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: #d9e5f2;
  text-align: left;
  padding: 9px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 10px;
  line-height: 1.35;
}
.smart-menu button:hover,
.custom-select-menu button:hover {
  background: rgba(59, 130, 246, 0.13);
  color: #fff;
}
.smart-empty {
  display: block;
  color: var(--muted);
  padding: 10px;
  font-size: 10px;
}
.smart-menu .create-option {
  color: #86efac;
  border-top: 1px solid var(--border);
  margin-top: 4px;
  padding-top: 10px;
}
.custom-select {
  position: relative;
  width: 100%;
}
.custom-select-input {
  width: 100%;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #091727;
  color: #e5edf6;
  padding: 0 32px 0 10px;
  outline: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #657b92 50%),
    linear-gradient(135deg, #657b92 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 17px,
    calc(100% - 11px) 17px;
  background-size:
    5px 5px,
    5px 5px;
  background-repeat: no-repeat;
}
.native-select-hidden {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}
.filter-row .custom-select-input {
  height: 42px;
  margin-top: 6px;
}
.wallet-form .custom-select-input {
  margin-top: 6px;
}
.custom-select-menu {
  top: calc(100% + 4px);
}
.confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(1, 7, 14, 0.72);
  backdrop-filter: blur(7px);
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  transition: opacity 0.14s ease;
}
.confirm-overlay.show {
  opacity: 1;
}
.confirm-overlay.hidden {
  display: none;
}
.confirm-box {
  width: min(430px, 100%);
  background: linear-gradient(180deg, #0c1b2d, #081522);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.52);
  transform: translateY(8px) scale(0.98);
  transition: transform 0.14s ease;
}
.confirm-overlay.show .confirm-box {
  transform: none;
}
.confirm-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.12);
  border: 1px solid rgba(96, 165, 250, 0.22);
  color: #93c5fd;
  font-weight: 900;
  font-size: 18px;
}
.confirm-box h3 {
  margin: 14px 0 7px;
  font-size: 18px;
}
.confirm-box p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 11px;
}
.confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 22px;
}
.confirm-actions button {
  min-width: 112px;
}
.lookup-add {
  display: none !important;
}
@media (max-width: 620px) {
  .table-pagination {
    gap: 8px;
  }
  .table-pagination > span {
    font-size: 9px;
  }
  .confirm-actions {
    flex-direction: column-reverse;
  }
  .confirm-actions button {
    width: 100%;
  }
  .smart-menu,
  .custom-select-menu {
    max-height: 210px;
  }
}

/* src/client/styles/07-completion-and-notifications.css */
/* V6 - conclusão rápida de operações */
.quick-action-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 126px;
}
.quick-complete {
  height: 30px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid rgba(34, 197, 94, 0.28);
  background: rgba(34, 197, 94, 0.09);
  color: #8ff0b5;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  transition: 0.16s;
}
.quick-complete:hover {
  background: rgba(34, 197, 94, 0.17);
  border-color: rgba(34, 197, 94, 0.48);
}
.quick-complete.is-done {
  border-color: rgba(148, 163, 184, 0.2);
  background: #0c1b2c;
  color: #9caec2;
}
.completed-row {
  background: rgba(34, 197, 94, 0.018);
}
.completed-row td {
  opacity: 0.88;
}
.completed-row .quick-action-cell,
.completed-row .tag-status {
  opacity: 1;
}
.open-arrow {
  color: #657b95;
  font-size: 16px;
}
@media (max-width: 700px) {
  .quick-action-cell {
    min-width: 116px;
  }
  .quick-complete {
    height: 34px;
    font-size: 9px;
  }
}
/* V7 — leitura por usuário e central de notificações */
.notification-wrap {
  position: relative;
}
.notification-btn {
  position: relative;
  font-size: 20px;
  line-height: 1;
}
.notification-badge {
  position: absolute;
  right: -4px;
  top: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  border: 2px solid var(--bg);
  display: grid;
  place-items: center;
  font-size: 8px;
  font-weight: 900;
}
.notification-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 120;
  width: min(390px, calc(100vw - 28px));
  background: #081625;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.48);
  overflow: hidden;
}
.notification-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 15px 16px;
  border-bottom: 1px solid var(--border);
}
.notification-head strong {
  display: block;
  font-size: 14px;
  margin-top: 3px;
}
.notification-head .link-button {
  font-size: 9px;
}
.notification-list {
  max-height: 420px;
  overflow: auto;
}
.notification-item {
  width: 100%;
  display: grid;
  grid-template-columns: 8px 1fr 14px;
  gap: 10px;
  align-items: start;
  padding: 13px 15px;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.08);
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.notification-item:hover {
  background: rgba(59, 130, 246, 0.07);
}
.notification-item .notice-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #60a5fa;
  margin-top: 5px;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.08);
}
.notification-item.updated .notice-dot {
  background: #f59e0b;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.08);
}
.notification-item strong {
  display: block;
  font-size: 10px;
}
.notification-item p {
  margin: 4px 0;
  color: #9fb0c2;
  font-size: 9px;
}
.notification-item small {
  color: #667b91;
  font-size: 8px;
}
.notification-item > b {
  color: #5d7288;
}
.notification-empty {
  padding: 28px 18px;
  text-align: center;
  color: var(--muted);
}
.notification-empty b {
  display: block;
  font-size: 20px;
  color: #62d89a;
}
.notification-empty span {
  display: block;
  color: #c8d4e2;
  font-weight: 800;
  margin: 7px 0 4px;
  font-size: 10px;
}
.notification-empty small {
  font-size: 9px;
}
.unread-row {
  background: linear-gradient(
    90deg,
    rgba(59, 130, 246, 0.085),
    rgba(59, 130, 246, 0.025) 55%,
    transparent
  );
}
.unread-row td:first-child {
  box-shadow: inset 3px 0 0 #60a5fa;
}
.read-row {
  background: rgba(148, 163, 184, 0.018);
}
.read-row td {
  color: #9eafc0;
}
.read-row strong,
.read-row .tag,
.read-row button {
  color: inherit;
}
.updated-row {
  background: linear-gradient(
    90deg,
    rgba(245, 158, 11, 0.07),
    rgba(245, 158, 11, 0.018) 55%,
    transparent
  );
}
.updated-row td:first-child {
  box-shadow: inset 3px 0 0 #f59e0b;
}
.unread-chip,
.updated-chip {
  display: inline-flex;
  margin-left: 7px;
  vertical-align: middle;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: .6875rem;
  line-height: 1.2;
  font-weight: 700;
}
.unread-chip {
  background: rgba(59, 130, 246, 0.14);
  color: #87bfff;
  border: 1px solid rgba(96, 165, 250, 0.2);
}
.updated-chip {
  background: rgba(245, 158, 11, 0.12);
  color: #f8c76a;
  border: 1px solid rgba(245, 158, 11, 0.18);
}
@media (max-width: 700px) {
  .notification-panel {
    right: -52px;
  }
  .notification-head {
    align-items: flex-start;
  }
  .notification-head .link-button {
    padding: 4px;
  }
  .top-actions .notification-wrap {
    order: -1;
  }
}

/* src/client/styles/08-sorting-and-tracking.css */
/* Ordenação estilo planilha */
th.sortable-th {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}
th.sortable-th:hover {
  color: var(--accent, #7c8cff);
  background: rgba(124, 140, 255, 0.06);
}
th.sortable-th.sort-active {
  color: var(--accent, #7c8cff);
}
.sort-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 7px;
  font-size: 12px;
  opacity: 0.48;
  min-width: 12px;
}
th.sort-active .sort-indicator {
  opacity: 1;
}
/* V10 — campos dinâmicos e múltiplas tecnologias de rastreamento */
.custom-fields-block {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.tracking-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.tracking-row .field {
  margin: 0;
}
.tracking-row .row-actions {
  padding-bottom: 2px;
}
.tracking-new {
  margin-top: 20px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(16, 185, 129, 0.025);
}
.tracking-new h4 {
  margin: 0 0 12px;
}
.tracking-new .form-grid {
  grid-template-columns: repeat(5, 1fr);
}
.tracking-new > .primary {
  margin-top: 12px;
}
.empty-state {
  padding: 22px;
  text-align: center;
  color: var(--muted);
}
@media (max-width: 1050px) {
  .tracking-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .tracking-row .row-actions {
    grid-column: 1/-1;
  }
  .tracking-new .form-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .tracking-row,
  .tracking-new .form-grid {
    grid-template-columns: 1fr;
  }
}
.expired-driver-row {
  background: rgba(239, 68, 68, 0.12) !important;
}
.expired-driver-row td:first-child {
  border-left: 3px solid #ef4444;
}
.cnh-expired {
  color: #ff6b6b;
  font-weight: 800;
}
.file-bank {
  margin: 22px 0 6px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.018);
}
.file-upload-btn {
  cursor: pointer;
}
.file-list {
  display: grid;
  gap: 8px;
}
.file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.file-row small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}
.cnh-upload,
.info-note {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.cnh-upload p {
  color: var(--muted);
  margin: 5px 0 10px;
}
.custom-inline {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
}
@media (max-width: 700px) {
  .file-row {
    align-items: flex-start;
    flex-direction: column;
  }
}
.driver-create-choice,
.cnh-first-flow {
  padding: 18px;
}
.driver-create-choice p,
.cnh-first-flow p {
  color: var(--muted);
  margin: 6px 0 16px;
}
.driver-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.driver-choice-card {
  min-height: 110px;
  text-align: left;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--text);
  cursor: pointer;
}
.driver-choice-card:hover {
  border-color: var(--accent);
}
.driver-choice-card b,
.driver-choice-card span {
  display: block;
}
.driver-choice-card span {
  color: var(--muted);
  font-size: 13px;
  margin-top: 7px;
  line-height: 1.45;
}
.cnh-drop {
  display: block;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  margin: 14px 0;
}
.cnh-drop span {
  display: block;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 700px) {
  .driver-choice-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-table-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.column-picker-overlay {
  position: fixed;
  inset: 0;
  background: rgba(2, 8, 18, 0.78);
  backdrop-filter: blur(5px);
  z-index: 500;
  display: grid;
  place-items: center;
  padding: 20px;
}
.column-picker-card {
  width: min(820px, 96vw);
  max-height: 88vh;
  overflow: auto;
  background: #0b1828;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55);
}
.column-picker-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--border);
}
.column-picker-head h3 {
  margin: 2px 0 5px;
  font-size: 19px;
}
.column-picker-head p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
}
.column-picker-close {
  border: 0;
  background: #122238;
  color: #b8c7d8;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  font-size: 22px;
  cursor: pointer;
}
.column-picker-groups {
  padding: 18px 22px;
  display: grid;
  gap: 16px;
}
.column-picker-groups section {
  border: 1px solid var(--border);
  background: #091522;
  border-radius: 13px;
  padding: 14px;
}
.column-picker-groups section > strong {
  display: block;
  color: #6ee7b7;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.column-picker-groups section > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.column-picker-groups label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  background: #0d1d30;
  border: 1px solid rgba(148, 163, 184, 0.09);
  border-radius: 9px;
  color: #cbd7e4;
  font-size: 10px;
  cursor: pointer;
}
.column-picker-groups input {
  accent-color: #10b981;
}
.column-picker-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 15px 22px 20px;
  border-top: 1px solid var(--border);
}
@media (max-width: 700px) {
  .column-picker-groups section > div {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-table-actions {
    gap: 7px;
  }
  .column-picker-actions {
    flex-direction: column-reverse;
  }
  .column-picker-actions button {
    width: 100%;
  }
}
@media (max-width: 460px) {
  .column-picker-groups section > div {
    grid-template-columns: 1fr;
  }
}
.paid-row td {
  background: rgba(34, 197, 94, 0.13) !important;
  border-color: rgba(34, 197, 94, 0.18) !important;
}
.paid-row td:first-child {
  box-shadow: inset 4px 0 0 #22c55e;
}
.report-filter-actions {
  display: flex;
  gap: 8px;
  align-items: end;
  padding-bottom: 1px;
}

/* src/client/styles/09-risk-and-audit.css */
/* V22 - organização da aba de risco e auditoria detalhada */
.risk-detail-grid .risk-group-title {
  grid-column: 1/-1;
  margin: 7px 0 -2px;
  padding: 9px 11px;
  border-left: 3px solid #10b981;
  background: rgba(16, 185, 129, 0.045);
  border-radius: 7px;
  color: #b9c9da;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.audit-box {
  max-height: 280px;
}
.audit-box .audit-entry {
  grid-template-columns: 145px 180px 170px minmax(260px, 1fr);
  align-items: start;
}
.audit-entry section {
  display: grid;
  gap: 4px;
}
.audit-entry small {
  display: block;
  color: #91a4b9;
  font-size: 9px;
}
.audit-entry del {
  color: #e99b9b;
  text-decoration: none;
  background: rgba(239, 68, 68, 0.08);
  padding: 2px 4px;
  border-radius: 4px;
}
.audit-entry ins {
  color: #74e6ad;
  text-decoration: none;
  background: rgba(16, 185, 129, 0.08);
  padding: 2px 4px;
  border-radius: 4px;
}
@media (max-width: 900px) {
  .audit-box .audit-entry {
    grid-template-columns: 1fr;
  }
  .risk-group-title {
    margin-top: 10px !important;
  }
}
.agenda-late {
  background: rgba(245, 158, 11, 0.1) !important;
  border-color: rgba(245, 158, 11, 0.35) !important;
}
.agenda-late .timeline-dot {
  background: #f59e0b !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.15);
}
td {
  position: relative;
}
td:not(:last-child):hover::after {
  content: '⧉';
  position: absolute;
  right: 5px;
  top: 5px;
  font-size: 10px;
  opacity: 0.55;
  background: #334155;
  color: #fff;
  border-radius: 5px;
  padding: 2px 4px;
  pointer-events: none;
}
/* V24 — refinamentos de UX */
.agenda-panel .timeline {
  max-height: 570px;
  overflow-y: auto;
  padding-right: 5px;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.28) transparent;
}
.agenda-panel .timeline::-webkit-scrollbar {
  width: 6px;
}
.agenda-panel .timeline::-webkit-scrollbar-track {
  background: transparent;
}
.agenda-panel .timeline::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.24);
  border-radius: 999px;
}
.timeline-item {
  position: relative;
  border: 1px solid rgba(148, 163, 184, 0.08) !important;
  border-radius: 11px !important;
  background: rgba(9, 23, 39, 0.72) !important;
  padding: 12px 11px !important;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}
.timeline-item:hover {
  background: rgba(15, 32, 51, 0.95) !important;
  border-color: rgba(110, 231, 183, 0.16) !important;
  transform: translateY(-1px);
}
.timeline-item.agenda-late {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.09), rgba(9, 23, 39, 0.78)) !important;
  border-color: rgba(245, 158, 11, 0.22) !important;
  box-shadow: inset 3px 0 0 rgba(245, 158, 11, 0.68);
}
.timeline-warning {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #fbbf24;
  font-size: 17px;
  filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.25));
  animation: warningPulse 1.7s ease-in-out infinite;
}
.timeline-warning-spacer {
  width: 22px;
  height: 22px;
}
.timeline-dot {
  display: none !important;
}
@keyframes warningPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.12);
    opacity: 1;
    filter: drop-shadow(0 0 9px rgba(245, 158, 11, 0.55));
  }
}
#cancelOperationBtn {
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: rgba(245, 158, 11, 0.055);
  color: #f5c36d;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: 0.18s ease;
  box-shadow: none;
}
#cancelOperationBtn:hover {
  background: rgba(245, 158, 11, 0.11);
  border-color: rgba(245, 158, 11, 0.38);
  color: #ffd58a;
}
.cell-copy-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  vertical-align: middle;
}
.cell-copy-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cell-copy-btn {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #60748d;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transition: 0.15s ease;
  font-size: 11px;
  padding: 0;
}
.cell-copy-wrap:hover .cell-copy-btn,
.cell-copy-btn:focus {
  opacity: 1;
}
.cell-copy-btn:hover {
  background: rgba(148, 163, 184, 0.1);
  color: #b7c7da;
}
.cell-copy-btn.copied {
  opacity: 1;
  color: #62dfa5;
  background: rgba(16, 185, 129, 0.09);
}
@media (hover: none) {
  .cell-copy-btn {
    opacity: 0.65;
  }
}

/* src/client/styles/10-form-and-table-polish.css */
/* V25 — correções finais de UX */
/* remove o ícone antigo desenhado pela própria célula; só existe o botão real ao lado do texto */
td:not(:last-child):hover::after {
  content: none !important;
  display: none !important;
}
.cell-copy-wrap {
  gap: 4px !important;
  width: auto !important;
  max-width: 100%;
}
.cell-copy-btn {
  position: static !important;
  margin-left: 2px !important;
  vertical-align: middle;
}
/* alerta da agenda: ícone próprio, separado do texto e sem itálico */
.timeline-warning {
  font-style: normal !important;
  margin: 0 8px 0 2px !important;
  font-family: Arial, sans-serif !important;
  font-weight: 800 !important;
}
.timeline-item > div:nth-of-type(2) {
  min-width: 0;
}
.timeline-item > div:nth-of-type(2) span {
  display: block;
  line-height: 1.35;
}
.vehicle-add-option {
  margin-top: 5px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.14) !important;
  color: #6ee7b7 !important;
  font-weight: 800 !important;
}
/* observação ocupa a largura da ficha */
.field-wide textarea {
  min-height: 88px;
  resize: vertical;
}
/* relatório nunca abre como um grande vazio sem referência visual */
#reportChart:empty::before {
  content: 'Sem dados mensais para os filtros selecionados';
  margin: auto;
  color: var(--muted);
  font-size: 11px;
  align-self: center;
}
/* V26 - motorista/cavalo/carreta juntos e alerta da agenda sem sobreposicao */
.timeline-item {
  grid-template-columns: 58px 30px minmax(0, 1fr) auto !important;
  column-gap: 12px !important;
}
.timeline-warning-slot {
  width: 30px;
  height: 30px;
  display: grid !important;
  place-items: center;
  position: relative;
  flex: 0 0 30px;
  margin: 0 !important;
}
.timeline-warning {
  width: 20px !important;
  height: 20px !important;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  position: relative;
  z-index: 2;
  line-height: 1 !important;
  transform: none !important;
  animation: none !important;
  font-size: 18px !important;
  color: #fbbf24;
}
.timeline-warning-slot:has(.timeline-warning)::before {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  border: 1px solid rgba(245, 158, 11, 0.35);
  animation: warningHalo 1.7s ease-out infinite;
  pointer-events: none;
}
@keyframes warningHalo {
  0% {
    transform: scale(0.72);
    opacity: 0.75;
  }
  70%,
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}
.timeline-item > div:nth-of-type(2) {
  min-width: 0;
  padding-left: 2px;
}
@media (max-width: 700px) {
  .timeline-item {
    grid-template-columns: 48px 28px minmax(0, 1fr) !important;
  }
  .timeline-item > .tag {
    grid-column: 3 !important;
  }
}

/* src/client/styles/11-panorama-and-agenda.css */
/* V28 — panorama por período e agenda temporal */
.panorama-head {
  align-items: flex-end;
  gap: 16px;
}
.panorama-filter {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.panorama-filter label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.panorama-filter input {
  height: 34px;
  min-width: 132px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: #091727;
  color: var(--text);
  padding: 0 9px;
  color-scheme: dark;
}
.panorama-filter button {
  height: 34px;
}
.panorama-extra {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.panorama-card {
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(7, 17, 31, 0.32);
  padding: 13px;
}
.mini-donut-row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  align-items: center;
}
.mini-donut {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  position: relative;
}
.mini-donut:after {
  content: '';
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  background: var(--panel);
}
.legend.compact .legend-row {
  font-size: 10px;
}
.agenda-soon {
  border-color: rgba(59, 130, 246, 0.2) !important;
  box-shadow: inset 3px 0 0 rgba(59, 130, 246, 0.55);
}
.timeline-soon {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: #60a5fa;
  font-style: normal;
  font-size: 19px;
  line-height: 1;
}
.timeline-warning-slot:has(.timeline-soon)::before {
  content: '';
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  border: 1px solid rgba(96, 165, 250, 0.32);
  animation: soonHalo 2s ease-out infinite;
}
@keyframes soonHalo {
  0% {
    transform: scale(0.8);
    opacity: 0.65;
  }
  75%,
  100% {
    transform: scale(1.25);
    opacity: 0;
  }
}
@media (max-width: 1000px) {
  .panorama-extra {
    grid-template-columns: 1fr;
  }
  .panorama-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 620px) {
  .panorama-filter {
    width: 100%;
  }
  .panorama-filter label {
    flex: 1;
  }
  .panorama-filter input {
    width: 100%;
    min-width: 0;
  }
}

/* src/client/styles/12-delay-rankings-and-tv.css */
/* V29 — métrica de atraso e administração do modo TV */
.distribution-main .metric-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.delay-metric strong {
  color: #fbbf24;
}
.delay-metric small {
  display: block;
  color: var(--muted);
  font-size: 8px;
  margin-top: 2px;
}
.tv-admin-panel {
  margin-bottom: 16px;
}
.tv-admin-panel .panel-head p {
  color: var(--muted);
  font-size: 10px;
  margin: 5px 0 0;
}
.tv-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  padding-top: 12px;
}
.tv-link-row input {
  height: 40px;
  border: 1px solid var(--border);
  background: #091727;
  color: #b9c9da;
  border-radius: 9px;
  padding: 0 11px;
}
.tv-link-row a {
  display: grid;
  place-items: center;
  text-decoration: none;
}
@media (max-width: 800px) {
  .distribution-main .metric-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .tv-link-row {
    grid-template-columns: 1fr;
  }
  .tv-link-row button,
  .tv-link-row a {
    width: 100%;
  }
}
/* V30 - estados temporais da agenda */
.timeline-item.agenda-overdue {
  background: linear-gradient(90deg, rgba(249, 115, 22, 0.08), rgba(9, 23, 39, 0.78)) !important;
  border-color: rgba(249, 115, 22, 0.28) !important;
  box-shadow: inset 3px 0 0 rgba(249, 115, 22, 0.72);
}
.timeline-overdue {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(249, 115, 22, 0.13);
  border: 1px solid rgba(249, 115, 22, 0.55);
  color: #fb923c;
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}
.timeline-warning-slot:has(.timeline-overdue)::before {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px solid rgba(249, 115, 22, 0.28);
  animation: overdueHalo 1.8s ease-out infinite;
}
@keyframes overdueHalo {
  0% {
    transform: scale(0.8);
    opacity: 0.7;
  }
  75%,
  100% {
    transform: scale(1.28);
    opacity: 0;
  }
}
/* V32 rankings de pontualidade */
.panorama-extra {
  align-items: stretch;
}
.delay-ranking-card .rank-row strong {
  white-space: nowrap;
}
.delay-rank-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.delay-ranking-card {
  min-width: 0;
}

/* src/client/styles/13-responsive-panorama.css */
/* V33 — Panorama operacional redistribuído, sem buracos */
.distribution-layout {
  align-items: stretch;
}
.distribution-main {
  align-content: start;
}
.distribution-side {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-content: start;
}
.distribution-side .mini-section {
  min-width: 0;
  height: 100%;
}
.distribution-side .fechamentos-section {
  grid-column: 1/-1;
}
.panorama-extra {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin-top: 12px !important;
}
.panorama-extra .panorama-card {
  grid-column: span 2;
  min-width: 0;
  height: 100%;
}
.panorama-extra .delay-ranking-card {
  grid-column: span 3;
}
.panorama-card .rank-list {
  min-height: 0;
}
@media (max-width: 1280px) {
  .distribution-side {
    grid-template-columns: 1fr !important;
  }
  .distribution-side .fechamentos-section {
    grid-column: auto;
  }
  .panorama-extra {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .panorama-extra .panorama-card,
  .panorama-extra .delay-ranking-card {
    grid-column: span 1;
  }
}
@media (max-width: 800px) {
  .panorama-extra,
  .distribution-side {
    grid-template-columns: 1fr !important;
  }
  .panorama-extra .panorama-card,
  .panorama-extra .delay-ranking-card {
    grid-column: 1 !important;
  }
}
/* V36 — mobile cleanup */
@media (max-width: 680px) {
  .main {
    padding: 12px 10px 28px;
    overflow-x: hidden;
  }
  .topbar {
    gap: 12px;
    margin-bottom: 14px;
  }
  .title-wrap {
    width: 100%;
    gap: 10px;
  }
  .title-wrap > div {
    min-width: 0;
  }
  .topbar h1 {
    font-size: 22px;
    line-height: 1.1;
  }
  .topbar #pageSubtitle {
    font-size: 10px;
    line-height: 1.35;
  }
  .hamburger {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }
  .top-actions {
    display: grid !important;
    grid-template-columns: 40px 40px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100%;
    align-items: stretch;
  }
  .top-actions .icon-button,
  .top-actions .notification-wrap {
    width: 40px;
    height: 40px;
  }
  .top-actions .notification-wrap .icon-button {
    width: 40px;
    height: 40px;
  }
  .top-actions #importBtn {
    grid-column: 3 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 40px;
    padding: 0 8px;
    font-size: 10px;
  }
  .top-actions #newOperationBtn {
    grid-column: 1/-1 !important;
    width: 100% !important;
    height: 42px;
    margin: 0;
    font-size: 11px;
  }
  .ops-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .ops-kpi {
    min-height: 105px !important;
    padding: 13px !important;
  }
  .ops-kpi strong {
    font-size: 24px !important;
  }
  .ops-kpi small {
    font-size: 8px !important;
  }
  .ops-kpi-top span {
    font-size: 8px !important;
  }
  .ops-kpi:nth-child(1) {
    grid-column: 1/-1;
  }
  .ops-kpi .sparkline {
    display: none !important;
  }
  .access-banner {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 9px 11px;
  }
  .filter-panel {
    padding: 11px;
  }
  .panel {
    border-radius: 13px;
  }
  .panel-head {
    gap: 10px;
  }
  .panel-head h2 {
    font-size: 16px;
  }
  .full-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .operations-table {
    min-width: 1050px;
  }
}
@media (max-width: 390px) {
  .ops-kpi-grid {
    grid-template-columns: 1fr !important;
  }
  .ops-kpi:nth-child(1) {
    grid-column: auto;
  }
  .top-actions {
    grid-template-columns: 40px 40px 1fr !important;
  }
}
.real-mini-trend {
  color: var(--metric-color, inherit);
  height: 30px;
  min-width: 90px;
  margin-left: auto;
  opacity: 0.9;
  align-self: end;
}
.real-mini-trend svg {
  width: 100%;
  height: 100%;
  display: block;
}
.password-change-overlay {
  z-index: 99999;
}
.password-change-overlay .confirm-box {
  max-width: 440px;
}
.form-error {
  min-height: 20px;
  color: #fb7185;
  font-size: 13px;
  margin-top: 6px;
}
.entity-audit {
  margin-top: 18px;
}
.audit-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
}
.audit-title small {
  opacity: 0.65;
  font-weight: 500;
}
.entity-audit .audit-entry {
  margin-top: 8px;
}

/* src/client/styles/14-operational-intelligence.css */
/* v17 - inteligência operacional */
.ops-intelligence {
  margin: 18px 0;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 16px;
}
.intelligence-card {
  background: linear-gradient(145deg, rgba(16, 35, 53, 0.96), rgba(10, 27, 43, 0.96));
  border: 1px solid #203b50;
  border-radius: 18px;
  padding: 18px;
  min-width: 0;
}
.intelligence-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.intelligence-head h3 {
  margin: 2px 0 0;
  font-size: 18px;
}
.intelligence-head small {
  color: #7893aa;
}
.pending-list,
.smart-alert-list {
  display: grid;
  gap: 9px;
  max-height: 310px;
  overflow: auto;
  padding-right: 5px;
}
.pending-item,
.smart-alert {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 11px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #20394d;
  border-radius: 12px;
  background: #0b1c2d;
}
.pending-item strong,
.smart-alert strong {
  display: block;
  font-size: 13px;
}
.pending-item span,
.smart-alert span {
  display: block;
  color: #8da5ba;
  font-size: 12px;
  margin-top: 2px;
}
.pending-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffb020;
  box-shadow: 0 0 0 5px rgba(255, 176, 32, 0.08);
}
.smart-alert.critical {
  border-color: rgba(255, 88, 88, 0.34);
}
.smart-alert.critical .pending-dot {
  background: #ff5c5c;
}
.smart-alert.info .pending-dot {
  background: #3ba4ff;
}
.pending-count {
  font-size: 12px;
  color: #9ab0c3;
  background: #10283b;
  border-radius: 999px;
  padding: 5px 9px;
}
.sla-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.sla-card {
  padding: 13px;
  border: 1px solid #20394d;
  background: #0b1c2d;
  border-radius: 13px;
}
.sla-card span {
  display: block;
  color: #87a0b6;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sla-card strong {
  display: block;
  font-size: 20px;
  margin-top: 6px;
}
.sla-card small {
  display: block;
  color: #6f8aa1;
  margin-top: 3px;
}
.operation-timeline {
  margin: 18px 0 2px;
  padding: 18px;
  border: 1px solid #203b50;
  background: #0c1e30;
  border-radius: 16px;
}
.operation-timeline h3 {
  margin: 0 0 16px;
}
.op-timeline-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 8px;
  position: relative;
}
.op-step {
  position: relative;
  padding: 12px 10px 12px 28px;
  border-radius: 11px;
  background: #0a1928;
  border: 1px solid #1d3548;
  min-height: 66px;
}
.op-step:before {
  content: '';
  position: absolute;
  left: 11px;
  top: 17px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #40566a;
}
.op-step.done {
  border-color: rgba(23, 194, 139, 0.32);
}
.op-step.done:before {
  background: #17c28b;
  box-shadow: 0 0 0 4px rgba(23, 194, 139, 0.09);
}
.op-step.warn:before {
  background: #ffb020;
}
.op-step strong {
  font-size: 12px;
  display: block;
}
.op-step span {
  font-size: 11px;
  color: #829bb1;
  display: block;
  margin-top: 4px;
}
.detail-smart-alerts {
  margin: 14px 0;
  display: grid;
  gap: 8px;
}
.detail-smart-alerts .smart-alert {
  grid-template-columns: auto 1fr;
}
.empty-intelligence {
  padding: 20px;
  text-align: center;
  color: #7893aa;
  border: 1px dashed #294257;
  border-radius: 12px;
}
@media (max-width: 1000px) {
  .ops-intelligence {
    grid-template-columns: 1fr;
  }
  .sla-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .sla-grid {
    grid-template-columns: 1fr 1fr;
  }
  .op-timeline-track {
    grid-template-columns: 1fr 1fr;
  }
  .intelligence-card {
    padding: 14px;
  }
}

/* src/client/styles/15-dashboard-refinements.css */
/* v17.2 visual refinement */
.ops-intelligence {
  align-items: stretch;
  margin: 16px 0 20px;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}
.intelligence-card {
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.pending-list,
.smart-alert-list {
  max-height: 250px;
  scrollbar-width: thin;
}
.pending-item,
.smart-alert {
  transition:
    border-color 0.15s ease,
    transform 0.15s ease;
  background: rgba(7, 24, 39, 0.72);
}
.pending-item:hover,
.smart-alert:hover {
  border-color: #31536c;
  transform: translateY(-1px);
}
.operation-timeline {
  margin: 16px 18px 18px;
  padding: 16px 18px;
  background: linear-gradient(145deg, #0d2134, #0b1b2b);
  overflow: hidden;
}
.operation-timeline h3 {
  font-size: 15px;
  margin: 0 0 14px;
  color: #eaf3fa;
}
.op-timeline-track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  padding: 3px 2px 8px;
  scrollbar-width: thin;
}
.op-step {
  flex: 1 0 132px;
  min-height: 70px;
  border-radius: 0;
  border-left: 0;
  padding: 13px 12px 12px 30px;
  background: #091a29;
}
.op-step:first-child {
  border-left: 1px solid #1d3548;
  border-radius: 11px 0 0 11px;
}
.op-step:last-child {
  border-radius: 0 11px 11px 0;
}
.op-step:after {
  content: '›';
  position: absolute;
  right: -7px;
  top: 23px;
  z-index: 2;
  color: #46647a;
  font-size: 18px;
  background: #0c1e30;
  width: 14px;
  text-align: center;
}
.op-step:last-child:after {
  display: none;
}
.op-step.done {
  background: rgba(14, 46, 48, 0.7);
}
.op-step strong {
  font-size: 11px;
  letter-spacing: 0.01em;
}
.op-step span {
  font-size: 10px;
  line-height: 1.3;
}
.detail-smart-alerts {
  margin: 0 18px 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
@media (max-width: 900px) {
  .operation-timeline {
    margin: 12px 0;
  }
  .detail-smart-alerts {
    margin: 0 0 12px;
  }
  .op-step {
    flex-basis: 145px;
  }
}

/* src/client/styles/16-metrics-and-pending.css */
/* Intelligence alignment + metric explanations */
.ops-intelligence {
  align-items: stretch;
}
.ops-intelligence > .intelligence-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ops-intelligence > .intelligence-card:first-child .pending-list {
  flex: 1;
  max-height: none;
  min-height: 0;
}
.ops-intelligence > .intelligence-card:nth-child(2) .smart-alert-list {
  max-height: 250px;
}
.sla-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  overflow: visible !important;
}
.metric-info {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 1px solid #49657c;
  border-radius: 50%;
  color: #91a9bd;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
  cursor: help;
  transition: 0.15s ease;
}
.metric-info:hover,
.metric-info:focus {
  color: #d7e7f4;
  border-color: #6f91aa;
  background: #142b3d;
  outline: none;
}
.metric-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  z-index: 80;
  width: 245px;
  padding: 9px 10px;
  border: 1px solid #29475d;
  border-radius: 9px;
  background: #071522;
  color: #c4d3df;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.38);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 5px);
  transition: 0.14s ease;
  pointer-events: none;
}
.metric-tooltip:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #29475d;
}
.metric-info:hover .metric-tooltip,
.metric-info:focus .metric-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
@media (max-width: 1000px) {
  .ops-intelligence > .intelligence-card:first-child .pending-list {
    max-height: 310px;
  }
  .metric-tooltip {
    left: auto;
    right: -12px;
    transform: translate(0, 5px);
  }
  .metric-info:hover .metric-tooltip,
  .metric-info:focus .metric-tooltip {
    transform: translate(0, 0);
  }
  .metric-tooltip:after {
    left: auto;
    right: 14px;
  }
}
/* Central de pendências: mantém rolagem interna visível mesmo com o card alto */
.ops-intelligence > .intelligence-card:first-child .pending-list {
  flex: 0 1 auto;
  max-height: 430px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  padding-right: 7px;
}
.ops-intelligence > .intelligence-card:first-child .pending-list::-webkit-scrollbar {
  width: 8px;
}
.ops-intelligence > .intelligence-card:first-child .pending-list::-webkit-scrollbar-track {
  background: rgba(8, 24, 38, 0.45);
  border-radius: 999px;
}
.ops-intelligence > .intelligence-card:first-child .pending-list::-webkit-scrollbar-thumb {
  background: #52677a;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.ops-intelligence > .intelligence-card:first-child .pending-list::-webkit-scrollbar-thumb:hover {
  background: #6b8296;
  background-clip: padding-box;
}
@media (max-width: 1000px) {
  .ops-intelligence > .intelligence-card:first-child .pending-list {
    max-height: 310px;
  }
}

/* src/client/styles/17-sidebar-and-help.css */
/* UX polish: sidebar icon system + metric help */
.nav-item .nav-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #83a9d4;
  background: rgba(75, 137, 200, 0.055);
  transition:
    background 0.16s ease,
    color 0.16s ease,
    transform 0.16s ease;
}
.nav-item .nav-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav-item:hover .nav-icon {
  color: #c4ddf6;
  background: rgba(91, 157, 222, 0.1);
  transform: translateX(1px);
}
.nav-item.active .nav-icon {
  color: #5ce4b0;
  background: rgba(16, 185, 129, 0.12);
}
.nav-item {
  gap: 10px;
  padding: 8px 10px;
  min-height: 46px;
}
.metric-info {
  margin-left: 7px;
  width: 17px;
  height: 17px;
  flex-basis: 17px;
  border-color: #3b5b72;
  color: #7fa0b8;
  background: #0b1d2c;
  font-family: Inter, ui-sans-serif, system-ui;
  font-size: 0;
}
.metric-info:before {
  content: '?';
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}
.metric-info:hover,
.metric-info:focus {
  color: #7ee2bc;
  border-color: #2e9e79;
  background: #0c2a27;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.08);
}
.sla-label {
  display: flex !important;
  align-items: center;
  gap: 0;
}
.client-tools {
  display: flex;
  gap: 10px;
  align-items: center;
}
.client-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #081a2b;
  border: 1px solid #1c344a;
  border-radius: 10px;
  padding: 0 12px;
  min-width: 280px;
}
.client-search input {
  border: 0 !important;
  background: transparent !important;
  min-height: 40px;
  width: 100%;
  outline: none;
}
.client-search span {
  font-size: 18px;
  color: #7fa1bd;
}
.password-field-inline {
  display: flex;
  gap: 7px;
  align-items: center;
}
.password-field-inline input {
  flex: 1;
}
.password-pending {
  display: block;
  color: #f0ad32;
  margin-top: 3px;
}
.inline-client-box {
  width: min(720px, calc(100vw - 30px));
  max-width: 720px;
}
.inline-client-box .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}
@media (max-width: 700px) {
  .client-tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .client-search {
    min-width: 0;
  }
  .inline-client-box .form-grid {
    grid-template-columns: 1fr;
  }
}

/* src/client/styles/18-intelligence-layout.css */
/* v17 - inteligência operacional */
.ops-intelligence {
  margin: 18px 0;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 16px;
}
.intelligence-card {
  background: linear-gradient(145deg, rgba(16, 35, 53, 0.96), rgba(10, 27, 43, 0.96));
  border: 1px solid #203b50;
  border-radius: 18px;
  padding: 18px;
  min-width: 0;
}
.intelligence-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.intelligence-head h3 {
  margin: 2px 0 0;
  font-size: 18px;
}
.intelligence-head small {
  color: #7893aa;
}
.pending-list,
.smart-alert-list {
  display: grid;
  gap: 9px;
  max-height: 310px;
  overflow: auto;
  padding-right: 5px;
}
.pending-item,
.smart-alert {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 11px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #20394d;
  border-radius: 12px;
  background: #0b1c2d;
}
.pending-item strong,
.smart-alert strong {
  display: block;
  font-size: 13px;
}
.pending-item span,
.smart-alert span {
  display: block;
  color: #8da5ba;
  font-size: 12px;
  margin-top: 2px;
}
.pending-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffb020;
  box-shadow: 0 0 0 5px rgba(255, 176, 32, 0.08);
}
.smart-alert.critical {
  border-color: rgba(255, 88, 88, 0.34);
}
.smart-alert.critical .pending-dot {
  background: #ff5c5c;
}
.smart-alert.info .pending-dot {
  background: #3ba4ff;
}
.pending-count {
  font-size: 12px;
  color: #9ab0c3;
  background: #10283b;
  border-radius: 999px;
  padding: 5px 9px;
}
.sla-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.sla-card {
  padding: 13px;
  border: 1px solid #20394d;
  background: #0b1c2d;
  border-radius: 13px;
}
.sla-card span {
  display: block;
  color: #87a0b6;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sla-card strong {
  display: block;
  font-size: 20px;
  margin-top: 6px;
}
.sla-card small {
  display: block;
  color: #6f8aa1;
  margin-top: 3px;
}
.operation-timeline {
  margin: 18px 0 2px;
  padding: 18px;
  border: 1px solid #203b50;
  background: #0c1e30;
  border-radius: 16px;
}
.operation-timeline h3 {
  margin: 0 0 16px;
}
.op-timeline-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 8px;
  position: relative;
}
.op-step {
  position: relative;
  padding: 12px 10px 12px 28px;
  border-radius: 11px;
  background: #0a1928;
  border: 1px solid #1d3548;
  min-height: 66px;
}
.op-step:before {
  content: '';
  position: absolute;
  left: 11px;
  top: 17px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #40566a;
}
.op-step.done {
  border-color: rgba(23, 194, 139, 0.32);
}
.op-step.done:before {
  background: #17c28b;
  box-shadow: 0 0 0 4px rgba(23, 194, 139, 0.09);
}
.op-step.warn:before {
  background: #ffb020;
}
.op-step strong {
  font-size: 12px;
  display: block;
}
.op-step span {
  font-size: 11px;
  color: #829bb1;
  display: block;
  margin-top: 4px;
}
.detail-smart-alerts {
  margin: 14px 0;
  display: grid;
  gap: 8px;
}
.detail-smart-alerts .smart-alert {
  grid-template-columns: auto 1fr;
}
.empty-intelligence {
  padding: 20px;
  text-align: center;
  color: #7893aa;
  border: 1px dashed #294257;
  border-radius: 12px;
}
@media (max-width: 1000px) {
  .ops-intelligence {
    grid-template-columns: 1fr;
  }
  .sla-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .sla-grid {
    grid-template-columns: 1fr 1fr;
  }
  .op-timeline-track {
    grid-template-columns: 1fr 1fr;
  }
  .intelligence-card {
    padding: 14px;
  }
}
.client-tools {
  display: flex;
  gap: 10px;
  align-items: center;
}
.client-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #081a2b;
  border: 1px solid #1c344a;
  border-radius: 10px;
  padding: 0 12px;
  min-width: 280px;
}
.client-search input {
  border: 0 !important;
  background: transparent !important;
  min-height: 40px;
  width: 100%;
  outline: none;
}
.client-search span {
  font-size: 18px;
  color: #7fa1bd;
}
.password-field-inline {
  display: flex;
  gap: 7px;
  align-items: center;
}
.password-field-inline input {
  flex: 1;
}
.password-pending {
  display: block;
  color: #f0ad32;
  margin-top: 3px;
}
.inline-client-box {
  width: min(720px, calc(100vw - 30px));
  max-width: 720px;
}
.inline-client-box .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}
@media (max-width: 700px) {
  .client-tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .client-search {
    min-width: 0;
  }
  .inline-client-box .form-grid {
    grid-template-columns: 1fr;
  }
}
.finance-group-title {
  grid-column: 1/-1;
  margin-top: 8px;
  padding: 14px 0 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 13px;
  font-weight: 800;
  color: #dce8f7;
  letter-spacing: 0.02em;
}
.finance-calculation-panel {
  grid-column: 1/-1;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(45, 212, 191, 0.18);
  background: rgba(3, 17, 31, 0.42);
  border-radius: 16px;
}
.finance-calc-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.finance-calc-title h3 {
  margin: 3px 0 0;
}
.finance-calc-title small {
  color: #7890aa;
}
.finance-calc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.finance-calc-grid article {
  padding: 13px 14px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(7, 25, 43, 0.65);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.finance-calc-grid span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8299b3;
}
.finance-calc-grid strong {
  font-size: 17px;
}
.finance-calc-grid small {
  color: #8299b3;
}
.finance-balance-card strong {
  color: #fbbf24;
}
.finance-profit-card strong {
  color: #34d399;
}
.financial-settings-panel {
  margin-bottom: 16px;
}
.financial-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0 18px 18px;
}
.financial-settings-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: #91a7bf;
}
.financial-settings-grid input {
  width: 100%;
}
.financial-settings-grid button {
  align-self: end;
}
@media (max-width: 900px) {
  .finance-calc-grid,
  .financial-settings-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .finance-calc-grid,
  .financial-settings-grid {
    grid-template-columns: 1fr;
  }
}

/* src/client/styles/19-operation-status.css */
/* Identificação visual consistente do status em todas as tabelas de operações */
tr.status-row-programada > td {
  background: rgba(59, 130, 246, 0.075) !important;
  border-bottom-color: rgba(59, 130, 246, 0.18) !important;
}
tr.status-row-programada > td:first-child {
  box-shadow: inset 4px 0 #3b82f6;
}
tr.status-row-andamento > td {
  background: rgba(245, 158, 11, 0.1) !important;
  border-bottom-color: rgba(245, 158, 11, 0.2) !important;
}
tr.status-row-andamento > td:first-child {
  box-shadow: inset 4px 0 #f59e0b;
}
tr.status-row-realizada > td {
  background: rgba(34, 197, 94, 0.095) !important;
  border-bottom-color: rgba(34, 197, 94, 0.2) !important;
}
tr.status-row-realizada > td:first-child {
  box-shadow: inset 4px 0 #22c55e;
}
tr.status-row-cancelada > td {
  background: rgba(239, 68, 68, 0.075) !important;
  border-bottom-color: rgba(239, 68, 68, 0.18) !important;
}
tr.status-row-cancelada > td:first-child {
  box-shadow: inset 4px 0 #ef4444;
}
.entity-audit {
  margin-top: 18px;
}
.audit-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
}
.audit-title small {
  opacity: 0.65;
  font-weight: 500;
}
.entity-audit .audit-entry {
  margin-top: 8px;
}
/* v17 - inteligência operacional */
.ops-intelligence {
  margin: 18px 0;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 16px;
}
.intelligence-card {
  background: linear-gradient(145deg, rgba(16, 35, 53, 0.96), rgba(10, 27, 43, 0.96));
  border: 1px solid #203b50;
  border-radius: 18px;
  padding: 18px;
  min-width: 0;
}
.intelligence-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.intelligence-head h3 {
  margin: 2px 0 0;
  font-size: 18px;
}
.intelligence-head small {
  color: #7893aa;
}
.pending-list,
.smart-alert-list {
  display: grid;
  gap: 9px;
  max-height: 310px;
  overflow: auto;
  padding-right: 5px;
}
.pending-item,
.smart-alert {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 11px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #20394d;
  border-radius: 12px;
  background: #0b1c2d;
}
.pending-item strong,
.smart-alert strong {
  display: block;
  font-size: 13px;
}
.pending-item span,
.smart-alert span {
  display: block;
  color: #8da5ba;
  font-size: 12px;
  margin-top: 2px;
}
.pending-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffb020;
  box-shadow: 0 0 0 5px rgba(255, 176, 32, 0.08);
}
.smart-alert.critical {
  border-color: rgba(255, 88, 88, 0.34);
}
.smart-alert.critical .pending-dot {
  background: #ff5c5c;
}
.smart-alert.info .pending-dot {
  background: #3ba4ff;
}
.pending-count {
  font-size: 12px;
  color: #9ab0c3;
  background: #10283b;
  border-radius: 999px;
  padding: 5px 9px;
}
.sla-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.sla-card {
  padding: 13px;
  border: 1px solid #20394d;
  background: #0b1c2d;
  border-radius: 13px;
}
.sla-card span {
  display: block;
  color: #87a0b6;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sla-card strong {
  display: block;
  font-size: 20px;
  margin-top: 6px;
}
.sla-card small {
  display: block;
  color: #6f8aa1;
  margin-top: 3px;
}
.operation-timeline {
  margin: 18px 0 2px;
  padding: 18px;
  border: 1px solid #203b50;
  background: #0c1e30;
  border-radius: 16px;
}
.operation-timeline h3 {
  margin: 0 0 16px;
}
.op-timeline-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: 8px;
  position: relative;
}
.op-step {
  position: relative;
  padding: 12px 10px 12px 28px;
  border-radius: 11px;
  background: #0a1928;
  border: 1px solid #1d3548;
  min-height: 66px;
}
.op-step:before {
  content: '';
  position: absolute;
  left: 11px;
  top: 17px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #40566a;
}
.op-step.done {
  border-color: rgba(23, 194, 139, 0.32);
}
.op-step.done:before {
  background: #17c28b;
  box-shadow: 0 0 0 4px rgba(23, 194, 139, 0.09);
}
.op-step.warn:before {
  background: #ffb020;
}
.op-step strong {
  font-size: 12px;
  display: block;
}
.op-step span {
  font-size: 11px;
  color: #829bb1;
  display: block;
  margin-top: 4px;
}
.detail-smart-alerts {
  margin: 14px 0;
  display: grid;
  gap: 8px;
}
.detail-smart-alerts .smart-alert {
  grid-template-columns: auto 1fr;
}
.empty-intelligence {
  padding: 20px;
  text-align: center;
  color: #7893aa;
  border: 1px dashed #294257;
  border-radius: 12px;
}
@media (max-width: 1000px) {
  .ops-intelligence {
    grid-template-columns: 1fr;
  }
  .sla-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .sla-grid {
    grid-template-columns: 1fr 1fr;
  }
  .op-timeline-track {
    grid-template-columns: 1fr 1fr;
  }
  .intelligence-card {
    padding: 14px;
  }
}
.client-tools {
  display: flex;
  gap: 10px;
  align-items: center;
}
.client-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #081a2b;
  border: 1px solid #1c344a;
  border-radius: 10px;
  padding: 0 12px;
  min-width: 280px;
}
.client-search input {
  border: 0 !important;
  background: transparent !important;
  min-height: 40px;
  width: 100%;
  outline: none;
}
.client-search span {
  font-size: 18px;
  color: #7fa1bd;
}
.password-field-inline {
  display: flex;
  gap: 7px;
  align-items: center;
}
.password-field-inline input {
  flex: 1;
}
.password-pending {
  display: block;
  color: #f0ad32;
  margin-top: 3px;
}
.inline-client-box {
  width: min(720px, calc(100vw - 30px));
  max-width: 720px;
}
.inline-client-box .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}
@media (max-width: 700px) {
  .client-tools {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .client-search {
    min-width: 0;
  }
  .inline-client-box .form-grid {
    grid-template-columns: 1fr;
  }
}
.finance-group-title {
  grid-column: 1/-1;
  margin-top: 8px;
  padding: 14px 0 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  font-size: 13px;
  font-weight: 800;
  color: #dce8f7;
  letter-spacing: 0.02em;
}
.finance-calculation-panel {
  grid-column: 1/-1;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(45, 212, 191, 0.18);
  background: rgba(3, 17, 31, 0.42);
  border-radius: 16px;
}
.finance-calc-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.finance-calc-title h3 {
  margin: 3px 0 0;
}
.finance-calc-title small {
  color: #7890aa;
}
.finance-calc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.finance-calc-grid article {
  padding: 13px 14px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(7, 25, 43, 0.65);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.finance-calc-grid span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8299b3;
}
.finance-calc-grid strong {
  font-size: 17px;
}
.finance-calc-grid small {
  color: #8299b3;
}
.finance-balance-card strong {
  color: #fbbf24;
}
.finance-profit-card strong {
  color: #34d399;
}
.financial-settings-panel {
  margin-bottom: 16px;
}
.financial-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0 18px 18px;
}
.financial-settings-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: #91a7bf;
}
.financial-settings-grid input {
  width: 100%;
}
.financial-settings-grid button {
  align-self: end;
}
@media (max-width: 900px) {
  .finance-calc-grid,
  .financial-settings-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .finance-calc-grid,
  .financial-settings-grid {
    grid-template-columns: 1fr;
  }
}

/* src/client/styles/20-financial-entries.css */
/* Agrupamento dos campos e lançamentos financeiros adicionais */
.operation-group-title {
  grid-column: 1/-1;
  margin-top: 18px;
}
.finance-entries-panel {
  grid-column: 1/-1;
  padding: 16px 0 22px;
}
.finance-entry-hint {
  color: var(--muted, #94a3b8);
  font-size: 13px;
  margin: 4px 0 12px;
}
.financial-entry-row {
  display: grid;
  grid-template-columns: minmax(135px, 1fr) minmax(150px, 1.3fr) minmax(130px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 10px 0;
}
.financial-entry-row .field {
  min-width: 0;
}
.financial-entry-row button {
  margin-bottom: 2px;
  min-height: 42px;
}
@media (max-width: 760px) {
  .financial-entry-row {
    grid-template-columns: 1fr 1fr;
  }
  .financial-entry-row .field:nth-child(2) {
    grid-column: 2;
  }
  .financial-entry-row .field:nth-child(3) {
    grid-column: 1;
  }
}
/* Correções de regressões visuais — sem substituir a identidade original */
#operationDetailPage .notes-feed-panel {
  max-width: 100%;
  overflow: hidden;
}
#operationDetailPage .notes-feed-items {
  max-height: 200px;
  overflow-y: auto;
  padding-right: 6px;
}
#operationDetailPage .note-feed-item {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
  overflow-wrap: anywhere;
}
#operationDetailPage .note-feed-item > div {
  width: 100%;
  line-height: 1.45;
}
#operationDetailPage .notes-feed-panel textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 82px;
  max-height: 130px;
  resize: vertical;
  font-family: inherit;
}
#operationDetailPage .file-bank {
  max-width: 100%;
  overflow: hidden;
}
#operationDetailPage .file-bank .section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
#operationDetailPage .file-bank .file-upload-btn {
  max-width: 100%;
  white-space: normal;
  flex-shrink: 0;
}
#operationDetailPage .notes-feed-panel button {
  font-family: inherit;
}
#operationDetailPage .operation-timeline {
  border: 1px solid var(--border);
  border-radius: 14px;
}
.op-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.op-timeline-meta > span {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 12px;
  background: rgba(120, 145, 170, 0.08);
  border: 1px solid var(--border);
  border-radius: 9px;
}
.op-timeline-meta small {
  font-size: 11px;
  color: var(--muted);
}
.op-timeline-meta b {
  font-size: 13px;
}
.status-path-wrap {
  width: 100%;
  min-width: 0;
  margin: 10px 0 16px;
}
.status-path-caption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  font-weight: 700;
}
.status-path-readonly {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.status-path {
  display: flex;
  width: 100%;
  gap: 4px;
  overflow: hidden;
}
.status-path-step {
  position: relative;
  flex: 1;
  min-width: 0;
  text-align: center;
  padding: 13px 8px;
  background: #203348;
  color: #b6c8d9;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 750;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
}
.status-path-step:first-child {
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
}
.status-path-step.path-done {
  background: #087f63;
  color: #fff;
}
.status-path-step.path-current {
  background: #0da778;
  color: #fff;
}
.status-path-step.path-cancelled {
  background: #b91c1c;
  color: #fff;
}
.operation-is-cancelled .form-section {
  position: relative;
}
.operation-is-cancelled .form-section input:disabled,
.operation-is-cancelled .form-section select:disabled,
.operation-is-cancelled .form-section textarea:disabled {
  opacity: 0.66;
  cursor: not-allowed;
}
.operation-is-cancelled .cancelled-locked {
  opacity: 0.45;
  pointer-events: none;
}
.operation-is-cancelled .form-section .field > span:after {
  content: ' 🔒';
  font-size: 11px;
}
.operation-is-cancelled .status-path-readonly {
  color: #f87171;
}
@media (max-width: 650px) {
  .status-path-step {
    padding: 10px 4px;
    font-size: 11px;
  }
  .status-path-caption {
    flex-wrap: wrap;
  }
  #operationDetailPage .file-bank .section-heading {
    align-items: flex-start;
  }
}

/* src/client/styles/21-horizontal-status.css */
/* Status horizontal, abaixo do título da seção, no padrão Salesforce */
#operationDetailPage .status-path-wrap {
  grid-column: 1/-1 !important;
  width: 100%;
  margin: 4px 0 16px;
  order: -1;
}
#operationDetailPage .status-path {
  display: flex;
  width: 100%;
  gap: 5px;
}
#operationDetailPage .status-path-step {
  flex: 1;
  min-width: 0;
  font-size: clamp(12px, 1.05vw, 17px);
  padding: 15px 10px;
}
.brazil-heatmap-panel {
  margin-top: 14px;
}
.brazil-heatmap-panel .heatmap-note {
  font-size: 12px;
  color: var(--muted);
  margin: 7px 0 0;
  max-width: 850px;
}
.brazil-heatmap {
  height: 420px;
  max-height: 60vh;
  position: relative;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: #0a1726;
}
.brazil-heatmap svg {
  display: block;
  width: 100%;
  height: calc(100% - 42px);
}
.heatmap-legend {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 16px;
  font-size: 12px;
  color: #a7bdd3;
  border-top: 1px solid var(--border);
}
.heatmap-legend i {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 6px;
}
.dot-green {
  background: #10b981;
}
.dot-blue {
  background: #60a5fa;
}
@media (max-width: 700px) {
  .brazil-heatmap {
    height: 310px;
  }
  .heatmap-legend {
    font-size: 10px;
    gap: 10px;
  }
}
/* v2026-10-14: recuperação de componentes visuais, escopo estrito */
.topbar .global-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 1 410px;
  min-width: 210px;
  max-width: 410px;
  margin: 0 12px;
  z-index: 25;
}
.topbar .global-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 44px;
  padding: 0 12px;
  background: #0a1b2d;
  border: 1px solid #294157;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.topbar .global-search-field > span {
  color: #8da0ba;
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}
.topbar .global-search-field input,
.topbar .global-search-field input[type='search'] {
  display: block;
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 40px;
  line-height: 40px;
  margin: 0;
  padding: 0;
  color: #f1f5f9;
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  font: inherit;
  font-size: 13px;
  appearance: none;
  -webkit-appearance: none;
}
.topbar .global-search-field input::placeholder {
  color: #8298b0;
  opacity: 1;
}
.topbar .global-search-field kbd {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  color: #a9bfd2;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid #304b62;
  border-radius: 6px;
  padding: 4px 7px;
  background: #132a3e;
}
.topbar .global-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 390px;
  overflow-y: auto;
  background: #0d2033;
  border: 1px solid #2c465e;
  border-radius: 13px;
  padding: 8px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
}
.topbar .global-search-results.hidden {
  display: none !important;
}
#operationDetailPage .notes-feed-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
  width: 100%;
  max-width: 100%;
  padding: 15px 17px;
  border: 1px solid #223a50;
  border-radius: 13px;
  background: #0d1d2f;
}
#operationDetailPage .notes-feed-panel .risk-group-title {
  font-size: 14px;
  font-weight: 800;
  margin: 0 0 2px;
  padding: 0;
  border: 0;
}
#operationDetailPage .notes-feed-items {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: 170px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 0;
  padding: 0 5px 0 0;
}
#operationDetailPage .note-feed-item {
  display: grid;
  grid-template-columns: minmax(0, max-content) auto;
  gap: 3px 9px;
  align-items: baseline;
  background: #0a1929;
  border: 1px solid #1d3449;
  border-radius: 9px;
  padding: 9px 11px;
  font-size: 13px;
  min-width: 0;
}
#operationDetailPage .note-feed-item strong {
  font-size: 12px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
#operationDetailPage .note-feed-item small {
  font-size: 11px;
  color: #90a7bd;
}
#operationDetailPage .note-feed-item > div {
  grid-column: 1/-1;
  width: auto;
  min-width: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: #e2e8f0;
  font-size: 13px;
  line-height: 1.4;
}
#operationDetailPage .notes-feed-panel .field {
  margin: 0;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#operationDetailPage .notes-feed-panel .field span {
  font-size: 12px;
  font-weight: 700;
  color: #93aac0;
}
#operationDetailPage .notes-feed-panel textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 76px;
  max-height: 150px;
  padding: 11px 13px;
  background: #071727;
  color: #e7f0f9;
  border: 1px solid #29445c;
  border-radius: 10px;
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  resize: vertical;
}
#operationDetailPage .notes-feed-panel .save-note-btn {
  align-self: flex-start;
  width: auto;
  max-width: 100%;
  min-height: 38px;
  padding: 9px 15px;
  font-size: 13px;
  font-weight: 750;
  border-radius: 10px;
  margin: 0;
}
#operationDetailPage .notes-feed-panel .save-note-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 1150px) {
  .topbar .global-search-wrap {
    flex-basis: 300px;
    min-width: 175px;
    margin: 0 6px;
  }
  .topbar .global-search-field kbd {
    display: none;
  }
}
@media (max-width: 750px) {
  .topbar .global-search-wrap {
    order: 5;
    flex: 1 1 100%;
    max-width: none;
    margin: 5px 0 0;
  }
  .topbar {
    flex-wrap: wrap;
  }
  .topbar .global-search-field {
    height: 40px;
  }
  #operationDetailPage .note-feed-item {
    grid-template-columns: 1fr;
  }
  #operationDetailPage .note-feed-item > div {
    grid-column: 1;
  }
}

/* src/client/styles/22-search-results.css */
/* UX de busca com resultados e sem estilo nativo */
.topbar .global-search-results,
.global-search-results {
  background: #0c1e30 !important;
  color: #e6eef7 !important;
  border: 1px solid #29465b !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45) !important;
  padding: 8px !important;
}
.global-search-group,
.global-search-heading {
  background: transparent !important;
  color: #a9bfd4 !important;
}
.global-search-item,
.global-search-results button {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 3px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  margin: 0 0 5px !important;
  border: 1px solid #254057 !important;
  border-radius: 9px !important;
  background: #10253a !important;
  color: #e6eef7 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  cursor: pointer !important;
}
.global-search-item:hover {
  background: #18364e !important;
  border-color: #10b981 !important;
}
.global-search-item strong,
.global-search-item small,
.global-search-item em,
.global-search-matches {
  display: block !important;
  color: inherit !important;
  line-height: 1.4 !important;
  max-width: 100%;
  overflow-wrap: anywhere !important;
}
.global-search-item small {
  font-size: 11px !important;
  color: #9cb4c8 !important;
}
.global-search-item em {
  font-size: 11px !important;
  color: #68ddb0 !important;
}
.global-search-match {
  display: inline-block !important;
  margin-right: 8px;
  color: #a7bed2 !important;
  font-size: 11px !important;
}
#operationDetailPage .form-grid .notes-feed-panel {
  grid-column: 1/-1 !important;
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#operationDetailPage .notes-feed-items {
  width: 100% !important;
  max-height: 190px !important;
  overflow: auto !important;
}
#operationDetailPage .note-feed-item {
  width: 100% !important;
  box-sizing: border-box !important;
}
#operationDetailPage .notes-feed-panel .field {
  max-width: 100% !important;
}
#operationDetailPage .notes-feed-panel textarea {
  width: 100% !important;
  min-height: 80px !important;
}
.ops-intelligence-map {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 0.88fr) !important;
  align-items: stretch !important;
}
.ops-intelligence-map .brazil-heatmap-panel {
  margin: 0 !important;
  min-width: 0;
  padding: 16px !important;
  display: flex;
  flex-direction: column;
}
.ops-intelligence-map .brazil-heatmap-panel .panel-head {
  margin-bottom: 8px;
}
.ops-intelligence-map .brazil-heatmap-panel .heatmap-note {
  font-size: 11px;
  line-height: 1.35;
}
.ops-intelligence-map .brazil-heatmap {
  flex: 1;
  min-height: 280px;
  height: auto !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
}
.ops-intelligence-map .brazil-heatmap svg {
  flex: 1;
  min-height: 0;
  height: calc(100% - 50px);
  width: 100%;
}
.ops-intelligence-map .heatmap-legend {
  height: auto;
  min-height: 50px;
  flex-wrap: wrap;
  gap: 5px 12px;
  padding: 6px 10px;
  font-size: 10px;
}
@media (max-width: 1450px) {
  .ops-intelligence-map {
    grid-template-columns: 1fr 1fr !important;
  }
  .ops-intelligence-map .brazil-heatmap-panel {
    grid-column: 1/-1;
  }
  .ops-intelligence-map .brazil-heatmap {
    height: 320px !important;
    flex: none;
  }
}
@media (max-width: 800px) {
  .ops-intelligence-map {
    grid-template-columns: 1fr !important;
  }
  .ops-intelligence-map .brazil-heatmap-panel {
    grid-column: auto;
  }
}

/* src/client/styles/23-map-and-intelligence.css */
/* Mapa interativo e Timeline sem dados repetidos */
.brazil-heatmap {
  position: relative;
}
.brazil-heatmap svg {
  touch-action: none;
  cursor: grab;
}
.brazil-heatmap svg:active {
  cursor: grabbing;
}
.heatmap-controls {
  position: absolute;
  z-index: 4;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 5px;
}
.heatmap-controls button {
  background: #102b3c;
  color: #d9f6eb;
  border: 1px solid #285969;
  border-radius: 8px;
  padding: 6px 10px;
  font: 700 15px inherit;
  cursor: pointer;
  min-width: 34px;
}
.heatmap-controls button:hover {
  background: var(--brand-action, #087f63);
}
.operation-timeline .op-timeline-meta:empty {
  display: none;
}
.operation-timeline .op-timeline-track {
  margin-top: 6px;
}
/* Central de inteligência: painéis compactos, filtros e prioridades */
.intelligence-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 14px;
  background: #0b1d2d;
  border: 1px solid #203b50;
  border-radius: 14px;
}
.intelligence-filter-set {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.intelligence-filter-set > span {
  color: #8da5ba;
  font-size: 12px;
  font-weight: 700;
  margin-right: 5px;
}
.intelligence-filter-set button {
  background: #11293b;
  color: #b5c9db;
  border: 1px solid #294257;
  border-radius: 8px;
  padding: 7px 11px;
  font-size: 12px;
  cursor: pointer;
}
.intelligence-filter-set button.active {
  background: var(--brand-action, #0c775d);
  color: #fff;
  border-color: var(--brand-action, #17c28b);
}
.intelligence-filter-set button:hover {
  border-color: var(--brand-accent, #17c28b);
}
.ops-intelligence-map {
  align-items: start !important;
}
.ops-intelligence-map > .intelligence-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: 490px !important;
  display: flex;
  flex-direction: column;
}
.ops-intelligence-map > .intelligence-card .pending-list,
.ops-intelligence-map > .intelligence-card .smart-alert-list {
  max-height: 375px !important;
  min-height: 0 !important;
  flex: 0 1 auto !important;
  overflow-y: auto !important;
  align-content: start !important;
  grid-auto-rows: max-content !important;
}
.ops-intelligence-map > .intelligence-card .pending-item,
.ops-intelligence-map > .intelligence-card .smart-alert {
  min-height: 66px;
}
.ops-intelligence-map .smart-alert.warning .pending-dot,
.ops-intelligence-map .pending-item.warning .pending-dot {
  background: #ffb020;
}
.ops-intelligence-map .pending-item.critical .pending-dot {
  background: #ff5c5c;
}
@media (max-width: 1000px) {
  .intelligence-toolbar {
    align-items: flex-start;
  }
  .ops-intelligence-map > .intelligence-card {
    max-height: none !important;
  }
}

/* src/client/styles/24-map-and-floating-actions.css */
/* Mapa interativo: pontos municipais acionáveis, contornos ilustrativos */
.brazil-heatmap .heatmap-city-point[data-map-city]:not([data-map-city='']) {
  cursor: pointer;
  outline: none;
}
.brazil-heatmap .heatmap-city-point[data-map-city]:not([data-map-city='']):hover circle:first-child,
.brazil-heatmap
  .heatmap-city-point[data-map-city]:not([data-map-city='']):focus
  circle:first-child {
  stroke: #c7fff0;
  stroke-width: 4;
  fill-opacity: 0.36;
}
.brazil-heatmap-panel .heatmap-note {
  font-size: 11px;
  line-height: 1.4;
}
/* Salvar sempre acessível durante a edição sem ocupar espaço do formulário */
.floating-save-operation {
  position: fixed;
  right: 26px;
  bottom: 24px;
  z-index: 90;
  padding: 15px 23px;
  border-radius: 13px;
  box-shadow:
    0 12px 38px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(16, 185, 129, 0.22);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.floating-save-operation.hidden {
  display: none !important;
}
@media (max-width: 760px) {
  .floating-save-operation {
    right: 14px;
    bottom: 15px;
    padding: 13px 18px;
    font-size: 13px;
  }
}
/* Retirada e entrega: duas linhas fixas de três campos, sem campo solto */
#operationDetailPage .delivery-three-col-row {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 20px;
  width: 100%;
  min-width: 0;
  align-items: start;
}
#operationDetailPage .delivery-three-col-row > .field {
  min-width: 0;
  width: 100%;
}
@media (max-width: 950px) {
  #operationDetailPage .delivery-three-col-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  #operationDetailPage .delivery-three-col-row {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Tema claro/escuro — identidade NAVI */
.theme-toggle {
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 13px;
  background: #102337;
  color: #d8e8f6;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 11px;
  font:
    700 12px Inter,
    ui-sans-serif,
    system-ui,
    sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s;
}
.theme-toggle:hover {
  border-color: #10b981;
  background: #17344a;
}
.theme-toggle-icon {
  font-size: 17px;
  line-height: 1;
}
.theme-toggle:focus-visible {
  outline: 3px solid #10b981;
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .theme-toggle {
    width: 42px;
    padding: 0;
  }
  .theme-toggle-label {
    display: none;
  }
}
html[data-theme='light'] {
  --bg: #f1f5fa;
  --panel: #fff;
  --panel2: #f7f9fc;
  --border: #d9e3ef;
  --text: #142438;
  --muted: #60748a;
  color-scheme: light;
}
html[data-theme='light'] body {
  background:
    radial-gradient(circle at 60% -20%, rgba(16, 185, 129, 0.06), transparent 35%), #f1f5fa;
  color: #142438;
}
html[data-theme='light'] .sidebar {
  background: #fff;
  border-color: #dbe5f0;
}
html[data-theme='light'] .brand strong,
html[data-theme='light'] .topbar h1 {
  color: #15273a;
}
html[data-theme='light'] .brand span {
  color: #63768c;
}
html[data-theme='light'] .nav-item {
  color: #50677f;
}
html[data-theme='light'] .nav-item:hover {
  background: #edf6f3;
  color: #11664c;
}
html[data-theme='light'] .nav-item.active {
  background: linear-gradient(90deg, #d7f5e9, #ecf9f4);
  color: #075d44;
}
html[data-theme='light'] .panel,
html[data-theme='light'] .kpi-card,
html[data-theme='light'] .section-card,
html[data-theme='light'] .file-bank,
html[data-theme='light'] .notes-feed-panel {
  background: #fff;
  color: #142438;
  border-color: #d9e3ef;
  box-shadow: 0 5px 24px rgba(32, 65, 96, 0.035);
}
html[data-theme='light'] .kpi-content strong,
html[data-theme='light'] .donut strong,
html[data-theme='light'] .progress-ring span {
  color: #142438;
}
html[data-theme='light'] .kpi-content span,
html[data-theme='light'] .legend-row span,
html[data-theme='light'] .panel-head h2,
html[data-theme='light'] h1,
html[data-theme='light'] h2,
html[data-theme='light'] h3,
html[data-theme='light'] h4 {
  color: #182d43;
}
html[data-theme='light'] .donut::after,
html[data-theme='light'] .progress-ring::after {
  background: #fff;
}
html[data-theme='light'] .secondary,
html[data-theme='light'] .icon-button,
html[data-theme='light'] .hamburger,
html[data-theme='light'] .date-control,
html[data-theme='light'] .pill,
html[data-theme='light'] .metric-box,
html[data-theme='light'] .row-btn {
  background: #f5f8fc;
  color: #264159;
  border-color: #d6e2ee;
}
html[data-theme='light'] .theme-toggle {
  background: #e7f7ef;
  color: #08634b;
  border-color: #b6e8d1;
}
html[data-theme='light'] .theme-toggle:hover {
  background: #d6f4e6;
}
html[data-theme='light'] input:not([type='checkbox']):not([type='radio']),
html[data-theme='light'] select,
html[data-theme='light'] textarea {
  background-color: #fff;
  color: #183149;
  border-color: #cbd9e8;
  color-scheme: light;
}
html[data-theme='light'] input::placeholder,
html[data-theme='light'] textarea::placeholder {
  color: #73869b;
}
html[data-theme='light'] input:focus,
html[data-theme='light'] select:focus,
html[data-theme='light'] textarea:focus {
  border-color: #0da778;
  outline-color: #0da778;
}
html[data-theme='light'] label,
html[data-theme='light'] .field label,
html[data-theme='light'] .field small {
  color: #526e85;
}
html[data-theme='light'] .form-section,
html[data-theme='light'] .section-heading,
html[data-theme='light'] .form-card,
html[data-theme='light'] .detail-header,
html[data-theme='light'] .operation-detail {
  color: #142438;
}
html[data-theme='light'] table {
  color: #1b344a;
}
html[data-theme='light'] thead,
html[data-theme='light'] th {
  background: #eaf0f7;
  color: #476178;
}
html[data-theme='light'] tbody tr {
  background: #fff;
  border-color: #e2e9f2;
}
html[data-theme='light'] tbody tr:nth-child(even) {
  background: #f7fafd;
}
html[data-theme='light'] tbody tr:hover {
  background: #eaf7f2;
}
html[data-theme='light'] td,
html[data-theme='light'] th {
  border-color: #e2e9f2;
}
html[data-theme='light'] .global-search-results,
html[data-theme='light'] .global-search-item,
html[data-theme='light'] .notification-panel,
html[data-theme='light'] .notification-list,
html[data-theme='light'] .custom-select-menu,
html[data-theme='light'] .custom-select-dropdown {
  background: #fff !important;
  color: #1c344a !important;
  border-color: #d3e0ed !important;
  box-shadow: 0 12px 28px rgba(24, 53, 81, 0.12);
}
html[data-theme='light'] .global-search-item:hover,
html[data-theme='light'] .custom-select-option:hover {
  background: #edf8f4 !important;
}
html[data-theme='light'] .global-search-item strong,
html[data-theme='light'] .global-search-item small,
html[data-theme='light'] .global-search-item em {
  color: #26465c !important;
}
html[data-theme='light'] .notes-feed-items,
html[data-theme='light'] .note-feed-item,
html[data-theme='light'] .file-row,
html[data-theme='light'] .audit-entry {
  background: #f8fafc;
  color: #20364d;
  border-color: #d9e5f0;
}
html[data-theme='light'] .note-feed-item strong,
html[data-theme='light'] .note-feed-item b {
  color: #20364d;
}
html[data-theme='light'] .section-tab {
  color: #567089;
  border-color: #dbe5f0;
}
html[data-theme='light'] .section-tab.active {
  color: var(--brand-accent-light, #076c4e);
  background: var(--brand-soft-light, #dcf7ec);
}
html[data-theme='light'] .modal,
html[data-theme='light'] .modal-content,
html[data-theme='light'] .confirm-dialog,
html[data-theme='light'] .dialog-card {
  background: #fff;
  color: #182d43;
  border-color: #d9e5f0;
}
html[data-theme='light'] .info-note,
html[data-theme='light'] .empty-state {
  color: #61788d;
}
html[data-theme='light'] .ops-intelligence .panel,
html[data-theme='light'] .brazil-heatmap-panel {
  background: #fff;
}

/* src/client/styles/25-theme-and-contrast.css */
/* Mapa cartográfico permanece escuro para preservar contraste dos pontos e contornos. */
html[data-theme='light'] .brazil-heatmap {
  background: #0a192b;
  color: #e7f5f2;
}
html[data-theme='light'] .brazil-heatmap .heatmap-legend {
  background: #0a192b;
  color: #dceeea;
}
@media (max-width: 700px) {
  .theme-toggle {
    min-width: 40px;
    height: 40px;
  }
  .top-actions {
    gap: 6px;
  }
}
/* Correção de legibilidade — EXCLUSIVAMENTE modo claro. Modo escuro intocado. */
html[data-theme='light'] {
  --bg: #f1f5fa;
  --panel: #fff;
  --panel2: #f7f9fc;
  --text: #172d43;
  --muted: #536c83;
  --border: #d5e1ec;
}
html[data-theme='light'] .intelligence-card,
html[data-theme='light'] .intelligence-toolbar,
html[data-theme='light'] .agenda-panel,
html[data-theme='light'] .panorama-card,
html[data-theme='light'] .delay-ranking-card,
html[data-theme='light'] .operation-timeline,
html[data-theme='light'] .audit-box,
html[data-theme='light'] .entity-audit,
html[data-theme='light'] .operation-detail-card,
html[data-theme='light'] .notes-feed-panel,
html[data-theme='light'] .finance-balance-card,
html[data-theme='light'] .finance-profit-card,
html[data-theme='light'] .sla-card,
html[data-theme='light'] .report-kpis,
html[data-theme='light'] .ops-kpi,
html[data-theme='light'] .column-picker-card {
  background: #fff !important;
  color: #172d43 !important;
  border-color: #d7e3ef !important;
}
html[data-theme='light'] .intelligence-card :is(h2, h3, h4, strong, b),
html[data-theme='light'] .agenda-panel :is(h2, h3, h4, strong, b),
html[data-theme='light'] .panorama-card :is(h2, h3, h4, strong, b),
html[data-theme='light'] .operation-timeline :is(h2, h3, h4, strong, b),
html[data-theme='light'] .audit-box :is(h2, h3, h4, strong, b),
html[data-theme='light'] .notes-feed-panel :is(h2, h3, h4, strong, b),
html[data-theme='light'] .operation-detail-card :is(h2, h3, h4, strong, b) {
  color: #142b40 !important;
}
html[data-theme='light'] .pending-item,
html[data-theme='light'] .smart-alert,
html[data-theme='light'] .agenda-panel .agenda-item,
html[data-theme='light'] .rank-row,
html[data-theme='light'] .delay-rank-row,
html[data-theme='light'] .timeline-item,
html[data-theme='light'] .op-timeline-track > *,
html[data-theme='light'] .metric-box,
html[data-theme='light'] .audit-entry,
html[data-theme='light'] .note-feed-item,
html[data-theme='light'] .notes-feed-items,
html[data-theme='light'] .mini-kpi-row > * {
  background: #f5f9fd !important;
  color: #183149 !important;
  border-color: #d8e5f1 !important;
}
html[data-theme='light'] .pending-item *,
html[data-theme='light'] .smart-alert *,
html[data-theme='light'] .rank-row *,
html[data-theme='light'] .delay-rank-row *,
html[data-theme='light'] .timeline-item *,
html[data-theme='light'] .note-feed-item *,
html[data-theme='light'] .audit-entry * {
  color: #234057 !important;
}
html[data-theme='light'] .pending-item :is(small, span),
html[data-theme='light'] .smart-alert :is(small, span),
html[data-theme='light'] .note-feed-item small,
html[data-theme='light'] .audit-entry small {
  color: #526c83 !important;
}
html[data-theme='light'] .pending-dot {
  background: #f59e0b !important;
}
html[data-theme='light'] .pending-item.critical .pending-dot {
  background: #e34b4b !important;
}
html[data-theme='light'] .smart-alert .pending-dot {
  background: #168ce0 !important;
}
html[data-theme='light'] .agenda-panel .agenda-item,
html[data-theme='light'] .agenda-panel [class*='agenda-'] {
  color: #203b53;
}
html[data-theme='light'] .agenda-panel .agenda-item {
  background: #fff8ed !important;
  border-color: #f2d7ac !important;
}
html[data-theme='light'] .agenda-panel .agenda-item * {
  color: #263c50 !important;
}
html[data-theme='light'] .agenda-panel .agenda-item :is(small, span) {
  color: #52677d !important;
}
html[data-theme='light'] .operation-timeline .op-timeline-track > *,
html[data-theme='light'] .timeline-item {
  background: #f3f8fc !important;
  color: #20394f !important;
  border-color: #d5e3ee !important;
}
html[data-theme='light'] .operation-timeline .op-timeline-track > * * {
  color: #1c354c !important;
}
html[data-theme='light'] .notes-feed-panel textarea {
  background: #fff !important;
  color: #172d43 !important;
  border-color: #cbdbe8 !important;
}
html[data-theme='light'] .notes-feed-panel textarea::placeholder {
  color: #63798e !important;
}
html[data-theme='light'] .notes-feed-panel .field span {
  color: #3c5871 !important;
}
html[data-theme='light'] .notes-feed-panel .note-feed-item > div {
  color: #20394f !important;
}
html[data-theme='light'] .audit-box :is(td, th, span, small, div),
html[data-theme='light'] .entity-audit :is(td, th, span, small, div) {
  color: #2b455c;
}
html[data-theme='light'] .audit-box :is(table, tbody, tr),
html[data-theme='light'] .entity-audit :is(table, tbody, tr) {
  background: #f8fbfe !important;
}
html[data-theme='light'] .audit-box :is(td, th),
html[data-theme='light'] .entity-audit :is(td, th) {
  color: #314c63 !important;
  border-color: #d9e4ef !important;
}
html[data-theme='light'] .operations-table :is(td, td *, tr),
html[data-theme='light'] .dashboard-table-wrap :is(td, td *, tr),
html[data-theme='light'] .full-table-wrap :is(td, td *, tr),
html[data-theme='light'] .table-wrap :is(td, td *, tr) {
  color: #243f56 !important;
}
html[data-theme='light'] .operations-table tbody tr,
html[data-theme='light'] .dashboard-table-wrap tbody tr,
html[data-theme='light'] .full-table-wrap tbody tr,
html[data-theme='light'] .table-wrap tbody tr {
  background: #fff !important;
}
html[data-theme='light'] .operations-table tbody tr:nth-child(even),
html[data-theme='light'] .dashboard-table-wrap tbody tr:nth-child(even),
html[data-theme='light'] .full-table-wrap tbody tr:nth-child(even),
html[data-theme='light'] .table-wrap tbody tr:nth-child(even) {
  background: #f2f7fc !important;
}
html[data-theme='light'] .operations-table tbody tr:hover,
html[data-theme='light'] .dashboard-table-wrap tbody tr:hover,
html[data-theme='light'] .full-table-wrap tbody tr:hover,
html[data-theme='light'] .table-wrap tbody tr:hover {
  background: #e6f5f0 !important;
}
html[data-theme='light'] .operations-table :is(th, thead),
html[data-theme='light'] .dashboard-table-wrap :is(th, thead),
html[data-theme='light'] .full-table-wrap :is(th, thead),
html[data-theme='light'] .table-wrap :is(th, thead) {
  background: #e8f0f7 !important;
  color: #36526a !important;
}
html[data-theme='light'] .tag-status {
  background: #e0edf7 !important;
  color: #19435e !important;
}
html[data-theme='light'] .intelligence-toolbar .intelligence-filter-set button {
  background: #f3f8fc !important;
  color: #26445b !important;
  border-color: #d2e2ed !important;
}
html[data-theme='light'] .intelligence-toolbar .intelligence-filter-set button.active {
  background: var(--brand-action, #087e61) !important;
  color: #fff !important;
  border-color: var(--brand-action, #087e61) !important;
}
html[data-theme='light'] .ops-intelligence-map .brazil-heatmap-panel {
  background: #fff !important;
  color: #172d43 !important;
}

/* src/client/styles/26-light-theme-fields.css */
/* O mapa é propositalmente escuro, mantendo o contraste dos pontos e controles. */
html[data-theme='light'] .brazil-heatmap,
html[data-theme='light'] .brazil-heatmap svg,
html[data-theme='light'] .brazil-heatmap .heatmap-legend {
  color: #e6f4f0 !important;
}
html[data-theme='light'] .section-tab:not(.active) {
  background: #eef4f9 !important;
  color: #33516b !important;
}
html[data-theme='light'] .section-tab.active {
  background: var(--brand-soft-light, #dcf7ec) !important;
  color: var(--brand-accent-light, #08644c) !important;
}
html[data-theme='light'] .status-path-step {
  color: #fff !important;
}
html[data-theme='light'] .confirm-box,
html[data-theme='light'] .modal-card {
  background: #fff !important;
  color: #172d43 !important;
}
html[data-theme='light']
  :is(.panel, .section-card, .kpi-card, .intelligence-card, .panorama-card, .operation-detail-card)
  :is(p, small) {
  color: #526c83;
}
/* V2: ajustes cirurgicos de contraste no tema claro; nao afeta tema escuro */
html[data-theme='light'] .distribution-side .mini-section,
html[data-theme='light'] .panorama-extra .panorama-card,
html[data-theme='light'] .mini-section {
  background: #ffffff !important;
  border: 1px solid #dbe6f0 !important;
  box-shadow: 0 3px 12px rgba(23, 48, 74, 0.035) !important;
  color: #173149 !important;
}
html[data-theme='light']
  .mini-section
  :is(.mini-section-head strong, .mini-section-head span, .rank-row strong, .progress-row strong),
html[data-theme='light']
  .panorama-card
  :is(.mini-section-head strong, .mini-section-head span, .rank-row strong, .progress-row strong) {
  color: #173149 !important;
}
html[data-theme='light'] .mini-section .rank-row,
html[data-theme='light'] .panorama-card .rank-row {
  background: #f2f7fc !important;
  border-radius: 7px;
  padding: 4px 6px !important;
  min-height: 26px;
  color: #203b55 !important;
}
html[data-theme='light'] .mini-section .rank-row span,
html[data-theme='light'] .panorama-card .rank-row span,
html[data-theme='light'] .mini-section .progress-row span {
  color: #34516b !important;
  font-weight: 550 !important;
}
html[data-theme='light'] .mini-section .rank-row b,
html[data-theme='light'] .panorama-card .rank-row b {
  background: #15324c !important;
  color: #ffffff !important;
}
html[data-theme='light'] .mini-section .progress-track {
  background: #dbe7f0 !important;
}
html[data-theme='light'] .mini-section .progress-row span {
  color: #34516b !important;
}
html[data-theme='light'] .ops-kpi {
  background: #fff !important;
  color: #183149 !important;
  border-color: #d9e5ef !important;
}
html[data-theme='light'] .ops-kpi-top span {
  color: #46627a !important;
  opacity: 1 !important;
}
html[data-theme='light'] .ops-kpi > strong {
  color: #142e47 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html[data-theme='light'] .ops-kpi small {
  color: #58728a !important;
}
html[data-theme='light'] .ops-kpi .ops-kpi-top b {
  color: var(--metric-color, #23435e) !important;
  background: color-mix(in srgb, var(--metric-color, #23435e) 11%, white) !important;
}
html[data-theme='light'] .ops-kpi .sparkline {
  opacity: 1 !important;
}
html[data-theme='light'] .ops-kpi .progress-ring::after {
  background: #fff !important;
}
html[data-theme='light'] .ops-kpi .progress-ring span {
  color: #142e47 !important;
}
html[data-theme='light'] .kpi-card .kpi-content span {
  color: #46627a !important;
}
html[data-theme='light'] .kpi-card .kpi-content strong {
  color: #142e47 !important;
}
html[data-theme='light'] .kpi-card .progress-ring::after {
  background: #fff !important;
}
html[data-theme='light'] .kpi-card .progress-ring span {
  color: #142e47 !important;
}
html[data-theme='light'] .distribution-side .mini-section-head span {
  color: #647b91 !important;
}
html[data-theme='light'] .panorama-card .rank-row strong {
  color: #19344b !important;
}

/* src/client/styles/27-light-theme-finance.css */
/* Correção isolada: indicador de taxa de conclusão no tema claro. */
html[data-theme='light'] .ops-kpi .efficiency-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 58px !important;
}
html[data-theme='light'] .ops-kpi .efficiency-row > strong {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  color: #142e47 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 30px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}
html[data-theme='light'] .ops-kpi .small-ring {
  display: block !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  position: relative !important;
  inset: auto !important;
  border-radius: 50% !important;
  color: var(--metric-color, #0e7490) !important;
  background: conic-gradient(var(--metric-color, #0e7490) var(--pct, 0%), #e1eaf2 0) !important;
  box-shadow: none !important;
}
html[data-theme='light'] .ops-kpi .small-ring::after {
  content: '' !important;
  position: absolute !important;
  inset: 8px !important;
  border-radius: 50% !important;
  background: #fff !important;
}
.print-cover-btn {
  white-space: nowrap;
}
/* Resumo financeiro: contraste acessível no modo claro (sem alterar o modo escuro). */
html[data-theme='light'] .finance-calculation-panel {
  background: #f5f9fc !important;
  border: 1px solid #cbdde9 !important;
  color: #18334a !important;
}
html[data-theme='light'] .finance-calc-title h3 {
  color: #173149 !important;
}
html[data-theme='light'] .finance-calc-title small {
  color: #526d83 !important;
}
html[data-theme='light'] .finance-calc-grid article {
  background: #fff !important;
  border: 1px solid #d5e3ed !important;
  box-shadow: 0 2px 8px rgba(14, 40, 62, 0.035) !important;
  color: #19364d !important;
}
html[data-theme='light'] .finance-calc-grid article > span {
  color: #47637b !important;
  opacity: 1 !important;
}
html[data-theme='light'] .finance-calc-grid article > strong {
  color: #152f47 !important;
  opacity: 1 !important;
}
html[data-theme='light'] .finance-calc-grid article > small {
  color: #536d82 !important;
  opacity: 1 !important;
}
html[data-theme='light'] .finance-calc-grid .finance-balance-card {
  background: #fff9eb !important;
  border-color: #efd9a5 !important;
}
html[data-theme='light'] .finance-calc-grid .finance-balance-card > strong {
  color: #a56500 !important;
}

/* src/client/styles/28-driver-registration.css */
/* Margem negativa/positiva: cores semânticas nos dois temas. */
.finance-calc-grid .finance-profit-card.profit-negative > strong,
.finance-calc-grid .finance-profit-card.profit-negative > small {
  color: #fb7185 !important;
}
.finance-calc-grid .finance-profit-card.profit-positive > strong {
  color: #34d399 !important;
}
html[data-theme='light'] .finance-calc-grid .finance-profit-card.profit-negative {
  background: #fff4f4 !important;
  border-color: #efb9bf !important;
}
html[data-theme='light'] .finance-calc-grid .finance-profit-card.profit-negative > strong,
html[data-theme='light'] .finance-calc-grid .finance-profit-card.profit-negative > small {
  color: #b42336 !important;
}
html[data-theme='light'] .finance-calc-grid .finance-profit-card.profit-positive {
  background: #f1fbf6 !important;
  border-color: #bfe7d3 !important;
}
html[data-theme='light'] .finance-calc-grid .finance-profit-card.profit-positive > strong {
  color: #087e59 !important;
}
/* Cadastro unificado do motorista */
.driver-click-row {
  cursor: pointer;
}
.driver-click-row:hover {
  filter: brightness(1.06);
}
.driver-related-section {
  margin: 22px 0;
  padding: 20px;
  border: 1px solid var(--border, #24394d);
  border-radius: 16px;
}
.driver-related-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid var(--border, #24394d);
}
.driver-related-add {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 0;
}
.driver-related-add input,
.driver-related-add select {
  min-width: 140px;
  flex: 1;
}
.driver-related-empty {
  opacity: 0.7;
}
.driver-unified-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .driver-unified-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-related-row {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 550px) {
  .driver-unified-grid {
    grid-template-columns: 1fr;
  }
  .driver-related-row {
    grid-template-columns: 1fr;
  }
}

/* src/client/styles/29-management-panel.css */
/* Cadastro de motorista: formulário de vínculo com campos uniformes nos dois temas. */
.driver-related-add {
  display: grid;
  grid-template-columns: minmax(130px, 1.1fr) minmax(140px, 1fr) minmax(150px, 1fr) auto auto;
  gap: 10px;
  align-items: stretch;
  padding: 14px 0;
}
.driver-related-add input,
.driver-related-add select {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 46px;
  border: 1px solid var(--border, #29445a);
  border-radius: 10px;
  padding: 0 13px;
  background: var(--input-bg, var(--card-bg, #fff));
  color: var(--text, #1a3047);
  font: inherit;
  outline-offset: 2px;
}
.driver-related-add input:focus,
.driver-related-add select:focus {
  border-color: #11b88a;
  box-shadow: 0 0 0 3px rgba(17, 184, 138, 0.12);
}
.driver-related-add button {
  min-height: 46px;
  white-space: nowrap;
}
@media (max-width: 950px) {
  .driver-related-add {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-related-add button {
    width: 100%;
  }
}
@media (max-width: 550px) {
  .driver-related-add {
    grid-template-columns: 1fr;
  }
}
/* Cliente: clique direto na linha */
#clientsTable tr.client-click-row {
  cursor: pointer;
}
#clientsTable tr.client-click-row:hover td {
  background: rgba(14, 174, 126, 0.1) !important;
}
#clientsTable tr.client-click-row:focus-visible {
  outline: 2px solid #10b981;
  outline-offset: -2px;
}
/* NAVI Painel Gerencial */
.report-section-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.6px;
  margin: 18px 0 10px;
  color: #10b981;
}
.report-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 12px;
  margin: 14px 0 20px;
}
.report-metric {
  border: 1px solid var(--border, #dbe5ed);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  background: var(--card, #fff);
  min-width: 0;
}
.report-metric span {
  font-size: 11px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  font-weight: 800;
  opacity: 0.75;
}
.report-metric strong {
  font-size: clamp(17px, 1.6vw, 26px);
  overflow-wrap: anywhere;
}
.report-metric small {
  opacity: 0.7;
  font-size: 11px;
}
.report-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.report-toll {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.report-toll .report-note {
  grid-column: 1/-1;
}
.report-cost-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 3px;
  border-bottom: 1px solid var(--border, #dbe5ed);
}
.report-cost-line.total {
  font-weight: 800;
  border-top: 2px solid #10b981;
}
.report-note {
  font-size: 12px;
  line-height: 1.55;
  opacity: 0.75;
  margin: 12px 0 16px;
}
.report-filter-panel .filter-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 10px;
}
.report-filter-actions {
  display: flex;
  gap: 8px;
  align-items: end;
}
.report-filter-panel label {
  min-width: 0;
}
@media (max-width: 980px) {
  .report-dual {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .report-toll {
    grid-template-columns: 1fr;
  }
}

/* src/client/styles/30-money-and-map-layout.css */
/* NAVI - ajustes pontuais sem alterar cálculos ou componentes existentes */
@media (min-width: 801px) {
  .sidebar-toggle-navi {
    display: grid;
    place-items: center;
    margin-left: auto;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    font-size: 18px;
  }
  html.navi-sidebar-collapsed {
    --sidebar: 78px;
  }
  html.navi-sidebar-collapsed .sidebar .brand {
    padding: 0 13px;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    gap: 4px;
    height: 100px;
  }
  html.navi-sidebar-collapsed .sidebar .brand-copy,
  html.navi-sidebar-collapsed .sidebar .nav-item > span,
  html.navi-sidebar-collapsed .sidebar-footer strong,
  html.navi-sidebar-collapsed .sidebar-footer span,
  html.navi-sidebar-collapsed .sidebar-profile-card,
  html.navi-sidebar-collapsed .sidebar .permission-card,
  html.navi-sidebar-collapsed .sidebar .footer-copy {
    display: none !important;
  }
  html.navi-sidebar-collapsed .sidebar .brand-mark {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
  }
  html.navi-sidebar-collapsed .sidebar-toggle-navi {
    margin: 0;
  }
  html.navi-sidebar-collapsed .sidebar nav {
    padding: 12px 8px;
  }
  html.navi-sidebar-collapsed .sidebar .nav-item {
    justify-content: center;
    padding: 10px 5px;
  }
  html.navi-sidebar-collapsed .sidebar-footer {
    flex-direction: column;
    gap: 8px;
    margin: auto 8px 12px;
    padding: 8px;
    justify-content: center;
  }
  html.navi-sidebar-collapsed .sidebar-footer .avatar {
    flex-shrink: 0;
  }
}
@media (max-width: 800px) {
  .sidebar-toggle-navi {
    display: none !important;
  }
}
/* Ocupa a altura do mapa sem esticar os itens internos */
@media (min-width: 1101px) {
  .ops-intelligence-map {
    align-items: stretch !important;
  }
  .ops-intelligence-map > .intelligence-card {
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    align-self: stretch !important;
  }
  .ops-intelligence-map > .intelligence-card .pending-list,
  .ops-intelligence-map > .intelligence-card .smart-alert-list {
    flex: 1 1 auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    align-content: start !important;
  }
}
/* Números monetários legíveis, sem quebras dentro de centavos */
#reportsPage .report-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)) !important;
}
#reportsPage .report-metric {
  min-width: 0;
  overflow: hidden;
}
#reportsPage .report-metric strong {
  font-size: clamp(17px, 1.35vw, 23px) !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: nowrap;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}
#reportsPage .report-cost-line strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#reportsPage .report-clickable {
  cursor: pointer;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
#reportsPage .report-clickable:hover,
#reportsPage .report-clickable:focus-visible {
  border-color: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.13);
  outline: none;
}
#reportDrilldownPanel[hidden] {
  display: none !important;
}
#reportDrilldownPanel .table-wrap {
  max-height: 520px;
  overflow: auto;
}
/* Contraste das opções nativas e listas de seleção no modo claro */
html[data-theme='light'] select,
html[data-theme='light'] select option,
html[data-theme='light'] select optgroup {
  color: #12283f !important;
  background: #fff !important;
  opacity: 1 !important;
}
html[data-theme='light'] select:disabled {
  color: #52667a !important;
  background: #eef3f8 !important;
}
html[data-theme='light'] .searchable-select-dropdown,
html[data-theme='light'] .searchable-dropdown,
html[data-theme='light'] .select-options,
html[data-theme='light'] [role='listbox'] {
  color: #12283f !important;
  background: #fff !important;
}
html[data-theme='light'] [role='option'] {
  color: #12283f !important;
}
@media (max-width: 650px) {
  #reportsPage .report-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #reportsPage .report-metric strong {
    font-size: 15px !important;
  }
}

/* src/client/styles/31-light-theme-panels.css */
/* Correções NAVI tema claro */
html[data-theme='light'] .custom-select-menu,
html[data-theme='light'] .smart-menu {
  background: #fff !important;
  border: 1px solid #aec3d6 !important;
  box-shadow: 0 15px 35px rgba(17, 39, 60, 0.18) !important;
}
html[data-theme='light'] .custom-select-menu button,
html[data-theme='light'] .smart-menu button,
html[data-theme='light'] .smart-empty {
  color: #18334a !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
html[data-theme='light'] .custom-select-menu button:hover,
html[data-theme='light'] .smart-menu button:hover,
html[data-theme='light'] .custom-select-menu button:focus-visible,
html[data-theme='light'] .smart-menu button:focus-visible {
  color: var(--brand-accent-light, #064e3b) !important;
  background: var(--brand-soft-light, #d9f4e9) !important;
}
html[data-theme='light'] .smart-menu .create-option {
  color: #086747 !important;
}
#noshowsTable tr.noshow-click-row,
#reportFilteredRows tr.report-operation-row,
#reportDrilldownRows tr.report-operation-row {
  cursor: pointer;
}
#noshowsTable tr.noshow-click-row:hover td,
#reportFilteredRows tr.report-operation-row:hover td,
#reportDrilldownRows tr.report-operation-row:hover td {
  background: rgba(16, 185, 129, 0.12) !important;
}
#reportFilteredOperationsPanel .table-wrap {
  max-height: 480px;
  overflow: auto;
}
.sidebar .brand {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  min-width: 0;
}
.sidebar .brand .brand-copy {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.sidebar .brand .brand-copy strong,
.sidebar .brand .brand-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sidebar .brand .sidebar-toggle-navi {
  position: static !important;
  flex: 0 0 34px !important;
  margin-left: auto !important;
}
@media (min-width: 801px) {
  html.navi-sidebar-collapsed .sidebar .brand .sidebar-toggle-navi {
    margin-left: 0 !important;
  }
}
/* Correção de bordas flutuantes: campos e botões não se sobrepõem. */
.filter-row,
.form-grid,
.report-filter-panel .filter-row {
  column-gap: 12px;
  row-gap: 14px;
}
.filter-row > *,
.form-grid > *,
.report-filter-panel .filter-row > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.filter-row label,
.form-grid label,
.report-filter-panel label {
  display: block;
  min-width: 0;
  position: relative;
}
.filter-row input,
.filter-row select,
.form-grid input,
.form-grid select,
.filter-row .custom-select,
.filter-row .smart-field,
.form-grid .custom-select,
.form-grid .smart-field {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.report-filter-actions {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.report-filter-actions button {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  isolation: isolate;
  background-clip: padding-box;
}
.report-filter-actions .secondary {
  background: var(--panel, #0d1a2b);
}
html[data-theme='light'] .report-filter-actions .secondary {
  background: #f3f7fb !important;
}
html[data-theme='light'] .report-filter-actions .primary {
  background: #059669 !important;
}
@media (max-width: 650px) {
  .report-filter-actions {
    flex-wrap: wrap;
  }
  .report-filter-actions button {
    flex: 1 1 auto;
  }
}

/* src/client/styles/32-documents-and-controls.css */
/* Correção definitiva: o select nativo atualizado pelo JS não pode deixar bordas de 1px visíveis. */
select.native-select-hidden,
select[data-upgraded='1'].native-select-hidden,
.custom-select > select.native-select-hidden {
  display: none !important;
  visibility: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
}
/* Documentos e acoes da operacao: quebra de linha em telas menores. */
.detail-page-head {
  flex-wrap: wrap;
  gap: 12px;
}
.detail-page-head > div:not(.detail-actions) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}
.operation-documents {
  width: auto;
  max-width: 100%;
  min-width: 145px;
  min-height: 44px;
  cursor: pointer;
  font: inherit;
  flex: 0 1 auto;
}
@media (max-width: 760px) {
  .detail-actions {
    justify-content: flex-start;
  }
  .detail-actions > * {
    flex: 1 1 145px;
    min-width: 0;
    white-space: normal;
  }
  .detail-actions .operation-documents {
    flex: 1 1 145px;
  }
}
/* Documentos: icones vetoriais e menu compacto. */
.operation-documents-menu {
  position: relative;
  flex: 0 0 auto;
  font-size: 14px;
  z-index: 25;
}
.operation-documents-menu summary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 15px;
  list-style: none;
  border: 1px solid var(--border, #cddce8);
  border-radius: 12px;
  background: var(--panel, #142438);
  color: var(--text, #e2e8f0);
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}
.operation-documents-menu summary::-webkit-details-marker {
  display: none;
}
.operation-documents-menu svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.operation-documents-menu .documents-chevron {
  width: 15px;
  margin-left: 9px;
  transition: transform 0.15s;
}
.operation-documents-menu[open] .documents-chevron {
  transform: rotate(180deg);
}
.operation-documents-menu summary:hover,
.operation-documents-menu[open] summary {
  border-color: var(--brand-accent, #10b981);
  background: rgba(16, 185, 129, 0.09);
}
.operation-documents-menu summary:focus-visible,
.documents-options button:focus-visible {
  outline: 2px solid #10b981;
  outline-offset: 3px;
}
.documents-options {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 235px;
  max-width: calc(100vw - 40px);
  padding: 8px;
  border: 1px solid var(--border, #334155);
  border-radius: 14px;
  background: var(--panel, #142438);
  box-shadow: 0 15px 40px #0003;
  z-index: 50;
}
.documents-options > small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.1em;
  padding: 8px 10px;
  color: var(--muted, #94a3b8);
}
.documents-options button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text, #e2e8f0);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.documents-options button svg {
  color: var(--brand-accent, #10b981);
}
.documents-options button:hover {
  background: var(--brand-soft, rgba(16,185,129,.12));
}
html[data-theme='light'] .operation-documents-menu summary,
html[data-theme='light'] .documents-options {
  background: #fff;
  color: #16324c;
}
html[data-theme='light'] .documents-options button {
  color: #16324c;
}
.finance-stay-warning {
  grid-column: span 3;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  align-self: start;
  padding: 16px 18px;
  border: 1px solid #d89c354d;
  border-left: 4px solid #e5a029;
  border-radius: 12px;
  background: #f59e0b12;
  color: #f5ce83;
}
.finance-stay-warning > svg {
  width: 25px;
  height: 25px;
  flex: none;
  color: #e6a129;
}
.finance-stay-warning strong {
  display: block;
  font-size: 14px;
}
.finance-stay-warning p {
  margin: 5px 0;
  font-size: 13px;
  line-height: 1.5;
}
.finance-stay-warning small {
  font-size: 11px;
  opacity: 0.85;
}
html[data-theme='light'] .finance-stay-warning {
  background: #fffbeb;
  color: #854d0e;
  border-color: #f2d38a;
  border-left-color: #e5a029;
}
.finance-stay-warning.hidden {
  display: none !important;
}
@media (max-width: 1050px) {
  .finance-stay-warning {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .detail-actions .operation-documents-menu {
    flex: 1 1 145px;
  }
  .operation-documents-menu summary {
    justify-content: center;
  }
  .documents-options {
    right: auto;
    left: 0;
  }
}
.stay-alert-content {
  min-width: 0;
  flex: 1;
}
.stay-note {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.stay-manage-btn {
  margin-top: 10px;
  padding: 8px 12px;
  border: 1px solid currentColor;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.stay-manage-btn:hover {
  background: #ffffff15;
}
.finance-stay-warning.stay-alert-paid {
  background: #10b98112;
  border-color: #10b98166;
  color: #6ee7b7;
}
.stay-alert-paid > svg {
  color: #10b981;
}
.finance-stay-warning.stay-alert-ignored {
  background: #64748b12;
  border-color: #94a3b866;
  color: #aebdcd;
}
.stay-alert-ignored > svg {
  color: #94a3b8;
}
html[data-theme='light'] .finance-stay-warning.stay-alert-paid {
  background: #ecfdf5;
  color: #065f46;
  border-color: #6ee7b7;
}
html[data-theme='light'] .finance-stay-warning.stay-alert-ignored {
  background: #f1f5f9;
  color: #475569;
  border-color: #cbd5e1;
}
.stay-dialog {
  width: min(520px, 94vw);
  max-height: 90vh;
  overflow: auto;
  text-align: left;
}
.stay-dialog-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}
.stay-dialog-heading svg {
  width: 27px;
  height: 27px;
  color: #e5a029;
  flex: none;
}
.stay-dialog .field {
  margin: 14px 0;
}
.stay-dialog select,
.stay-dialog textarea {
  width: 100%;
  font: inherit;
}
.stay-dialog-help {
  font-size: 12px !important;
  opacity: 0.8;
}
.stay-dialog-error {
  color: #ef4444;
  font-size: 13px;
  white-space: pre-wrap;
}

/* src/client/styles/33-stay-alerts.css */
/* Card compacto: toda a area abre o acompanhamento. */
.finance-stay-warning {
  cursor: pointer;
  padding: 12px 15px;
  gap: 10px;
  transition:
    box-shadow 0.15s,
    border-color 0.15s;
}
.finance-stay-warning:hover {
  box-shadow: 0 3px 14px #00000012;
}
.finance-stay-warning:focus-visible {
  outline: 2px solid #e5a029;
  outline-offset: 3px;
}
.finance-stay-warning p {
  margin: 3px 0;
  font-size: 12px;
}
.finance-stay-warning > svg {
  width: 23px;
  height: 23px;
}
.stay-click-hint {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
}
.stay-dialog {
  cursor: default;
}
/* Situacao da cobranca: acabamento visual do seletor do acompanhamento. */
#stayAlertDialog #stayStatus {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 46px 12px 15px;
  margin-top: 7px;
  border: 1px solid #3c526b;
  border-radius: 11px;
  background-color: #112337;
  color: #e5edf7;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a9c0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 20px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  outline: none;
  box-shadow: 0 1px 2px #00000008;
  transition:
    border-color 0.15s,
    box-shadow 0.15s,
    background-color 0.15s;
}
#stayAlertDialog #stayStatus:hover {
  border-color: #10b981;
}
#stayAlertDialog #stayStatus:focus-visible {
  border-color: #10b981;
  box-shadow: 0 0 0 3px #10b98126;
}
#stayAlertDialog #stayStatus option {
  background: #112337;
  color: #e5edf7;
  font-weight: 500;
}
html[data-theme='light'] #stayAlertDialog #stayStatus {
  background-color: #f8fafc;
  border-color: #d6e2ed;
  color: #18334c;
  color-scheme: light;
}
html[data-theme='light'] #stayAlertDialog #stayStatus:hover {
  background-color: #fff;
  border-color: #6ccbb0;
}
html[data-theme='light'] #stayAlertDialog #stayStatus:focus-visible {
  background-color: #fff;
  border-color: #10b981;
}
html[data-theme='light'] #stayAlertDialog #stayStatus option {
  background: #fff;
  color: #18334c;
}
/* Seletor desenhado: menu arredondado, sem painel nativo do sistema. */
#stayAlertDialog .stay-status-native {
  display: none !important;
}
.stay-status-picker {
  position: relative;
  margin-top: 8px;
}
#stayAlertDialog .stay-status-trigger {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 48px;
  padding: 12px 15px;
  border: 1px solid #3c526b;
  border-radius: 15px;
  background: #112337;
  color: #e5edf7;
  text-align: left;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 5px #00000005;
}
.stay-status-trigger > svg {
  width: 18px;
  height: 18px;
  margin-left: auto;
  opacity: 0.6;
  transition: transform 0.16s;
}
.stay-status-trigger[aria-expanded='true'] > svg {
  transform: rotate(180deg);
}
.stay-status-dot {
  display: block;
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #94a3b8;
  box-shadow: 0 0 0 4px #94a3b814;
}
.stay-status-dot.pending {
  background: #e5a029;
  box-shadow: 0 0 0 4px #e5a02916;
}
.stay-status-dot.paid {
  background: #10b981;
  box-shadow: 0 0 0 4px #10b98116;
}
.stay-status-options {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  z-index: 10;
  padding: 6px;
  border: 1px solid #3c526b;
  border-radius: 17px;
  background: #142438;
  box-shadow: 0 12px 32px #0003;
}
.stay-status-options[hidden] {
  display: none !important;
}
#stayAlertDialog .stay-status-options button {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 11px 13px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #e5edf7;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.stay-status-options b {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.stay-status-options small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  opacity: 0.65;
}
.stay-status-check {
  margin-left: auto;
  color: #10b981;
  opacity: 0;
}
.selected .stay-status-check {
  opacity: 1;
}
#stayAlertDialog .stay-status-options button:hover,
#stayAlertDialog .stay-status-options button.selected {
  background: #10b98112;
}
#stayAlertDialog .stay-status-trigger:focus-visible,
#stayAlertDialog .stay-status-options button:focus-visible {
  outline: 2px solid #10b981;
  outline-offset: 2px;
}
#stayAlertDialog #stayNote {
  box-sizing: border-box;
  border: 1px solid #3c526b;
  border-radius: 14px;
  padding: 12px 14px;
  min-height: 96px;
  line-height: 1.5;
  background: #112337;
  color: #e5edf7;
  outline: none;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
#stayAlertDialog #stayNote:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 3px #10b98118;
}
#stayAlertDialog .field > span {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 6px;
}
html[data-theme='light'] #stayAlertDialog .stay-status-trigger,
html[data-theme='light'] #stayAlertDialog .stay-status-options,
html[data-theme='light'] #stayAlertDialog #stayNote {
  background: #fff;
  color: #18334c;
  border-color: #d9e4ee;
}
html[data-theme='light'] #stayAlertDialog .stay-status-options button {
  color: #18334c;
}
html[data-theme='light'] #stayAlertDialog #stayNote:focus {
  border-color: #10b981;
}

/* src/client/styles/34-expanded-tables.css */
/* Tabela de Operacoes ampliada no viewport. */
.operations-expand-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 10px !important;
  border-radius: 10px;
  flex-shrink: 0;
}
.operations-expand-btn svg {
  width: 20px;
  height: 20px;
}
.operations-expand-btn:hover,
.operations-expand-btn[aria-pressed='true'] {
  border-color: var(--brand-accent, #10b981);
  color: var(--brand-accent, #10b981);
  background: var(--brand-soft, #10b98112);
}
.operations-expand-btn:focus-visible {
  outline: 2px solid #10b981;
  outline-offset: 3px;
}
body.operations-table-expanded {
  overflow: hidden;
}
#operationsPage .panel.operations-expanded {
  position: fixed;
  inset: 0;
  z-index: 90;
  margin: 0;
  box-sizing: border-box;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  border-radius: 0;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  background: var(--panel, #0c1b2d);
  overflow: hidden;
}
html[data-theme='light'] #operationsPage .panel.operations-expanded {
  background: #fff;
}
#operationsPage .operations-expanded > .panel-head {
  flex: none;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
#operationsPage .operations-expanded > .panel-head .table-actions {
  flex-wrap: wrap;
  gap: 8px;
}
#operationsPage .operations-expanded > .full-table-wrap {
  flex: 1;
  min-height: 0;
  max-height: none !important;
  overflow: auto;
  width: 100%;
}
#operationsPage .operations-expanded > .table-pagination {
  flex: none;
  margin-top: 12px;
}
@media (max-width: 680px) {
  #operationsPage .panel.operations-expanded {
    padding: 12px;
  }
  #operationsPage .operations-expanded > .panel-head {
    gap: 8px;
  }
  #operationsPage .operations-expanded .table-actions {
    width: 100%;
  }
  #operationsPage .operations-expanded .table-actions .pill {
    margin-right: auto;
  }
}
/* Personalizacao de colunas dos Relatorios. */
#reportsPage [hidden] {
  display: none !important;
}
#reportsPage .panel-head {
  gap: 12px;
  flex-wrap: wrap;
}
.report-columns-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-left: auto;
  white-space: nowrap;
}
.report-columns-button svg {
  width: 17px;
  height: 17px;
}
#reportColumnPicker .column-picker-groups {
  max-height: 55vh;
  overflow: auto;
}
#reportColumnPicker .column-picker-groups section > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
@media (max-width: 680px) {
  #reportColumnPicker .column-picker-groups section > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* src/client/styles/35-operation-drafts.css */
/* Rascunhos locais, fora da listagem de operacoes. */
.navi-drafts-panel {
  margin: 16px 0 20px;
  border: 1px dashed #1ba98466 !important;
}
.navi-drafts-panel .panel-head {
  margin-bottom: 14px;
}
.navi-drafts-panel h2 small {
  font-size: 14px;
  color: var(--muted);
}
.navi-drafts-panel p {
  font-size: 12px;
  color: var(--muted);
  margin: 6px 0 0;
}
.navi-drafts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.navi-draft-card {
  padding: 16px;
  border: 1px solid #10b98133;
  border-radius: 14px;
  background: #10b98108;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 15px;
}
.navi-draft-card h3 {
  margin: 9px 0 6px;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.navi-draft-card small {
  font-size: 11px;
  color: var(--muted);
}
.navi-draft-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #10b981;
}
.navi-draft-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.navi-draft-actions button {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 12px;
}
.navi-draft-status {
  margin: 14px 0;
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  border: 1px solid #10b98144;
  border-radius: 13px;
  background: #10b9810c;
}
.navi-draft-status strong {
  display: block;
  font-size: 13px;
  color: #10b981;
}
.navi-draft-status span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
}
.navi-draft-status.hidden,
.navi-drafts-panel.hidden {
  display: none !important;
}
@media (max-width: 680px) {
  .navi-draft-status {
    align-items: flex-start;
    flex-direction: column;
  }
  .navi-drafts-grid {
    grid-template-columns: 1fr;
  }
}
.recent-operations-panel {
  margin-bottom: 20px;
}
.recent-operations-panel .panel-head p {
  margin: 6px 0 0;
  color: var(--muted, #73849a);
  font-size: 13px;
}
.recent-operations-panel .table-wrap {
  max-height: 340px;
  overflow: auto;
}

/* src/client/styles/36-system-dialogs.css */
/* Diálogos de cadastro e avisos, consistentes com os dois temas. */
.navi-dialog {
  --dialog-bg: #142333;
  --dialog-text: #eaf2fa;
  --dialog-muted: #a5b7ca;
  --dialog-line: #314457;
  box-sizing: border-box;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid var(--dialog-line);
  border-radius: 20px;
  background: var(--dialog-bg);
  color: var(--dialog-text);
  box-shadow: 0 28px 90px #0006;
  overflow: auto;
  color-scheme: dark;
}
.navi-dialog::backdrop {
  background: #07152499;
  backdrop-filter: blur(5px);
}
.navi-dialog form {
  margin: 0;
}
.navi-dialog-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 24px 20px;
  border-bottom: 1px solid var(--dialog-line);
}
.navi-dialog-symbol {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 14px;
  background: #10b9811f;
  color: #10b981;
  font-size: 26px;
  font-weight: 600;
}
.navi-dialog-head small {
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--dialog-muted);
}
.navi-dialog h2 {
  font-size: 21px;
  line-height: 1.25;
  margin: 5px 0 0;
  color: var(--dialog-text);
}
.navi-dialog-close {
  margin-left: auto;
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: var(--dialog-muted);
  width: 32px;
  height: 32px;
  border-radius: 9px;
  font-size: 25px;
  cursor: pointer;
}
.navi-dialog-close:hover {
  background: #94a3b81c;
  color: var(--dialog-text);
}
.navi-dialog-body {
  padding: 20px 24px 8px;
}
.navi-dialog-message {
  white-space: pre-line;
  font-size: 14px;
  line-height: 1.65;
  color: var(--dialog-muted);
  margin: 0 0 20px;
}
.navi-dialog-field {
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 13px;
  font-weight: 600;
}
.navi-dialog-field :is(input, select) {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  border: 1px solid var(--dialog-line);
  border-radius: 11px;
  background: #0c1927;
  color: var(--dialog-text);
  padding: 0 14px;
  font: inherit;
  font-size: 15px;
}
.navi-dialog-field :is(input, select):focus {
  outline: 3px solid #10b98126;
  outline-offset: 1px;
  border-color: #10b981;
}
.navi-dialog-field input[aria-invalid='true'] {
  border-color: #dc6262;
}
.navi-dialog-field small {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--dialog-muted);
}
.navi-dialog-error {
  min-height: 20px;
  margin: 12px 0 4px;
  color: #fca5a5;
  font-size: 13px;
  line-height: 1.5;
}
.navi-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 24px 24px;
}
.navi-dialog-actions button {
  min-height: 42px;
  border-radius: 10px;
  padding: 10px 18px;
  cursor: pointer;
}
.navi-dialog-actions button:disabled {
  opacity: 0.6;
  cursor: wait;
}
.navi-dialog button:focus-visible {
  outline: 3px solid #10b981;
  outline-offset: 3px;
}
html[data-theme='light'] .navi-dialog {
  --dialog-bg: #fff;
  --dialog-text: #17324c;
  --dialog-muted: #5f7387;
  --dialog-line: #dae4ed;
  color-scheme: light;
}
html[data-theme='light'] .navi-dialog-field :is(input, select) {
  background: #f8fafc;
}
html[data-theme='light'] .navi-dialog-error {
  color: #b42332;
}
@media (max-width: 480px) {
  .navi-dialog-head {
    padding: 20px 18px;
  }
  .navi-dialog-body {
    padding: 18px 18px 6px;
  }
  .navi-dialog-actions {
    padding: 16px 18px 20px;
  }
  .navi-dialog h2 {
    font-size: 19px;
  }
}
.navi-dialog[data-danger='true'] .navi-dialog-symbol {
  background: #ef44441a;
  color: #ef4444;
}
.navi-dialog[data-danger='true'] .navi-dialog-actions .primary {
  background: linear-gradient(135deg, #dc3545, #b91c1c);
  box-shadow: 0 8px 24px #dc35451a;
}
.navi-quality-panel {
  margin-top: 20px;
}
.navi-quality-panel .panel-head p,
.quality-note {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
.quality-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.quality-filters .secondary {
  height: auto;
  min-height: 78px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 7px;
  text-align: left;
  white-space: normal;
}
.quality-filters strong {
  font-size: 23px;
}
.quality-filters span {
  font-size: 12px;
  font-weight: 500;
}
.quality-filters .quality-active {
  border-color: #10b981;
  box-shadow: 0 0 0 1px #10b981;
}
.quality-note {
  margin: 12px 0;
}
@media (max-width: 640px) {
  .quality-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.navi-dialog [hidden] { display: none !important; }


/* src/client/styles/37-profile-preview.css */
/* Seletor administrativo de simulação de perfil. */
.profile-preview-control {
  position: relative;
  flex-shrink: 0;
  z-index: 60;
}
.profile-preview-control summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--panel);
  color: var(--text);
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.profile-preview-control summary::-webkit-details-marker {
  display: none;
}
.profile-preview-control summary > span:first-child {
  color: var(--brand-accent, #10b981);
  font-size: 17px;
}
.profile-preview-control summary:focus-visible,
.profile-preview-menu button:focus-visible {
  outline: 3px solid #10b981;
  outline-offset: 3px;
}
.profile-preview-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 9px);
  width: 290px;
  max-width: calc(100vw - 32px);
  padding: 10px;
  background: var(--panel);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 15px;
  box-shadow: 0 18px 55px #0004;
}
.profile-preview-menu > p {
  margin: 8px 9px 11px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 800;
}
.profile-preview-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 12px 10px;
  text-align: left;
  background: transparent;
  color: var(--text);
  border: 0;
  border-radius: 9px;
  cursor: pointer;
}
.profile-preview-menu button:hover,
.profile-preview-menu button[aria-pressed='true'] {
  background: var(--brand-soft, #10b98116);
}
.profile-preview-menu button strong {
  display: block;
  font-size: 13px;
}
.profile-preview-menu button small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 400;
}
.profile-preview-menu button b {
  color: var(--brand-accent, #10b981);
}
.profile-preview-menu footer {
  border-top: 1px solid var(--border);
  padding: 12px 9px 5px;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
}
.profile-preview-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  margin: -9px 0 22px;
  border: 1px solid #18b88955;
  border-left: 4px solid #10b981;
  border-radius: 13px;
  background: #10b9810c;
}
.profile-preview-banner strong {
  font-size: 14px;
}
.profile-preview-banner p {
  font-size: 12px;
  line-height: 1.55;
  margin: 5px 0 0;
  color: var(--muted);
}
.profile-preview-badge {
  display: inline-block;
  margin-right: 10px;
  font-size: 9px;
  letter-spacing: 0.08em;
  font-weight: 800;
  border-radius: 6px;
  padding: 5px 7px;
  background: #10b98120;
  color: #059669;
}
.profile-preview-banner button {
  white-space: nowrap;
  font-size: 12px;
  flex-shrink: 0;
}
html[data-theme='light'] .profile-preview-control summary,
html[data-theme='light'] .profile-preview-menu {
  background: #fff;
  color: #17324c;
  border-color: #dbe5ee;
}
html[data-theme='light'] .profile-preview-menu button {
  color: #17324c;
}
html[data-theme='light'] .profile-preview-banner {
  background: #f0fdf8;
  border-color: #9de4c9;
}
@media (max-width: 1100px) {
  .profile-preview-control summary {
    max-width: 190px;
  }
  .profile-preview-control summary > span:nth-child(2) {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 640px) {
  .profile-preview-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .profile-preview-control {
    order: -1;
  }
  .profile-preview-menu {
    right: 0;
    width: 270px;
  }
  .profile-preview-banner button {
    width: 100%;
  }
}

/* src/client/styles/38-offers.css */
.offers-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.offers-heading h2{margin:7px 0;font-size:26px}.offers-heading p,.offers-footnote,.offers-range{color:var(--muted,#71818c)}.offers-admin-tag,.offers-source{font-size:12px;padding:8px 12px;border:1px solid var(--border,#dce8e8);border-radius:20px;color:var(--muted,#71818c)}.offers-providers{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,440px));gap:20px}.offers-provider{display:grid;grid-template-columns:60px 1fr 24px;gap:18px;align-items:center;text-align:left;padding:26px;background:var(--panel,#fff);color:var(--text,#173239);border:1px solid var(--border,#dce8e8);border-radius:20px;box-shadow:0 10px 30px #143b3910;cursor:pointer}.offers-provider:hover{border-color:#18aa87;transform:translateY(-2px)}.offers-provider>span:nth-child(2){display:grid;gap:8px}.offers-provider strong{font-size:25px}.offers-provider small{font-size:10px;letter-spacing:1px;color:var(--muted,#71818c)}.offers-provider-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#153b58;color:#fff;font-size:28px;font-weight:800;flex-shrink:0}.offers-provider footer{grid-column:1/-1;display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--border,#dce8e8)}.offers-provider footer small{letter-spacing:0;line-height:1.6}.offers-live{font-size:12px;display:inline-flex;gap:7px;align-items:center;color:#0c9775}.offers-live i{width:7px;height:7px;border-radius:50%;background:currentColor}.offers-live.warning{color:#b17a17}.offers-provider-head{display:flex;gap:16px;align-items:center;margin:20px 0}.offers-provider-head>div{flex:1;display:grid;gap:6px}.offers-provider-head h2{margin:0}.offers-provider-head small{color:var(--muted,#71818c);font-size:11px}.offers-source-link{text-decoration:none;font-size:12px;white-space:nowrap}.offers-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.offers-metrics>div{display:grid;gap:10px;padding:20px;background:var(--panel,#fff);border:1px solid var(--border,#dce8e8);border-radius:15px}.offers-metrics small{font-size:10px;letter-spacing:.7px;color:var(--muted,#71818c)}.offers-metrics strong{font-size:28px}.offers-panel{border:1px solid var(--border,#dce8e8);border-radius:18px;background:var(--panel,#fff);overflow:hidden}.offers-toolbar{display:flex;gap:18px;align-items:end;padding:20px}.offers-toolbar label{display:grid;gap:7px;font-size:12px}.offers-toolbar label:first-child{flex:1}.offers-toolbar input,.offers-toolbar select{padding:11px 13px;border:1px solid var(--border,#dce8e8);border-radius:9px;background:var(--panel,#fff);color:var(--text,#173239)}.offers-toolbar>span{padding-bottom:10px;white-space:nowrap;font-size:12px;color:var(--muted,#71818c)}.offers-range{font-size:11px;padding:0 20px 12px;margin:0}.offers-table{width:100%;min-width:1000px;border-collapse:collapse}.offers-table th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;text-align:left;padding:14px 16px;background:#11a88709}.offers-table td{padding:16px;border-top:1px solid var(--border,#dce8e8);font-size:12px;vertical-align:middle;max-width:240px}.offers-table td small,.offers-history small{display:block;margin-top:6px;font-size:10px;color:var(--muted,#71818c);line-height:1.5}.offers-table td strong{font-size:12px}.offers-status{display:inline-block;padding:6px 9px;border-radius:8px;font-size:11px;background:#8da0ad22}.offers-status.pending{color:#a3680c;background:#e8b84d22}.offers-status.accepted{color:#07996e;background:#12b98b18}.offers-status.rejected{color:#d35a50;background:#df6d6018}.offers-empty{text-align:center;padding:40px}.offers-warning{padding:16px 18px;margin:16px 0;border:1px solid #e8b84d70;background:#e8b84d12;border-radius:12px;font-size:13px;line-height:1.6}.offers-history{margin:25px 0;border:1px solid var(--border,#dce8e8);padding:20px;border-radius:15px}.offers-history summary{cursor:pointer;font-weight:600}.offers-history>div{padding:14px 0;border-bottom:1px solid var(--border,#dce8e8);font-size:12px}.offers-dialog{width:min(820px,calc(100vw - 30px));max-height:90vh;overflow:auto}.offers-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.offers-detail-grid>div{display:grid;gap:7px;min-width:0}.offers-detail-grid small{color:var(--muted,#71818c);font-size:11px}.offers-detail-grid strong{font-size:13px;overflow-wrap:anywhere}.offers-decision-note{font-size:12px;line-height:1.7;color:var(--muted,#71818c);border-top:1px solid var(--border,#dce8e8);padding-top:18px;margin-top:25px}
@media(max-width:800px){.offers-heading,.offers-provider-head{align-items:start;flex-wrap:wrap}.offers-metrics{grid-template-columns:1fr 1fr}.offers-toolbar{flex-wrap:wrap}.offers-toolbar label:first-child{min-width:100%}.offers-detail-grid{grid-template-columns:1fr}.offers-admin-tag{display:none}}

.offers-wa-settings { margin-bottom:12px; }
.offers-wa-settings[hidden], .offers-whatsapp-dialog [hidden] { display:none !important; }
.offers-whatsapp-dialog form { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin:12px 0; }
.offers-whatsapp-dialog form label { flex:1 1 210px; }
.offers-whatsapp-dialog img { display:block; width:min(240px,100%); height:auto; background:white; border-radius:8px; }
.offer-countdown { display:block; width:fit-content; margin:5px 0; padding:3px 6px; border-radius:6px; color:var(--text); background:#2181e822; font-weight:700; font-variant-numeric:tabular-nums; }
.offer-countdown-urgent { background:#ef774437; }

.offers-rejection-note { max-width:32ch; white-space:pre-wrap; overflow-wrap:anywhere; }

/* src/client/styles/39-reports-experience.css */
#reportsPage .report-ux-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}#reportsPage .report-ux-heading h2{font-size:26px;margin:7px 0}#reportsPage .report-ux-heading p{color:var(--muted);margin:0;font-size:13px}.report-ux-filters{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:22px;margin-bottom:16px}.report-ux-filter-title{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:16px}.report-ux-filter-title strong{font-size:13px}.report-ux-filter-title>span{font-size:11px;color:var(--muted)}.report-ux-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.report-ux-presets button{font-size:11px;padding:8px 13px;border-radius:20px}.report-ux-presets button[aria-pressed=true]{background:var(--brand-action, #0c9f7c);color:white;border-color:var(--brand-action, #0c9f7c)}.report-ux-filter-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr 1.2fr;gap:15px}.report-ux-filter-grid label,.report-ux-advanced-grid label,.report-ux-table-tools label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);min-width:0}.report-ux-filters input,.report-ux-filters select,.report-ux-table-tools input,.report-ux-table-tools select{width:100%;padding:11px 12px;min-height:42px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--panel)}.report-ux-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:18px}.report-ux-disclosure{padding:15px 0}.report-ux-disclosure>summary{font-size:12px;cursor:pointer;color:var(--muted);font-weight:600;list-style-position:inside}.report-ux-disclosure>summary:hover{color:var(--text)}.report-ux-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:16px}.report-ux-filter-footer>p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.report-ux-filter-footer>div{display:flex;gap:9px;flex-shrink:0}.report-ux-applied{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:15px 0 23px;font-size:11px}.report-ux-applied>strong{font-weight:500;color:var(--muted);margin-right:4px}.report-ux-applied>span{padding:6px 10px;border-radius:7px;background:#11a88910;border:1px solid #11a88920}.report-ux-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;background:var(--panel);border:1px solid var(--border);border-radius:14px;margin-bottom:23px}.report-ux-tabs button{background:transparent;border:1px solid transparent;border-radius:10px;padding:13px 15px;text-align:left;color:var(--muted);cursor:pointer;display:grid;gap:5px}.report-ux-tabs strong{font-size:13px}.report-ux-tabs small{font-size:10px;font-weight:400}.report-ux-tabs [aria-selected=true]{background:var(--brand-soft, #10b98112);border-color:var(--brand-accent, #0b9677);color:var(--brand-accent, #0b9677)}.report-ux-tabs button:focus-visible{outline:2px solid #0b9677;outline-offset:2px}#reportsPage .report-ux-view[hidden]{display:none!important}#reportsPage .report-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}#reportsPage .report-metric{min-height:128px;padding:22px;border-radius:15px}#reportsPage #reportKpis .report-metric:nth-child(3){background:#0ba4810b;border-color:#0ba48140}#reportsPage .report-metric>strong{font-size:clamp(20px,2vw,28px);overflow-wrap:anywhere}#reportsPage .report-metric>small{font-size:10px;line-height:1.6}.report-ux-extra{margin:0 0 20px}.report-ux-extra .report-metric-grid,.report-ux-extra .report-dual{margin-top:16px}#reportsPage .report-ux-extra .report-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-ux-view .panel{margin-bottom:20px}.report-ux-view .panel-head p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}.report-ux-month-table>summary{padding:10px 0}.report-ux-table-tools{display:flex;align-items:end;gap:15px;margin:10px 0 20px}.report-ux-table-tools label:first-child{flex:1}.report-ux-table-tools label:last-child{width:100px}.report-ux-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:17px;margin-top:12px;font-size:11px;color:var(--muted)}.report-ux-pagination>div{display:flex;gap:8px}.report-ux-pagination button:disabled{opacity:.4;cursor:default}.report-ux-review-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.report-ux-review-summary>div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:12px;border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--panel)}.report-ux-review-summary strong{font-size:28px;color:#c47824}.report-ux-review-summary span{font-size:12px;line-height:1.6}.report-ux-review-summary>p{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0}dialog.report-ux-dialog{width:min(1200px,94vw);max-width:94vw;max-height:85vh;overflow:auto;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:24px}dialog.report-ux-dialog::backdrop{background:#06101c99;backdrop-filter:blur(4px)}dialog.report-ux-dialog[hidden]{display:none}.report-ux-help{border-top:1px solid var(--border);margin-top:20px}.report-ux-empty{font-size:13px;color:var(--muted);padding:35px;text-align:center;width:100%}#reportsPage [aria-busy=true]{opacity:.8}@media(max-width:1050px){.report-ux-review-summary{grid-template-columns:1fr}.report-ux-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){#reportsPage .report-ux-heading{align-items:start;flex-direction:column}.report-ux-filter-grid,.report-ux-advanced-grid{grid-template-columns:1fr 1fr}.report-ux-tabs{grid-template-columns:1fr 1fr}.report-ux-filter-footer{align-items:start;flex-direction:column}.report-ux-filter-footer>div{width:100%}.report-ux-filter-footer button{flex:1}#reportsPage .report-metric-grid,#reportsPage .report-ux-extra .report-metric-grid{grid-template-columns:1fr 1fr}.report-ux-review-summary>div{grid-template-columns:45px 1fr}.report-ux-review-summary button{grid-column:2}.report-ux-pagination{align-items:start;flex-direction:column}}

body:has(#reportsPage.active-page) .topbar #importBtn,body:has(#reportsPage.active-page) .topbar #newOperationBtn{display:none}dialog.report-ux-dialog:not([open]){display:none}
#reportsPage [role=tab][hidden], #reportFilters select[hidden], .report-multi label[hidden] { display:none !important; }
#reportsPage[data-report-mode=finance] .report-ux-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
.report-multi-field { display:grid; align-content:start; gap:7px; min-width:0; font-size:11px; color:var(--muted); }
.report-multi summary { cursor:pointer; padding:11px 12px; min-height:42px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--panel); }
.report-multi > div { display:grid; gap:8px; max-height:230px; overflow:auto; padding:8px; border:1px solid var(--border); border-radius:9px; }
#reportFilters .report-multi label { display:flex; flex-direction:row; align-items:center; color:var(--text); overflow-wrap:anywhere; }
#reportFilters .report-multi input[type=checkbox] { width:16px; height:16px; min-height:0; padding:0; flex:none; }
#reportReceivableDays { min-height:42px; margin-left:4px; padding:8px 12px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--panel); }
.report-warning { color:var(--text); background:#ed9b3430; padding:3px 5px; border-radius:5px; white-space:nowrap; }

/* src/client/styles/40-offer-alerts.css */
#sidebar [data-page="offers"]{position:relative}.offers-nav-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:21px;height:21px;padding:0 6px;margin-left:auto;border-radius:20px;background:#ed5a52;color:white;font-size:11px;font-weight:800;line-height:1;box-shadow:0 2px 7px #ed5a5230}.offers-nav-badge[hidden]{display:none!important}.offers-sound-toggle{font-size:12px;white-space:nowrap}.offers-sound-toggle[aria-pressed="true"]{color:#0b9474;border-color:#11a88955}.navi-sidebar-collapsed #sidebar .offers-nav-badge{position:absolute;top:3px;right:5px;min-width:17px;height:17px;padding:0 4px;font-size:9px}@media(max-width:800px){.offers-sound-toggle{font-size:11px}}

/* src/client/styles/41-tags.css */
.tags-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.tags-heading h2,.tags-heading h3{margin:5px 0}.tags-heading p,.tags-note{color:var(--muted);font-size:13px;line-height:1.5}.tags-notice{border:1px solid #d7a74b;background:rgba(229,171,58,.1);padding:18px 22px;border-radius:14px;margin-bottom:20px}.tags-notice b{color:var(--text);font-size:12px;letter-spacing:.06em}.tags-notice p{margin:7px 0 0;font-size:13px}.tags-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.tags-metrics article,.tags-panel{border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:20px}.tags-metrics small,.tags-detail small{display:block;font-size:10px;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}.tags-metrics article>strong{font-size:24px;display:block}.tags-metrics p{font-size:12px;line-height:1.5;color:var(--muted)}.tags-panel{margin-bottom:20px}.tags-table small,.tags-panel details small{display:block;color:var(--muted);font-size:11px;max-width:300px;line-height:1.5;margin-top:5px}.tags-table td{vertical-align:top}.tags-status{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;background:rgba(70,130,210,.12);color:var(--text)}.tags-status.confirmed{background:rgba(22,163,74,.13);color:#16814a}.tags-status.uncertain{background:rgba(218,126,30,.15);color:#b26916}.tags-status.cancelled{opacity:.65}.tags-empty{text-align:center;padding:40px 10px}.tags-empty p{color:var(--muted)}.tags-partners{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.tags-partners span{border:1px solid var(--border);padding:8px 15px;border-radius:20px;font-size:12px}.tags-form,.tags-detail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tags-wide{grid-column:1/-1}.tags-dialog{max-width:760px;width:calc(100% - 32px)}.tags-detail strong{display:block;overflow-wrap:anywhere;font-size:14px}.tags-panel>summary{cursor:pointer;font-weight:600}.tags-panel>p small{display:block;font-size:11px;color:var(--muted)}@media(max-width:1050px){.tags-metrics{grid-template-columns:1fr 1fr}}@media(max-width:640px){.tags-heading{align-items:flex-start;flex-direction:column}.tags-metrics,.tags-form,.tags-detail{grid-template-columns:1fr}.tags-wide{grid-column:auto}.tags-panel{padding:14px}}

/* Compra de TAG: campos consistentes nos temas claro e escuro. */
.tags-dialog .field{display:flex;flex-direction:column;gap:8px}.tags-dialog .field input,.tags-dialog .field select{box-sizing:border-box;width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--dialog-line);border-radius:10px;background:var(--dialog-bg);color:var(--dialog-text);font:inherit}.tags-dialog .field input:focus,.tags-dialog .field select:focus{outline:2px solid #10b981;outline-offset:2px}
.tag-purchase-dialog{width:min(940px,calc(100vw - 32px));max-width:940px}.tag-purchase-dialog .navi-dialog-head{position:sticky;top:0;z-index:3;background:var(--dialog-bg)}.tag-purchase-dialog .navi-dialog-body{padding:0}.tag-purchase-form{display:block}.tag-form-intro{display:flex;gap:12px;align-items:center;margin:22px 28px;padding:14px 16px;border:1px solid var(--dialog-line);border-radius:12px;background:#10b9810a}.tag-form-intro>span{font-size:24px;color:#10b981}.tag-form-intro p{font-size:13px;line-height:1.5;color:var(--dialog-muted);margin:0}.tag-form-section{min-width:0;margin:0 28px 24px;padding:20px;border:1px solid var(--dialog-line);border-radius:14px}.tag-form-section legend{font-size:15px;font-weight:700;color:var(--dialog-text);padding:0 9px;display:flex;gap:9px;align-items:center}.tag-form-section legend b{display:inline-grid;place-items:center;width:24px;height:24px;background:#10b98118;color:#10b981;border-radius:8px;font-size:12px}.tag-section-help{margin:0 0 16px;color:var(--dialog-muted);font-size:13px;line-height:1.5}.tag-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px}.tag-fields-reference{margin-top:18px;grid-template-columns:1fr}.tag-field{display:flex;flex-direction:column;min-width:0;gap:8px}.tag-field>label,.tag-operation-picker>label{color:var(--dialog-text);font-size:13px;font-weight:650;line-height:1.4}.tag-purchase-dialog input,.tag-purchase-dialog select{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:12px 14px;border:1px solid var(--dialog-line);border-radius:10px;background:var(--dialog-bg);color:var(--dialog-text);font:inherit;line-height:1.4;transition:border-color .15s,box-shadow .15s}.tag-purchase-dialog input::placeholder{color:var(--dialog-muted);opacity:.75}.tag-purchase-dialog input:focus,.tag-purchase-dialog select:focus{outline:0;border-color:#10b981;box-shadow:0 0 0 3px #10b98120}.tag-purchase-dialog select{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,#7693a1 50%),linear-gradient(135deg,#7693a1 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat}.tag-purchase-dialog input[name="plate"]{text-transform:uppercase;letter-spacing:.08em;font-weight:650}.tag-field-help,.tag-operation-picker>small{font-size:11px;line-height:1.5;color:var(--dialog-muted)}.tag-field-help:empty,.tag-field-error:empty{display:none}.tag-field-error{font-size:12px;color:#df5f62;line-height:1.4}.tag-purchase-dialog [aria-invalid="true"]{border-color:#df5f62;box-shadow:0 0 0 2px #df5f6210}.tag-operation-picker{display:flex;flex-direction:column;gap:9px}.tag-search-box{position:relative;margin-bottom:6px}.tag-search-box>span{position:absolute;left:14px;top:9px;font-size:22px;color:var(--dialog-muted);pointer-events:none}.tag-search-box input{padding-left:42px}.tag-span-full{grid-column:1/-1}.tag-check-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.tag-check-heading p{margin:0}.tag-check-heading button{flex:0 0 auto;min-height:42px}.tag-availability-empty{font-size:12px;color:var(--dialog-muted);padding:16px 0 0;margin:0}.tag-availability-caption{font-size:12px;color:var(--dialog-muted);margin:20px 0 12px}.tag-provider-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tag-provider-card{min-width:0;text-align:left;display:flex;flex-direction:column;gap:10px;padding:14px 12px;min-height:120px;background:var(--dialog-bg);color:var(--dialog-text);border:1px solid var(--dialog-line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.tag-provider-card:hover:not(:disabled){border-color:#10b981}.tag-provider-card:focus-visible{outline:2px solid #10b981;outline-offset:3px}.tag-provider-card.selected{border-color:#10b981;background:#10b9810d;box-shadow:0 0 0 1px #10b981}.tag-provider-top{display:flex;justify-content:space-between;align-items:center;gap:5px}.tag-provider-top strong{font-size:12px;overflow-wrap:anywhere}.tag-provider-top>span{display:grid;place-items:center;width:19px;height:19px;flex-shrink:0;background:#10b98118;color:#10b981;border-radius:50%;font-size:12px}.tag-provider-status{font-size:11px;color:#10b981}.tag-provider-card [data-choice]{font-size:10px;color:var(--dialog-muted)}.tag-provider-card.selected [data-choice]{color:#10b981;font-weight:700}.tag-provider-card.unavailable{opacity:.6;cursor:not-allowed}.tag-provider-card.unavailable .tag-provider-status{color:var(--dialog-muted)}.tag-availability-failure{font-size:12px;line-height:1.5;color:#df5f62;margin-top:16px}.tag-form-footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;background:var(--dialog-bg);border-top:1px solid var(--dialog-line)}.tag-form-footer>p{margin:0;max-width:300px;font-size:11px;color:var(--dialog-muted);line-height:1.5}.tag-form-footer>div{display:flex;gap:10px;flex-shrink:0}.tag-form-footer button{min-height:44px}.tag-purchase-dialog .navi-dialog-error:not(:empty){margin:12px 28px 20px}.tag-purchase-dialog .navi-dialog-error:empty{display:none}@media(max-width:760px){.tag-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tag-form-intro{margin:16px}.tag-form-section{margin:0 16px 20px;padding:16px}.tag-form-footer{padding:16px;align-items:flex-start;flex-direction:column}.tag-form-footer>div{width:100%;justify-content:flex-end}.tag-form-footer>p{max-width:none}.tag-check-heading{align-items:flex-start;flex-direction:column}}@media(max-width:540px){.tag-fields{grid-template-columns:1fr;gap:18px}.tag-span-full{grid-column:auto}.tag-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tag-provider-card{min-height:108px}.tag-purchase-dialog .navi-dialog-head{padding:18px 16px}.tag-purchase-dialog h2{font-size:18px}.tag-form-footer>div{display:grid;grid-template-columns:auto 1fr}.tag-form-footer button{font-size:12px;padding:10px 12px}}

/* src/client/styles/42-assistant.css */
.assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:150;display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #2dd4bf55;border-radius:50px;background:linear-gradient(135deg,#0a8e79,#087665);color:white;box-shadow:0 8px 28px #064e3b40;font:inherit;font-weight:650;cursor:pointer}.assistant-launcher svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.assistant-launcher[hidden],.assistant-panel[hidden]{display:none!important}.assistant-launcher:focus-visible{outline:3px solid #2dd4bf;outline-offset:3px}body:has(#operationDetailPage.active-page) .assistant-launcher{bottom:98px}.assistant-panel{position:fixed;right:24px;bottom:94px;width:min(460px,calc(100vw - 32px));height:min(680px,calc(100dvh - 115px));z-index:160;display:flex;flex-direction:column;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 65px #0003;overflow:hidden}.assistant-head{display:flex;align-items:center;gap:11px;padding:17px 16px;border-bottom:1px solid var(--border);background:var(--panel2)}.assistant-brand{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:12px;color:#10b981;background:#10b98118;font-size:22px}.assistant-head>div:nth-child(2){flex:1;min-width:0}.assistant-head h2{margin:0;font-size:15px}.assistant-head p{margin:4px 0 0;font-size:10px;color:var(--muted)}.assistant-head>button{width:28px;height:30px;flex-shrink:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:20px;border-radius:6px;cursor:pointer}.assistant-head>button:hover{background:#10b98115;color:var(--text)}.assistant-head>button[hidden]{display:none}.assistant-status{padding:9px 17px;background:var(--panel2);font-size:10px;color:var(--muted);border-bottom:1px solid var(--border)}.assistant-status.ready{color:#0e9e78}.assistant-status.pending{color:#bd8427}.assistant-messages{flex:1;min-height:0;overflow:auto;padding:18px 16px;overscroll-behavior:contain;scroll-behavior:smooth}.assistant-welcome{text-align:center;padding:22px 8px}.assistant-welcome>span{font-size:32px;color:#10b981}.assistant-welcome h3{font-size:18px;margin:15px 0 10px}.assistant-welcome p{font-size:12px;line-height:1.6;color:var(--muted)}.assistant-suggestions{display:flex;flex-direction:column;gap:9px;margin-top:22px}.assistant-suggestions button,.assistant-next{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:12px 13px;text-align:left;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.assistant-suggestions button:hover,.assistant-next:hover{border-color:var(--brand-accent, #10b981)}.assistant-message{margin:0 0 18px;padding:13px 14px;border:1px solid var(--border);border-radius:13px;background:var(--panel2);overflow-wrap:anywhere}.assistant-message>small{display:block;margin-bottom:7px;font-size:10px;color:#10b981;font-weight:700}.assistant-message.user{margin-left:35px;background:#10b98110}.assistant-message.user>small{color:var(--muted)}.assistant-message-text{white-space:pre-wrap;font-size:13px;line-height:1.65}.assistant-message.loading{color:var(--muted);border-style:dashed}.assistant-result{margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}.assistant-result>strong{font-size:11px}.assistant-result-filters{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 11px}.assistant-metrics{display:grid;gap:7px}.assistant-metrics>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.assistant-metrics>div span{color:var(--muted)}.assistant-metrics b{white-space:nowrap}.assistant-result details{margin-top:12px;font-size:11px}.assistant-result summary{cursor:pointer;font-weight:600}.assistant-group{padding:9px 0;margin:0;border-bottom:1px solid var(--border)}.assistant-group b,.assistant-group span{display:block;line-height:1.6}.assistant-group span{color:var(--muted);font-size:10px}.assistant-operations{margin-top:12px;border:1px solid var(--border);border-radius:9px;overflow:hidden}.assistant-operations>div{padding:10px;border-bottom:1px solid var(--border)}.assistant-operations>div:last-child{border-bottom:0}.assistant-operations a{display:block;color:#0d9c7b;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.assistant-operations small{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:var(--muted)}.assistant-next{width:100%;margin-top:8px;font-size:11px}.assistant-stamp{display:block;font-size:9px;color:var(--muted);margin-top:11px}.assistant-compose{border-top:1px solid var(--border);padding:12px 14px 8px;background:var(--panel2)}.assistant-compose textarea{display:block;width:100%;resize:none;max-height:110px;min-height:65px;border:1px solid var(--border);border-radius:11px;background:var(--panel);color:var(--text);font:inherit;font-size:13px;line-height:1.5;padding:11px 12px}.assistant-compose textarea:focus{outline:2px solid #10b981;outline-offset:1px}.assistant-compose>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}.assistant-compose small{color:var(--muted);font-size:10px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-compose button{padding:9px 14px;border-radius:9px;font-size:12px}.assistant-error{color:#df5f62;font-size:11px;line-height:1.5;margin:7px 0 0}.assistant-error:empty{display:none}.assistant-footer{padding:5px 14px 10px;background:var(--panel2);color:var(--muted);font-size:9px;line-height:1.4}.assistant-setup-note{font-size:12px;line-height:1.6;color:var(--muted);padding:12px;border:1px dashed var(--border);border-radius:10px}.assistant-config-dialog select{width:100%;padding:12px;border:1px solid var(--dialog-line);border-radius:10px;background:var(--dialog-bg);color:var(--dialog-text);font:inherit}.assistant-config-dialog .navi-dialog-field{margin-top:16px}.assistant-config-dialog .navi-dialog-body>p{font-size:13px;color:var(--dialog-muted);line-height:1.6}@media(max-width:760px){.assistant-launcher{right:15px;bottom:20px;padding:14px}.assistant-launcher span{display:none}.assistant-panel{inset:65px 10px 10px;width:auto;height:auto;border-radius:16px}.assistant-head{padding:13px 12px}.assistant-messages{padding:14px 12px}.assistant-metrics>div{font-size:11px}.assistant-message{padding:11px}.assistant-compose textarea{font-size:16px}.assistant-launcher:has(+.assistant-panel:not([hidden])){display:none}}

.assistant-compose .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* src/client/styles/43-branding.css */
.branding-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 28px}.branding-heading h2{font-size:29px;letter-spacing:-.8px;margin:9px 0}.branding-heading p,.branding-section-title p,.branding-preview-note,.branding-rules p{color:var(--muted);line-height:1.65}.branding-access{border:1px solid var(--border);border-radius:30px;padding:11px 16px;color:var(--muted);font-size:12px;white-space:nowrap}.branding-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,400px);gap:25px;align-items:start;max-width:1380px}.branding-editor{display:grid;gap:20px}.branding-card{padding:27px;border:1px solid var(--border);background:var(--panel);border-radius:18px}.branding-section-title{display:flex;gap:14px;align-items:start;margin-bottom:22px}.branding-section-title>b{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,transparent);border-radius:10px;padding:10px;font-size:12px}.branding-section-title h3,.branding-rules h3{font-size:18px;margin:0 0 7px}.branding-section-title p{margin:0;font-size:13px}.branding-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.branding-field{display:grid;gap:8px;min-width:0;font-size:13px}.branding-field>span,.branding-colors label>span{font-weight:650}.branding-field input,.branding-field select{box-sizing:border-box;width:100%;min-width:0;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text);font:inherit}.branding-field small{font-size:11px;color:var(--muted);line-height:1.5}.branding-upload{position:relative;display:grid;justify-items:center;gap:9px;padding:30px 16px;border:1px dashed color-mix(in srgb,var(--brand-primary) 55%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--brand-primary) 4%,var(--panel));text-align:center;cursor:pointer}.branding-upload:focus-within{outline:2px solid var(--brand-primary);outline-offset:3px}.branding-upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.branding-upload-symbol{font-size:26px;color:var(--brand-primary)}.branding-upload>span:not(.branding-upload-symbol),.branding-upload small{color:var(--muted);font-size:11px;line-height:1.6}.branding-file-status{font-size:12px;overflow-wrap:anywhere}.branding-logo-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.branding-logo-actions a{text-decoration:none;font-size:12px}.branding-fallback{padding:17px;margin:16px 0;border:1px solid #dcab50;border-radius:12px;background:#dcab5010;font-size:13px;line-height:1.5}.branding-palettes{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.branding-palettes button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:25px;padding:9px 14px;font-size:12px;cursor:pointer}.branding-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.branding-colors label{display:grid;gap:10px;font-size:12px}.branding-colors label>div{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--border);border-radius:11px}.branding-colors input[type=color]{width:36px;height:36px;border:0;padding:0;background:none;cursor:pointer;flex-shrink:0}.branding-colors output{font:11px ui-monospace,monospace;color:var(--muted)}.branding-preview-column{position:sticky;top:90px}.branding-preview{border:1px solid var(--border);border-radius:17px;overflow:hidden;background:var(--panel);box-shadow:0 15px 50px #1023370b}.branding-preview>header{display:flex;justify-content:space-between;align-items:center;padding:16px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1px;border-bottom:1px solid var(--border)}.branding-preview>header i{width:7px;height:7px;background:#f4bb55;border-radius:50%}.branding-preview-app{display:grid;grid-template-columns:36% 64%;min-height:300px}.branding-preview-menu{display:flex;flex-direction:column;gap:10px;padding:20px 12px;background:var(--preview-sidebar);color:var(--preview-sidebar-text)}.branding-preview-menu img{width:80px;height:45px;object-fit:contain;margin-bottom:5px;border-radius:5px}.branding-preview-menu strong{font-size:12px;overflow-wrap:anywhere}.branding-preview-menu small{font-size:9px;line-height:1.5;opacity:.7;margin-bottom:15px}.branding-preview-menu>span{font-size:9px;padding:9px 6px;border-radius:5px}.branding-preview-menu .selected{background:var(--preview-primary);color:var(--preview-primary-text)}.branding-preview-main{padding:27px 17px;background:#f4f7fb;color:#183048}.branding-preview-main>small{font-size:7px;letter-spacing:.7px}.branding-preview-main h3{font-size:17px;overflow-wrap:anywhere;margin:10px 0 24px}.branding-preview-stat{display:grid;gap:9px;background:#fff;padding:16px;border:1px solid #e4eaf2;border-radius:10px}.branding-preview-stat small,.branding-preview-stat span{font-size:9px;color:#64748b}.branding-preview-stat b{font-size:30px}.branding-preview-main button{background:var(--preview-primary);color:var(--preview-primary-text);border:0;padding:11px 13px;border-radius:7px;font-size:9px;font-weight:700;margin-top:16px}.branding-preview-login{display:flex;gap:15px;align-items:center;padding:20px;background:var(--panel)}.branding-preview-login img{width:70px;height:40px;object-fit:contain}.branding-preview-login>div{display:grid;gap:7px;min-width:0}.branding-preview-login small{font-size:8px;color:var(--muted)}.branding-preview-login strong{font-size:14px;overflow-wrap:anywhere}.branding-preview-note{font-size:11px;text-align:center}.branding-save-box{display:grid;gap:12px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.branding-save-box>button{width:100%;min-height:44px}.branding-save-box>small{font-size:10px;color:var(--muted);text-align:center;line-height:1.6}.branding-error{color:#d35748;font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}.branding-error:empty{display:none}.branding-rules p{font-size:12px}.branding-rules button{margin-top:5px}.branding-layout [hidden]{display:none!important}@media(max-width:1200px){.branding-colors{grid-template-columns:1fr}.branding-colors label>div{max-width:180px}.branding-layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:950px){.branding-layout{grid-template-columns:1fr}.branding-preview-column{position:static;max-width:520px;grid-row:1}.branding-preview-app{min-height:240px}.branding-heading{align-items:start}.branding-access{display:none}}@media(max-width:560px){.branding-card{padding:20px}.branding-fields{grid-template-columns:1fr}.branding-heading h2{font-size:24px}.branding-preview-column{max-width:100%}.branding-logo-actions{align-items:stretch;flex-direction:column}}.main:has(#brandingPage.active-page) #pageTitle{font-size:24px}.branding-preview[data-brand-display="logo-only"] .branding-preview-menu>[data-preview-name],.branding-preview[data-brand-display="logo-only"] .branding-preview-menu>[data-preview-tagline],.branding-preview[data-brand-display="logo-only"] .branding-preview-login>div{display:none}.branding-preview[data-brand-display="logo-only"] .branding-preview-menu>img{width:100%;height:65px;object-fit:contain}.branding-preview[data-brand-display="logo-only"] .branding-preview-login>img{width:155px;height:60px}.branding-preview-main button,.branding-preview-menu .selected{box-shadow:none}.branding-palettes button:hover{background:var(--brand-soft-light,#edf4fb);color:var(--text);border-color:var(--brand-action,#2563eb)}@media(max-width:900px){body:has(#brandingPage.active-page) .main{margin-left:0!important;width:100%!important;padding:18px}body:has(#brandingPage.active-page) .sidebar{transform:translateX(-100%)!important}body:has(#brandingPage.active-page) .sidebar.open{transform:translateX(0)!important}}
/* src/client/styles/44-brand-theme.css */
/* Marca e interações compartilhadas. Painéis escuros mantêm sua aparência. */
:root{--brand-action:#176fc6;--brand-action-hover:#155da6;--brand-action-text:#fff;--brand-accent-light:#176fc6;--brand-accent-dark:#73b8f4;--brand-soft-light:#eff5fc;--brand-soft-dark:#142e46;--brand-sidebar:#102337;--brand-sidebar-text:#e4edf7;--brand-sidebar-hover:#26394b;--brand-accent:var(--brand-accent-dark);--brand-soft:var(--brand-soft-dark)}
html[data-theme=light]{--brand-accent:var(--brand-accent-light);--brand-soft:var(--brand-soft-light);--bg:#f3f6fa;--panel:#fff;--panel2:#f7f9fc;--text:#1c3045;--muted:#52677c;--border:#dce5ee}
html[data-theme=light] body{background:#f3f6fa;color:var(--text)}
html[data-branded] .sidebar{background:var(--brand-sidebar)!important;color:var(--brand-sidebar-text)!important}
html[data-branded] .sidebar :is(.brand-copy strong,.brand-copy span,.nav-item,.user-name,.user-role){color:var(--brand-sidebar-text)!important}
html[data-branded] .sidebar .nav-item{transition:background .16s ease,color .16s ease;box-shadow:none;border-color:transparent}
html[data-branded] .sidebar .nav-item:hover,html[data-branded] .sidebar .nav-item:focus-visible{background:var(--brand-sidebar-hover)!important;color:var(--brand-sidebar-text)!important;box-shadow:none}
html[data-branded] .sidebar .nav-item:hover .nav-icon{background:color-mix(in srgb,var(--brand-sidebar-text) 9%,transparent)!important;color:var(--brand-sidebar-text)!important}
html[data-branded] .sidebar .nav-item.active{background:color-mix(in srgb,var(--brand-primary) 18%,var(--brand-sidebar))!important;box-shadow:inset 3px 0 var(--brand-primary)!important;color:var(--brand-sidebar-text)!important}
html[data-branded] .sidebar .nav-item.active .nav-icon{background:color-mix(in srgb,var(--brand-primary) 16%,transparent)!important;color:var(--brand-sidebar-text)!important}
html[data-branded] :is(.primary:not(.danger),button.primary:not(.danger),.assistant-launcher){background:var(--brand-action)!important;color:var(--brand-action-text)!important;border-color:var(--brand-action)!important;box-shadow:0 3px 9px #10233712!important}
html[data-branded] :is(.primary:not(.danger),button.primary:not(.danger),.assistant-launcher):hover{background:var(--brand-action-hover)!important;border-color:var(--brand-action-hover)!important;box-shadow:0 4px 12px #1023371b!important}
html[data-branded] :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}
html[data-branded] :is(.eyebrow,.panel-kicker){color:var(--brand-accent)!important}
html[data-theme=light] :is(.secondary,.icon-button,.theme-toggle,.profile-preview-control summary){background:#fff;color:#31485e;border-color:#d7e2ed;box-shadow:none}
html[data-theme=light] :is(.secondary,.icon-button,.theme-toggle,.profile-preview-control summary):hover{background:var(--brand-soft-light)!important;color:#183149!important;border-color:#b7cadd!important;box-shadow:none}
html[data-theme=light] :is(.pending-item,.smart-alert,.rank-row,.delay-rank-row):hover{background:var(--brand-soft-light)!important;border-color:#bdcfe1!important;color:#183149!important}
html[data-theme=light] :is(.pending-item,.smart-alert,.rank-row,.delay-rank-row):hover :is(strong,b,span,small){color:#29455f!important}
html[data-theme=light] :is(.custom-select-menu,.smart-menu,.lookup-options,.dropdown-menu) button:hover{background:var(--brand-soft-light)!important;color:#183149!important}
html[data-theme=light] :is(.operations-table,.table-wrap,.dashboard-table-wrap) tbody tr:hover td{background:#eef4fa!important;color:#1c3045!important}
html[data-theme=light] :is(.intelligence-toolbar,.filter-tabs,.filter-chips) button.active{background:var(--brand-action)!important;color:#fff!important;border-color:var(--brand-action)!important}
html[data-theme=light] :is(.intelligence-toolbar,.filter-tabs,.filter-chips) button:not(.active):hover{background:var(--brand-soft-light)!important;color:#1c3045!important}
html[data-theme=light] :is(.intelligence-card,.agenda-panel,.panorama-card) small{color:#52677c}
html[data-theme=light] .topbar #globalSearchInput{background:transparent!important;color:#243b52!important;border:0!important;box-shadow:none!important;outline:0!important;border-radius:0;margin:0;padding:0;height:100%}
html[data-theme=light] #globalSearchInput::placeholder{color:#62768a!important}
html[data-branded] .sidebar .brand{height:110px;min-height:110px;padding:15px 14px;gap:10px;position:relative}
html[data-branded] .brand-mark:has(.tenant-logo){background:transparent!important;border:0;border-radius:8px;box-shadow:none!important;width:84px;min-width:84px;height:58px;flex:0 0 auto}
.tenant-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;padding:5px}
.brand-copy{min-width:0}.brand-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px}.brand-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.5;max-width:100%}
html[data-branded] .sidebar .brand-copy{flex:1;max-width:72px;margin-right:22px}
html[data-branded] .sidebar .brand #sidebarCollapseNavi{position:absolute!important;flex:none!important;margin:0!important;right:10px;top:37px;width:27px;height:32px;border-color:#7890a560!important;color:var(--brand-sidebar-text)!important;background:transparent!important;box-shadow:none}
html[data-branded] .sidebar-toggle-navi:hover{background:var(--brand-sidebar-hover)!important}
html[data-brand-display=logo-only] .sidebar .brand-copy,html[data-brand-display=logo-only] :is(.login-brand,.login-mobile-brand) .brand-copy{display:none!important}
html[data-brand-display=logo-only] .sidebar .brand-mark:has(.tenant-logo){width:158px;min-width:0;height:76px;margin-right:23px}
html.navi-sidebar-collapsed[data-branded] .sidebar .brand-mark:has(.tenant-logo){width:48px;min-width:48px;height:48px;margin:0}
html[data-branded] .tv-logo:has(.tenant-logo){width:150px;background:transparent}.tv-logo .tenant-logo{width:100%;height:70px}
@media(max-width:900px){html[data-branded] .sidebar .brand{min-height:105px}html[data-branded] #sidebarClose{color:var(--brand-sidebar-text)}html[data-branded] .sidebar-toggle-navi{right:40px}}html[data-theme=light] .topbar .global-search-field{background:#fff!important;border-color:#d5e0eb!important;box-shadow:0 3px 12px #10233708!important}html[data-theme=light] .topbar .global-search-field :is(input,kbd,span){color:#526a80!important}html[data-theme=light] .topbar .global-search-field kbd{background:#f2f6fa!important;border-color:#d8e3ee!important}html[data-theme=light] .global-search-item:hover{background:var(--brand-soft-light)!important;color:#183149!important}html[data-theme=light] .global-search-item:hover :is(strong,small){color:#29455f!important}
@media(min-width:901px){html.navi-sidebar-collapsed[data-branded] .sidebar .brand #sidebarCollapseNavi{top:80px;right:25px;height:23px}}
/* A busca tem uma única superfície; o foco é do conjunto, não de uma caixa interna. */
html[data-theme=light] .topbar .global-search-field:focus-within{border-color:var(--brand-action)!important;box-shadow:0 0 0 3px var(--brand-soft-light)!important}
/* O menu continua escuro nos dois temas, inclusive seus cards inferiores. */
html[data-theme=light] #sidebar .permission-card{background:color-mix(in srgb,var(--brand-sidebar) 95%,var(--brand-sidebar-text));border:1px solid color-mix(in srgb,var(--brand-sidebar-text) 14%,transparent);box-shadow:none}
html[data-theme=light] #sidebar .permission-card>span{color:#9db3c7}
html[data-theme=light] #sidebar .permission-card>strong{color:var(--brand-sidebar-text)}
html[data-theme=light] #sidebar .permission-card>small{color:#a9bfd2}
html[data-theme=light] #sidebar .sidebar-footer{background:transparent;border:1px solid color-mix(in srgb,var(--brand-sidebar-text) 14%,transparent);box-shadow:none}
html[data-theme=light] #sidebar .sidebar-footer strong{color:var(--brand-sidebar-text)}
html[data-theme=light] #sidebar .sidebar-footer span{color:#a9bfd2}
html[data-theme=light] #sidebar .logout-mini{color:var(--brand-sidebar-text);background:color-mix(in srgb,var(--brand-sidebar) 85%,var(--brand-sidebar-text));border-color:transparent}
html[data-theme=light] #sidebar .logout-mini:hover{background:var(--brand-sidebar-hover)}
html[data-branded] .theme-toggle:hover{border-color:var(--brand-accent)}
html[data-branded] .theme-toggle:focus-visible{outline-color:var(--brand-accent)}
/* src/client/styles/45-login.css */
/* Login: superfícies explícitas para impedir herança de cores incompatíveis. */
#loginScreen{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(440px,.94fr);background:#f3f6fa;color:#1c3045}
#loginScreen.hidden{display:none!important}
#loginScreen .login-art{min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:54px clamp(36px,6vw,112px);background:radial-gradient(ellipse at 85% 90%,#285c8438,transparent 58%),linear-gradient(145deg,#0d2034,#17364f)!important;color:#eff5fa}
#loginScreen .login-art::before{content:'';position:absolute;width:540px;height:540px;border:1px solid #ffffff0b;border-radius:50%;right:-250px;bottom:-190px;pointer-events:none}
#loginScreen .login-art::after{content:'';position:absolute;width:700px;height:700px;border:1px solid #ffffff08;border-radius:50%;right:-330px;bottom:-270px;pointer-events:none}
#loginScreen .login-brand{display:flex;align-items:center;gap:20px;position:relative;z-index:1;margin:0}
#loginScreen .login-brand .brand-mark{width:205px!important;min-width:205px!important;height:92px!important;padding:0!important;border:0;background:transparent!important;box-shadow:none}
#loginScreen .login-brand .tenant-logo{padding:12px 15px;border-radius:10px}
#loginScreen .login-brand .brand-copy strong{color:#f2f6fc!important;font-size:21px;max-width:180px;letter-spacing:0}
#loginScreen .login-brand .brand-copy span{color:#a5b9cc!important;font-size:11px;letter-spacing:.04em;margin-top:6px}
#loginScreen .login-copy{position:relative;z-index:1;margin:35px 0 28px;max-width:570px}
#loginScreen .login-copy .panel-kicker{color:#a4bed4!important;font-size:10px;letter-spacing:.16em}
#loginScreen .login-copy h1{font-size:clamp(40px,4.2vw,70px);line-height:1.12;font-weight:720;letter-spacing:-.045em;color:#f3f7fc!important;margin:23px 0}
#loginScreen .login-copy h1 em{font-style:normal;color:#96bfe0!important}
#loginScreen .login-copy p{max-width:450px;font-size:15px;line-height:1.85;color:#b3c5d5!important;margin:0}
#loginScreen .role-flow{display:flex;align-items:center;gap:15px;margin:0;position:relative;z-index:1;max-width:520px}
#loginScreen .role-flow>div{flex:1;min-width:0;padding:16px 0;border:0;border-top:1px solid #8aa6bf38;border-radius:0;background:transparent!important;box-shadow:none}
#loginScreen .role-flow b{display:block;color:#91b6d3!important;font-size:10px;font-weight:700;margin-bottom:10px}
#loginScreen .role-flow strong{display:block;font-size:14px;color:#ecf3fa!important;margin:0 0 5px}
#loginScreen .role-flow span{color:#96adc3!important;font-size:11px}#loginScreen .role-flow>i{font-style:normal;font-size:14px;color:#718ba1}
#loginScreen .login-art-footer{color:#8fa6bb!important;font-size:11px;line-height:1.7;margin:0;position:relative;z-index:1}
#loginScreen .login-box-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 45px;background:#f3f6fa!important;min-width:0;gap:24px}
#loginScreen .login-box{width:100%;max-width:410px;margin:0;padding:38px 35px;background:#fff!important;border:1px solid #e0e7ef!important;border-radius:20px;box-shadow:0 14px 45px #16314b08!important}
#loginScreen .login-box>.panel-kicker{color:var(--brand-accent-light,#176fc6)!important;display:block;letter-spacing:.13em;font-size:9px;margin:0 0 19px}
#loginScreen .login-box h2{color:#183047!important;font-size:27px;line-height:1.25;letter-spacing:-.7px;margin:0 0 11px}
#loginScreen .login-box>p{color:#62758a!important;font-size:13px;line-height:1.7;margin:0 0 30px}
#loginScreen .login-box label{display:block;color:#344f67!important;font-size:12px;font-weight:650;margin:0 0 8px}
#loginScreen .login-box input{display:block;width:100%;height:49px;padding:0 14px;border:1px solid #d4dfea!important;border-radius:9px;background:#fbfcfe!important;color:#1c344a!important;font:inherit;font-size:13px;margin:0 0 21px;box-shadow:none!important;outline:none}
#loginScreen .login-box input::placeholder{color:#62758a!important}
#loginScreen .login-box input:focus{border-color:var(--brand-action,#176fc6)!important;outline:3px solid var(--brand-soft-light,#eaf2fa)!important;outline-offset:1px}
#loginScreen .login-box .wide-btn{display:flex;width:100%;align-items:center;justify-content:space-between;height:49px;border-radius:9px;padding:0 17px;margin-top:6px;box-shadow:none!important;font-size:13px}
#loginScreen .login-security-note{display:flex;justify-content:center;align-items:center;gap:7px;color:#5b7085!important;font-size:10px;margin:22px 0 0;line-height:1.6}
#loginScreen .login-security-note svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
#loginScreen .login-error{color:#bc3d43!important;font-size:12px;line-height:1.6;margin-top:14px}#loginScreen .login-error:empty{display:none}
#loginScreen .login-help{max-width:310px;text-align:center;color:#5b7085!important;font-size:11px;line-height:1.8;margin:0}
#loginScreen .login-mobile-brand{display:none}
html[data-theme=dark] #loginScreen .login-box-wrap{background:#091725!important}
html[data-theme=dark] #loginScreen .login-box{background:#102135!important;border-color:#263c50!important;box-shadow:0 14px 45px #00000014!important}
html[data-theme=dark] #loginScreen .login-box h2{color:#edf4fa!important}
html[data-theme=dark] #loginScreen .login-box>p,html[data-theme=dark] #loginScreen .login-box label{color:#a9bfd2!important}
html[data-theme=dark] #loginScreen .login-box>.panel-kicker{color:var(--brand-accent-dark,#8fc1eb)!important}
html[data-theme=dark] #loginScreen .login-box input{background:#0b192a!important;border-color:#32495e!important;color:#edf4fa!important}
html[data-theme=dark] #loginScreen .login-box input:focus{outline-color:#234764!important;border-color:#72a8d6!important}
html[data-theme=dark] #loginScreen .login-security-note,html[data-theme=dark] #loginScreen .login-help{color:#92a9bd!important}
@media(max-width:1100px){#loginScreen{grid-template-columns:1fr 1fr}#loginScreen .login-art{padding:40px}#loginScreen .login-brand{gap:12px}#loginScreen .login-brand .brand-mark{width:155px!important;min-width:155px!important;height:78px!important}#loginScreen .login-brand .brand-copy strong{font-size:18px}#loginScreen .login-box-wrap{padding:40px 25px}#loginScreen .login-box{padding:30px 26px}}
@media(max-width:760px){#loginScreen{display:block;background:#f3f6fa}#loginScreen .login-art{display:none}#loginScreen .login-box-wrap{min-height:100svh;padding:35px 22px;gap:25px}#loginScreen .login-mobile-brand{display:flex;align-items:center;justify-content:center;gap:15px;max-width:350px;width:100%}#loginScreen .login-mobile-brand .brand-mark{width:175px!important;min-width:175px!important;height:80px!important}#loginScreen .login-mobile-brand .tenant-logo{padding:10px;border-radius:9px}#loginScreen .login-mobile-brand .brand-copy strong{color:#203a51!important;font-size:19px}#loginScreen .login-mobile-brand .brand-copy span{color:#647c91!important}html[data-theme=dark] #loginScreen .login-mobile-brand .brand-copy strong{color:#e5eff8!important}html[data-theme=dark] #loginScreen .login-mobile-brand .brand-copy span{color:#a2b9cd!important}#loginScreen .login-box{max-width:390px;padding:29px 25px}#loginScreen .login-box h2{font-size:25px}#loginScreen .login-help{font-size:10px}}
html[data-theme=dark] #loginScreen .login-box input::placeholder{color:#8fa5ba!important}

/* src/client/styles/46-offer-preparation.css */
/* Conferência de referências antes de importar a oferta. */
.offers-prepare-dialog{width:min(850px,calc(100vw - 30px));max-height:92dvh;padding:0}.offers-prepare-dialog form{margin:0}.offer-prepare-intro{margin:0 0 22px;font-size:13px;line-height:1.7;color:var(--muted)}.offer-ref-list{display:grid;gap:18px}.offer-ref-card{min-width:0;margin:0;padding:20px;border:1px solid var(--border);border-radius:13px;background:var(--panel2)}.offer-ref-card legend{padding:0 8px;font-weight:700;font-size:14px;color:var(--text)}.offer-ref-source{font-size:12px;margin:0 0 8px;color:var(--muted)}.offer-ref-source strong{color:var(--text);overflow-wrap:anywhere}.offer-ref-hint{display:block;font-size:11px;line-height:1.65;color:var(--muted);margin:8px 0 14px}.offer-ref-field{display:grid;gap:7px;font-size:12px;margin-bottom:13px;min-width:0}.offer-ref-field>span{font-weight:650}.offer-ref-field :is(input,select){width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;height:auto;min-height:43px}.offer-ref-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.offer-ref-card [hidden]{display:none!important}.offer-prepare-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.offer-prepare-footer>small{max-width:360px;font-size:11px;line-height:1.6;color:var(--muted)}.offer-prepare-footer>div{display:flex;gap:12px;flex-shrink:0}@media(max-width:650px){.offer-ref-fields{grid-template-columns:1fr}.offer-prepare-footer{align-items:stretch;flex-direction:column}.offer-prepare-footer>div{flex-direction:column}.offer-prepare-footer button{width:100%}}
.offers-prepare-dialog{overflow:hidden}.offers-prepare-dialog>form{display:flex;flex-direction:column;max-height:92dvh}.offers-prepare-dialog .navi-dialog-body{overflow:auto;min-height:0}.offers-prepare-dialog .navi-dialog-head,.offers-prepare-dialog .navi-dialog-actions{flex-shrink:0}

/* src/client/styles/47-operations-kanban.css */
/* Fluxo derivado de registros salvos, sem movimentação manual. */
.operations-view-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0}.operations-view-switch>div{display:flex;gap:6px;padding:5px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.operations-view-switch button{min-width:110px}.operations-view-switch button[aria-pressed=true]{background:var(--brand-primary,var(--accent));color:var(--brand-action-text,#fff);border-color:transparent}.operations-view-switch>span{font-size:12px;color:var(--muted)}.operations-kanban-active .recent-operations-panel,.operations-kanban-active #operationsTablePanel{display:none!important}.operations-kanban-panel[hidden]{display:none!important}.operations-kanban-panel{padding:24px;min-width:0}.operations-kanban-panel .panel-head{align-items:start}.operations-kanban-panel .panel-head p{max-width:650px;font-size:13px;line-height:1.6;color:var(--muted)}.kanban-controls{display:flex;align-items:end;flex-wrap:wrap;gap:13px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.kanban-controls>label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.kanban-controls select,.kanban-controls input[type=date]{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:11px 12px;min-height:42px;font:inherit}.kanban-controls .kanban-check{display:flex;align-items:center;gap:8px;min-height:42px;cursor:pointer}.kanban-check input{width:16px;height:16px;accent-color:var(--brand-primary)}.kanban-scroll-controls{display:flex;gap:6px;margin-left:auto}.kanban-summary,.kanban-footnote{color:var(--muted);font-size:12px;line-height:1.7;margin:14px 0}.kanban-footnote{margin-bottom:0;font-size:11px}.operations-kanban{display:flex;align-items:stretch;gap:16px;overflow-x:auto;padding:2px 2px 16px;min-height:400px;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.kanban-lane{--lane:#6a9fe8;flex:1 0 290px;min-width:290px;max-width:370px;background:var(--panel2);border:1px solid var(--border);border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.kanban-lane.tone-teal{--lane:#22ad9b}.kanban-lane.tone-violet{--lane:#9a80e8}.kanban-lane.tone-cyan{--lane:#289fc0}.kanban-lane.tone-amber{--lane:#d4a142}.kanban-lane.tone-green{--lane:#42b878}.kanban-lane.tone-red{--lane:#dc7777}.kanban-lane>header{padding:17px 15px;border-top:3px solid var(--lane);border-bottom:1px solid var(--border)}.kanban-lane>header>div{display:flex;gap:8px;align-items:center}.kanban-lane h3{margin:0;font-size:15px}.kanban-lane-dot{width:7px;height:7px;border-radius:50%;background:var(--lane)}.kanban-lane header strong{margin-left:auto;font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--border);padding:4px 8px;border-radius:6px}.kanban-lane header p{font-size:11px;color:var(--muted);margin:8px 0 0}.kanban-lane-body{padding:12px;display:flex;flex-direction:column;gap:11px;overflow-y:auto;max-height:68vh;min-height:240px;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.kanban-op-card{display:block;text-decoration:none!important;color:var(--text)!important;border:1px solid var(--border);background:var(--panel);padding:15px;border-radius:10px;box-shadow:0 3px 8px #00000008;flex-shrink:0;transition:border-color .15s,box-shadow .15s}.kanban-op-card:hover{border-color:var(--brand-primary,var(--lane));box-shadow:0 5px 14px #00000015}.kanban-op-card:focus-visible{outline:3px solid var(--brand-primary);outline-offset:2px}.kanban-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.kanban-card-head strong{font-size:14px;overflow-wrap:anywhere}.kanban-card-head>span{color:var(--muted)}.kanban-card-client{font-size:12px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.kanban-card-place{color:var(--muted);font-size:12px;margin-top:4px}.kanban-card-meta{display:flex;flex-wrap:wrap;gap:7px;justify-content:space-between;font-size:10px;color:var(--muted);margin:12px 0}.kanban-card-container{font-size:11px;color:var(--muted);margin:7px 0}.kanban-card-driver{font-size:11px;line-height:1.5;color:var(--muted)}.kanban-card-driver.is-missing{color:#c28c25}.kanban-card-event{border-top:1px solid var(--border);padding-top:10px;margin-top:10px;font-size:10px;color:var(--muted);line-height:1.7}.kanban-more{width:100%;font-size:11px}.kanban-empty-lane{font-size:12px;color:var(--muted);text-align:center;padding:30px 6px}.kanban-empty{padding:70px 25px;text-align:center;width:100%;color:var(--muted)}.kanban-empty>span{font-size:32px;color:var(--brand-primary)}.kanban-empty h3{font-size:17px;color:var(--text)}.kanban-empty p{font-size:13px}@media(max-width:700px){.operations-view-switch{align-items:start;flex-direction:column}.operations-kanban-panel{padding:14px}.kanban-controls>label{flex:1 0 135px}.kanban-scroll-controls{margin-left:0}.kanban-lane{min-width:270px;flex-basis:270px}.operations-kanban-panel .panel-head{flex-direction:column;gap:12px}}

.operations-kanban-active>.kpi-grid{display:none}.operations-view-switch button[aria-pressed=true]{background:var(--brand-action)!important;color:var(--brand-action-text)!important;border-color:var(--brand-action)!important}

.kanban-signals{display:grid;gap:9px;margin-top:12px}.kanban-comparison{--signal:#8091a6;border:1px solid var(--border);border-left:3px solid var(--signal);background:var(--panel2);border-radius:7px;padding:10px}.signal-green{--signal:#1d9a64}.signal-amber{--signal:#c08715}.signal-red{--signal:#d45252}.kanban-comparison-title{display:flex;align-items:center;gap:7px;font-size:11px}.kanban-comparison-title i,.kanban-signal-badge i{width:7px;height:7px;border-radius:50%;background:var(--signal);flex-shrink:0}.kanban-comparison>small{display:block;color:var(--muted);font-size:10px;margin:5px 0;overflow-wrap:anywhere}.kanban-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.kanban-time-pair>span{min-width:0}.kanban-time-pair small{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.kanban-time-pair time{font-size:10px;line-height:1.6;color:var(--text);display:block}.kanban-comparison p{font-size:10px;line-height:1.6;color:var(--muted);margin:7px 0 0}.kanban-signal-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:10px;color:var(--text)}

.kanban-card-head .kanban-signal-badge{flex-shrink:0;font-size:9px;padding:4px 6px;color:var(--text)}

.operation-alert-icon{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.kanban-comparison-title .operation-alert-icon,.kanban-signal-badge .operation-alert-icon{color:var(--signal)}.kanban-alert-legend{margin-top:14px;font-size:12px;color:var(--muted)}.kanban-alert-legend summary{cursor:pointer}.kanban-alert-legend>div{display:flex;flex-wrap:wrap;gap:12px 20px;padding:14px 0}.kanban-alert-legend span{display:inline-flex;gap:7px;align-items:center}

/* src/client/styles/48-cargo-fields.css */
[data-derived-weight]{background:var(--panel2);color:var(--muted);cursor:default}.report-cargo-metrics{grid-template-columns:minmax(0,1fr);margin-top:16px}@media(max-width:650px){.report-cargo-metrics{grid-template-columns:1fr}}

/* src/client/styles/49-dashboard-compact.css */
/* Dashboard: altura compacta e agenda com toda a altura disponível. */
#dashboardPage .ops-intelligence-map > .intelligence-card,
#dashboardPage .ops-intelligence-map > .brazil-heatmap-panel {
  height: 420px !important;
  min-height: 0 !important;
  max-height: 420px !important;
  overflow: hidden;
}
#dashboardPage .ops-intelligence-map > .intelligence-card .intelligence-head,
#dashboardPage .ops-intelligence-map > .brazil-heatmap-panel .panel-head { flex-shrink: 0; }
#dashboardPage .ops-intelligence-map > .intelligence-card .pending-list,
#dashboardPage .ops-intelligence-map > .intelligence-card .smart-alert-list {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}
#dashboardPage .ops-intelligence-map .brazil-heatmap {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 0;
}
#dashboardPage .ops-intelligence-map .brazil-heatmap svg { min-height: 0; }
#dashboardPage .agenda-panel .timeline > * { flex-shrink: 0; }
@media (min-width: 1121px) {
  #dashboardPage .dashboard-grid > .agenda-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    align-self: stretch;
  }
  #dashboardPage .agenda-panel > .panel-head { flex-shrink: 0; }
  #dashboardPage .agenda-panel .timeline {
    flex: 1 1 0;
    height: 0;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
  }
}
@media (max-width: 1120px) {
  #dashboardPage .agenda-panel .timeline { height: auto; max-height: none; overflow: visible; }
}
@media (max-width: 800px) {
  #dashboardPage .ops-intelligence-map > .intelligence-card,
  #dashboardPage .ops-intelligence-map > .brazil-heatmap-panel { height: 360px !important; max-height: 360px !important; }
}

/* Personal dashboard editor */
.dashboard-layout-toolbar { display:flex; justify-content:flex-end; align-items:center; margin-bottom:12px; }
.dashboard-layout-toolbar [data-layout-editor] { width:100%; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:12px; border:1px solid var(--border); background:var(--panel); border-radius:12px; }
.dashboard-layout-toolbar [data-layout-editor] > div { display:flex; flex-wrap:wrap; gap:8px; }
.dashboard-layout-toolbar [data-layout-editor] > span { color:var(--muted); }
.dashboard-layout-status { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
#dashboardPage .dashboard-layout-grid[hidden],
#dashboardPage .dashboard-layout-widget[hidden],
#dashboardPage .dashboard-layout-controls[hidden],
#dashboardPage .dashboard-layout-toolbar [hidden],
#dashboardPage.dashboard-has-layout > :is(.ops-intelligence-map,.dashboard-grid) { display:none !important; }
.dashboard-layout-grid { position:relative; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; align-items:start; }
.dashboard-is-editing > .dashboard-layout-grid { background:radial-gradient(circle,var(--border) 1px,transparent 1px) 0 0 / 14px 14px; padding:10px; border-radius:14px; }
.dashboard-layout-widget { grid-column:span var(--widget-width); min-width:0; container-type:inline-size; }
.dashboard-layout-widget > :is(.panel,.intelligence-card,.ops-kpi-grid) { margin:0; min-width:0; }
.dashboard-layout-widget .ops-kpi-grid { grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr)); }
.dashboard-layout-widget > :is(.intelligence-card,.brazil-heatmap-panel) { max-height:420px; overflow:auto; }
.dashboard-layout-widget > .agenda-panel .timeline { height:auto; max-height:420px; overflow:auto; }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget { border:1px dashed var(--brand-action,#2181e8); border-radius:14px; background:var(--panel); }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget > :not(.dashboard-layout-controls) { max-height:240px; overflow:hidden; pointer-events:none; }
.dashboard-layout-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px; }
.dashboard-layout-controls > strong { flex:1; min-width:100px; font-size:.85rem; }
.dashboard-layout-controls > div { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.dashboard-layout-controls button,.dashboard-layout-controls select { min-height:36px; padding:4px 8px; font-size:.78rem; }
.dashboard-layout-controls select { color:var(--text); background:var(--panel); border:1px solid var(--border); border-radius:8px; }
.dashboard-layout-handle { cursor:grab; touch-action:none; user-select:none; }
.dashboard-layout-handle:active { cursor:grabbing; }
.dashboard-widget-muted { opacity:.65; }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-widget-muted > :not(.dashboard-layout-controls) { display:none; }
.dashboard-widget-dragging { opacity:.42; }
.dashboard-layout-ghost { position:fixed; left:0; top:0; pointer-events:none; z-index:9999; color:var(--text); background:var(--panel); border:1px solid var(--brand-action,#2181e8); border-radius:9px; padding:10px 14px; box-shadow:0 8px 25px #0003; }
@container (max-width: 640px) {
  .dashboard-layout-widget .distribution-layout,
  .dashboard-layout-widget .distribution-side,
  .dashboard-layout-widget .panorama-extra { grid-template-columns:minmax(0,1fr); }
  .dashboard-layout-widget .panorama-card { grid-column:auto; }
  .dashboard-layout-widget .panorama-head { flex-wrap:wrap; }
}
@media(max-width:760px) {
  .dashboard-layout-grid { grid-template-columns:minmax(0,1fr); }
  .dashboard-layout-widget { grid-column:1; }
  .dashboard-layout-controls button,.dashboard-layout-controls select { min-height:44px; }
}

#dashboardPage .ops-intelligence-map > .intelligence-card {
  height:auto !important;
  align-self:start;
}
.dashboard-layout-grid { grid-auto-rows:8px; grid-auto-flow:row dense; row-gap:0; }
.dashboard-layout-widget { position:relative; }
.dashboard-layout-widget > :is(.panel,.intelligence-card,.ops-kpi-grid) {
  height:var(--widget-height,auto);
  min-height:0;
  max-height:none;
  overflow:auto;
}
.dashboard-layout-widget > :is(.intelligence-card,.brazil-heatmap-panel) { max-height:var(--widget-height,420px); }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget { cursor:grab; }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget:active { cursor:grabbing; }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget > :is(.panel,.intelligence-card,.ops-kpi-grid) { max-height:var(--widget-height,240px); }
.dashboard-layout-controls { padding:5px 8px; gap:5px; }
.dashboard-layout-controls > strong { min-width:0; }
.dashboard-layout-controls > div { width:auto; }
.dashboard-layout-controls select { width:auto; min-width:0; }
.dashboard-layout-controls button,.dashboard-layout-controls select { min-height:32px; }
.dashboard-resize { display:none; }
.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget:not(.dashboard-widget-muted) > .dashboard-resize {
  display:block; position:absolute; z-index:2; background:transparent; border:0;
  border-radius:0; padding:0; min-height:0; min-width:0; touch-action:none; pointer-events:auto;
  color:var(--brand-action,#2181e8);
}
.dashboard-resize-right { cursor:ew-resize; width:12px; right:-5px; top:46px; bottom:18px; }
.dashboard-resize-bottom { cursor:ns-resize; height:14px; bottom:-5px; left:12px; right:20px; }
.dashboard-resize-corner { cursor:nwse-resize; width:24px; height:24px; bottom:0; right:0; }
.dashboard-resize-corner::after {
  content:""; position:absolute; right:4px; bottom:4px; width:10px; height:10px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
}
.dashboard-resize:is(:hover,:focus-visible) { background:var(--brand-soft,#2181e833) !important; }
.dashboard-widget-resizing { outline:2px solid var(--brand-action,#2181e8); }
@media(max-width:760px) {
  .dashboard-layout-grid { grid-auto-rows:auto; grid-auto-flow:row; row-gap:12px; }
  .dashboard-layout-widget { grid-row-end:auto !important; }
  .dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget > .dashboard-resize-right,
  .dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget > .dashboard-resize-corner { display:none !important; }
  .dashboard-layout-controls button,.dashboard-layout-controls select { min-height:40px; }
}

#dashboardPage .distribution-panel.dashboard-has-layout > :is(.distribution-layout,.panorama-extra) { display:none; }
.distribution-panel > .dashboard-layout-toolbar { justify-content:flex-start; }
.distribution-panel > .dashboard-layout-grid > .dashboard-layout-widget > :is(.mini-section,.metric-box,.donut-wrap) {
  grid-column:auto; min-width:0; min-height:0; height:var(--widget-height,auto); overflow:auto;
}
.distribution-panel > .dashboard-layout-grid .donut-wrap { flex-wrap:wrap; }
.distribution-panel.dashboard-is-editing > .dashboard-layout-grid > .dashboard-layout-widget > :is(.mini-section,.metric-box,.donut-wrap) {
  max-height:var(--widget-height,240px);
}

#dashboardPage.dashboard-is-editing > .dashboard-layout-grid > [data-widget=panorama] > .distribution-panel {
  pointer-events:auto;
  cursor:default;
}
#dashboardPage.dashboard-is-editing > .dashboard-layout-grid > [data-widget=panorama] > .distribution-panel.dashboard-is-editing {
  height:auto;
  max-height:none;
  overflow:visible;
}
#dashboardPage.dashboard-is-editing > .dashboard-layout-grid > [data-widget=panorama]:has(> .distribution-panel.dashboard-is-editing) > .dashboard-resize {
  display:none;
}

/* src/client/styles/57-feedback.css */
.feedback-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}.feedback-form,.feedback-inbox{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:28px;min-width:0}.feedback-form h2,.feedback-inbox h2{margin:8px 0 12px}.feedback-form>p,.feedback-inbox>p{color:var(--muted);line-height:1.65}.feedback-form .field{margin-top:20px}.feedback-form textarea{box-sizing:border-box;width:100%;min-height:190px;max-height:440px;resize:vertical;padding:14px;background:var(--panel-2,var(--panel));color:var(--text);border:1px solid var(--border);border-radius:12px;font:inherit;line-height:1.6}.feedback-form select,.feedback-item select{min-height:44px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font:inherit}.feedback-form-footer,.feedback-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.feedback-form-footer{margin-top:18px}.feedback-form-footer small{color:var(--muted)}.feedback-item{padding:20px 0;border-bottom:1px solid var(--border)}.feedback-item header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-item>small{display:block;color:var(--muted);margin-top:9px;line-height:1.6}.feedback-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:var(--text)}.feedback-status{padding:5px 9px;border-radius:8px;background:var(--panel-2,var(--panel));border:1px solid var(--border);font-size:12px;white-space:nowrap}.feedback-status[data-status=new]{color:var(--primary,#2181e8)}.feedback-item footer{display:flex;align-items:end;gap:12px}.feedback-item footer label{flex:1}.feedback-empty{color:var(--muted);padding:32px 0;line-height:1.7}#feedbackMore{margin-top:20px}@media(max-width:1000px){.feedback-layout{grid-template-columns:1fr}}@media(max-width:560px){.feedback-form,.feedback-inbox{padding:20px}.feedback-form-footer,.feedback-item footer{align-items:stretch;flex-direction:column}.feedback-form-footer button{width:100%}}

/* src/client/styles/58-feedback-fixes.css */
.driver-related-add :is(input,select){box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;color-scheme:dark}html[data-theme=light] .driver-related-add :is(input,select){background:#fff;color:#19354c;color-scheme:light}.driver-related-add input::placeholder{color:var(--muted)}.paste-time-button{justify-self:start;font:inherit;font-size:12px;margin-top:5px;padding:6px 10px;min-height:30px}.realtime-update-notice{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;margin:12px 0;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--text)}@media(max-width:600px){.realtime-update-notice{align-items:stretch;flex-direction:column}}
.column-search{box-sizing:border-box;width:calc(100% - 48px);margin:8px 24px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font:inherit}.column-picker-groups [hidden]{display:none!important}

.driver-vehicle-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.driver-vehicle-actions button{width:auto!important}html[data-theme=light] .column-picker-groups section{background:#f5f8fc;border:1px solid #dce5ee;color:#19354c}html[data-theme=light] .column-picker-groups label{background:#fff;color:#19354c;border-color:#dce5ee}

.operation-toll-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px} @media(max-width:1000px){.operation-toll-row{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:600px){.operation-toll-row{grid-template-columns:1fr}}

/* src/client/styles/59-driver-experience.css */
.driver-create-choice,.cnh-first-flow{padding:24px!important;background:var(--panel,#fff);border:1px solid var(--border,#d9e4ef);border-radius:18px}.driver-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.driver-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:22px;border:1px solid var(--border,#ccdbea);border-radius:14px;background:var(--panel,#fff);color:var(--text,#19334b);cursor:pointer;min-height:120px}.driver-choice-card:hover{border-color:var(--brand-primary,#2181e8);box-shadow:0 4px 16px #132f4912}.driver-choice-card b{font-size:17px}.driver-choice-card span{font-size:14px;line-height:1.5;opacity:.8}.driver-create-choice>.ghost,.cnh-first-flow .ghost{border:1px solid var(--border,#cedbeb);padding:10px 18px;border-radius:10px;color:var(--text,#19334b);background:var(--panel,#fff);cursor:pointer}.cnh-drop{display:flex;flex-direction:column;gap:12px;border:2px dashed var(--border,#ccdbea);border-radius:14px;padding:24px;margin:20px 0;max-width:650px}.cnh-drop input{max-width:100%;color:inherit}.cnh-drop input::file-selector-button{background:var(--brand-primary,#2181e8);color:white;border:0;border-radius:8px;padding:10px 14px;margin-right:12px;cursor:pointer}.cnh-first-flow .form-actions{display:flex;gap:12px;align-items:center}.driver-ocr-review{padding:14px;border-radius:10px;background:#fff5d6;color:#674500}.driver-attention-label{display:flex;gap:7px;flex-wrap:wrap;font-size:11px;margin-top:5px}.driver-attention-label:empty{display:none}.driver-attention-label span{border:1px solid currentColor;border-radius:6px;padding:2px 5px}#driversTable tr.driver-attention-1 td{background:color-mix(in srgb,#e66060 6%,var(--panel,#fff))!important}#driversTable tr.driver-attention-2 td{background:color-mix(in srgb,#e34e4e 12%,var(--panel,#fff))!important}#driversTable tr.driver-attention-3 td{background:color-mix(in srgb,#e23b3b 20%,var(--panel,#fff))!important}#driversTable tr.driver-attention-4 td{background:color-mix(in srgb,#d82c2c 28%,var(--panel,#fff))!important}#driversTable tr[class*=driver-attention-] td:first-child{border-left:4px solid #dc4a4a}.driver-notice-dialog{width:min(720px,94vw);max-height:90vh;overflow:auto}.driver-notice-dialog .navi-dialog-body{max-height:none}.driver-notice-item{border:1px solid var(--border,#ccdbea);border-left:4px solid #3184bd;padding:15px;border-radius:10px;margin:12px 0}.driver-notice-item[data-level=attention]{border-left-color:#dd9a25}.driver-notice-item[data-level=critical]{border-left-color:#dc4242}.driver-notice-item p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:10px 0;max-height:none}.driver-notice-form{border-top:1px solid var(--border,#ccdbea);padding-top:15px;margin-top:20px}.driver-notice-form select,.driver-notice-form textarea{width:100%;box-sizing:border-box;background:var(--panel,#fff);color:var(--text,#19334b);border:1px solid var(--border,#ccdbea);border-radius:9px;padding:12px;font:inherit}.driver-notice-error{color:#dc4242}.column-drag-handle{border:0;background:transparent;color:inherit;cursor:grab;font-size:17px;padding:0 5px 0 0}.reorder-column{cursor:grab}.column-dragging{opacity:.4}.column-drop-target{box-shadow:inset 3px 0 var(--brand-primary,#2181e8)}@media(max-width:650px){.driver-choice-grid{grid-template-columns:1fr}.driver-create-choice,.cnh-first-flow{padding:16px!important}}

#driversTable tr.driver-notice-1 td{background:color-mix(in srgb,#3184bd 9%,var(--panel,#fff))!important}#driversTable tr.driver-notice-2 td{background:color-mix(in srgb,#dda125 14%,var(--panel,#fff))!important}#driversTable tr.driver-notice-3 td{background:color-mix(in srgb,#dc4242 20%,var(--panel,#fff))!important}#driversTable tr.driver-notice-1 td:first-child{border-left:4px solid #3184bd}#driversTable tr.driver-notice-2 td:first-child{border-left:4px solid #dda125}#driversTable tr.driver-notice-3 td:first-child{border-left:4px solid #dc4242}

/* src/client/styles/60-mobile-experience.css */

.mobile-card-toggle{display:none}
@media(max-width:760px){
html,body{max-width:100%;overflow-x:clip}body{font-size:14px}.app,.main,.page,.panel,.form-section,.detail-panel{min-width:0;max-width:100%;box-sizing:border-box}html .main,html.navi-sidebar-collapsed .main{margin-left:0!important;padding:16px 12px calc(90px + env(safe-area-inset-bottom))!important}
.topbar{display:grid!important;grid-template-columns:1fr;gap:12px;margin-bottom:18px}.title-wrap{width:100%;gap:10px}.title-wrap>div{min-width:0}.topbar h1{font-size:23px;line-height:1.2}.topbar p:not(.eyebrow){font-size:12px;line-height:1.5}.hamburger{display:block!important;flex:0 0 44px;width:44px;height:44px;background:var(--panel)!important}.hamburger span{background:var(--text)!important}.global-search-wrap{width:100%!important;min-width:0!important;max-width:none!important;order:2}.global-search-field{width:100%;box-sizing:border-box}.global-search-field input{min-width:0!important;width:100%!important;font-size:16px!important}.global-search-field kbd{display:none}.global-search-results{position:fixed!important;top:160px!important;left:12px!important;right:12px!important;width:auto!important;max-height:65dvh;overflow-y:auto}.top-actions{order:3;display:flex!important;gap:8px;flex-wrap:wrap;width:100%;min-width:0}.top-actions>button,.top-actions>div{min-width:0!important}.top-actions #newOperationBtn{flex:1 1 140px!important}.top-actions #importBtn{flex:1 1 140px!important}.top-actions .profile-preview-control{max-width:100%}.top-actions button{min-height:42px;padding:10px 12px;font-size:12px}.notification-panel{position:fixed!important;left:12px!important;right:12px!important;top:120px!important;width:auto!important;max-height:70dvh;overflow:auto}
.sidebar,html.navi-sidebar-collapsed .sidebar{width:min(300px,88vw)!important;max-width:88vw;z-index:1000;transform:translateX(-110%)!important;height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.sidebar.open,html.navi-sidebar-collapsed .sidebar.open{transform:translateX(0)!important}.sidebar .brand-copy,html.navi-sidebar-collapsed .sidebar .brand-copy,.sidebar .nav-item span,html.navi-sidebar-collapsed .sidebar .nav-item span{display:block!important;opacity:1!important;visibility:visible!important}.sidebar .nav-item{justify-content:flex-start!important;min-height:46px;padding:11px 16px!important}.sidebar .brand{min-height:76px}.sidebar .sidebar-footer{width:auto!important;margin:12px!important;overflow:hidden}.sidebar .sidebar-footer strong,.sidebar .sidebar-footer span{display:block!important;white-space:normal!important}.sidebar-toggle-navi{display:none!important}.sidebar-close{display:block!important;width:44px;height:44px}.sidebar nav{overflow:auto;min-height:0}.sidebar.open~.main{pointer-events:none}#mobileOverlay{z-index:999}body:has(.sidebar.open){overflow:hidden}
button,input,select,textarea{touch-action:manipulation}input:not([type=checkbox]):not([type=radio]),select,textarea,.smart-input,.custom-select-input{font-size:16px!important;max-width:100%;box-sizing:border-box}.field,.field>*{min-width:0}.field>span{font-size:12px}.field input,.field select,.smart-field,.custom-select{width:100%;min-height:44px}.field textarea{width:100%;min-height:100px}button.primary,button.secondary,.row-btn,.ghost,.tab,.section-tab{min-height:42px}.form-grid,.driver-unified-grid,.inline-form,.delivery-three-col-row,.operation-toll-row,.risk-times-grid,.risk-row,.finance-grid,.branding-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.form-grid>*{min-width:0!important;max-width:100%}.form-section{padding:18px 12px!important}.form-section .field-wide,.risk-group-title{grid-column:1/-1!important}.smart-menu,.custom-select-menu{max-height:40dvh;overflow-y:auto;max-width:100%;box-sizing:border-box}.smart-menu button,.custom-select-menu button{min-height:44px;white-space:normal;line-height:1.4}.form-head,.page-tools,.panel-head,.offers-heading,.offers-provider-head{flex-wrap:wrap;gap:12px}.page-tools>*{min-width:0!important;max-width:100%}.filter-bar,.filters,.ops-filters,.kanban-controls,.offers-toolbar{flex-wrap:wrap;gap:10px}.filter-bar>*,.filters>*,.offers-toolbar label{min-width:0!important;max-width:100%}.filter-bar label,.filters label{flex:1 1 140px}.kpi-grid,.ops-kpi-grid,.mini-kpi-row,.report-kpis,.offers-metrics,.tags-summary-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.kpi-card,.ops-kpi{padding:14px!important;min-height:115px!important}.ops-kpi strong,.kpi-content strong{font-size:26px!important}.ops-kpi small,.kpi-content small{font-size:10px}.kpi-icon{width:30px;height:30px}.ops-kpi-top{font-size:10px;gap:5px}.mini-bars,.kpi-card .progress-ring{display:none}.dashboard-grid,.dashboard-intelligence,.ops-intelligence-grid,.panorama-grid,.panorama-main,.report-chart-grid,.report-ux-filter-grid,.report-ux-advanced-grid,.report-ux-review-summary,.offers-detail-grid,.branding-layout{grid-template-columns:minmax(0,1fr)!important}.geo-map-card,.map-card{min-height:300px!important;height:360px!important}.geo-map{min-height:240px!important}.timeline-item{grid-template-columns:48px 20px minmax(0,1fr)!important;gap:8px;padding:12px}.timeline-item>.tag{grid-column:3;justify-self:start}.pending-item,.smart-alert-item{min-height:60px}.detail-page-head{display:flex;flex-wrap:wrap;gap:10px}.detail-page-head>div:not(.detail-actions){flex:1;min-width:150px}.detail-page-head h2{font-size:20px;overflow-wrap:anywhere}.detail-actions{width:100%;display:flex;gap:10px}.detail-actions>button{flex:1;min-width:0}.section-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px;overflow:visible!important;position:sticky;top:0;background:var(--panel);z-index:20;padding:7px}.section-tab{font-size:12px!important;padding:10px 5px!important;min-width:0!important;white-space:normal}.status-path-step{font-size:11px!important;padding:14px 6px!important;white-space:normal}.status-path-caption{gap:8px;flex-wrap:wrap}.finance-calc-grid,.financial-entry-row{grid-template-columns:1fr 1fr!important;gap:10px}.financial-entry-row>*{min-width:0}.finance-calculation-panel{padding:14px}.driver-related-row{display:flex;flex-wrap:wrap;gap:10px}.driver-related-row>span{min-width:90px}.driver-related-add{display:grid;grid-template-columns:1fr!important;gap:10px}.driver-related-add input{width:100%;min-width:0}.inline-actions,.row-actions,.form-actions{flex-wrap:wrap;gap:8px}.inline-actions>button{flex:1 1 135px}.driver-choice-grid{grid-template-columns:1fr}.driver-choice-card{min-height:100px!important}.driver-notice-dialog .navi-dialog-actions{display:flex;flex-direction:column}.driver-notice-dialog .navi-dialog-actions>button{width:100%}
.table-wrap{max-width:100%!important;min-width:0!important;overflow:auto;-webkit-overflow-scrolling:touch}.mobile-card-table{min-width:0!important;width:100%!important;display:block!important}.mobile-card-table thead{display:none}.mobile-card-table tbody{display:block}.mobile-card-table tr{display:block!important;margin:0 0 12px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--panel);position:relative;overflow:hidden}.mobile-card-table td{display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box;gap:12px;justify-content:space-between;align-items:center;white-space:normal!important;overflow-wrap:anywhere;padding:9px 5px!important;border:0!important;text-align:right!important;font-size:13px}.mobile-card-table td::before{content:attr(data-mobile-label);font-size:11px;font-weight:650;color:var(--muted);text-align:left;flex:0 0 34%;overflow-wrap:normal}.mobile-card-table td:first-child{padding-right:44px!important;font-weight:650}.mobile-card-table .mobile-card-toggle{display:block;position:absolute;right:6px;top:6px;width:40px;height:40px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--text);font-size:20px;z-index:2}.mobile-card-table tr.mobile-card-collapsed td:nth-child(n+6):not(:last-child){display:none!important}.mobile-card-table td:last-child .row-actions{justify-content:flex-end}.mobile-card-table td[colspan]::before{display:none}.mobile-card-table td[colspan]{justify-content:center;text-align:center!important}.mobile-card-table .row-actions{display:flex;gap:6px;flex-wrap:wrap}.mobile-card-table td.hidden{display:none!important}.table-wrap:has(.mobile-card-table){overflow:visible!important;background:transparent!important;border:0!important}.mobile-card-table .driver-attention-label{display:block}.mobile-card-table .driver-attention-label span{display:block;margin-top:4px}
.confirm-overlay,.column-picker-overlay,.offers-modal-overlay{padding:10px!important;align-items:center!important}.confirm-box,.column-picker-card,.inline-client-box,.offers-modal,dialog.navi-dialog,dialog.report-ux-dialog{max-width:calc(100vw - 20px)!important;width:calc(100vw - 20px)!important;box-sizing:border-box;max-height:90dvh!important;overflow-y:auto!important;border-radius:16px!important;padding:16px}.navi-dialog-head,.navi-dialog-body,.navi-dialog-actions{padding:14px!important}.navi-dialog-body{max-height:65dvh;overflow:auto}.navi-dialog-actions,.confirm-actions{flex-wrap:wrap;gap:10px}.navi-dialog-actions button,.confirm-actions button{flex:1 1 130px;white-space:normal}.column-picker-groups{grid-template-columns:1fr!important}.column-picker-groups label{min-height:44px}.column-picker-actions{position:sticky;bottom:0;background:var(--panel);padding:12px 0;gap:8px}.column-picker-actions button{flex:1;padding:10px}.assistant-launcher{right:12px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;padding:11px!important}.assistant-launcher span{display:none}.assistant-panel{inset:8px!important;width:auto!important;height:calc(100dvh - 16px)!important;max-height:none!important;border-radius:14px}.assistant-composer textarea{font-size:16px!important}.assistant-head>button{min-width:38px;min-height:40px}.operations-kanban{max-width:100%;overflow-x:auto;scroll-snap-type:x proximity}.kanban-lane{min-width:calc(100vw - 64px)!important;flex-basis:calc(100vw - 64px)!important;scroll-snap-align:start}.report-ux-tabs{grid-template-columns:1fr 1fr!important}.report-ux-heading{gap:12px}.report-ux-filter-footer>div{flex-wrap:wrap}.report-ux-filter-footer button{min-width:0!important}.login-layout,.login-shell{grid-template-columns:1fr!important}.login-hero{display:none!important}.login-form-panel,.login-panel{width:100%;padding:22px!important}.login-card{width:100%!important;box-sizing:border-box}img{max-width:100%}.panel>h2{overflow-wrap:anywhere}
}
@media(max-width:380px){.top-actions button{font-size:11px;padding:8px}.ops-kpi-top{font-size:9px}.kpi-grid,.ops-kpi-grid{gap:7px!important}.mobile-card-table td::before{flex-basis:30%}}

@media(max-width:760px){.detail-page-head .detail-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.detail-page-head .detail-actions>*:not(button){grid-column:1/-1;width:100%!important;max-width:none!important}.detail-page-head .detail-actions>button{width:100%;min-width:0!important;padding:12px 8px!important;white-space:normal!important;line-height:1.4}.detail-page-head .detail-actions>button.hidden{display:none!important}.floating-save-operation{left:12px!important;right:72px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;width:calc(100vw - 84px)!important;max-width:none!important;min-height:46px;box-sizing:border-box}.mobile-card-table .mobile-card-toggle{width:44px;height:44px}.login-screen{grid-template-columns:1fr!important;padding:0!important;min-height:100dvh}.login-art{display:none!important}.login-box-wrap{min-height:100dvh;padding:28px 20px!important;box-sizing:border-box}.login-box{width:100%!important;max-width:460px!important;padding:24px 18px!important;box-sizing:border-box}.login-mobile-brand{display:flex!important}.login-box input,.login-box button{min-height:48px}.login-box h2{font-size:25px}.section-heading{display:flex;flex-wrap:wrap;gap:10px}.section-heading .permission-pill{font-size:9px}.section-heading>div{min-width:0}.section-heading h3{font-size:17px}.risk-detail-grid .field{min-width:0!important}.audit-entry{display:flex!important;flex-direction:column;gap:8px}.audit-entry>*{min-width:0;max-width:100%}.risk-time-pair{grid-template-columns:1fr!important}.report-metric-grid{grid-template-columns:1fr 1fr!important}.timeline-steps,.operation-timeline{gap:8px}.panorama-card,.ops-panorama,.ops-agenda{min-width:0!important;max-width:100%}}

@media(max-width:760px){.risk-detail-grid .risk-group-title,.operation-group-title{color:var(--text)!important;font-size:11px!important;line-height:1.5}.login-mobile-brand .brand-mark{max-width:140px;max-height:72px}.section-tabs button:focus-visible,.mobile-card-toggle:focus-visible{outline:3px solid var(--brand-primary,#2181e8);outline-offset:2px}.topbar .global-search-wrap{order:2!important}.topbar .top-actions{order:3!important}}

/* src/client/styles/61-work-management.css */
.work-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.work-page-head h2{margin:5px 0;font-size:25px}.work-page-head p,.work-task p{color:var(--muted);font-size:13px;line-height:1.5}.work-filter{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin-bottom:15px}.work-filter input,.work-filter select{width:100%;min-height:44px;padding:10px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:9px}.work-queue-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.work-task{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:20px;min-width:0}.work-task header{display:flex;justify-content:space-between;align-items:start;gap:10px;flex-wrap:wrap}.work-stage{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-primary,#2181e8)}.work-due{font-size:10px;color:#b77916}.work-task h3{margin:14px 0 6px;overflow-wrap:anywhere}.work-task a{color:var(--text)}.work-task ul,.work-checklist ul{padding:0;list-style:none;margin:12px 0}.work-task small{font-size:10px;color:var(--muted)}.work-progress{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--muted);margin:15px 0}.work-progress progress{max-width:50%;height:8px;accent-color:var(--brand-primary,#2181e8)}.work-missing{display:flex;gap:8px;justify-content:space-between;background:transparent;color:var(--text);text-align:left;border:0;border-bottom:1px solid var(--border);padding:10px 0;line-height:1.5;width:100%;font:inherit;font-size:12px;cursor:pointer}.work-empty{grid-column:1/-1;padding:40px 20px;background:var(--panel);border:1px solid var(--border);border-radius:15px;color:var(--muted);text-align:center}.work-checklist{margin:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.work-checklist>summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:16px;font-size:13px;font-weight:750;list-style:none}.work-checklist>summary::after{content:'⌄';margin-left:auto}.work-checklist[open]>summary::after{content:'⌃'}.work-checklist-body{padding:0 16px 16px}.work-checklist-body>p{font-size:11px;line-height:1.6;color:var(--muted)}.work-checklist-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.work-checklist-groups h4{display:flex;justify-content:space-between;margin:10px 0}.work-checklist-groups small{font-weight:400;color:var(--muted)}.work-check-item{display:flex;align-items:center;width:100%;gap:8px;border:0;border-bottom:1px solid var(--border);padding:11px 0;min-height:40px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:12px;line-height:1.5}.work-check-item>span:nth-child(2){flex:1}.work-check-item.is-done>span:first-child{color:#10a77c}.work-check-item small{font-size:9px}.work-field-highlight{outline:3px solid var(--brand-primary,#2181e8);outline-offset:5px;border-radius:8px}.work-mention-tools{position:relative;margin:8px 0}.work-mention-menu[hidden]{display:none}.work-mention-menu{display:grid;position:absolute;top:100%;left:0;z-index:50;width:min(400px,100%);max-height:240px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0002;padding:7px}.work-mention-menu button{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px;border:0;border-radius:6px;text-align:left;background:transparent;color:var(--text);cursor:pointer;min-height:42px}.work-mention-menu button:hover{background:var(--panel2)}.work-mention-menu small{color:var(--muted)}@media(max-width:760px){.work-page-head{align-items:start;flex-direction:column}.work-page-head button{width:100%}.work-filter,.work-checklist-groups,.work-queue-list{grid-template-columns:minmax(0,1fr)}.work-checklist{margin:8px}.work-checklist>summary{font-size:12px;padding:14px 12px}.work-checklist-body{padding:0 12px 12px}.work-check-item{min-height:46px}.work-task{padding:16px}.work-filter input,.work-filter select{font-size:16px}}

.work-trash-pager{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:15px;padding:15px;font-size:12px;color:var(--muted)}

/* src/client/styles/62-nav-groups.css */
.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#66819a55 transparent}.nav-group{margin:2px 0;min-width:0}.nav-group[hidden],.nav-group-items[hidden]{display:none!important}.nav-group-toggle{display:flex;align-items:center;width:100%;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--brand-sidebar-text,#dce7f2);font:inherit;font-size:13px;font-weight:650;text-align:left;cursor:pointer;min-height:48px;box-sizing:border-box}.nav-group-toggle:hover{background:var(--brand-sidebar-hover,#26394b)}.nav-group-toggle.has-active-page{background:var(--brand-sidebar-hover,#26394b);border-color:#ffffff0a}.nav-group-toggle .nav-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;background:#ffffff04;border-radius:9px;color:var(--brand-sidebar-text,#8eb2d2)}.nav-group-toggle .nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-group-title{flex:1;white-space:nowrap}.nav-group-caret{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .15s}.nav-group-toggle[aria-expanded=true] .nav-group-caret{transform:rotate(180deg)}.nav-group-items{display:flex;flex-direction:column;gap:3px;border-left:1px solid #ffffff18;margin:3px 0 7px 30px;padding-left:8px}.sidebar .nav-group-items .nav-item{margin:0!important;padding:9px 10px!important;gap:9px!important;min-height:43px;font-size:13px;border-radius:9px;justify-content:flex-start!important}.sidebar .nav-group-items .nav-icon{width:27px;height:27px;flex:0 0 27px}.sidebar .nav-group-items .nav-icon svg{width:17px;height:17px}.sidebar nav>.nav-item{margin:0!important}.sidebar nav>.nav-item[data-page=feedback]{margin-top:10px!important;border-top:1px solid #ffffff0d}.nav-group-toggle:focus-visible{outline:2px solid var(--brand-primary,#2181e8);outline-offset:2px}@media(min-width:761px){html.navi-sidebar-collapsed .nav-group-items,html.navi-sidebar-collapsed .nav-group-title,html.navi-sidebar-collapsed .nav-group-caret{display:none!important}html.navi-sidebar-collapsed .nav-group-toggle{justify-content:center;padding:9px 0;gap:0}html.navi-sidebar-collapsed .nav-group-toggle.has-active-page{box-shadow:inset 3px 0 var(--brand-primary,#2181e8)}}@media(max-width:760px){.nav-group-toggle{font-size:14px;padding:10px 14px;min-height:48px}.sidebar .nav-group-items .nav-item{font-size:13px!important;min-height:46px}.nav-group-items{margin-left:28px}.nav-group-title{display:block!important}}

.sidebar nav .nav-group-items .nav-item,.sidebar nav .nav-group-items .nav-item span,.sidebar nav>.nav-item,.sidebar nav>.nav-item span{color:var(--brand-sidebar-text,#dce7f2)!important}.sidebar nav .nav-group-items .nav-item.active{background:var(--brand-sidebar-hover,#26394b)!important;box-shadow:inset 3px 0 var(--brand-primary,#2181e8)!important}.sidebar nav .nav-group-items .nav-item .nav-icon{color:var(--brand-sidebar-text,#8eb2d2)!important}

/* src/client/styles/63-directory-noshow.css */
.directory-count{font-size:12px;color:var(--muted);margin:4px 0 15px}.directory-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.directory-actions .row-btn{min-height:35px;padding:8px 12px;white-space:nowrap;border:1px solid var(--border);background:var(--panel2);color:var(--text);font:inherit;font-size:11px;font-weight:650;border-radius:9px;cursor:pointer}.directory-actions .row-btn:hover{border-color:var(--brand-primary,#2181e8);background:var(--panel)}.directory-actions .row-btn.danger{color:#d54949;background:color-mix(in srgb,#dc4242 7%,var(--panel));border-color:#dc424233}.directory-actions .row-btn.danger:hover{background:#dc424217;border-color:#dc4242}.directory-form-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.directory-form-head h3{margin:5px 0;font-size:21px}.directory-form-head p{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.6}.directory-form-section{grid-column:1/-1;font-size:12px;font-weight:750;padding:11px 12px;margin-top:8px;border-radius:8px;border-left:3px solid var(--brand-primary,#2181e8);background:var(--panel2);color:var(--text)}.client-detail-form,.noshow-detail-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.client-detail-form input,.noshow-detail-form input,.noshow-detail-form textarea,.noshow-detail-form select{width:100%;max-width:100%;min-height:44px;box-sizing:border-box;border-radius:10px;border:1px solid var(--border);padding:12px;color:var(--text);background:var(--panel);font:inherit;font-size:13px}.noshow-detail-form textarea{min-height:140px;resize:vertical;line-height:1.6}.noshow-detail-form .noshow-long-field{grid-column:1/-1}.noshow-detail-form .noshow-driver-field{grid-column:span 2}.noshow-detail-form small{font-size:10px;color:var(--muted)}.noshow-detail-form .inline-actions,.client-detail-form .inline-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);padding-top:16px}.noshow-reason-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;max-width:300px;line-height:1.5}#driverFormWrap[data-readonly=true] #driverAddVehicle,#driverFormWrap[data-readonly=true] #driverAddTracking,#driverFormWrap[data-readonly=true] .driver-vehicle-actions,#driverFormWrap[data-readonly=true] .cnh-upload{display:none!important}.directory-actions button:focus-visible{outline:2px solid var(--brand-primary,#2181e8);outline-offset:2px}@media(max-width:900px){.client-detail-form,.noshow-detail-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.client-detail-form,.noshow-detail-form{grid-template-columns:minmax(0,1fr)!important}.noshow-detail-form .noshow-driver-field{grid-column:auto}.directory-actions .row-btn{min-height:42px;padding:10px 12px;font-size:12px}.directory-form-head h3{font-size:19px}.noshow-detail-form textarea{font-size:16px!important;min-height:150px}.noshow-reason-preview{max-width:none;-webkit-line-clamp:4}.directory-form-section{font-size:12px}.client-detail-form .inline-actions>button,.noshow-detail-form .inline-actions>button{flex:1;min-width:0}}

.client-detail-form input,.noshow-detail-form input,.noshow-detail-form textarea,.noshow-detail-form select{font-weight:400!important;text-transform:none!important}.noshow-detail-form .field small{font-weight:400;text-transform:none}html:not([data-branded])[data-theme=light] .sidebar{--brand-sidebar-text:var(--text);--brand-sidebar-hover:var(--panel2)}

/* src/client/styles/64-motion-release.css */
.motion-route-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1800;overflow:hidden;background:color-mix(in srgb,var(--brand-primary,#2181e8) 14%,transparent)}.motion-route-progress[hidden]{display:none}.motion-route-progress::after{content:'';display:block;height:100%;width:38%;background:var(--brand-primary,#2181e8);animation:route-progress 1.1s ease-in-out infinite}.page.motion-has-loader{position:relative;min-height:440px}.page.motion-has-loader>*:not(.page-skeleton){visibility:hidden;pointer-events:none}.page-skeleton{position:absolute;inset:0;min-height:420px;z-index:30;background:var(--bg);padding:4px;box-sizing:border-box;pointer-events:none}.skeleton-status{display:block;font-size:12px;color:var(--muted);margin:0 0 17px}.skeleton-heading{height:24px;width:30%;min-width:140px;border-radius:7px;margin-bottom:22px}.skeleton-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.skeleton-tile{padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.skeleton-tile i,.skeleton-tile b{display:block;border-radius:6px;height:12px;width:70%}.skeleton-tile b{height:28px;width:40%;margin-top:17px}.skeleton-content{padding:23px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.skeleton-row{height:22px;border-radius:6px;margin:13px 0}.skeleton-row:nth-child(even){width:84%}.skeleton-shine{background:linear-gradient(100deg,var(--panel2) 20%,color-mix(in srgb,var(--muted) 13%,var(--panel2)) 45%,var(--panel2) 70%);background-size:220% 100%;animation:skeleton-shine 1.5s linear infinite}.simple-form:not(.hidden),.form-section.active{animation:panel-reveal .18s ease-out}.nav-group-items:not([hidden]),.smart-menu.open,.custom-select-menu.open,.notification-panel:not(.hidden){animation:dropdown-reveal .15s ease-out}.navi-dialog[open],.report-ux-dialog[open],.release-notes-dialog[open],.confirm-overlay:not(.hidden)>.confirm-box,.column-picker-overlay>.column-picker-card{animation:dialog-reveal .2s cubic-bezier(.2,.7,.3,1)}dialog[open]::backdrop{animation:backdrop-reveal .16s ease-out}.primary,.secondary,.row-btn,.nav-item{transition:background-color .15s,border-color .15s,box-shadow .15s}.primary:active,.secondary:active,.row-btn:active{transform:translateY(1px)}.release-notes-dialog{width:min(800px,calc(100vw - 28px));max-width:800px;max-height:88dvh;border:1px solid var(--border);border-radius:20px;padding:0;color:var(--text);background:var(--panel);box-shadow:0 20px 80px #0004}.release-notes-dialog::backdrop{background:#06111e99;backdrop-filter:blur(4px)}.release-notes-dialog>header{display:flex;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--border);background:var(--panel2)}.release-notes-dialog h2{margin:7px 0 0;font-size:25px;line-height:1.3}.release-close{align-self:start;flex:0 0 38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-size:23px;cursor:pointer}.release-body{padding:20px 24px;overflow:auto;max-height:58dvh}.release-intro{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 18px}.release-highlights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.release-highlights span{font-size:11px;font-weight:650;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}.release-sections details{border-top:1px solid var(--border);padding:14px 0}.release-sections summary{font-weight:750;font-size:14px;cursor:pointer}.release-sections ul{padding-left:20px;margin:12px 0 2px}.release-sections li{padding:5px 0;color:var(--muted);font-size:12px;line-height:1.7}.release-notes-dialog>footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding:17px 24px;background:var(--panel)}.release-notes-dialog>footer small{font-size:10px;color:var(--muted)}@keyframes route-progress{from{transform:translateX(-110%)}to{transform:translateX(370%)}}@keyframes skeleton-shine{from{background-position:200% 0}to{background-position:-20% 0}}@keyframes panel-reveal{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes dropdown-reveal{from{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes dialog-reveal{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-reveal{from{opacity:0}to{opacity:1}}@media(max-width:760px){.skeleton-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skeleton-tile{padding:16px}.skeleton-content{padding:14px}.release-notes-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:92dvh;border-radius:15px}.release-notes-dialog>header{padding:18px 16px}.release-notes-dialog h2{font-size:21px}.release-body{padding:16px;max-height:58dvh}.release-highlights{grid-template-columns:1fr}.release-notes-dialog>footer{padding:14px 16px;align-items:stretch;flex-direction:column;gap:10px}.release-notes-dialog>footer button{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.motion-route-progress::after,.skeleton-shine,.simple-form:not(.hidden),.form-section.active,.nav-group-items:not([hidden]),.smart-menu.open,.custom-select-menu.open,.notification-panel:not(.hidden),.navi-dialog[open],.report-ux-dialog[open],.release-notes-dialog[open],.confirm-overlay:not(.hidden)>.confirm-box,.column-picker-overlay>.column-picker-card,dialog[open]::backdrop{animation:none!important}.primary,.secondary,.row-btn,.nav-item{transition:none!important}.primary:active,.secondary:active,.row-btn:active{transform:none}.motion-route-progress::after{width:100%}}

/* src/client/styles/whatsapp.css */
.whatsapp-inbox { padding: 1.25rem; }
.whatsapp-inbox [hidden] { display: none !important; }
.whatsapp-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.whatsapp-grid { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); gap: 1.25rem; }
#waChats, #waMessages { display: grid; align-content: start; gap: .5rem; max-height: 55vh; overflow: auto; }
#waChats button { text-align: left; overflow-wrap: anywhere; }
#waChats button[aria-pressed="true"] { font-weight: bold; outline: 2px solid currentColor; outline-offset: -2px; }
#waMessages article { border: 1px solid currentColor; border-radius: .75rem; padding: .6rem .85rem; max-width: min(100%, 42rem); justify-self: start; }
#waMessages article[data-outgoing] { justify-self: end; }
#waMessages p { white-space: pre-wrap; overflow-wrap: anywhere; margin: .35rem 0 0; }
#waPairing { margin: 1rem 0 1.5rem; }
.whatsapp-pairing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .75rem; }
.whatsapp-pairing-grid article { padding: .85rem; border: 1px solid currentColor; border-radius: .75rem; }
.whatsapp-pairing-grid article img { display: block; max-width: 100%; height: auto; margin-top: .75rem; }
#waPermissions { margin: 1rem 0; }
#waPermissions fieldset { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: .75rem; }
#waPermissions input { width: auto; }
#waReply { margin-top: 1rem; }
#waBody { display: block; width: 100%; margin: .4rem 0 .65rem; }
@media (max-width: 760px) {
  .whatsapp-grid { grid-template-columns: minmax(0, 1fr); }
  #waChats { max-height: 25vh; }
}
