:root {
  /* ==========================================================
     MCT SOBERANO ── DESIGN SYSTEM AZUL SÓBRIO (OPÇÃO C)
     Canonical Tokens from b2g-design-tokens.css
  ========================================================== */
  /* Brand */
  --b2g-brand-50: #F3F7FC;
  --b2g-brand-100: #E7EEF8;
  --b2g-brand-200: #CBD9EB;
  --b2g-brand-400: #7393B5;
  --b2g-brand-600: #3B628F;
  --b2g-brand-700: #304F76;
  --b2g-brand-800: #263B57;

  /* Neutral */
  --b2g-canvas: #F3F5F9;
  --b2g-surface: #FFFFFF;
  --b2g-surface-alt: #F8FAFC;
  --b2g-stroke: #E3E9F1;
  --b2g-stroke-strong: #CDD8E5;
  --b2g-text: #253247;
  --b2g-text-muted: #596D84;
  --b2g-text-subtle: #718399;
  --b2g-disabled-bg: #F1F4F8;
  --b2g-disabled-text: #8795A7;

  /* Semantic: do not use semantic green for arbitrary monetary values */
  --b2g-success: #23765F;
  --b2g-success-bg: #E8F4EF;
  --b2g-warning: #8A5713;
  --b2g-warning-bg: #FFF3DF;
  --b2g-danger: #AE3943;
  --b2g-danger-bg: #FCEAEC;
  --b2g-info: #315F92;
  --b2g-info-bg: #EAF2FB;

  --b2g-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --b2g-font-xs: 0.75rem;   /* 12px */
  --b2g-font-sm: 0.875rem;  /* 14px */
  --b2g-font-md: 1rem;      /* 16px */
  --b2g-font-lg: 1.125rem;  /* 18px */
  --b2g-font-xl: 1.5rem;    /* 24px */
  --b2g-font-kpi: clamp(1.625rem, 2vw, 2rem);
  --b2g-leading: 1.45;

  --b2g-space-1: 0.25rem;
  --b2g-space-2: 0.5rem;
  --b2g-space-3: 0.75rem;
  --b2g-space-4: 1rem;
  --b2g-space-5: 1.25rem;
  --b2g-space-6: 1.5rem;
  --b2g-space-8: 2rem;
  --b2g-space-10: 2.5rem;

  --b2g-radius-sm: 0.375rem;
  --b2g-radius-md: 0.625rem;
  --b2g-radius-lg: 0.75rem;
  --b2g-radius-xl: 1rem;
  --b2g-shadow-card: 0 1px 2px rgb(38 59 87 / 3%);
  --b2g-shadow-overlay: 0 16px 36px rgb(38 59 87 / 14%);
  --b2g-focus-ring: 0 0 0 3px rgb(59 98 143 / 20%);

  --b2g-sidebar-width: 232px;
  --b2g-sidebar-collapsed: 68px;
  --b2g-topbar-height: 64px;
  --b2g-page-max: 1600px;
  --b2g-scroll-thumb: #A9B9CC;
  --b2g-scroll-track: #EEF2F7;

  /* Aliases para compatibilidade total com a stack existente */
  --bg-app: var(--b2g-canvas);
  --bg-surface: var(--b2g-surface);
  --bg-card: var(--b2g-surface);
  --bg-sidebar: var(--b2g-surface);
  --bg-card-hover: var(--b2g-brand-50);
  --bg-elevated: var(--b2g-surface);

  --color-primary: var(--b2g-brand-600);
  --color-primary-dark: var(--b2g-brand-800);
  --color-primary-light: var(--b2g-brand-100);
  --color-primary-support: var(--b2g-brand-400);

  --text-main: var(--b2g-text);
  --text-muted: var(--b2g-text-muted);
  --text-sub: var(--b2g-text-subtle);

  --border-subtle: var(--b2g-stroke);
  --border-medium: var(--b2g-stroke-strong);
  --border-focus: var(--b2g-brand-600);

  /* Cores Semânticas de Negócio */
  --color-success: var(--b2g-success);
  --color-amber: var(--b2g-warning);
  --color-danger: var(--b2g-danger);

  /* Mapeamento de Compatibilidade para Componentes Legados */
  --bg-deep: var(--b2g-canvas);
  --accent-blue: var(--b2g-brand-600);
  --accent-blue-hover: var(--b2g-brand-800);
  --accent-blue-glow: transparent;
  --accent-blue-subtle: var(--b2g-brand-100);

  --accent-emerald: var(--b2g-success);
  --accent-emerald-light: #34d399;
  --accent-emerald-subtle: var(--b2g-success-bg);
  --accent-emerald-glow: transparent;

  --accent-amber: var(--b2g-warning);
  --accent-amber-light: #d97706;
  --accent-amber-subtle: var(--b2g-warning-bg);

  --accent-purple: var(--b2g-brand-600);
  --accent-purple-light: var(--b2g-brand-400);
  --accent-purple-subtle: var(--b2g-brand-100);

  --accent-rose: var(--b2g-danger);
  --accent-rose-subtle: var(--b2g-danger-bg);

  --accent-cyan: var(--b2g-brand-600);
  --accent-cyan-subtle: var(--b2g-brand-100);

  /* Tipografia Inter Canônica com Fallbacks */
  --font-sans: var(--b2g-font);
  --font-display: var(--b2g-font);
  --font-mono: "JetBrains Mono", Menlo, Consolas, monospace;

  --transition-fast: 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  --radius-sm: var(--b2g-radius-sm);
  --radius-md: var(--b2g-radius-md);
  --radius-lg: var(--b2g-radius-lg);
  --radius-pill: 999px;

  --tap-highlight: transparent;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: var(--tap-highlight);
}

body, body.dark-theme {
  background-color: var(--bg-app);
  color: var(--text-main);
  font-family: var(--font-sans);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ========================================================
   COCKPIT CONTAINER & SOVEREIGN SIDEBAR LAYOUT
======================================================== */
.cockpit-container {
  display: flex;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: var(--bg-app);
  position: relative;
}

/* SIDEBAR ESQUERDA SOBERANA (AZUL SÓBRIO) */
.sovereign-sidebar {
  width: 232px;
  min-width: 232px;
  height: 100vh;
  background: var(--bg-sidebar);
  border-right: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 45;
  transition: width var(--transition-normal), min-width var(--transition-normal), transform var(--transition-normal);
}

.sovereign-sidebar::-webkit-scrollbar {
  width: 4px;
}
.sovereign-sidebar::-webkit-scrollbar-thumb {
  background: #E5EAF1;
  border-radius: 4px;
}

/* Marca MCT & Status Hermes */
.sidebar-brand-box {
  padding: 1.1rem 1rem 0.85rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  border-bottom: 1px solid var(--border-subtle);
  background: #FFFFFF;
}

.brand-badge {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.brand-icon {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-titles {
  display: flex;
  flex-direction: column;
}

.brand-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  color: var(--color-primary-dark);
}

.brand-sub {
  font-size: 0.64rem;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.hermes-status-pill {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  background: var(--color-primary-light);
  border: 1px solid #D0DFEE;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.72rem;
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-success);
}

.status-dot.pulsing {
  box-shadow: 0 0 0 0 rgba(49, 133, 109, 0.7);
  animation: pulse-green 2s infinite;
}

.status-dot.green {
  background: var(--color-success);
}

@keyframes pulse-green {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(49, 133, 109, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 5px rgba(49, 133, 109, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(49, 133, 109, 0); }
}

.status-label {
  font-weight: 600;
  color: var(--color-primary-dark);
}

.model-tag {
  background: #FFFFFF;
  color: var(--color-primary);
  border: 1px solid #D0DFEE;
  font-size: 0.62rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-weight: 600;
}

/* Ação Primária & Radar Auto */
.sidebar-action-box {
  padding: 0.75rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  border-bottom: 1px solid var(--border-subtle);
  background: #FFFFFF;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-normal);
  border: 1px solid transparent;
}

.btn-sync {
  background: var(--color-primary);
  border: 1px solid var(--color-primary-dark);
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(38, 59, 87, 0.15);
}

.btn-sync:hover {
  background: var(--color-primary-dark);
  transform: translateY(-1px);
}

.sidebar-sync-btn {
  width: 100%;
  padding: 0.55rem 0.85rem;
  font-size: 0.8rem;
}

.radar-live-card {
  background: #F8FAFC;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.55rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  transition: var(--transition-fast);
}

.radar-live-card:hover {
  border-color: #D5DEE8;
  background: #F0F4F9;
}

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

.radar-title-box {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.radar-title {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--color-primary-dark);
}

.btn-radar-mini {
  background: #E8F5F1;
  border: 1px solid #C4E6DC;
  color: var(--color-success);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-radar-mini:hover {
  background: #D5EFE7;
}

.radar-countdown-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--text-muted);
}

.radar-countdown-val {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-success);
}

/* Seções e Navegação na Sidebar */
.sidebar-section {
  padding: 0.6rem 0.5rem 0.5rem 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
}

.sidebar-section-title {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
  padding: 0 0.5rem;
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.sidebar-nav-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  background: transparent;
  border: 1px solid transparent;
  border-left: 3px solid transparent;
  padding: 0.48rem 0.65rem;
  border-radius: var(--radius-sm);
  color: var(--text-main);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition-fast);
  width: 100%;
  text-align: left;
}

.sidebar-nav-item:hover {
  background: var(--bg-card-hover);
  color: var(--color-primary-dark);
}

.sidebar-nav-item.active {
  background: var(--color-primary-light);
  color: var(--color-primary-dark);
  border-color: transparent;
  border-left-color: var(--color-primary);
  font-weight: 600;
}

.nav-badge {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  background: #F0F4F9;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  color: var(--text-muted);
  font-weight: 600;
}

.sidebar-nav-item.active .nav-badge {
  background: #D8E5F5;
  color: var(--color-primary-dark);
  font-weight: 700;
}

/* Filtros de Governança na Sidebar */
.sidebar-filters-section {
  flex: 1;
}

.sidebar-filter-group {
  margin-bottom: 0.75rem;
}

.sidebar-filter-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 0.35rem;
}

.sidebar-pill-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.sidebar-pill-selector .pill {
  font-size: 0.68rem;
  padding: 0.22rem 0.48rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.sidebar-pill-selector .pill:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.sidebar-pill-selector .pill.active {
  background: var(--accent-blue);
  border-color: var(--accent-blue);
  color: #ffffff;
  font-weight: 600;
}

.sidebar-filter-checkbox {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.checkbox-container {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-muted);
  user-select: none;
}

/* Rodapé da Sidebar: CND Sentinel & Telegram */
.sidebar-footer {
  margin-top: auto;
  padding: 0.75rem 0.85rem;
  background: #F8FAFC;
  border-top: 1px solid var(--border-subtle);
}

.cnd-tripod-sidebar {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.55rem;
}

.cnd-tripod-sidebar .cnd-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  font-size: 0.68rem;
  font-family: var(--font-mono);
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
}

.cnd-badge.ok {
  border-color: #C4E6DC;
  background: #E8F5F1;
  color: var(--color-success);
}

.cnd-badge.warn {
  border-color: #F8DCB5;
  background: #FDF3E7;
  color: var(--color-amber);
}

.cnd-badge.danger {
  border-color: #F6CBCB;
  background: #FDF2F2;
  color: var(--color-danger);
}

.cnd-icon { font-size: 0.75rem; }
.cnd-name { font-weight: 700; color: var(--color-primary-dark); }
.cnd-val { color: var(--color-success); font-weight: 600; }
.cnd-badge.warn .cnd-val { color: var(--color-amber); }

.sidebar-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.telegram-connected-badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  color: #1E40AF;
  font-size: 0.72rem;
  padding: 0.3rem 0.55rem;
  border-radius: var(--radius-sm);
  font-weight: 700;
}

.sidebar-tg {
  flex: 1;
}

.btn-toggle-sidebar {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  padding: 0.35rem 0.55rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
  font-size: 0.75rem;
}

.btn-toggle-sidebar:hover {
  background: #F0F4F9;
  color: var(--color-primary-dark);
}

/* Sidebar Recolhida (Collapsed) */
.sovereign-sidebar.collapsed {
  width: 68px;
  min-width: 68px;
}
.sovereign-sidebar.collapsed .brand-titles,
.sovereign-sidebar.collapsed .sidebar-hermes,
.sovereign-sidebar.collapsed .sidebar-sync-btn span:last-child,
.sovereign-sidebar.collapsed .radar-countdown-box,
.sovereign-sidebar.collapsed .radar-title,
.sovereign-sidebar.collapsed .btn-radar-mini,
.sovereign-sidebar.collapsed .sidebar-section-title,
.sovereign-sidebar.collapsed .nav-label,
.sovereign-sidebar.collapsed .nav-badge,
.sovereign-sidebar.collapsed .sidebar-filters-section,
.sovereign-sidebar.collapsed .cnd-tripod-sidebar,
.sovereign-sidebar.collapsed .sidebar-tg span:last-child {
  display: none !important;
}
.sovereign-sidebar.collapsed .sidebar-brand-box {
  align-items: center;
  padding: 1rem 0.5rem;
}
.sovereign-sidebar.collapsed .sidebar-action-box {
  padding: 0.5rem;
  align-items: center;
}
.sovereign-sidebar.collapsed .sidebar-nav-item {
  justify-content: center;
  padding: 0.6rem;
}
.sovereign-sidebar.collapsed .btn-toggle-sidebar span {
  display: inline-block;
  transform: rotate(180deg);
}

/* ========================================================
   ÁREA PRINCIPAL DO COCKPIT & TOPBAR LEVE
======================================================== */
.cockpit-main {
  flex: 1;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  min-width: 0;
}

.main-topbar {
  height: 64px;
  min-height: 64px;
  max-height: 64px;
  background: #FFFFFF;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  gap: 1rem;
  z-index: 30;
}

.topbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  max-width: 440px;
}

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

.topbar-right {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.btn-mobile-sidebar {
  display: none;
  background: #F0F4F9;
  border: 1px solid var(--border-subtle);
  color: var(--color-primary-dark);
  font-size: 1rem;
  padding: 0.35rem 0.6rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.main-search {
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.45rem 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  transition: var(--transition-fast);
}

.main-search:focus-within {
  border-color: var(--color-primary);
  background: #FFFFFF;
  box-shadow: 0 0 0 2px var(--color-primary-light);
}

.main-search input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--text-main);
  font-size: 0.82rem;
  width: 100%;
}

.main-search input::placeholder {
  color: var(--text-muted);
}

/* Seletor Regional Compacto na Topbar */
.topbar-regional-fast-filter {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  background: #F3F5F9;
  padding: 0.2rem 0.35rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
}

.topbar-region-btn {
  background: transparent;
  border: none;
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.topbar-region-btn:hover {
  color: #0F172A;
  background: #E2E8F0;
}

.topbar-region-btn.active {
  background: #FFFFFF;
  color: var(--color-primary);
  box-shadow: 0 1px 2px rgba(37, 50, 71, 0.08);
}

.topbar-region-btn.highlight-sc {
  font-weight: 700;
}

/* Indicador Discreto de Sincronização PNCP */
.topbar-sync-status {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-success);
  background: #E8F5F1;
  border: 1px solid #C4E6DC;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
}

.sync-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-success);
  box-shadow: 0 0 0 0 rgba(49, 133, 109, 0.7);
  animation: pulse-green 2s infinite;
}

.btn-topbar-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #E8F5F1;
  border: 1px solid #C4E6DC;
  color: var(--color-success);
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-topbar-whatsapp:hover {
  background: #D5EFE7;
  border-color: #A2D8C9;
}

.btn-topbar-lock {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  color: var(--text-main);
  font-weight: 600;
  font-size: 0.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-topbar-lock:hover {
  background: #E5EAF1;
  color: var(--color-primary-dark);
}

/* Sidebar: Mais Módulos Recolhível e Status CND */
.sidebar-collapsible {
  border: none;
}

.sidebar-collapsible summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

.sidebar-collapsible summary::-webkit-details-marker {
  display: none;
}

.collapsible-arrow {
  font-size: 0.75rem;
  transition: transform var(--transition-fast);
  color: var(--text-muted);
}

.sidebar-collapsible[open] .collapsible-arrow {
  transform: rotate(180deg);
}

.sidebar-compliance-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  cursor: pointer;
  margin-bottom: 0.65rem;
  transition: var(--transition-fast);
}

.sidebar-compliance-pill:hover {
  background: #D1FAE5;
  border-color: #6EE7B7;
}

.compliance-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: #065F46;
}

/* ========================================================
   KANBAN BOARD COM 100% DA ALTURA & FLUIDEZ
======================================================== */
.kanban-board {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(8, 290px);
  gap: 0.85rem;
  padding: 0.85rem 1.25rem 1.25rem 1.25rem;
  overflow-x: auto;
  overflow-y: hidden;
  height: calc(100vh - 60px);
  min-height: 0;
}

.kanban-column {
  background: var(--b2g-surface-alt, #F8FAFC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-md, 10px);
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.04);
}

.kanban-column.highlight-column {
  border-color: rgba(35, 118, 95, 0.4);
  background: rgba(232, 244, 239, 0.4);
}

.column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1rem;
  background: var(--b2g-surface, #FFFFFF);
  border-bottom: 1px solid var(--b2g-stroke, #E3E9F1);
}

.col-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57);
}

.col-count {
  background: var(--b2g-brand-100, #E7EEF8);
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--b2g-brand-700, #304F76);
  border: 1px solid var(--b2g-brand-200, #CBD9EB);
}

.cards-container {
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  overflow-y: auto;
  flex: 1;
  scrollbar-color: var(--b2g-scroll-thumb, #A9B9CC) var(--b2g-scroll-track, #EEF2F7);
  scrollbar-width: thin;
}

/* CUSTOM SCROLLBAR */
.cards-container::-webkit-scrollbar,
.drawer-content::-webkit-scrollbar {
  width: 6px;
}
.cards-container::-webkit-scrollbar-thumb,
.drawer-content::-webkit-scrollbar-thumb {
  background: var(--b2g-scroll-thumb, #A9B9CC);
  border-radius: 999px;
}
.cards-container::-webkit-scrollbar-track,
.drawer-content::-webkit-scrollbar-track {
  background: transparent;
}

/* OPPORTUNITY CARD */
.opp-card {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  border-radius: var(--radius-sm, 6px);
  padding: 0.85rem;
  cursor: pointer;
  transition: var(--transition-fast);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  position: relative;
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.05);
}

.opp-card:hover {
  background: var(--b2g-surface, #FFFFFF);
  border-color: var(--b2g-brand-600, #3B628F);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(38, 59, 87, 0.12);
}

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

.mod-tag {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  letter-spacing: 0.04em;
}

.mod-tag.dispensa {
  background: var(--b2g-info-bg, #EAF2FB);
  color: var(--b2g-info, #315F92);
  border: 1px solid #BFDBFE;
}

.mod-tag.leilao {
  background: var(--b2g-warning-bg, #FFF3DF);
  color: var(--b2g-warning, #8A5713);
  border: 1px solid #FDE68A;
}

.uf-tag {
  font-size: 0.68rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57);
  background: var(--b2g-brand-50, #F3F7FC);
  padding: 0.12rem 0.45rem;
  border-radius: 4px;
  border: 1px solid var(--b2g-stroke, #E3E9F1);
}

.card-title,
.card-objeto-clean {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57) !important;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card-orgao {
  font-size: 0.72rem;
  color: var(--b2g-text-muted, #596D84) !important;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.2rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--b2g-stroke, #E3E9F1);
}

.card-val {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--b2g-success, #23765F);
}

.card-badge-me {
  font-size: 0.65rem;
  font-weight: 700;
  background: var(--b2g-brand-100, #E7EEF8);
  color: var(--b2g-brand-700, #304F76);
  border: 1px solid var(--b2g-brand-200, #CBD9EB);
  padding: 0.1rem 0.4rem;
  border-radius: 3px;
}

/* DRAWER LATERAL */
.quotation-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 620px;
  max-width: 90vw;
  height: 100vh;
  background: var(--bg-surface);
  border-left: 1px solid var(--border-subtle);
  box-shadow: -8px 0 32px rgba(38, 59, 87, 0.15);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  transform: translateX(105%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  visibility: hidden;
  pointer-events: none;
}

.quotation-drawer.open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

.drawer-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.drawer-badge {
  font-size: 0.7rem;
  font-weight: 700;
  background: var(--color-primary-light);
  color: var(--color-primary-dark);
  border: 1px solid #D0DFEE;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 0.4rem;
}

.drawer-title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  line-height: 1.3;
}

.drawer-meta {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

.btn-close-drawer {
  background: #F1F5F9;
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0.35rem 0.55rem;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
}

.btn-close-drawer:hover {
  background: #E2E8F0;
  color: var(--color-primary-dark);
}

.drawer-content {
  padding: 1.25rem 1.5rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.drawer-section {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.1rem;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
}

.section-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  margin-bottom: 0.75rem;
}

.hermes-brief-box {
  background: #F8FAFC;
  border-color: var(--border-subtle);
}

.section-title-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.hermes-veredito-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: var(--radius-sm);
  background: #E8F5F1;
  border: 1px solid #C4E6DC;
  color: #1B6550;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hermes-veredito-badge.caution {
  background: #FEF3C7;
  border-color: #FDE68A;
  color: #92400E;
}

.hermes-veredito-badge.nogo {
  background: #FEE2E2;
  border-color: #FECACA;
  color: #991B1B;
}

.hermes-dossier-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem;
  margin: 0.85rem 0;
}

.dossier-card {
  background: #F8FAFC;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
}

.dossier-card-title {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  margin-bottom: 0.3rem;
}

.dossier-card-body {
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--text-muted);
}

.hermes-summary-text {
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--text-main);
  margin-bottom: 0.85rem;
}

.brief-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.chip {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-subtle);
  font-size: 0.72rem;
  padding: 0.25rem 0.55rem;
  border-radius: 4px;
  color: var(--text-muted);
}

.chip-link {
  color: var(--accent-cyan);
  border-color: rgba(6, 182, 212, 0.4);
  text-decoration: none;
  font-weight: 600;
}

.chip-link:hover {
  text-decoration: underline;
}

.chip-action {
  background: rgba(99, 102, 241, 0.25);
  border: 1px solid rgba(99, 102, 241, 0.6);
  color: #c7d2fe;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s ease;
}

.chip-action:hover {
  background: rgba(99, 102, 241, 0.45);
  border-color: #818cf8;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 0 10px rgba(99, 102, 241, 0.3);
}

.chip-action.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* ITEMS TABLE */
.table-responsive {
  overflow-x: auto;
}

.items-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}

.items-table th {
  text-align: left;
  padding: 0.5rem;
  color: var(--text-sub);
  border-bottom: 1px solid var(--border-subtle);
  font-weight: 600;
}

.items-table td {
  padding: 0.55rem 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  color: var(--text-main);
}

.items-table input {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  color: var(--b2g-text, #253247);
  padding: 0.25rem 0.4rem;
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  width: 85px;
}

/* CALCULATOR */
.calc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.calc-input-group {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.calc-input-group label {
  font-size: 0.72rem;
  color: var(--b2g-text-muted, #596D84);
  font-weight: 600;
}

.calc-input-group input {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  border-radius: var(--radius-sm);
  padding: 0.45rem 0.65rem;
  color: var(--b2g-text, #253247);
  font-family: var(--font-mono);
  font-size: 0.85rem;
  outline: none;
}

.calc-input-group input:focus {
  border-color: var(--b2g-brand-600, #3B628F);
  box-shadow: var(--b2g-focus-ring);
}

.profit-banner {
  background: var(--b2g-success-bg, #E8F4EF);
  border: 1px solid #A7F3D0;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profit-metric .p-label {
  font-size: 0.7rem;
  color: var(--b2g-text-muted, #596D84);
  font-weight: 600;
}

.profit-metric .p-value {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--b2g-success, #23765F);
}

.profit-verdict {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--b2g-success, #23765F);
}

/* DRAWER ACTIONS */
.drawer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 0.65rem;
  margin-top: auto;
}

.btn-telegram {
  background: #EAF2FB;
  border: 1px solid #BFDBFE;
  color: #1E40AF;
  font-weight: 600;
}
.btn-telegram:hover {
  background: #DBEAFE;
  color: #1E3A8A;
}

/* TOAST */
.toast-container {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 200;
}

.toast {
  background: var(--b2g-brand-800, #263B57);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-sm);
  padding: 0.75rem 1.1rem;
  font-size: 0.82rem;
  color: #FFFFFF;
  box-shadow: var(--b2g-shadow-overlay);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  animation: slide-in 0.25s ease;
}

@keyframes slide-in {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 960px) {
  .sovereign-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    transform: translateX(-100%);
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.5);
  }
  .sovereign-sidebar.mobile-open {
    transform: translateX(0);
  }
  .btn-mobile-sidebar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .topbar-kpis {
    display: none;
  }
}

/* NAV TABS */
.nav-tabs {
  display: flex;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 3px;
  gap: 2px;
}

.nav-tab {
  background: transparent;
  border: none;
  color: var(--text-muted);
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: var(--transition-fast);
}

.nav-tab.active {
  background: var(--bg-card-hover);
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* SUPPLIERS VIEW */
.suppliers-section {
  padding: 0 1.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.suppliers-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
}

.sup-header-titles h2 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
}

.sup-header-titles p {
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
}

.btn-apify {
  background: var(--accent-blue);
  border: 1px solid var(--accent-blue-hover);
  color: #ffffff;
}
.btn-apify:hover {
  background: var(--accent-blue-hover);
  transform: translateY(-1px);
}

.suppliers-filters-bar {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.suppliers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 1rem;
}

.supplier-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: var(--transition-normal);
}

.supplier-card:hover {
  background: var(--bg-card-hover);
  border-color: rgba(6, 182, 212, 0.3);
  transform: translateY(-2px);
}

.sup-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.sup-badge-cat {
  font-size: 0.68rem;
  font-weight: 700;
  background: var(--b2g-brand-100, #E7EEF8);
  color: var(--b2g-brand-700, #304F76);
  border: 1px solid var(--b2g-brand-200, #CBD9EB);
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
}

.sup-uf-tag {
  font-size: 0.72rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57);
  background: var(--b2g-brand-50, #F3F7FC);
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  border: 1px solid var(--b2g-stroke, #E3E9F1);
}

.sup-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57);
}

.sup-legal-name {
  font-size: 0.74rem;
  color: var(--b2g-text-muted, #596D84);
}

.sup-info-box {
  background: var(--b2g-surface-alt, #F8FAFC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-sm);
  padding: 0.65rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.74rem;
}

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

.sup-info-label { color: var(--b2g-text-muted, #596D84); font-weight: 500; }
.sup-info-val { font-weight: 600; color: var(--b2g-text, #253247); }
.sup-info-val.emerald { color: var(--b2g-success, #23765F); font-family: var(--font-mono); font-weight: 700; }

.sup-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--b2g-stroke, #E3E9F1);
}

.btn-whatsapp {
  background: #E8F5F1 !important;
  border: 1px solid #C4E6DC !important;
  color: #1B6550 !important;
  font-size: 0.75rem;
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
}

.btn-whatsapp:hover {
  background: #D1ECE3 !important;
  border-color: #9FD9C7 !important;
  color: #134B3B !important;
}

/* SUPPLIER SELECTOR IN DRAWER */
.supplier-pick-box {
  background: var(--bg-surface);
  border-color: var(--border-medium);
}

.supplier-selector-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.45rem;
}

.supplier-select {
  flex: 1;
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  color: var(--b2g-text, #253247);
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  outline: none;
}

.supplier-details-hint {
  font-size: 0.72rem;
  color: var(--text-sub);
  margin-top: 0.4rem;
}

/* MODAL */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-card {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  width: 90%;
  max-width: 520px;
  box-shadow: 0 16px 40px rgba(37, 50, 71, 0.2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal-card.modal-lg {
  max-width: 680px;
}

.modal-header {
  padding: 1.1rem 1.35rem;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F8FAFC;
}

.modal-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.btn-close-modal {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
}

.btn-close-modal:hover {
  background: #E5EAF1;
  color: var(--color-primary-dark);
}

.modal-body {
  padding: 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: 70vh;
  overflow-y: auto;
}

.modal-desc {
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.45;
}

.modal-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.modal-field label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
}

.modal-field input, .modal-field textarea, .modal-field select {
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.55rem 0.75rem;
  color: var(--text-main);
  font-size: 0.82rem;
  outline: none;
  transition: var(--transition-fast);
  font-family: inherit;
}

.modal-field input:focus, .modal-field textarea:focus, .modal-field select:focus {
  border-color: var(--color-primary);
  background: #FFFFFF;
  box-shadow: 0 0 0 2px var(--color-primary-light);
}

.modal-footer {
  padding: 1rem 1.35rem;
  background: #F8FAFC;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
}

/* ========================================================= */
/* ALERTA SOBERANO: SERVIÇOS VS MATERIAIS                    */
/* ========================================================= */
.service-risk-alert {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-left: 4px solid #ef4444;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.service-risk-alert .alert-icon {
  font-size: 1.3rem;
  line-height: 1;
}

.service-risk-alert .alert-title {
  font-size: 0.75rem;
  font-weight: 800;
  color: #fca5a5;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}

.service-risk-alert .alert-text {
  font-size: 0.74rem;
  color: #fed7aa;
  line-height: 1.45;
}

/* BADGES DE TIPO NOS CARDS KANBAN */
.badge-tipo-material {
  font-size: 0.65rem;
  font-weight: 700;
  background: var(--b2g-success-bg, #E8F4EF);
  color: var(--b2g-success, #23765F);
  border: 1px solid #A7F3D0;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

.badge-tipo-servico {
  font-size: 0.65rem;
  font-weight: 700;
  background: var(--b2g-danger-bg, #FCEAEC);
  color: var(--b2g-danger, #AE3943);
  border: 1px solid #FECACA;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

/* ========================================================= */
/* FORNECEDORES COMPATÍVEIS NO DRAWER                        */
/* ========================================================= */
.btn-text-link {
  background: transparent;
  border: none;
  color: var(--accent-cyan);
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  text-decoration: underline;
  transition: opacity 0.2s;
}

.btn-text-link:hover {
  opacity: 0.8;
}

.matched-suppliers-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.matched-supplier-card {
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.75rem 0.85rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: border-color 0.2s, background 0.2s;
}

.matched-supplier-card:hover {
  border-color: var(--accent-cyan);
  background: rgba(6, 182, 212, 0.04);
}

.matched-supplier-card.top-match {
  border-color: rgba(16, 185, 129, 0.4);
  background: rgba(16, 185, 129, 0.04);
}

.ms-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ms-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ms-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
}

.ms-badge-score {
  font-size: 0.65rem;
  font-weight: 800;
  padding: 0.1rem 0.4rem;
  border-radius: 3px;
  background: rgba(16, 185, 129, 0.15);
  color: #6ee7b7;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.ms-badge-score.medium {
  background: rgba(245, 158, 11, 0.15);
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.3);
}

.ms-meta {
  font-size: 0.7rem;
  color: var(--text-muted);
}

.ms-reason {
  font-size: 0.68rem;
  color: #67e8f9;
  font-style: italic;
}

.ms-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.btn-whatsapp-compact {
  background: #25d366;
  color: #000;
  font-size: 0.72rem;
  font-weight: 700;
  border: none;
  border-radius: 4px;
  padding: 0.4rem 0.65rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  text-decoration: none;
  transition: transform 0.15s, filter 0.15s;
}

.btn-whatsapp-compact:hover {
  transform: translateY(-1px);
  filter: brightness(1.1);
}

/* ========================================================= */
/* DECOMPOSIÇÃO FINANCEIRA & SIMULADOR                       */
/* ========================================================= */
.btn-auto-simulate {
  background: var(--accent-blue);
  color: #ffffff;
  border: 1px solid var(--accent-blue-hover);
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.2s;
}

.btn-auto-simulate:hover {
  background: rgba(6, 182, 212, 0.35);
  color: #fff;
  transform: translateY(-1px);
}

.financial-breakdown-card {
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1rem 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: var(--text-muted);
}

.breakdown-row.sub {
  padding-left: 0.85rem;
  font-size: 0.78rem;
}

.breakdown-row.highlight-sub {
  background: rgba(6, 182, 212, 0.06);
  padding: 0.35rem 0.65rem;
  border-radius: 4px;
  border-left: 3px solid var(--accent-cyan);
}

.breakdown-row .b-label {
  color: #cbd5e1;
}

.breakdown-row .b-val {
  font-family: var(--font-mono);
  font-weight: 600;
}

.breakdown-divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 0.3rem 0;
}

.breakdown-divider.thick {
  height: 2px;
  background: rgba(6, 182, 212, 0.3);
  margin: 0.4rem 0;
}

.slider-control-box {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.slider-inline {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.slider-inline input[type="range"] {
  width: 90px;
  accent-color: var(--accent-cyan);
  cursor: pointer;
}

.slider-inline span {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--accent-cyan);
  font-size: 0.75rem;
}

.breakdown-row.total {
  padding: 0.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.profit-highlight-box {
  display: flex;
  flex-direction: column;
}

.profit-title {
  font-size: 0.72rem;
  font-weight: 800;
  color: #94a3b8;
  letter-spacing: 0.05em;
}

.profit-value-large {
  font-family: var(--font-mono);
  font-size: 1.4rem;
  font-weight: 800;
  color: #10b981;
}

.profit-pct-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.2rem;
}

.profit-pct-label {
  font-size: 0.68rem;
  color: var(--text-muted);
}

.profit-pct-badge {
  font-family: var(--font-mono);
  font-size: 1.1rem;
  font-weight: 800;
  color: #10b981;
  background: rgba(16, 185, 129, 0.15);
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
}

.calc-advanced-details {
  margin-top: 0.5rem;
  font-size: 0.72rem;
  color: var(--text-muted);
}

.calc-advanced-details summary {
  cursor: pointer;
  padding: 0.25rem 0;
  user-select: none;
}

/* ========================================================= */
/* RÉGUA DE LIQUIDAÇÃO & PÓS-VENDA                           */
/* ========================================================= */
.settlement-card {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1rem 1.15rem;
}

.settlement-desc {
  font-size: 0.74rem;
  color: var(--text-muted);
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

.settlement-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem;
}

.settlement-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.settlement-field label {
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
}

.settlement-field input {
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.4rem 0.6rem;
  color: #fff;
  font-size: 0.76rem;
  outline: none;
  font-family: inherit;
}

.settlement-field input:focus {
  border-color: var(--accent-cyan);
}

/* CORES DAS NOVAS COLUNAS KANBAN */
#colEmTransito .column-header .col-title {
  color: #38bdf8;
}

#colLiquidacao .column-header .col-title {
  color: #fbbf24;
}

#colConcluido .column-header .col-title {
  color: #34d399;
}

/* ========================================================
   RADAR AUTO-PILOT PULSE BADGE
======================================================== */
.radar-live-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.3);
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  transition: var(--transition-fast);
}

.radar-live-pill .radar-live-title {
  color: var(--text-main);
  font-weight: 500;
}

.radar-live-pill .radar-live-title strong {
  font-family: var(--font-mono);
  color: var(--accent-emerald);
  font-weight: 700;
}

.status-dot.green {
  background: var(--accent-emerald);
  box-shadow: 0 0 10px var(--accent-emerald);
}

.btn-radar-mini {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid var(--accent-emerald);
  color: var(--accent-emerald);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-radar-mini:hover {
  background: var(--accent-emerald);
  color: #04120c;
}

.btn-radar-mini.paused {
  background: rgba(244, 63, 94, 0.2);
  border-color: var(--accent-rose);
  color: var(--accent-rose);
}

/* ========================================================
   KPI RIBBON - BLUE HIGHLIGHT
======================================================== */
.kpi-card.highlight-blue {
  background: var(--bg-card);
  border-color: rgba(37, 99, 235, 0.4);
}

.text-blue {
  color: #60a5fa !important;
}

/* ========================================================
   ERGONOMIC KANBAN CARDS & STAGE ACTIONS
======================================================== */
.kanban-card {
  padding: 0.85rem;
  border-radius: var(--radius-md);
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  cursor: pointer;
}

.kanban-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.card-tags {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.card-tag-uf {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-main);
}

.card-tag-tipo {
  font-size: 0.65rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

.card-tag-tipo.material {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.card-tag-tipo.servico {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.card-score-pill {
  font-size: 0.68rem;
  font-family: var(--font-mono);
  font-weight: 700;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.1);
  color: var(--accent-emerald);
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.card-score-pill.warning {
  background: rgba(245, 158, 11, 0.1);
  color: var(--accent-amber);
  border-color: rgba(245, 158, 11, 0.25);
}

/* Encurtamento ergonômico do texto com 2 linhas e reticências */
.card-objeto-clean {
  font-size: 0.78rem;
  line-height: 1.35;
  color: #cbd5e1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 2.1rem;
}

.card-orgao-line {
  font-size: 0.68rem;
  color: var(--text-sub);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card-value-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: 0.25rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.06);
}

.card-value-label {
  font-size: 0.65rem;
  color: var(--text-sub);
  text-transform: uppercase;
}

.card-value-num {
  font-size: 0.85rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: var(--accent-cyan);
}

/* Barra de Ações Rápidas de Etapa no Card */
.card-stage-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-top: 0.4rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--b2g-stroke, #E3E9F1);
}

.btn-stage-step {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  color: var(--b2g-text, #253247);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-stage-step:hover:not(:disabled) {
  background: var(--b2g-surface-alt, #F8FAFC);
  color: var(--b2g-brand-800, #263B57);
  border-color: var(--b2g-brand-400, #7393B5);
}

.btn-stage-step.next {
  color: #FFFFFF;
  background: var(--b2g-brand-600, #3B628F);
  border-color: var(--b2g-brand-700, #304F76);
  font-weight: 700;
}

.btn-stage-step.next:hover:not(:disabled) {
  background: var(--b2g-brand-700, #304F76);
  border-color: var(--b2g-brand-800, #263B57);
}

.select-stage-quick {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  color: var(--b2g-text, #253247);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.45rem;
  border-radius: var(--radius-sm);
  outline: none;
  cursor: pointer;
}

/* ========================================================
   DRAWER STAGE STEPPER & TABS BAR
======================================================== */
.drawer-stage-stepper {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(0, 0, 0, 0.25);
  padding: 0.3rem 0.5rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
}

.btn-stage-stepper {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border-subtle);
  color: var(--text-main);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-stage-stepper:hover {
  background: var(--accent-cyan);
  color: #041217;
  border-color: var(--accent-cyan);
}

.select-drawer-stage {
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  color: #38bdf8;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.45rem;
  border-radius: var(--radius-sm);
  outline: none;
  cursor: pointer;
}

.drawer-tabs-bar {
  display: flex;
  align-items: center;
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-subtle);
  padding: 0 1rem;
  gap: 0.5rem;
  overflow-x: auto;
}

.d-tab {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.7rem 0.6rem;
  cursor: pointer;
  transition: var(--transition-fast);
  white-space: nowrap;
}

.d-tab:hover {
  color: var(--text-main);
}

.d-tab.active {
  color: var(--accent-cyan);
  border-bottom-color: var(--accent-cyan);
  background: rgba(6, 182, 212, 0.06);
}

.drawer-tab-pane {
  display: none;
}

.drawer-tab-pane.active {
  display: block;
}

.drawer-badge-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.3rem;
}

.drawer-badge-tipo {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 4px;
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.4);
}

.drawer-object-full {
  font-size: 0.84rem;
  line-height: 1.5;
  color: #e2e8f0;
  background: var(--bg-deep);
  padding: 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
}

/* ========================================================
   BROKER TAB MODULE
======================================================== */
.broker-hero-banner {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  background: var(--bg-surface);
  border: 1px solid rgba(37, 99, 235, 0.3);
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  margin-bottom: 1rem;
}

.broker-icon {
  font-size: 1.6rem;
}

.broker-hero-title {
  font-size: 0.82rem;
  font-weight: 800;
  color: #93c5fd;
  letter-spacing: 0.04em;
  margin-bottom: 0.25rem;
}

.broker-hero-desc {
  font-size: 0.74rem;
  line-height: 1.45;
  color: #cbd5e1;
}

.broker-calc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 0.75rem;
  margin-bottom: 1rem;
}

.slider-badge.blue {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.4);
}

.slider-range.blue::-webkit-slider-thumb {
  background: #3b82f6;
  box-shadow: 0 0 10px #3b82f6;
}

.broker-result-banner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.b-res-card {
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
}

.b-res-card.highlight-mct {
  border-color: rgba(59, 130, 246, 0.4);
  background: rgba(30, 58, 138, 0.15);
}

.b-res-label {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}

.b-res-value {
  font-size: 1.15rem;
  font-weight: 800;
  font-family: var(--font-mono);
}

.b-res-sub {
  font-size: 0.68rem;
  color: var(--text-sub);
  margin-top: 0.15rem;
}

.pitch-hint {
  font-size: 0.72rem;
  color: var(--text-sub);
  margin-bottom: 0.5rem;
}

.pitch-textarea {
  width: 100%;
  background: var(--bg-deep);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
  color: #e2e8f0;
  font-family: var(--font-sans);
  font-size: 0.76rem;
  line-height: 1.45;
  resize: vertical;
}

.pitch-textarea:focus {
  border-color: #3b82f6;
  outline: none;
}

/* ========================================================
   APPLE CLASS DESIGN SYSTEM - SECTOR BAR, DASHBOARD & DATA TABLE
======================================================== */

/* BARRA DE NAVEGAÇÃO DE SETORES B2G */
.sector-filter-bar {
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-subtle);
  padding: 0.5rem 1.25rem;
  display: flex;
  align-items: center;
  z-index: 25;
  overflow-x: auto;
  white-space: nowrap;
}

.sector-filter-bar::-webkit-scrollbar {
  height: 3px;
}
.sector-filter-bar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
}

.sector-scroll-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sector-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 500;
  cursor: pointer;
  transition: var(--transition-fast);
  user-select: none;
}

.sector-pill:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.16);
}

.sector-pill.active {
  background: var(--accent-blue);
  color: #ffffff;
  border-color: var(--accent-blue);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  font-weight: 600;
}

.sector-icon {
  font-size: 0.85rem;
}

.sector-name {
  letter-spacing: -0.01em;
}

.sector-badge {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  background: rgba(0, 0, 0, 0.25);
  color: inherit;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  font-weight: 600;
}

.sector-pill.active .sector-badge {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

/* ========================================================
   VISÃO 1: DASHBOARD EXECUTIVO B2G (APPLE CLASS)
======================================================== */
.dashboard-view {
  flex: 1;
  padding: 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  background: var(--bg-deep);
}

.dash-macro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.dash-kpi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  transition: var(--transition-normal);
}

.dash-kpi-card:hover {
  background: var(--bg-card-hover);
  border-color: var(--border-medium);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.dash-kpi-card.border-emerald {
  border-left: 3px solid var(--accent-emerald);
}

.dash-kpi-card.border-blue {
  border-left: 3px solid var(--accent-blue);
}

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

.dash-kpi-label {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.dash-kpi-icon {
  font-size: 1.1rem;
}

.dash-kpi-val {
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.dash-kpi-meta {
  font-size: 0.72rem;
  color: var(--text-sub);
}

/* Painéis de 2 Colunas */
.dash-two-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

@media (max-width: 1024px) {
  .dash-two-cols {
    grid-template-columns: 1fr;
  }
}

.dash-panel-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.dash-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-subtle);
  padding-bottom: 0.75rem;
}

.dash-panel-header h3 {
  font-size: 0.92rem;
  font-weight: 600;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.dash-badge {
  font-size: 0.68rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-muted);
  font-weight: 600;
}

.dash-badge.text-emerald {
  background: rgba(16, 185, 129, 0.12);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.25);
}

/* Barras de Distribuição por Setor */
.sector-bars-container {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.sector-bar-row {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  cursor: pointer;
  padding: 0.4rem;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
}

.sector-bar-row:hover {
  background: rgba(255, 255, 255, 0.04);
}

.sector-bar-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
}

.sector-bar-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
  color: #ffffff;
}

.sector-bar-values {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.74rem;
  color: var(--text-muted);
}

.sector-bar-volume {
  font-family: var(--font-mono);
  font-weight: 600;
  color: #ffffff;
}

.sector-bar-track {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 999px;
  overflow: hidden;
}

.sector-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--accent-blue);
  transition: width 0.4s ease;
}

.sector-bar-fill.fill-emerald { background: var(--accent-emerald); }
.sector-bar-fill.fill-amber { background: var(--accent-amber); }
.sector-bar-fill.fill-purple { background: var(--accent-purple); }
.sector-bar-fill.fill-cyan { background: var(--accent-cyan); }

/* Hot Opportunities List */
.hot-opportunities-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.hot-opp-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  transition: var(--transition-fast);
  cursor: pointer;
}

.hot-opp-item:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--border-medium);
  transform: translateX(2px);
}

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

.hot-opp-tags {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.hot-opp-loc {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.06);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
}

.hot-opp-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hot-opp-orgao {
  font-size: 0.72rem;
  color: var(--text-sub);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hot-opp-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.2rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.hot-opp-values {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.hot-opp-teto {
  font-size: 0.84rem;
  font-weight: 700;
  color: #ffffff;
  font-family: var(--font-mono);
}

.hot-opp-lucro {
  font-size: 0.74rem;
  font-weight: 600;
  color: #34d399;
  background: rgba(16, 185, 129, 0.12);
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
}

.btn-hot-quote {
  background: var(--accent-blue);
  color: #ffffff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0.35rem 0.75rem;
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-fast);
}

.btn-hot-quote:hover {
  background: var(--accent-blue-hover);
}

/* ========================================================
   VISÃO 2: BANCO DE DADOS (SOVEREIGN DATA TABLE)
======================================================== */
.database-view {
  flex: 1;
  padding: 1.25rem 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: var(--bg-deep);
}

.table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 0.75rem 1.25rem;
}

.table-toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.table-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: #ffffff;
}

.table-counter {
  font-size: 0.72rem;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.06);
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
}

.table-toolbar-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.table-sort-label {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.table-sort-select {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: #ffffff;
  padding: 0.35rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.76rem;
  cursor: pointer;
  outline: none;
}

.table-sort-select:focus {
  border-color: var(--accent-blue);
}

.table-responsive-container {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow-x: auto;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.sovereign-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  text-align: left;
}

.sovereign-data-table thead {
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid var(--border-subtle);
}

.sovereign-data-table th {
  padding: 0.75rem 1rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  white-space: nowrap;
}

.sovereign-data-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: var(--transition-fast);
}

.sovereign-data-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.sovereign-data-table td {
  padding: 0.85rem 1rem;
  vertical-align: middle;
  color: var(--text-main);
}

.tbl-id-badge {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--accent-blue);
  background: rgba(37, 99, 235, 0.1);
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.tbl-id-badge:hover {
  text-decoration: underline;
}

.tbl-sector-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  white-space: nowrap;
  font-weight: 500;
}

.tbl-objeto {
  max-width: 280px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 500;
}

.tbl-orgao {
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-muted);
}

.tbl-uf-badge {
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

.tbl-val {
  font-family: var(--font-mono);
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}

.tbl-lucro {
  font-family: var(--font-mono);
  font-weight: 600;
  color: #34d399;
  white-space: nowrap;
}

.tbl-supplier {
  font-size: 0.74rem;
  color: var(--text-muted);
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tbl-status-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
}

.tbl-status-badge.status-radar { background: rgba(148, 163, 184, 0.15); color: #94a3b8; }
.tbl-status-badge.status-auditada { background: rgba(139, 92, 246, 0.15); color: #c084fc; }
.tbl-status-badge.status-cotacao { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.tbl-status-badge.status-proposta { background: rgba(37, 99, 235, 0.15); color: #60a5fa; }
.tbl-status-badge.status-empenhado { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.tbl-status-badge.status-concluido { background: rgba(16, 185, 129, 0.25); color: #10b981; }

.btn-table-action {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-subtle);
  color: #ffffff;
  border-radius: var(--radius-sm);
  padding: 0.35rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-fast);
  white-space: nowrap;
}

.btn-table-action:hover {
  background: var(--accent-blue);
  border-color: var(--accent-blue);
}

/* ========================================================
   REFINAMENTO DOS CARDS KANBAN (SOLID APPLE CLASS)
======================================================== */
.opp-card {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  border-radius: var(--radius-sm, 6px);
  padding: 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  cursor: pointer;
  transition: var(--transition-fast);
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.06);
}

.opp-card:hover {
  background: var(--b2g-surface, #FFFFFF);
  border-color: var(--b2g-brand-600, #3B628F);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(38, 59, 87, 0.12);
}

.card-sector-tag {
  font-size: 0.68rem;
  color: var(--b2g-text, #253247);
  background: var(--b2g-surface-alt, #F8FAFC);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* CHIPS CONVIDATIVOS DE VALOR E LUCRO */
.card-profit-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--b2g-success-bg, #E8F4EF);
  color: var(--b2g-success, #23765F);
  font-weight: 700;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  border: 1px solid #A7F3D0;
  box-shadow: 0 1px 2px rgba(35, 118, 95, 0.08);
}

.card-teto-chip {
  font-size: 0.72rem;
  color: var(--b2g-text-muted, #596D84);
  font-family: var(--font-mono);
  font-weight: 600;
}

.card-supplier-chip {
  font-size: 0.68rem;
  color: var(--b2g-brand-700, #304F76);
  background: var(--b2g-brand-50, #F3F7FC);
  border: 1px solid var(--b2g-brand-200, #CBD9EB);
  border-radius: 4px;
  padding: 2px 7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ========================================================
   BARRA DE ETAPAS RÁPIDAS MOBILE & DESKTOP (SWIPE & SNAP APP)
======================================================== */
.mobile-stage-bar {
  display: none;
  background: var(--b2g-surface, #FFFFFF);
  border-bottom: 1px solid var(--b2g-stroke, #E3E9F1);
  padding: 0.45rem 1rem;
  position: sticky;
  top: 64px;
  z-index: 15;
}

.mobile-stage-scroll {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.mobile-stage-scroll::-webkit-scrollbar {
  display: none;
}

.mobile-stage-chip {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke-strong, #CDD8E5);
  color: var(--b2g-text, #253247);
  border-radius: var(--radius-pill);
  padding: 0.35rem 0.75rem;
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  transition: var(--transition-fast);
  user-select: none;
}

.mobile-stage-chip:hover {
  background: var(--b2g-surface-alt, #F8FAFC);
  border-color: var(--b2g-brand-400, #7393B5);
  color: var(--b2g-brand-800, #263B57);
}

.mobile-stage-chip:active {
  transform: scale(0.96);
}

.mobile-stage-chip .stage-num {
  background: var(--b2g-brand-50, #F3F7FC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  color: var(--b2g-brand-700, #304F76);
  border-radius: 999px;
  padding: 1px 6px;
  font-size: 0.68rem;
  font-family: var(--font-mono);
  font-weight: 700;
}

.mobile-stage-chip.active {
  background: var(--b2g-brand-600, #3B628F);
  border-color: var(--b2g-brand-800, #263B57);
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.2);
}

.mobile-stage-chip.active .stage-num {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  color: #FFFFFF;
}

/* ========================================================
   MOBILE APP DOCK (TAB BAR NATIVO IOS)
======================================================== */
.mobile-app-dock {
  display: none;
}

.drawer-drag-handle {
  display: none;
}

/* ========================================================
   RESPONSIVIDADE & EXPERIÊNCIA DE APP MOBILE (< 768px)
======================================================== */
@media (max-width: 768px) {
  /* Exibir barra rápida de etapas */
  .mobile-stage-bar {
    display: block;
  }

  /* Exibir Mobile App Dock */
  .mobile-app-dock {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: rgba(10, 14, 23, 0.94);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    padding-bottom: max(0.45rem, env(safe-area-inset-bottom, 0px));
    padding-top: 0.45rem;
    height: calc(56px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
  }

  .dock-tab {
    background: transparent;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-sub);
    cursor: pointer;
    padding: 0.2rem 0;
    transition: var(--transition-fast);
  }

  .dock-tab .dock-icon {
    font-size: 1.15rem;
    line-height: 1;
    transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .dock-tab .dock-label {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: -0.01em;
  }

  .dock-tab.active {
    color: var(--accent-blue);
  }

  .dock-tab.active .dock-icon {
    transform: scale(1.15);
  }

  .dock-tab:active {
    transform: scale(0.88);
  }

  /* Topbar Compacta para Celular */
  .main-topbar {
    padding: max(0.45rem, env(safe-area-inset-top, 0px)) 0.75rem 0.45rem 0.75rem;
    min-height: 48px;
    height: auto;
  }

  .topbar-search-row {
    width: 100%;
  }

  .search-box.main-search input {
    font-size: 0.8rem;
    padding: 0.45rem 0.65rem 0.45rem 2rem;
  }

  /* Setor scroll bar com padding touch */
  .sector-filter-bar {
    padding: 0.35rem 0.75rem;
  }

  .sector-pill {
    padding: 0.35rem 0.65rem;
    font-size: 0.72rem;
  }

  /* Kanban Board Mobile App Feel: 85vw por coluna e snap fluido */
  .kanban-board {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem calc(68px + env(safe-area-inset-bottom, 0px)) 0.75rem;
    height: calc(100vh - 150px);
    -webkit-overflow-scrolling: touch;
  }

  .kanban-column {
    min-width: 84vw;
    max-width: 84vw;
    flex-shrink: 0;
    scroll-snap-align: center;
    height: 100%;
    border-radius: var(--radius-md);
  }

  /* Drawer como iOS Bottom Sheet */
  .quotation-drawer {
    top: auto;
    right: 0;
    bottom: -100%;
    left: 0;
    width: 100%;
    height: 90vh;
    max-height: 90vh;
    border-left: none;
    border-top: 1px solid var(--border-medium);
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.85);
    transition: bottom 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1001;
  }

  .quotation-drawer.open {
    bottom: 0;
    right: 0;
  }

  .drawer-drag-handle {
    display: block;
    width: 42px;
    height: 5px;
    background: rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    margin: 10px auto 4px auto;
  }

  .drawer-header {
    padding: 0.85rem 1.1rem;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .drawer-title-box {
    max-width: 100%;
  }

  .drawer-title {
    font-size: 1.05rem;
  }

  .drawer-stage-stepper {
    width: 100%;
    justify-content: space-between;
    margin-top: 0.25rem;
  }

  .select-drawer-stage {
    flex: 1;
    max-width: none;
  }

  .drawer-actions {
    padding-bottom: max(1.2rem, env(safe-area-inset-bottom, 0px));
    flex-wrap: wrap;
    gap: 0.4rem;
  }

  .drawer-actions .btn {
    flex: 1;
    min-width: 130px;
    padding: 0.6rem;
    font-size: 0.75rem;
  }

  /* Dashboard Executivo no Celular: 2 colunas limpas */
  .dashboard-view {
    padding: 0.75rem 0.75rem calc(72px + env(safe-area-inset-bottom, 0px)) 0.75rem;
  }

  .dash-macro-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
  }

  .dash-kpi-card {
    padding: 0.85rem;
  }

  .dash-kpi-val {
    font-size: 1.15rem;
  }

  .dash-two-cols {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* Sovereign Data Table no Celular com Scroll */
  .database-view {
    padding: 0.75rem 0.75rem calc(72px + env(safe-area-inset-bottom, 0px)) 0.75rem;
  }

  .table-container {
    border-radius: var(--radius-sm);
  }

  .sovereign-data-table th, .sovereign-data-table td {
    padding: 0.55rem 0.65rem;
    font-size: 0.72rem;
  }

  /* Seção de Fornecedores SRM no Celular */
  .suppliers-section {
    padding: 0.75rem 0.75rem calc(72px + env(safe-area-inset-bottom, 0px)) 0.75rem;
  }

  .suppliers-grid {
    grid-template-columns: 1fr;
  }

  .suppliers-header-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
  }

  .suppliers-filters-bar {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ==========================================================================
   Apple Pro Class: Reset Button & Meta-REA Audit Styles
   ========================================================================== */

.btn-drawer-reset {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  background: rgba(225, 29, 72, 0.12);
  border: 1px solid rgba(225, 29, 72, 0.25);
  color: #fb7185;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-drawer-reset:hover {
  background: rgba(225, 29, 72, 0.22);
  border-color: rgba(225, 29, 72, 0.45);
  color: #fda4af;
}

/* Meta-REA Hero Box */
.meta-rea-hero-box {
  background: linear-gradient(135deg, rgba(20, 24, 33, 0.95), rgba(16, 20, 28, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.4rem;
  margin-bottom: 1.25rem;
}

.rea-hero-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.rea-badge-tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.22);
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  margin-bottom: 0.4rem;
}

.rea-hero-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f3f4f6;
  margin: 0 0 0.35rem 0;
  letter-spacing: -0.01em;
}

.rea-hero-desc {
  font-size: 0.82rem;
  color: var(--text-muted);
  margin: 0;
  max-width: 600px;
  line-height: 1.45;
}

.btn-rea-audit {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.25rem;
  background: #0071e3;
  color: #ffffff;
  border: none;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 113, 227, 0.25);
}

.btn-rea-audit:hover {
  background: #0077ed;
  transform: translateY(-1px);
}

.btn-rea-audit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Meta-REA Placeholder */
.meta-rea-placeholder {
  text-align: center;
  padding: 3.5rem 1.5rem;
  background: var(--bg-card);
  border: 1px dashed rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
  color: var(--text-muted);
}

.rea-placeholder-icon {
  font-size: 2.2rem;
  display: block;
  margin-bottom: 0.75rem;
  opacity: 0.8;
}

.meta-rea-placeholder h4 {
  font-size: 1.05rem;
  color: var(--text-main);
  margin: 0 0 0.5rem 0;
}

.meta-rea-placeholder p {
  font-size: 0.85rem;
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.45;
}

/* Meta-REA Dossier Container */
.rea-dossier-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.rea-stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
}

.rea-stat-label {
  font-size: 0.7rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
}

.rea-stat-val {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text-main);
  font-family: var(--font-mono);
}

.rea-stat-val.positive {
  color: var(--accent-emerald);
}

.rea-stat-val.highlight {
  color: #38bdf8;
}

.rea-stat-sub {
  font-size: 0.68rem;
  color: var(--text-sub);
  margin-top: 0.2rem;
}

/* Macro Rates Card */
.rea-macro-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 1rem 1.2rem;
  margin-bottom: 1.25rem;
}

.rea-macro-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--border-subtle);
}

.rea-macro-title {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}

.rea-macro-chips {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.rea-macro-chip {
  display: flex;
  flex-direction: column;
}

.rea-macro-chip-label {
  font-size: 0.68rem;
  color: var(--text-sub);
}

.rea-macro-chip-val {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-main);
  font-family: var(--font-mono);
}

/* Meta-REA Files / PDF Download Box */
.rea-files-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 1rem 1.2rem;
  margin-bottom: 1.25rem;
}

.rea-files-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.rea-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0.85rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xs);
  transition: all 0.15s ease;
}

.rea-file-item:hover {
  background: rgba(255, 255, 255, 0.04);
}

.rea-file-name {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-main);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.rea-file-btn {
  font-size: 0.72rem;
  font-weight: 600;
  color: #38bdf8;
  text-decoration: none;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.2);
  padding: 0.3rem 0.65rem;
  border-radius: var(--radius-xs);
  transition: all 0.15s ease;
}

.rea-file-btn:hover {
  background: rgba(56, 189, 248, 0.2);
}

/* Strategic Verdict Card */
.rea-verdict-card {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(20, 24, 33, 0.95));
  border: 1px solid rgba(16, 185, 129, 0.25);
  border-radius: var(--radius-sm);
  padding: 1rem 1.2rem;
}

.rea-verdict-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.rea-verdict-tag {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--accent-emerald);
  letter-spacing: 0.04em;
}

.rea-verdict-text {
  font-size: 0.82rem;
  color: var(--text-main);
  line-height: 1.5;
  margin: 0;
}

/* ========================================================
   HERMES ACTIVE QUOTER & QUOTE DESK (PROTOCOLO HARVEY)
======================================================== */


/* Hero Box da Mesa de Cotação Ativa */
.quote-desk-view {
  padding: 1.5rem 1.75rem;
  overflow-y: auto;
  height: calc(100vh - 120px);
}

.quote-desk-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.7), rgba(15, 23, 42, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.badge-hermes-active {
  display: inline-block;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  margin-bottom: 0.5rem;
}

.quote-desk-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 0.35rem 0;
  letter-spacing: -0.01em;
}

.quote-desk-subtitle {
  font-size: 0.82rem;
  color: var(--text-sub);
  max-width: 650px;
  line-height: 1.5;
  margin: 0;
}

.quote-desk-hero-stats {
  display: flex;
  gap: 1rem;
}

.mini-stat-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.15rem;
  display: flex;
  flex-direction: column;
  min-width: 140px;
}

.mini-stat-card.highlight {
  border-color: rgba(16, 185, 129, 0.3);
  background: rgba(16, 185, 129, 0.05);
}

.m-stat-label {
  font-size: 0.68rem;
  color: var(--text-sub);
  margin-bottom: 0.25rem;
}

.m-stat-val {
  font-size: 1.35rem;
  font-weight: 800;
  font-family: var(--font-mono);
}

/* Toolbar da Mesa de Cotação */
.quote-desk-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
}

.quote-desk-filters {
  display: flex;
  gap: 0.5rem;
}

/* Cards de Cotação no Outbox */
.quote-desk-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 1.25rem;
}

.quote-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.04);
}

.quote-card:hover {
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(37, 50, 71, 0.08);
}

.quote-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
  gap: 0.75rem;
}

.quote-card-orgao {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.quote-card-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  margin: 0.25rem 0;
  line-height: 1.35;
}

.quote-card-supplier-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-sm);
  margin-bottom: 0.75rem;
}

.quote-card-supplier-name {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-primary);
}

.quote-card-msg-box {
  background: #F8FAFC;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.75rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--text-main);
  max-height: 110px;
  overflow-y: auto;
  margin-bottom: 0.85rem;
  white-space: pre-line;
}

.quote-card-financials {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0.75rem;
  background: #E8F5F1;
  border: 1px solid #C4E6DC;
  border-radius: var(--radius-sm);
  margin-bottom: 0.85rem;
}

.quote-card-profit-val {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--color-success);
  font-family: var(--font-mono);
}

.quote-card-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: auto;
}

.quote-card-actions .btn {
  flex: 1;
  font-size: 0.74rem;
  padding: 0.45rem 0.5rem;
  justify-content: center;
}

/* Caixa de Análise da Resposta no Modal */
.reply-analysis-box {
  background: var(--bg-deep);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: var(--radius-sm);
  padding: 1rem;
  margin-top: 1rem;
}

.input-readonly {
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--text-sub) !important;
  border-color: var(--border-subtle) !important;
  cursor: default;
}

/* ==========================================================================
   MESA DE LEILÕES & ARBITRAGEM PATRIMONIAL (HERMES APPRAISER)
   ========================================================================== */
.auctions-hero {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(20, 20, 26, 0.95) 60%);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.auctions-hero-left {
  max-width: 65%;
}

.badge-auctions {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  margin-bottom: 0.75rem;
}

.auctions-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 0.4rem;
}

.auctions-subtitle {
  font-size: 0.86rem;
  color: var(--text-sub);
  line-height: 1.5;
}

.auctions-hero-stats {
  display: flex;
  gap: 0.75rem;
}

.auctions-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
  gap: 1rem;
}

.auctions-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.auctions-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 1.25rem;
}

/* Card de Leilão Apple Class */
.auction-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}

.auction-card:hover {
  transform: translateY(-3px);
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

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

.auction-asset-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.6rem;
  border-radius: 9999px;
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.auction-asset-badge.imovel { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border-color: rgba(59, 130, 246, 0.3); }
.auction-asset-badge.produtos { background: rgba(168, 85, 247, 0.15); color: #c084fc; border-color: rgba(168, 85, 247, 0.3); }

.auction-card-loc {
  font-size: 0.76rem;
  color: var(--text-muted);
  font-weight: 500;
}

.auction-card-title {
  font-size: 0.96rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.auction-card-orgao {
  font-size: 0.76rem;
  color: var(--text-sub);
}

/* Grid de Métricas Financeiras */
.auction-metrics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-sm);
  padding: 0.85rem;
}

.auction-metric-box {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.auction-metric-label {
  font-size: 0.68rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.auction-metric-val {
  font-size: 0.95rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: #fff;
}

.auction-metric-val.desagio {
  color: #10b981;
}

.auction-metric-val.comissao {
  color: #38bdf8;
}

.auction-card-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: auto;
}

.auction-card-actions .btn {
  flex: 1;
  font-size: 0.74rem;
  padding: 0.45rem 0.5rem;
  justify-content: center;
}

/* Modal de Dossiê do Investidor */
.modal-lg {
  max-width: 680px !important;
}

.dossier-textarea {
  width: 100%;
  background: var(--bg-deep);
  border: 1px solid var(--border-medium);
  border-radius: var(--radius-sm);
  padding: 0.85rem;
  color: #e2e8f0;
  resize: vertical;
}

/* ==========================================================================
   TELA DE BLOQUEIO SOBERANA (MCT SOVEREIGN SHIELD LOCK SCREEN)
   ========================================================================== */
.screen-lock-modal {
  position: fixed;
  inset: 0;
  z-index: 9999999;
  background: rgba(8, 8, 12, 0.94);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.lock-card {
  width: 100%;
  max-width: 440px;
  background: linear-gradient(145deg, rgba(26, 26, 36, 0.98) 0%, rgba(14, 14, 20, 0.99) 100%);
  border: 1px solid rgba(245, 158, 11, 0.3);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.8), 0 0 40px rgba(245, 158, 11, 0.12);
  border-radius: var(--radius-lg);
  padding: 2.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
  animation: lockCardAppear 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes lockCardAppear {
  from { opacity: 0; transform: scale(0.95) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.lock-icon-ring {
  width: 64px;
  height: 64px;
  margin: 0 auto 0.75rem auto;
  border-radius: 50%;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 25px rgba(245, 158, 11, 0.25);
}

.lock-brand-icon {
  font-size: 2rem;
}

.lock-brand-title {
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 0.2rem;
}

.lock-brand-sub {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--accent-amber);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.lock-desc {
  font-size: 0.84rem;
  color: var(--text-sub);
  line-height: 1.5;
}

.lock-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lock-input-group {
  position: relative;
  display: flex;
  align-items: center;
}

.lock-input {
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--radius-sm);
  padding: 0.85rem 3rem 0.85rem 1rem;
  font-size: 0.95rem;
  color: #fff;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  font-family: var(--font-mono);
}

.lock-input:focus {
  border-color: var(--accent-amber);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

.btn-lock-toggle-pwd {
  position: absolute;
  right: 0.75rem;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  opacity: 0.65;
  transition: opacity 0.2s;
}

.btn-lock-toggle-pwd:hover {
  opacity: 1;
}

.lock-error {
  font-size: 0.8rem;
  color: #f87171;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: var(--radius-sm);
  padding: 0.5rem;
}

.btn-lock-submit {
  width: 100%;
  padding: 0.85rem;
  font-size: 0.92rem;
  font-weight: 700;
  justify-content: center;
  border-radius: var(--radius-sm);
}

.lock-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.72rem;
  color: var(--text-muted);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 1rem;
}

.lock-shield-badge {
  color: #10b981;
  font-weight: 600;
}

.btn-topbar-lock {
  padding: 0.35rem 0.65rem !important;
  font-size: 0.74rem !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.btn-topbar-lock:hover {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
  color: #fca5a5 !important;
}

/* ========================================================
   OPÇÃO C — AZUL SÓBRIO: VISÃO GERAL (DASHBOARD EXECUTIVO)
======================================================== */
.overview-view {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--bg-app);
}

.overview-container {
  padding: 1.5rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
}

.overview-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.25rem;
}

.overview-title-group .overview-title {
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  letter-spacing: -0.02em;
  margin-bottom: 0.2rem;
}

.overview-title-group .overview-subtitle {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.overview-header-actions {
  display: flex;
  gap: 0.5rem;
}

/* 4 Metric Cards (Cards KPI) */
.overview-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.metric-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.04);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(37, 50, 71, 0.07);
  border-color: var(--border-medium);
}

.metric-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.metric-card-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}

.metric-card-icon {
  font-size: 1.1rem;
  opacity: 0.85;
}

.metric-card-val {
  font-family: var(--font-mono);
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  line-height: 1.15;
  margin-bottom: 0.35rem;
}

.metric-card-val.text-emerald {
  color: var(--color-success);
}

.metric-card-val.text-blue {
  color: var(--color-primary);
}

.metric-card-meta {
  font-size: 0.72rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* ========================================================
   LISTA COMPACTA DE AÇÕES PENDENTES PRIORITÁRIAS
======================================================== */
.pending-actions-card {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.35rem;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
}

.pending-actions-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border-subtle);
}

.pending-title-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pending-header-icon {
  font-size: 1.1rem;
}

.pending-header-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-primary-dark);
}

.pending-count-badge {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-primary);
  background: var(--color-primary-light);
  border: 1px solid #D0DFEE;
  padding: 0.18rem 0.6rem;
  border-radius: 999px;
}

.pending-actions-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.pending-action-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-sm);
  background: #FAFBFD;
  border: 1px solid #EFF3F8;
  gap: 1rem;
  transition: var(--transition-fast);
}

.pending-action-item:hover {
  background: #F0F4F9;
  border-color: #D5DEE8;
  transform: translateX(2px);
}

.pending-item-left {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex: 1;
  min-width: 0;
}

.pending-item-texts {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.pending-item-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: #0F172A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pending-item-sub,
.pending-item-desc {
  font-size: 0.74rem;
  color: #475569;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Badges de Criticidade Padronizadas */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-sm);
  font-size: 0.7rem;
  font-weight: 700;
  white-space: nowrap;
}

.badge-danger {
  background: #FEF2F2 !important;
  color: #991B1B !important;
  border: 1px solid #FECACA !important;
  font-weight: 700 !important;
}

.badge-warning {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid #FDE68A !important;
  font-weight: 700 !important;
}

.badge-primary {
  background: #EFF6FF !important;
  color: #1E40AF !important;
  border: 1px solid #BFDBFE !important;
  font-weight: 700 !important;
}

.badge-success {
  background: #ECFDF5 !important;
  color: #065F46 !important;
  border: 1px solid #A7F3D0 !important;
  font-weight: 700 !important;
}

/* Badges Contextuais de Prazo */
.deadline-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.22rem 0.55rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

.deadline-badge.badge-urgent {
  background: #FDF2F2;
  color: #C35D5D;
  border: 1px solid #F6CBCB;
}

.deadline-badge.badge-attention {
  background: #FDF3E7;
  color: #B77B2A;
  border: 1px solid #F8DCB5;
}

.deadline-badge.badge-regular {
  background: #E7EEF8;
  color: #3B628F;
  border: 1px solid #D0DFEE;
}

.deadline-badge.badge-expired {
  background: #F1F5F9;
  color: #697C92;
  border: 1px solid #E2E8F0;
}

/* Painel de Oportunidades Prioritárias (Largura Completa com Mais Espaço) */
.overview-panel {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
}

.overview-full-panel {
  width: 100%;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.panel-title-group {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.panel-title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-primary-dark);
}

.panel-subtitle {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.panel-link {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  cursor: pointer;
  transition: color var(--transition-fast);
}

.panel-link:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

/* Resumo de Setores Inline na Visão Geral */
.overview-sectors-summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--border-subtle);
  font-size: 0.75rem;
  flex-wrap: wrap;
}

.sec-sum-label {
  font-weight: 700;
  color: var(--color-primary-dark);
}

.sec-sum-chips {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.sec-chip {
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  color: var(--text-main);
  font-size: 0.72rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.sec-chip strong {
  color: var(--color-primary);
}

.sec-sum-link {
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  margin-left: auto;
  font-size: 0.75rem;
}

.sec-sum-link:hover {
  text-decoration: underline;
}

/* ========================================================
   ESTRUTURA DE PÁGINAS UNIFICADA: PAGE HEADER & TABS
======================================================== */
.view-container {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
}

.page-header-clean {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}

.page-title {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--color-primary-dark);
  letter-spacing: -0.02em;
  margin-bottom: 0.2rem;
}

.page-subtitle {
  font-size: 0.84rem;
  color: var(--text-muted);
}

.page-header-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

/* Abas Consistentes (Mesa de Cotação & Módulos) */
.clean-tabs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 0.5rem;
  padding-bottom: 0;
}

.clean-tab {
  background: transparent;
  border: none;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-muted);
  padding: 0.55rem 0.95rem;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: var(--transition-fast);
}

.clean-tab:hover {
  color: var(--color-primary-dark);
}

.clean-tab.active {
  color: var(--color-primary);
  font-weight: 700;
  border-bottom-color: var(--color-primary);
  background: rgba(59, 98, 143, 0.04);
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
}

/* Estado Vazio Controlado e Padronizado */
.empty-state-controlled {
  background: #FFFFFF;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 3rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
  margin: 1rem 0;
}

.empty-state-controlled .empty-icon {
  font-size: 2.5rem;
  margin-bottom: 0.25rem;
  opacity: 0.85;
}

.empty-state-controlled h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary-dark);
}

.empty-state-controlled p {
  font-size: 0.84rem;
  color: var(--text-muted);
  max-width: 460px;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

/* Tabela Compacta do Radar Resumido */
.radar-summary-table-wrapper {
  overflow-x: auto;
}

.radar-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.radar-summary-table th {
  text-align: left;
  padding: 0.55rem 0.65rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #334155;
  border-bottom: 1px solid #CBD5E1;
  background: #F1F5F9;
  letter-spacing: 0.04em;
}

.radar-summary-table td {
  padding: 0.65rem 0.65rem;
  border-bottom: 1px solid #F0F4F9;
  color: var(--text-main);
  vertical-align: middle;
}

.radar-summary-table tr:hover td {
  background: #F8FAFC;
}

.radar-summary-table .col-objeto {
  max-width: 280px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}

.radar-summary-table .col-val {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--color-primary-dark);
  white-space: nowrap;
}

.btn-mini-action {
  background: var(--color-primary-light);
  color: var(--color-primary-dark);
  border: 1px solid #D0DFEE;
  padding: 0.25rem 0.55rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: var(--transition-fast);
}

.btn-mini-action:hover {
  background: var(--color-primary);
  color: #FFFFFF;
}

/* Barras Horizontais de Distribuição por Setor */
.sector-bar-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.sector-bar-item {
  cursor: pointer;
  padding: 0.3rem 0.4rem;
  border-radius: var(--radius-sm);
  transition: background var(--transition-fast);
}

.sector-bar-item:hover {
  background: #F0F4F9;
}

.sector-bar-header {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-main);
  margin-bottom: 0.3rem;
}

.sector-bar-name {
  font-weight: 600;
  color: var(--color-primary-dark);
}

.sector-bar-count {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-muted);
}

.sector-bar-track {
  width: 100%;
  height: 7px;
  background: #E5EAF1;
  border-radius: 999px;
  overflow: hidden;
}

.sector-bar-fill {
  height: 100%;
  background: var(--color-primary);
  border-radius: 999px;
  transition: width 0.4s ease;
}

/* ========================================================
   OPÇÃO C — AZUL SÓBRIO: RADAR DE EDITAIS (SMART TABLE)
======================================================== */
.radar-view {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.5rem 1.75rem;
  background: var(--bg-app);
}

.radar-toolbar {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 0.85rem 1.15rem;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
}

.radar-filter-inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  flex: 1;
}

.radar-input-search {
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.45rem 0.75rem;
  font-size: 0.78rem;
  color: var(--text-main);
  outline: none;
  min-width: 220px;
  transition: var(--transition-fast);
}

.radar-input-search:focus {
  background: #FFFFFF;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-light);
}

.radar-select {
  background: #F3F5F9;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 0.45rem 0.65rem;
  font-size: 0.78rem;
  color: var(--text-main);
  outline: none;
  cursor: pointer;
}

.radar-select:focus {
  border-color: var(--color-primary);
}

.smart-table-wrapper {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow-x: auto;
  box-shadow: 0 1px 3px rgba(37, 50, 71, 0.03);
}

.smart-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}

.smart-table th {
  background: #F8FAFC;
  padding: 0.75rem 0.95rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-subtle);
  letter-spacing: 0.04em;
  text-align: left;
  white-space: nowrap;
}

.smart-table td {
  padding: 0.85rem 0.95rem;
  border-bottom: 1px solid #F0F4F9;
  color: var(--text-main);
  vertical-align: middle;
}

.smart-table tr:hover td {
  background: #F8FAFC;
}

.smart-badge {
  display: inline-block;
  padding: 0.2rem 0.45rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
}

.smart-badge.radar {
  background: #EFF6FF;
  color: #1E40AF;
  border: 1px solid #BFDBFE;
}

.smart-badge.auditada {
  background: #F3E8FF;
  color: #6B21A8;
  border: 1px solid #E9D5FF;
}

.smart-badge.cotacao {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}

.smart-badge.proposta {
  background: #E0E7FF;
  color: #3730A3;
  border: 1px solid #C7D2FE;
}

.smart-badge.concluido {
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #A7F3D0;
}

.smart-table-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 1.15rem;
  background: #FFFFFF;
  border-top: 1px solid var(--border-subtle);
  font-size: 0.78rem;
  color: var(--text-muted);
}

.pagination-btn {
  background: #F8FAFC;
  border: 1px solid var(--border-subtle);
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--text-main);
  transition: var(--transition-fast);
}

.pagination-btn:hover:not(:disabled) {
  background: #F0F4F9;
  border-color: var(--border-medium);
}

.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Responsividade Básica da Visão Geral */
@media (max-width: 1024px) {
  .overview-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .priorities-grid {
    grid-template-columns: 1fr;
  }
  .overview-two-cols {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .overview-container {
    padding: 1rem;
  }
  .overview-kpi-grid {
    grid-template-columns: 1fr;
  }
  .operational-focus-banner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========================================================
   DEFINITIVE SCROLLBARS & VIEW-PANE ARCHITECTURE
   Garante rolagem ativa e suave em 100% das telas
======================================================== */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

.view-pane {
  flex: 1;
  height: calc(100vh - 64px);
  max-height: calc(100vh - 64px);
  overflow-y: auto !important;
  overflow-x: hidden;
  padding: 1.5rem 1.75rem;
  background-color: var(--bg-app);
  box-sizing: border-box;
}

/* Kanban board tem rolagem horizontal própria */
.kanban-board.view-pane {
  padding: 0.85rem 1.25rem 1.25rem 1.25rem;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* ========================================================
   SISTEMA UNIVERSAL DE BOTÕES (AZUL SÓBRIO - WCAG AA)
======================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.48rem 0.95rem;
  border-radius: var(--radius-sm);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-fast);
  text-decoration: none;
  border: 1px solid transparent;
  line-height: 1.25;
}

.btn-primary {
  background: var(--color-primary) !important;
  border-color: var(--color-primary-dark) !important;
  color: #FFFFFF !important;
  box-shadow: 0 1px 2px rgba(38, 59, 87, 0.12);
}
.btn-primary:hover {
  background: var(--color-primary-dark) !important;
  border-color: #1A283C !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}

.btn-secondary {
  background: #FFFFFF !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--color-primary-dark) !important;
  box-shadow: 0 1px 2px rgba(37, 50, 71, 0.04);
}
.btn-secondary:hover {
  background: #F0F4F9 !important;
  border-color: var(--border-medium) !important;
  color: var(--color-primary-dark) !important;
}

.btn-emerald, .btn-success {
  background: #E8F5F1 !important;
  border: 1px solid #C4E6DC !important;
  color: #1B6550 !important;
}
.btn-emerald:hover, .btn-success:hover {
  background: #D1ECE3 !important;
  border-color: #9FD9C7 !important;
  color: #134B3B !important;
}

.btn-whatsapp {
  background: #E8F5F1 !important;
  border: 1px solid #C4E6DC !important;
  color: #1B6550 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.btn-whatsapp:hover {
  background: #D1ECE3 !important;
  border-color: #9FD9C7 !important;
  color: #134B3B !important;
}

.btn-sync {
  background: var(--color-primary) !important;
  border: 1px solid var(--color-primary-dark) !important;
  color: #FFFFFF !important;
}
.btn-sync:hover {
  background: var(--color-primary-dark) !important;
}

.btn-sm {
  padding: 0.35rem 0.65rem !important;
  font-size: 0.75rem !important;
}

.btn-xs {
  padding: 0.22rem 0.45rem !important;
  font-size: 0.7rem !important;
}

/* ========================================================
   SISTEMA DE BADGES CONTEXTUAIS E PRAZOS
======================================================== */
.deadline-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.deadline-badge.badge-urgent {
  background: #FEE2E2;
  color: #991B1B;
  border: 1px solid #FECACA;
}

.deadline-badge.badge-attention {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}

.deadline-badge.badge-regular {
  background: #EFF6FF;
  color: #1E40AF;
  border: 1px solid #BFDBFE;
}

.deadline-badge.badge-expired {
  background: #F1F5F9;
  color: #64748B;
  border: 1px solid #E2E8F0;
}

.pending-crit-badge {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pending-crit-badge.badge-danger {
  background: #FEE2E2;
  color: #991B1B;
  border: 1px solid #FECACA;
}

.pending-crit-badge.badge-warning {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}

.pending-crit-badge.badge-primary {
  background: #EFF6FF;
  color: #1E40AF;
  border: 1px solid #BFDBFE;
}

.pending-crit-badge.badge-success {
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #A7F3D0;
}

/* ========================================================
   CANONICAL B2G DESIGN SYSTEM UTILITIES (b2g-design-tokens.css)
   Integração Normativa de Componentes & Contrato de Scroll
======================================================== */
.b2g-app-shell {
  display: grid;
  grid-template-columns: var(--b2g-sidebar-width) minmax(0, 1fr);
  height: 100vh; height: 100dvh;
  min-height: 0; min-width: 0;
  overflow: hidden;
}
.b2g-app-shell[data-sidebar-collapsed="true"] { grid-template-columns: var(--b2g-sidebar-collapsed) minmax(0, 1fr); }
.b2g-sidebar {
  min-height: 0; height: 100%;
  display: flex; flex-direction: column;
  overflow: hidden;
  border-right: 1px solid var(--b2g-stroke);
  background: var(--b2g-surface);
}
.b2g-sidebar__brand, .b2g-sidebar__footer { flex: 0 0 auto; }
.b2g-sidebar__nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}
.b2g-workspace {
  display: flex; flex-direction: column;
  min-width: 0; min-height: 0;
  overflow: hidden;
}
.b2g-topbar {
  flex: 0 0 var(--b2g-topbar-height);
  min-height: var(--b2g-topbar-height);
  display: flex; align-items: center;
  min-width: 0;
  background: var(--b2g-surface);
  border-bottom: 1px solid var(--b2g-stroke);
  padding: 0 var(--b2g-space-6);
  z-index: 10;
}
.b2g-content-scroll {
  flex: 1 1 auto;
  min-height: 0; min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scroll-padding-top: var(--b2g-space-6);
}
.b2g-page {
  width: min(100%, var(--b2g-page-max));
  min-width: 0;
  margin: 0 auto;
  padding: var(--b2g-space-6);
}
.b2g-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--b2g-space-4); margin-bottom: var(--b2g-space-6); }
.b2g-page-title { margin: 0; font-size: var(--b2g-font-xl); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; color: var(--b2g-brand-800); }
.b2g-page-subtitle { margin: var(--b2g-space-2) 0 0; font-size: var(--b2g-font-sm); color: var(--b2g-text-muted); }

/* Standard components */
.b2g-card { min-width: 0; background: var(--b2g-surface); border: 1px solid var(--b2g-stroke); border-radius: var(--b2g-radius-lg); box-shadow: var(--b2g-shadow-card); }
.b2g-card__body { padding: var(--b2g-space-5); }
.b2g-card__title { margin: 0; font-size: var(--b2g-font-md); font-weight: 650; color: var(--b2g-brand-800); }
.b2g-card__meta { color: var(--b2g-text-muted); font-size: var(--b2g-font-xs); }
.b2g-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--b2g-space-4); }
.b2g-kpi { padding: var(--b2g-space-5); }
.b2g-kpi__label { font-size: var(--b2g-font-xs); letter-spacing: .02em; color: var(--b2g-text-muted); font-weight: 600; }
.b2g-kpi__value { font-size: var(--b2g-font-kpi); line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--b2g-brand-800); }
.b2g-kpi__caption { color: var(--b2g-text-muted); font-size: var(--b2g-font-xs); }

.b2g-button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--b2g-space-2);
  min-height: 40px; padding: 0 var(--b2g-space-4);
  white-space: nowrap; border: 1px solid transparent;
  border-radius: var(--b2g-radius-sm);
  font-weight: 600; font-size: var(--b2g-font-sm);
  cursor: pointer; text-decoration: none; transition: background-color 120ms ease, border-color 120ms ease;
}
.b2g-button--primary { color: #FFFFFF; background: var(--b2g-brand-600); }
.b2g-button--primary:hover { background: var(--b2g-brand-700); }
.b2g-button--secondary { color: var(--b2g-brand-700); border-color: var(--b2g-stroke-strong); background: var(--b2g-surface); }
.b2g-button--secondary:hover { background: var(--b2g-brand-50); }
.b2g-button--ghost { color: var(--b2g-brand-700); background: transparent; }
.b2g-button--ghost:hover { background: var(--b2g-brand-100); }
.b2g-button--danger { color: #FFFFFF; background: var(--b2g-danger); }
.b2g-button--sm { min-height: 32px; padding: 0 var(--b2g-space-3); font-size: var(--b2g-font-xs); }

.b2g-input, .b2g-select {
  width: 100%; min-width: 0; min-height: 40px;
  background: var(--b2g-surface); border: 1px solid var(--b2g-stroke-strong);
  border-radius: var(--b2g-radius-sm); padding: 0 var(--b2g-space-3);
  color: var(--b2g-text);
}
.b2g-input::placeholder { color: var(--b2g-text-subtle); }
.b2g-label { display: inline-block; font-size: var(--b2g-font-xs); font-weight: 600; color: var(--b2g-text-muted); margin-bottom: var(--b2g-space-1); }
.b2g-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--b2g-space-2); padding: var(--b2g-space-4); background: var(--b2g-surface); border: 1px solid var(--b2g-stroke); border-radius: var(--b2g-radius-lg); }
.b2g-filterbar__search { flex: 1 1 260px; min-width: 160px; }
.b2g-filterbar__item { flex: 0 1 180px; min-width: 150px; }

.b2g-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: var(--b2g-radius-sm); font-size: var(--b2g-font-xs); font-weight: 600; background: var(--b2g-brand-100); color: var(--b2g-brand-700); }
.b2g-badge--neutral { color: var(--b2g-text-muted); background: var(--b2g-disabled-bg); }
.b2g-badge--success { color: var(--b2g-success); background: var(--b2g-success-bg); }
.b2g-badge--warning { color: var(--b2g-warning); background: var(--b2g-warning-bg); }
.b2g-badge--danger { color: var(--b2g-danger); background: var(--b2g-danger-bg); }

.b2g-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: visible; }
.b2g-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 920px; text-align: left; background: var(--b2g-surface); }
.b2g-table th { padding: 12px 14px; font-weight: 650; font-size: var(--b2g-font-xs); background: var(--b2g-surface-alt); color: var(--b2g-text-muted); border-bottom: 1px solid var(--b2g-stroke); }
.b2g-table td { padding: 12px 14px; font-size: var(--b2g-font-sm); border-bottom: 1px solid var(--b2g-stroke); vertical-align: middle; }
.b2g-table tbody tr:hover { background: var(--b2g-brand-50); }
.b2g-table .b2g-number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.b2g-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: var(--b2g-space-2); max-width: 560px; min-height: 230px; margin: var(--b2g-space-6) auto; padding: var(--b2g-space-6); }
.b2g-empty__title { font-weight: 700; color: var(--b2g-brand-800); font-size: var(--b2g-font-md); }
.b2g-empty__description { color: var(--b2g-text-muted); }
.b2g-drawer { display: flex; flex-direction: column; height: 100%; max-height: 100dvh; min-height: 0; overflow: hidden; background: var(--b2g-surface); }
.b2g-drawer__header, .b2g-drawer__footer { flex: 0 0 auto; padding: var(--b2g-space-4); border-bottom: 1px solid var(--b2g-stroke); }
.b2g-drawer__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; padding: var(--b2g-space-4); }

/* The scroll thumb should remain discoverable; macOS auto-hide settings may override appearance. */
.b2g-sidebar__nav, .b2g-content-scroll, .b2g-drawer__body, .b2g-table-scroll, .view-pane, .sovereign-sidebar {
  scrollbar-color: var(--b2g-scroll-thumb) var(--b2g-scroll-track) !important;
  scrollbar-width: thin !important;
}
.b2g-sidebar__nav::-webkit-scrollbar, .b2g-content-scroll::-webkit-scrollbar, .b2g-drawer__body::-webkit-scrollbar, .b2g-table-scroll::-webkit-scrollbar, .view-pane::-webkit-scrollbar, .sovereign-sidebar::-webkit-scrollbar {
  width: 9px !important;
  height: 9px !important;
}
.b2g-sidebar__nav::-webkit-scrollbar-thumb, .b2g-content-scroll::-webkit-scrollbar-thumb, .b2g-drawer__body::-webkit-scrollbar-thumb, .b2g-table-scroll::-webkit-scrollbar-thumb, .view-pane::-webkit-scrollbar-thumb, .sovereign-sidebar::-webkit-scrollbar-thumb {
  background: var(--b2g-scroll-thumb) !important;
  border-radius: 10px !important;
}
.b2g-sidebar__nav::-webkit-scrollbar-track, .b2g-content-scroll::-webkit-scrollbar-track, .b2g-drawer__body::-webkit-scrollbar-track, .b2g-table-scroll::-webkit-scrollbar-track, .view-pane::-webkit-scrollbar-track, .sovereign-sidebar::-webkit-scrollbar-track {
  background: var(--b2g-scroll-track) !important;
}

@media (max-width: 1150px) {
  .b2g-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b2g-page { padding: var(--b2g-space-5); }
}
@media (max-width: 900px) {
  .b2g-app-shell { display: flex; }
  .b2g-sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: min(86vw, 290px); z-index: 60; transform: translateX(-100%); transition: transform 160ms ease; box-shadow: var(--b2g-shadow-overlay); }
  .b2g-sidebar[data-mobile-open="true"] { transform: translateX(0); }
  .b2g-workspace { flex: 1; width: 100%; }
  .b2g-topbar { padding: 0 var(--b2g-space-4); }
  .b2g-page { padding: var(--b2g-space-4); }
}
@media (max-width: 620px) {
  .b2g-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--b2g-space-2); }
  .b2g-kpi { padding: var(--b2g-space-4); }
  .b2g-page-title { font-size: 1.375rem; }
  .b2g-page-header { flex-wrap: wrap; }
  .b2g-filterbar__search, .b2g-filterbar__item { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .b2g-app * { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ==========================================================================
   DEAL DESK & CENTRAL DE PROPOSTAS SOBERANA (HIGH DENSITY & DRIVE VAULT UI)
   ========================================================================== */

.proposals-view .view-container {
  max-width: 1680px;
  margin: 0 auto;
  padding: 1.25rem 1.75rem 3rem 1.75rem;
}

/* Drive Vault Hub Bar */
.proposals-drive-hub {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-md, 8px);
  padding: 0.65rem 1rem;
  margin-bottom: 1.25rem;
  overflow-x: auto;
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.04);
}

.proposals-drive-hub-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--b2g-brand-800, #263B57);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  padding-right: 0.75rem;
  border-right: 1px solid var(--b2g-stroke, #E3E9F1);
}

.proposals-drive-chips-scroll {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}
.proposals-drive-chips-scroll::-webkit-scrollbar {
  display: none;
}

.drive-vault-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  background: var(--b2g-surface-alt, #F8FAFC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-sm, 6px);
  color: var(--b2g-text, #253247);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.drive-vault-chip:hover {
  background: var(--b2g-brand-50, #F3F7FC);
  border-color: var(--b2g-brand-400, #7393B5);
  color: var(--b2g-brand-800, #263B57);
  transform: translateY(-1px);
}

.drive-vault-chip.master {
  background: #EFF6FF;
  border-color: #BFDBFE;
  color: #1D4ED8;
  font-weight: 700;
}
.drive-vault-chip.master:hover {
  background: #DBEAFE;
  border-color: #93C5FD;
}

/* 4-KPI Grid */
.dealdesk-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 1200px) {
  .dealdesk-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 680px) {
  .dealdesk-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* Deal Desk Interactive Filter & Search Toolbar */
.dealdesk-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-md, 8px);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.dealdesk-search-box {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--b2g-surface-alt, #F8FAFC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-sm, 6px);
  padding: 0.4rem 0.75rem;
  min-width: 320px;
  flex: 1;
}

.dealdesk-search-box input {
  border: none;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 0.82rem;
  color: var(--b2g-text, #253247);
}

.dealdesk-filter-pills {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.dealdesk-filter-pill {
  padding: 0.35rem 0.75rem;
  background: var(--b2g-surface-alt, #F8FAFC);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: 9999px;
  color: var(--b2g-text-muted, #596D84);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}

.dealdesk-filter-pill:hover {
  background: var(--b2g-brand-50, #F3F7FC);
  color: var(--b2g-brand-800, #263B57);
}

.dealdesk-filter-pill.active {
  background: var(--b2g-brand-800, #263B57);
  border-color: var(--b2g-brand-800, #263B57);
  color: #FFFFFF;
}

/* Deal Desk Table Enhancements */
.dealdesk-table-card {
  background: var(--b2g-surface, #FFFFFF);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  border-radius: var(--radius-md, 8px);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(38, 59, 87, 0.04);
}

.dealdesk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.dealdesk-table thead th {
  background: var(--b2g-surface-alt, #F8FAFC);
  padding: 0.75rem 1rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--b2g-text-muted, #596D84);
  border-bottom: 1px solid var(--b2g-stroke-strong, #CDD8E5);
}

.dealdesk-table tbody td {
  padding: 0.85rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--b2g-stroke, #E3E9F1);
}

.dealdesk-table tbody tr {
  transition: background 0.12s ease;
}

.dealdesk-table tbody tr:hover {
  background: #F9FBFE;
}

.dealdesk-process-tag {
  font-family: var(--font-mono, monospace);
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--b2g-brand-800, #263B57);
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.dealdesk-uf-chip {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  background: #EFF6FF;
  color: #1D4ED8;
  border: 1px solid #BFDBFE;
}

.dealdesk-modalidade-chip {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  background: var(--b2g-surface-alt, #F8FAFC);
  color: var(--b2g-text-muted, #596D84);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  margin-top: 0.25rem;
  display: inline-block;
}

.dealdesk-orgao-title {
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--b2g-text, #253247);
  line-height: 1.3;
}

.dealdesk-orgao-sub {
  font-size: 0.74rem;
  color: var(--b2g-text-muted, #596D84);
  margin-top: 0.15rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.dealdesk-objeto-desc {
  max-width: 320px;
  line-height: 1.4;
  font-size: 0.82rem;
  color: var(--b2g-text, #253247);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dealdesk-price-teto {
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  color: var(--b2g-text-muted, #596D84);
  text-decoration: line-through;
}

.dealdesk-price-lance {
  font-family: var(--font-mono, monospace);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--b2g-brand-800, #263B57);
}

.dealdesk-profit-val {
  font-family: var(--font-mono, monospace);
  font-weight: 800;
  font-size: 0.95rem;
  color: #10B981;
}

.dealdesk-margin-badge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.1rem 0.45rem;
  border-radius: 4px;
  background: #DCFCE7;
  color: #15803D;
  margin-top: 0.2rem;
}

.dealdesk-actions-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.btn-dealdesk-action {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.74rem;
  font-weight: 600;
  border-radius: var(--radius-sm, 6px);
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  background: var(--b2g-surface, #FFFFFF);
  color: var(--b2g-text, #253247);
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  white-space: nowrap;
}

.btn-dealdesk-action:hover {
  background: var(--b2g-brand-50, #F3F7FC);
  border-color: var(--b2g-brand-400, #7393B5);
  color: var(--b2g-brand-800, #263B57);
  transform: translateY(-1px);
}

.btn-dealdesk-action.primary {
  background: var(--b2g-brand-600, #3B628F);
  border-color: var(--b2g-brand-700, #304F76);
  color: #FFFFFF;
}
.btn-dealdesk-action.primary:hover {
  background: var(--b2g-brand-800, #263B57);
  border-color: var(--b2g-brand-800, #263B57);
}

.btn-dealdesk-action.drive {
  background: #EFF6FF;
  border-color: #BFDBFE;
  color: #1D4ED8;
}
.btn-dealdesk-action.drive:hover {
  background: #DBEAFE;
}

/* ==========================================================
   CROSS-DOCKING & MERCADO LIVRE FULL ENGINE STYLES
   ========================================================== */
.btn-chip-suggest {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 9999px;
  border: 1px solid var(--b2g-stroke, #E3E9F1);
  background: #FFFFFF;
  color: var(--b2g-text, #253247);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.btn-chip-suggest:hover {
  background: var(--b2g-brand-50, #F3F7FC);
  border-color: var(--b2g-brand-400, #7393B5);
  color: var(--b2g-brand-800, #263B57);
  transform: translateY(-1px);
}

.badge-ml-full {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(245, 158, 11, 0.14);
  color: #B45309;
  border: 1px solid rgba(245, 158, 11, 0.35);
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.02em;
}

.badge-cd-hub {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #F1F5F9;
  color: #334155;
  border: 1px solid #CBD5E1;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

/* ==========================================================
   MCT SOBERANO ── TERMINAL DE TRADER B2G (DARK OBSIDIAN THEME)
   Inspirado no Terminal Quantitativo do Atlas Patrimonial
========================================================== */
.trader-view {
  background: radial-gradient(ellipse at 70% 10%, #173327 0%, #0d1513 55%, #080d0c 100%) !important;
  color: #ecf2ed !important;
  min-height: 100vh;
  padding: 0 0 40px 0;
}

.trader-container {
  max-width: 1720px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.highlight-trader {
  background: linear-gradient(135deg, #112920 0%, #193d30 100%) !important;
  border: 1px solid #2e624e !important;
  color: #61c9aa !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(97, 201, 170, 0.2);
  margin-bottom: 6px !important;
}

.highlight-trader:hover {
  background: linear-gradient(135deg, #15382b 0%, #1f4a3b 100%) !important;
  border-color: #61c9aa !important;
  color: #ffffff !important;
}

.topbar-mode-toggle {
  display: flex;
  background: #0d1815;
  border: 1px solid #233e33;
  border-radius: 10px;
  padding: 3px;
  gap: 4px;
}

.btn-mode-toggle {
  background: transparent;
  color: #8ba59b;
  border: none;
  padding: 5px 12px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-mode-toggle:hover {
  color: #ecf2ed;
}

.btn-mode-toggle.active {
  background: #1b382d;
  color: #61c9aa;
  font-weight: 700;
  box-shadow: 0 0 10px rgba(97, 201, 170, 0.25);
}

/* Ticker Bar em Tempo Real */
.trader-ticker-bar {
  background: linear-gradient(135deg, #121c19 0%, #152420 100%);
  border: 1px solid #243e34;
  border-radius: 14px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}

.trader-ticker-status {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  flex-shrink: 0;
  padding-right: 14px;
  border-right: 1px solid #233b31;
}

.trader-dot-pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 10px #10b981;
  animation: pulseSafe 1.5s infinite;
}

.trader-ticker-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #61c9aa;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trader-ticker-scroll {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
  align-items: center;
  width: 100%;
}

.trader-ticker-scroll::-webkit-scrollbar {
  display: none;
}

.trader-pill {
  background: #0d1513;
  border: 1px solid #20352c;
  border-radius: 99px;
  padding: 5px 12px;
  font-size: 11px;
  font-family: 'DM Mono', monospace;
  color: #9eb5aa;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.trader-pill:hover {
  border-color: #61c9aa;
  transform: translateY(-1px);
}

.trader-pill b {
  color: #ecf2ed;
}

.trader-pill.mint b { color: #61c9aa; }
.trader-pill.amber b { color: #edc77d; }
.trader-pill.red b { color: #f87171; }
.trader-pill.blue b { color: #9abce2; }

/* Metrics Row */
.trader-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.trader-card {
  background: linear-gradient(145deg, #13221d 0%, #0d1714 100%);
  border: 1px solid rgba(97, 201, 170, 0.28);
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease;
}

.trader-card:hover {
  border-color: rgba(97, 201, 170, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(16, 185, 129, 0.15);
}

.trader-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(52, 211, 153, 0.8), transparent);
}

.trader-card-label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a7f3d0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.trader-card-val {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.03em;
  margin: 10px 0 4px 0;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.trader-card-val.mint { color: #34d399; text-shadow: 0 0 14px rgba(52, 211, 153, 0.35); }
.trader-card-val.amber { color: #fbbf24; text-shadow: 0 0 14px rgba(251, 191, 36, 0.35); }
.trader-card-val.red { color: #f87171; text-shadow: 0 0 14px rgba(248, 113, 113, 0.35); }
.trader-card-val.blue { color: #38bdf8; text-shadow: 0 0 14px rgba(56, 189, 248, 0.35); }

.trader-card-meta {
  font-size: 12px;
  color: #cbd5e1;
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 500;
}

/* Mesa Principal de Trading (3 Colunas) */
.trader-desk-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.4fr 1.15fr;
  gap: 16px;
}

.trader-col {
  background: linear-gradient(150deg, #121f1a 0%, #0c1512 100%);
  border: 1px solid rgba(97, 201, 170, 0.25);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.trader-col-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #233e33;
  padding-bottom: 12px;
}

.trader-col-title {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.trader-desc-text {
  font-size: 12px;
  color: #cbd5e1;
  margin: 0;
  line-height: 1.5;
  font-weight: 500;
}

.trader-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 6px;
  background: #183327;
  color: #34d399;
  border: 1px solid #2e5947;
}

.trader-tag.amber { background: #3d2b12; color: #fbbf24; border-color: #714f1e; }
.trader-tag.red { background: #3f1919; color: #f87171; border-color: #6e2727; }
.trader-tag.blue { background: #122b3f; color: #38bdf8; border-color: #1e4d71; }

/* Selector estilizado no terminal */
.trader-select {
  width: 100%;
  background: #09120f;
  border: 1px solid #2c5443;
  border-radius: 10px;
  padding: 10px 14px;
  color: #ffffff;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  outline: none;
  transition: all 0.2s ease;
}

.trader-select:focus {
  border-color: #34d399;
  box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.3);
}

/* Order Book Table */
.trader-orderbook {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.trader-orderbook th {
  text-align: left;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  background: #13261f;
  padding: 10px 8px;
  border-bottom: 2px solid #244637;
}

.trader-orderbook td {
  padding: 10px 8px;
  border-bottom: 1px solid #1a2f26;
  color: #f1f5f9;
  vertical-align: middle;
}

.trader-orderbook tr:hover td {
  background: #172c23;
}

/* Canvas de Disputa & Curva de Nash */
.trader-canvas-box {
  width: 100%;
  height: 220px;
  background: #060c0a;
  border: 1px solid #203d30;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}

.trader-canvas-box canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Terminal de Simulação de Batalha (Log Hacker/Quant) */
.trader-sim-terminal {
  background: #030705;
  border: 1px solid #1c362a;
  border-radius: 10px;
  padding: 12px 14px;
  font-family: 'JetBrains Mono', 'DM Mono', monospace;
  font-size: 12px;
  height: 145px;
  overflow-y: auto;
  line-height: 1.6;
  color: #34d399;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.7);
}

.trader-sim-terminal::-webkit-scrollbar {
  width: 5px;
}
.trader-sim-terminal::-webkit-scrollbar-thumb {
  background: #2a5240;
  border-radius: 4px;
}

.trader-sim-line { margin: 3px 0; }
.trader-sim-line.robot { color: #fca5a5; font-weight: 600; }
.trader-sim-line.mct { color: #6ee7b7; font-weight: 700; }
.trader-sim-line.win { color: #ecfdf5; font-weight: 800; background: rgba(16, 185, 129, 0.28); padding: 3px 6px; border-radius: 4px; border-left: 3px solid #10b981; }

/* Boleta Tática Sniper */
.trader-boleta-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.trader-boleta-field label {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #a7f3d0;
  letter-spacing: 0.08em;
}

.trader-boleta-field input {
  background: #09120f;
  border: 1px solid #2b4f3f;
  border-radius: 9px;
  padding: 9px 12px;
  color: #ffffff;
  font-family: 'DM Mono', monospace;
  font-size: 14px;
  font-weight: 700;
  outline: none;
  transition: all 0.2s ease;
}

.trader-boleta-field input:focus {
  border-color: #34d399;
  box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.25);
}

.trader-alpha-box {
  background: linear-gradient(135deg, rgba(88, 28, 135, 0.35) 0%, rgba(30, 58, 138, 0.35) 100%);
  border: 1px solid #7e22ce;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 12px;
}

.trader-alpha-title {
  color: #f0abfc;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
}

.trader-alpha-desc {
  color: #e9d5ff;
  font-size: 11px;
  margin-top: 5px;
  line-height: 1.45;
}

/* Botões da Boleta & Ações Rápidas */
.btn-sniper-action {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.03em;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #022c22;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(16, 185, 129, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.btn-sniper-action:hover {
  filter: brightness(1.15);
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(16, 185, 129, 0.6);
}

.btn-sniper-whatsapp {
  width: 100%;
  padding: 11px;
  border: 1px solid #22c55e;
  border-radius: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  background: #0e2b1f;
  color: #86efac;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.btn-sniper-whatsapp:hover {
  background: #143e2d;
  border-color: #4ade80;
  color: #ffffff;
}

/* Lower Section: Oráculo Censo & QSA */
.trader-oraculo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.trader-robot-card {
  background: #0b1411;
  border: 1px solid #213c30;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all 0.2s ease;
}

.trader-robot-card:hover {
  border-color: #34d399;
  transform: translateY(-2px);
}

.trader-robot-card.active-alert {
  border-color: #ef4444;
  background: linear-gradient(145deg, #220e0e 0%, #150909 100%);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.2);
}

.trader-robot-name {
  font-weight: 800;
  font-size: 13px;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.trader-robot-stat {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-family: 'DM Mono', monospace;
  color: #cbd5e1;
}

/* Test Action Callout & Quick Buttons */
.trader-test-callout {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(6, 78, 59, 0.2) 100%);
  border: 1px solid rgba(52, 211, 153, 0.4);
  border-radius: 10px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.trader-test-callout-text {
  font-size: 12px;
  color: #e2e8f0;
  line-height: 1.4;
}

.trader-test-callout-text b {
  color: #34d399;
}

.btn-trader-quicktest {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #022c22;
  font-weight: 800;
  font-size: 12px;
  padding: 8px 14px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 3px 12px rgba(16, 185, 129, 0.35);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-trader-quicktest:hover {
  filter: brightness(1.15);
  transform: translateY(-1px);
}

.btn-trader-customtest {
  background: #183327;
  color: #34d399;
  font-weight: 700;
  font-size: 12px;
  padding: 8px 14px;
  border: 1px solid #2e5947;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-trader-customtest:hover {
  background: #224737;
  color: #ffffff;
  border-color: #34d399;
}

@media (max-width: 1280px) {
  .trader-desk-grid {
    grid-template-columns: 1fr;
  }
  .trader-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ========================================================
   ACERVO CENTRAL DE OPORTUNIDADES: 5 MODALIDADES & HIERARQUIA
======================================================== */
.acervo-modality-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 2px 10px 2px;
  scrollbar-width: thin;
}

.acervo-tab-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #0f172a;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  color: #94a3b8;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  font-family: var(--font-sans);
}

.acervo-tab-btn:hover {
  background: #1e293b;
  border-color: rgba(96, 165, 250, 0.4);
  color: #f1f5f9;
  transform: translateY(-1px);
}

.acervo-tab-btn.active {
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.8) 0%, rgba(15, 23, 42, 0.95) 100%);
  border-color: #3b82f6;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}

.acervo-tab-icon {
  font-size: 1.45rem;
  line-height: 1;
}

.acervo-tab-info {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.acervo-tab-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: #f8fafc;
  line-height: 1.2;
}

.acervo-tab-desc {
  font-size: 0.68rem;
  color: #94a3b8;
  margin-top: 2px;
}

.acervo-tab-badge {
  font-size: 0.75rem;
  font-weight: 800;
  font-family: 'DM Mono', monospace;
  padding: 3px 8px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  margin-left: 4px;
}

.acervo-tab-badge.blue { background: rgba(59, 130, 246, 0.25); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.4); }
.acervo-tab-badge.amber { background: rgba(245, 158, 11, 0.25); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.4); }
.acervo-tab-badge.emerald { background: rgba(16, 185, 129, 0.25); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.4); }
.acervo-tab-badge.purple { background: rgba(168, 85, 247, 0.25); color: #c084fc; border: 1px solid rgba(168, 85, 247, 0.4); }
.acervo-tab-badge.cyan { background: rgba(6, 182, 212, 0.25); color: #22d3ee; border: 1px solid rgba(6, 182, 212, 0.4); }
.acervo-tab-badge.gray { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }

.acervo-badge-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
}
.acervo-badge-tag.licitacao { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.3); }
.acervo-badge-tag.leilao_veiculo { background: rgba(245, 158, 11, 0.15); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.3); }
.acervo-badge-tag.leilao_imovel { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.acervo-badge-tag.produtos_apreendidos { background: rgba(168, 85, 247, 0.15); color: #c084fc; border: 1px solid rgba(168, 85, 247, 0.3); }
.acervo-badge-tag.broker { background: rgba(6, 182, 212, 0.15); color: #22d3ee; border: 1px solid rgba(6, 182, 212, 0.3); }
.acervo-badge-tag.outros_leiloes { background: rgba(148, 163, 184, 0.15); color: #94a3b8; border: 1px solid rgba(148, 163, 184, 0.3); }

/* ==========================================================================
   ALTA LEGIBILIDADE & CONTRASTE SOBERANO (TDAH & EXECUTIVE WORKSPACE)
   Elimina tons pastéis lavados, eleva contraste WCAG AAA e destaca propostas
   ========================================================================== */

/* 1. Cards do Kanban: Alto contraste, bordas nítidas e sombra estruturada */
.opp-card {
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.07) !important;
  padding: 0.9rem !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.opp-card:hover {
  background: #FFFFFF !important;
  border-color: #2563EB !important;
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.18) !important;
  transform: translateY(-2px) !important;
}

/* 2. Títulos e Textos Principais: Preto/Ardósia escuro e nítido (Zero branco-no-cinza) */
.card-title,
.card-objeto-clean {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #0F172A !important; /* Slate-900 puro para leitura instantânea */
  line-height: 1.4 !important;
}

.card-orgao,
.card-orgao-line {
  font-size: 0.74rem !important;
  color: #334155 !important; /* Slate-700 */
  font-weight: 600 !important;
}

/* 3. Valores e Lucro Líquido: Contraste vibrante */
.card-profit-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  background: #ECFDF5 !important;
  color: #065F46 !important; /* Verde escuro nítido */
  font-weight: 800 !important;
  font-family: var(--font-mono) !important;
  font-size: 0.82rem !important;
  border: 1.5px solid #10B981 !important;
  box-shadow: 0 1px 3px rgba(16, 185, 129, 0.25) !important;
}

.card-teto-chip {
  font-size: 0.75rem !important;
  color: #1E293B !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
}

/* 4. Badges de Estado e Tipo: Identificação em 0.1s */
.uf-tag,
.card-tag-uf {
  font-size: 0.72rem !important;
  font-family: var(--font-mono) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  background: #0F172A !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  border: none !important;
  letter-spacing: 0.03em !important;
}

.badge-tipo-material {
  background: #EFF6FF !important;
  color: #1D4ED8 !important;
  border: 1.5px solid #93C5FD !important;
  font-weight: 700 !important;
  font-size: 0.68rem !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

.badge-tipo-servico {
  background: #EEF2FF !important;
  color: #4338CA !important;
  border: 1.5px solid #A5B4FC !important;
  font-weight: 700 !important;
  font-size: 0.68rem !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

.mod-tag.dispensa {
  background: #F8FAFC !important;
  color: #2563EB !important;
  border: 1.5px solid #93C5FD !important;
  font-weight: 800 !important;
  font-size: 0.68rem !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

.cnae-card-pill.ok {
  background: #ECFDF5 !important;
  color: #047857 !important;
  border: 1.5px solid #34D399 !important;
  font-weight: 800 !important;
}

/* 5. Destaque Especial na Coluna 'Proposta Registrada' */
#colProposta {
  background: rgba(16, 185, 129, 0.05) !important;
  border: 2px solid #10B981 !important;
}

#colProposta .column-header {
  background: #ECFDF5 !important;
  border-bottom: 2px solid #10B981 !important;
}

#colProposta .col-title {
  color: #065F46 !important;
  font-weight: 800 !important;
}

#countProposta {
  background: #10B981 !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
}

/* 6. GAVETA LATERAL (DRAWER): DESIGN SYSTEM DE ALTO CONTRASTE */
.quotation-drawer {
  background: #FFFFFF !important;
  color: #0F172A !important;
  border-left: 2px solid #CBD5E1 !important;
  box-shadow: -10px 0 40px rgba(15, 23, 42, 0.25) !important;
}

.drawer-header {
  background: #FFFFFF !important;
  border-bottom: 2px solid #E2E8F0 !important;
  padding: 1.25rem 1.5rem !important;
}

.drawer-title {
  color: #0F172A !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.drawer-meta {
  color: #334155 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-top: 0.35rem !important;
}

.drawer-badge {
  background: #E0F2FE !important;
  color: #0369A1 !important;
  border: 1.5px solid #0284C7 !important;
  font-weight: 800 !important;
  font-size: 0.75rem !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
}

.drawer-badge-tipo {
  background: #F1F5F9 !important;
  color: #0F172A !important;
  border: 1.5px solid #94A3B8 !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
}

/* Abas do Drawer */
.drawer-tabs-bar {
  background: #F8FAFC !important;
  border-bottom: 2px solid #CBD5E1 !important;
  padding: 0.5rem 1rem !important;
  gap: 8px !important;
}

.drawer-tab-btn {
  background: #FFFFFF !important;
  color: #334155 !important;
  border: 1.5px solid #CBD5E1 !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
}

.drawer-tab-btn:hover {
  background: #F1F5F9 !important;
  color: #0F172A !important;
  border-color: #94A3B8 !important;
}

.drawer-tab-btn.active {
  background: #0284C7 !important;
  color: #FFFFFF !important;
  border-color: #0284C7 !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3) !important;
}

/* Seções Gerais do Drawer */
.drawer-section {
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 1.1rem !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  color: #0F172A !important;
}

.section-title {
  color: #0F172A !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  letter-spacing: -0.01em !important;
}

/* Tab 1: Visão & Edital */
.drawer-object-full {
  color: #0F172A !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

.hermes-summary-text {
  color: #064E3B !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

/* Tab 2: Sala de Lances & Disputa */
#pane-tab-bidding-room > section:first-child {
  background: #0F172A !important;
  border: 2px solid #334155 !important;
  color: #F8FAFC !important;
}

#pane-tab-bidding-room > section:first-child span {
  color: #94A3B8 !important;
  font-weight: 700 !important;
}

#biddingLiveCountdown {
  color: #F59E0B !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  font-family: monospace !important;
  text-shadow: 0 0 12px rgba(245, 158, 11, 0.4) !important;
}

#biddingDataAberturaFmt {
  color: #FFFFFF !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

/* Cards de Preço & IA */
#biddingValTeto {
  color: #0F172A !important;
  font-size: 1.4rem !important;
  font-weight: 900 !important;
}

#biddingValSugerido {
  color: #0284C7 !important;
  font-size: 1.4rem !important;
  font-weight: 900 !important;
}

#biddingMargemSugerida {
  color: #0369A1 !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
}

#biddingValPiso {
  color: #DC2626 !important;
  font-size: 1.4rem !important;
  font-weight: 900 !important;
}

/* Inputs & Controles do Drawer */
.drawer-section input,
.drawer-section select,
.drawer-section textarea {
  background: #FFFFFF !important;
  color: #0F172A !important;
  border: 2px solid #94A3B8 !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
}

.drawer-section input:focus,
.drawer-section select:focus,
.drawer-section textarea:focus {
  border-color: #0284C7 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.2) !important;
}

.dossier-card {
  background: #F8FAFC !important;
  border: 1.5px solid #CBD5E1 !important;
  padding: 0.75rem !important;
  border-radius: 8px !important;
}

.dossier-card h4,
.dossier-card strong {
  color: #0F172A !important;
}

.dossier-card p {
  color: #334155 !important;
  line-height: 1.45 !important;
}

/* 7. Botões da Topbar com Foco Nacional */
.topbar-region-btn.active {
  background: #0F172A !important;
  color: #FFFFFF !important;
  border-color: #0F172A !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25) !important;
}

/* ========================================================
   MESA SNIPER B2G: FEEDBACK VISUAL AO VIVO & ANIMAÇÕES
   ======================================================== */
@keyframes bidShakePulse {
  0% {
    transform: scale(1) translateX(0);
    box-shadow: 0 0 0 rgba(16, 185, 129, 0);
  }
  20% {
    transform: scale(1.02) translateX(-5px);
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.6);
    border-color: #10b981 !important;
  }
  40% {
    transform: scale(1.02) translateX(5px);
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.6);
  }
  60% {
    transform: scale(1.01) translateX(-3px);
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.4);
  }
  80% {
    transform: scale(1.01) translateX(3px);
  }
  100% {
    transform: scale(1) translateX(0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  }
}

.bid-pulse-shake {
  animation: bidShakePulse 0.65s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes priceFlash {
  0% {
    background-color: rgba(16, 185, 129, 0.6);
    color: #ffffff;
    transform: scale(1.08);
  }
  100% {
    background-color: transparent;
    color: #34d399;
    transform: scale(1);
  }
}

.price-flash {
  display: inline-block;
  animation: priceFlash 0.8s ease-out;
  border-radius: 4px;
  padding: 0 4px;
}

.sniper-vip-card {
  background: #0b1322;
  border: 1px solid #1e293b;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.sniper-vip-card:hover {
  border-color: #38bdf8;
  box-shadow: 0 6px 20px rgba(56, 189, 248, 0.15);
}

.sniper-bid-input {
  background: #020617 !important;
  color: #38bdf8 !important;
  border: 1.5px solid #0284c7 !important;
  font-family: monospace !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  width: 100% !important;
  outline: none !important;
}

.sniper-bid-input:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.4) !important;
}

.micro-step-btn {
  background: #1e293b;
  color: #94a3b8;
  border: 1px solid #334155;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
}

.micro-step-btn:hover {
  background: #334155;
  color: #f8fafc;
  border-color: #475569;
}







