/* ==========================================================================
   RAP10 REFORMAS & FÁBIO BIN CORRETOR - SISTEMA ENTERPRISE v21.0
   Design System: Futuristic Biomorphic Glassmorphism & Liquid Capsule UI
   Inspirado no conjunto de cápsulas de alta precisão (Vidro Líquido, Esmalte, Titânio e Acentos Neon)
   ========================================================================== */

:root {
  /* Fundo Orgânico Futurista Suave (Adeus ao Black plano antigo!) */
  --bg-main: #181c24;
  --bg-main-gradient: radial-gradient(circle at 50% 30%, #252c3a 0%, #151922 65%, #0f1218 100%);
  --bg-card: rgba(28, 34, 48, 0.78);
  --bg-card-hover: rgba(38, 46, 64, 0.9);
  --bg-surface: rgba(33, 40, 56, 0.85);
  --bg-input: rgba(18, 22, 32, 0.75);
  --border-color: rgba(255, 255, 255, 0.14);
  --border-glass: rgba(255, 255, 255, 0.22);
  --border-focus: #00e5a3;
  
  --text-main: #f8fafc;
  --text-muted: #a0aec0;
  --text-dim: #718096;
  
  /* Paleta Inspirada nas Cápsulas da Referência */
  --bio-green: #00e5a3;       /* Cápsula Verde Esmeralda Fluorescente */
  --bio-green-deep: #13382c;
  --bio-blue: #00b4d8;        /* Cápsula Azul Titânio Polido */
  --bio-blue-deep: #162a45;
  --bio-purple: #c084fc;      /* Cápsula Roxo Ametista Gel */
  --bio-purple-deep: #321d47;
  --bio-copper: #f97316;      /* Cápsula Bronze Cobre Metálico */
  --bio-copper-deep: #3d2314;
  --bio-teal: #2dd4bf;        /* Cápsula Verde-Água Translúcida */
  --bio-teal-deep: #113834;
  --bio-crimson: #ff3366;     /* Cápsula Vermelha Escovada / Neon */
  --bio-crimson-deep: #3b111e;

  /* Cores Globais da Aplicação Harmonizadas */
  --gold-500: #f59e0b;
  --gold-400: #fbbf24;
  --gold-600: #d97706;
  --gold-glow: rgba(245, 158, 11, 0.35);
  
  --blue-500: #00b4d8;
  --blue-600: #0284c7;
  --blue-glow: rgba(0, 180, 216, 0.35);
  
  --green-500: #00e5a3;
  --green-600: #059669;
  --green-glow: rgba(0, 229, 163, 0.35);
  
  --red-500: #ff3366;
  --red-600: #e11d48;
  --red-glow: rgba(255, 51, 102, 0.35);
  
  --purple-500: #c084fc;
  
  /* Curvaturas Orgânicas Biomórficas */
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --radius-xl: 36px;
  --radius-pill: 9999px;
  
  /* Sombras Difusas & Efeito Lustroso de Esmalte e Vidro Líquido */
  --shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.6);
  --shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
  --shadow-neon: 0 0 20px rgba(0, 229, 163, 0.25);
  
  --font-main: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
}

/* ==========================================================================
   ESTILO 1 (PADRÃO): BIOMORPHIC CAPSULE GLASS
   ========================================================================== */
html.theme-biomorphic,
body.theme-biomorphic {
  --bg-main: #181c24;
  --bg-card: rgba(25, 31, 44, 0.82);
  --bg-card-hover: rgba(35, 43, 60, 0.95);
  --bg-surface: rgba(30, 38, 54, 0.88);
  --bg-input: rgba(16, 20, 30, 0.85);
  --border-color: rgba(255, 255, 255, 0.16);
  --border-focus: #00e5a3;
  --text-main: #f8fafc;
  --text-muted: #a0aec0;
  --text-dim: #718096;
}

/* ==========================================================================
   ESTILO 2: CRYSTAL GLASSMORPHISM (TRANSLÚCIDO ESMALTADO & TEAL)
   ========================================================================== */
html.theme-crystal,
body.theme-crystal {
  --bg-main: #13222a;
  --bg-card: rgba(20, 38, 48, 0.75);
  --bg-card-hover: rgba(28, 52, 66, 0.9);
  --bg-surface: rgba(24, 46, 58, 0.82);
  --bg-input: rgba(11, 24, 32, 0.8);
  --border-color: rgba(45, 212, 191, 0.28);
  --border-focus: #2dd4bf;
  --text-main: #f0fdfa;
  --text-muted: #99f6e4;
  --text-dim: #5eead4;
  --gold-500: #2dd4bf;
  --gold-glow: rgba(45, 212, 191, 0.35);
  --blue-500: #38bdf8;
}

/* ==========================================================================
   ESTILO 3: NEO-ORANGE AMBER (BRONZE METÁLICO & COBRE)
   ========================================================================== */
html.theme-amber,
body.theme-amber {
  --bg-main: #191614;
  --bg-card: rgba(35, 28, 24, 0.85);
  --bg-card-hover: rgba(48, 38, 32, 0.95);
  --bg-surface: rgba(42, 33, 28, 0.9);
  --bg-input: rgba(22, 18, 16, 0.85);
  --border-color: rgba(249, 115, 22, 0.25);
  --border-focus: #f97316;
  --text-main: #fff7ed;
  --text-muted: #fed7aa;
  --text-dim: #fb923c;
  --gold-500: #f97316;
  --gold-400: #fb923c;
  --gold-glow: rgba(249, 115, 22, 0.35);
}

/* ==========================================================================
   ESTILO 4: CLARO SOLAR (LUZ DO DIA / ALTO CONTRASTE)
   ========================================================================== */
html.theme-light,
body.theme-light {
  --bg-main: #f1f5f9;
  --bg-card: #ffffff;
  --bg-card-hover: #f8fafc;
  --bg-surface: #e2e8f0;
  --bg-input: #ffffff;
  --border-color: #cbd5e1;
  --border-focus: #d97706;
  --text-main: #0f172a;
  --text-muted: #334155;
  --text-dim: #475569;
  --gold-500: #d97706;
  --gold-400: #b45309;
  --gold-600: #92400e;
  --gold-glow: rgba(217, 119, 6, 0.2);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   CONTROLE DE ALTERNÂNCIA DE TEMAS NO TOPO (PÍLULA DE VIDRO POLIDO)
   ========================================================================== */
.theme-toggle-container {
  display: inline-flex;
  align-items: center;
  background: rgba(24, 30, 44, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 9999px;
  padding: 2px 4px;
  gap: 3px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  user-select: none;
  flex-shrink: 0;
  height: 32px;
  box-sizing: border-box;
}

.theme-switch-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px 7px;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: transparent;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  line-height: 1;
  white-space: nowrap;
  height: 26px;
  box-sizing: border-box;
}

.theme-switch-btn .theme-icon {
  font-size: 12px;
  line-height: 1;
}

/* Mostra o label apenas no tema ativo para máxima elegância e economia de 200px */
.theme-switch-btn:not(.active) .theme-label {
  display: none !important;
}

.theme-switch-btn.active .theme-label {
  display: inline !important;
  font-weight: 800;
  font-size: 10.5px;
}

.theme-switch-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

/* Ativo: Biomorphic (Verde Esmeralda Fluorescente & Titânio) */
.theme-switch-btn#btn-theme-biomorphic.active {
  background: linear-gradient(135deg, #00e5a3 0%, #059669 100%);
  color: #032317 !important;
  font-weight: 900;
  border-color: #6ee7b7;
  box-shadow: 0 2px 10px rgba(0, 229, 163, 0.45), 0 0 15px rgba(0, 229, 163, 0.3);
}

/* Ativo: Crystal (Teal Cristalino & Água) */
.theme-switch-btn#btn-theme-crystal.active {
  background: linear-gradient(135deg, #2dd4bf 0%, #0d9488 100%);
  color: #042f2e !important;
  font-weight: 900;
  border-color: #99f6e4;
  box-shadow: 0 2px 10px rgba(45, 212, 191, 0.45), 0 0 15px rgba(45, 212, 191, 0.3);
}

/* Ativo: Neo-Amber (Bronze & Cobre Cítrico) */
.theme-switch-btn#btn-theme-amber.active {
  background: linear-gradient(135deg, #f97316 0%, #c2410c 100%);
  color: #ffffff !important;
  font-weight: 800;
  border-color: #fdba74;
  box-shadow: 0 2px 10px rgba(249, 115, 22, 0.45), 0 0 15px rgba(249, 115, 22, 0.3);
}

/* Ativo: Claro (Luz Solar) */
.theme-switch-btn#btn-theme-light.active {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  color: #000000 !important;
  font-weight: 900;
  border-color: #d97706;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35);
}

body.theme-light .theme-toggle-container {
  background: #e2e8f0;
  border-color: #cbd5e1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
body.theme-light .theme-switch-btn {
  color: #475569;
}
body.theme-light .theme-switch-btn:hover {
  color: #0f172a;
}

/* ==========================================================================
   ESTILOS ESPECÍFICOS DO MODO CLARO (LUZ SOLAR / ALTO CONTRASTE)
   ========================================================================== */
body.theme-light {
  background-color: var(--bg-main);
  color: var(--text-main);
}

body.theme-light ::-webkit-scrollbar-track {
  background: #e2e8f0;
}
body.theme-light ::-webkit-scrollbar-thumb {
  background: #94a3b8;
}
body.theme-light ::-webkit-scrollbar-thumb:hover {
  background: var(--gold-500);
}

/* Barra Lateral (Sidebar) */
body.theme-light aside.sidebar {
  background: #ffffff;
  border-right: 1px solid #cbd5e1;
}
body.theme-light .sidebar-header {
  border-bottom: 1px solid #cbd5e1;
}
body.theme-light .brand-info h1 {
  background: linear-gradient(90deg, #0f172a, #d97706);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.theme-light .brand-info span {
  color: #475569;
}
body.theme-light .nav-section-title {
  color: #64748b;
  font-weight: 800;
}
body.theme-light .nav-item {
  color: #334155;
  font-weight: 600;
}
body.theme-light .nav-item i,
body.theme-light .nav-item svg {
  color: #64748b;
}
body.theme-light .nav-item:hover {
  background: #f1f5f9;
  color: #0f172a;
}
body.theme-light .nav-item:hover i,
body.theme-light .nav-item:hover svg {
  color: #d97706;
}
body.theme-light .nav-item.active {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.2), rgba(245, 158, 11, 0.04));
  color: #92400e;
  font-weight: 700;
  border-left: 3px solid #d97706;
}
body.theme-light .nav-item.active i,
body.theme-light .nav-item.active svg {
  color: #d97706;
}
body.theme-light .nav-badge {
  background: #f1f5f9;
  color: #92400e;
  border-color: #fde68a;
}
body.theme-light .sidebar-footer {
  background: #f8fafc;
  border-top: 1px solid #cbd5e1;
}
body.theme-light .user-avatar {
  background: #fef3c7;
  border-color: #d97706;
  color: #92400e;
}
body.theme-light .user-details h4 {
  color: #0f172a;
}
body.theme-light .user-details p {
  color: #b45309;
  font-weight: 600;
}

/* Área Principal & Top Header */
body.theme-light main.main-content {
  background: #f1f5f9;
}
body.theme-light header.top-header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #cbd5e1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
body.theme-light .page-title-box h2 {
  color: #0f172a;
}
body.theme-light .page-title-box p {
  color: #475569;
}
body.theme-light .db-status-pill {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
}
body.theme-light .autosave-pill.saved {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #047857;
}
body.theme-light .autosave-pill:hover {
  background: #d1fae5;
}
body.theme-light #live-clock {
  color: #475569 !important;
}

/* Barra de Citações / Sabedoria / Mentores */
body.theme-light .top-habits-reminder-bar {
  background: linear-gradient(90deg, #fffbeb 0%, #fef3c7 50%, #fffbeb 100%) !important;
  border-bottom: 2.5px solid #d97706 !important;
  box-shadow: 0 2px 10px rgba(217, 119, 6, 0.15) !important;
}
body.theme-light .habits-badge {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #ffffff !important;
  border: 1px solid #b45309 !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.25) !important;
}
body.theme-light .habits-quote-text {
  color: #78350f !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}
body.theme-light .habit-author-badge {
  background: #dbeafe !important;
  border: 1.5px solid #3b82f6 !important;
  color: #1e40af !important;
  box-shadow: none !important;
}
body.theme-light .btn-habit-ctrl {
  background: #ffffff !important;
  border: 1.5px solid #d97706 !important;
  color: #b45309 !important;
}
body.theme-light .btn-habit-ctrl:hover {
  background: #fde68a !important;
}
body.theme-light .btn-habit-shuffle-btn.shuffle-off {
  background: #e2e8f0 !important;
  color: #334155 !important;
  border-color: #cbd5e1 !important;
}

/* Barra de Som Ambiente & YouTube Music (Modo Claro) */
body.theme-light .top-music-player-bar {
  background: linear-gradient(90deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%) !important;
  border-bottom: 2px solid #e2e8f0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}
body.theme-light .top-music-player-bar.collapsed {
  background: #f1f5f9 !important;
  border-bottom-color: #cbd5e1 !important;
}
body.theme-light .music-brand-badge {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
}
body.theme-light .music-channel-select {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
body.theme-light .music-channel-select optgroup {
  background: #ffffff !important;
  color: #64748b !important;
}
body.theme-light .music-channel-select option {
  background: #ffffff !important;
  color: #0f172a !important;
}
body.theme-light .music-track-title {
  color: #0f172a !important;
}
body.theme-light .music-track-sub {
  color: #64748b !important;
}
body.theme-light .btn-music-ctrl {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
body.theme-light .btn-music-ctrl:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
body.theme-light .music-volume-box {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
body.theme-light .btn-volume-mute {
  color: #475569 !important;
}
body.theme-light .music-volume-val {
  color: #475569 !important;
}
body.theme-light .btn-yt-external {
  background: #ffffff !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
  color: #dc2626 !important;
}
body.theme-light .btn-yt-external:hover {
  background: #fee2e2 !important;
  border-color: #dc2626 !important;
}

/* Cartões Gerais & KPI Cards */
body.theme-light .card {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
body.theme-light .card-header {
  border-bottom: 1px solid #e2e8f0;
}
body.theme-light .card-header h3 {
  color: #0f172a;
}
body.theme-light .kpi-card {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
body.theme-light .kpi-info h4 {
  color: #475569;
  font-weight: 700;
}
body.theme-light .kpi-info .kpi-val {
  color: #0f172a;
  font-weight: 800;
}
body.theme-light .kpi-info .kpi-desc {
  color: #64748b;
}
body.theme-light .kpi-gold .kpi-icon { background: #fef3c7; color: #b45309; }
body.theme-light .kpi-blue .kpi-icon { background: #dbeafe; color: #1d4ed8; }
body.theme-light .kpi-green .kpi-icon { background: #d1fae5; color: #047857; }
body.theme-light .kpi-purple .kpi-icon { background: #ede9fe; color: #6d28d9; }

/* Aniversariantes do Mês */
body.theme-light #dash-birthdays-wrapper {
  background: linear-gradient(135deg, #fffbeb 0%, #ffffff 100%) !important;
  border: 1.5px solid #fcd34d !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.12) !important;
}
body.theme-light #dash-birthdays-wrapper h3 {
  color: #92400e !important;
}
body.theme-light #dash-birthdays-carousel > div {
  background: #ffffff !important;
  border: 1.5px solid #fde68a !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}
body.theme-light #dash-birthdays-carousel h4 {
  color: #0f172a !important;
}
.dash-birthday-compact-card {
  transition: all 0.2s ease !important;
}
.dash-birthday-compact-card:hover {
  border-color: rgba(245, 158, 11, 0.6) !important;
  transform: translateY(-1px);
}
body.theme-light .dash-birthday-compact-card:hover {
  border-color: #f59e0b !important;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.15) !important;
}

/* Tabelas e Dados */
body.theme-light table.data-table th,
body.theme-light table.table th {
  background: #f1f5f9;
  color: #1e293b;
  border-bottom: 2px solid #cbd5e1;
  font-weight: 700;
}
body.theme-light table.data-table td,
body.theme-light table.table td {
  color: #1e293b;
  border-bottom: 1px solid #e2e8f0;
}
body.theme-light table.data-table tbody tr:hover,
body.theme-light table.table tbody tr:hover {
  background: #f8fafc;
}
body.theme-light table.data-table td b,
body.theme-light table.data-table td strong {
  color: #0f172a;
}
body.theme-light table.data-table td b[style*="gold"],
body.theme-light table.data-table td [style*="gold"] {
  color: #b45309 !important;
}

/* Badges em Alta Nitidez para Luz Solar */
body.theme-light .badge-gold { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; font-weight: 700; }
body.theme-light .badge-green { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; font-weight: 700; }
body.theme-light .badge-blue { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; font-weight: 700; }
body.theme-light .badge-red { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; font-weight: 700; }
body.theme-light .badge-purple { background: #ede9fe; color: #6d28d9; border: 1px solid #ddd6fe; font-weight: 700; }
body.theme-light .badge-gray { background: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; font-weight: 700; }

/* Abas e Filtros */
body.theme-light .proposal-tabs-wrapper {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
}
body.theme-light .tab-pill-btn {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #334155 !important;
}
body.theme-light .tab-pill-btn span {
  color: #334155 !important;
}
body.theme-light .tab-pill-btn:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}
body.theme-light .tab-pill-btn.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  border-color: #d97706 !important;
  color: #000000 !important;
}
body.theme-light .tab-pill-btn .tab-count {
  background: #f1f5f9;
  color: #92400e;
  border: 1px solid #cbd5e1;
}

body.theme-light .btn-tab-filter {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #334155;
}
body.theme-light .btn-tab-filter:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
}
body.theme-light .btn-tab-filter.active {
  background: #f59e0b;
  color: #000000;
  border-color: #d97706;
}

/* Formulários & Campos de Entrada */
body.theme-light label.form-label {
  color: #1e293b;
  font-weight: 700;
}
body.theme-light .form-control {
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  color: #0f172a;
}
body.theme-light .form-control:focus {
  background: #ffffff;
  border-color: #d97706;
  color: #0f172a;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}
body.theme-light .form-control::placeholder {
  color: #94a3b8;
}
body.theme-light select.form-control option {
  background: #ffffff;
  color: #0f172a;
}
body.theme-light .search-box input {
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  color: #0f172a;
}
body.theme-light .search-box i,
body.theme-light .search-box svg {
  color: #64748b;
}

/* Botões Secundários */
body.theme-light .btn-secondary {
  background: #ffffff;
  color: #1e293b;
  border: 1.5px solid #cbd5e1;
}
body.theme-light .btn-secondary:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
}

/* Modais & Dialogs */
body.theme-light .modal-backdrop {
  background: rgba(15, 23, 42, 0.5);
  backdrop-filter: blur(6px);
}
body.theme-light .modal-dialog {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
body.theme-light .modal-header {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
body.theme-light .modal-header h3,
body.theme-light .modal-header h2 {
  color: #0f172a;
}
body.theme-light .modal-close {
  color: #64748b;
}
body.theme-light .modal-close:hover {
  color: #0f172a;
  background: #e2e8f0;
}
body.theme-light .modal-footer {
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}

/* ==========================================================================
   🚨 PADRÃO UNIVERSAL DE ALTO CONTRASTE E LEGIBILIDADE (MODO CLARO)
   Garante que nenhum texto fique invisível, apagado ou desbotado em modais e cards
   ========================================================================== */
body.theme-light .modal-dialog {
  background: #ffffff !important;
  color: #0f172a !important;
}

/* Converte textos brancos ou esbranquiçados em modais claros para preto/grafite de altíssima legibilidade */
body.theme-light .modal-dialog [style*="color: #ffffff"],
body.theme-light .modal-dialog [style*="color:#ffffff"],
body.theme-light .modal-dialog [style*="color: #fff"],
body.theme-light .modal-dialog [style*="color:#fff"],
body.theme-light .modal-dialog [style*="color: white"],
body.theme-light .modal-dialog [style*="color:white"] {
  color: #0f172a !important;
}

/* Textos cinza-claros viram grafite escuro com bom peso */
body.theme-light .modal-dialog [style*="color: #cbd5e1"],
body.theme-light .modal-dialog [style*="color:#cbd5e1"],
body.theme-light .modal-dialog [style*="color: #e2e8f0"],
body.theme-light .modal-dialog [style*="color:#e2e8f0"],
body.theme-light .modal-dialog [style*="color: #94a3b8"],
body.theme-light .modal-dialog [style*="color:#94a3b8"],
body.theme-light .modal-dialog [style*="color: var(--text-dim)"],
body.theme-light .modal-dialog [style*="color:var(--text-dim)"] {
  color: #1e293b !important;
  font-weight: 600 !important;
}

body.theme-light .modal-dialog [style*="color: var(--text-muted)"],
body.theme-light .modal-dialog [style*="color:var(--text-muted)"] {
  color: #334155 !important;
  font-weight: 500 !important;
}

/* Textos rosas e vermelhos claros viram vermelho escuro de alta leitura */
body.theme-light .modal-dialog [style*="color: #fca5a5"],
body.theme-light .modal-dialog [style*="color:#fca5a5"],
body.theme-light .modal-dialog [style*="color: #f87171"],
body.theme-light .modal-dialog [style*="color:#f87171"],
body.theme-light .modal-dialog [style*="color: #ef4444"],
body.theme-light .modal-dialog [style*="color:#ef4444"] {
  color: #991b1b !important;
  font-weight: 700 !important;
}

/* Textos verdes claros viram verde floresta escuro de altíssima nitidez */
body.theme-light .modal-dialog [style*="color: #34d399"],
body.theme-light .modal-dialog [style*="color:#34d399"],
body.theme-light .modal-dialog [style*="color: #6ee7b7"],
body.theme-light .modal-dialog [style*="color:#6ee7b7"],
body.theme-light .modal-dialog [style*="color: #a7f3d0"],
body.theme-light .modal-dialog [style*="color:#a7f3d0"] {
  color: #065f46 !important;
  font-weight: 700 !important;
}

/* Textos azuis claros viram azul royal escuro legível */
body.theme-light .modal-dialog [style*="color: #60a5fa"],
body.theme-light .modal-dialog [style*="color:#60a5fa"],
body.theme-light .modal-dialog [style*="color: #93c5fd"],
body.theme-light .modal-dialog [style*="color:#93c5fd"] {
  color: #1d4ed8 !important;
  font-weight: 700 !important;
}

body.theme-light .modal-dialog .form-label {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   🚨 MODAL DE CONFIRMAÇÃO DE EXCLUSÃO & SEGURANÇA (MODO CLARO)
   ========================================================================== */
body.theme-light .modal-delete-confirm-dialog,
body.theme-light #modal-confirm-delete-proposal .modal-dialog,
body.theme-light #modal-confirm-delete-universal .modal-dialog {
  background: #ffffff !important;
  border: 2.5px solid #dc2626 !important;
  box-shadow: 0 25px 60px rgba(220, 38, 38, 0.22) !important;
}

body.theme-light .modal-delete-confirm-header,
body.theme-light #modal-confirm-delete-proposal .modal-header,
body.theme-light #modal-confirm-delete-universal .modal-header {
  background: linear-gradient(135deg, #fee2e2 0%, #fef2f2 100%) !important;
  border-bottom: 2px solid #ef4444 !important;
}

body.theme-light .delete-modal-title,
body.theme-light #modal-confirm-delete-proposal h3,
body.theme-light #universal-delete-title {
  color: #991b1b !important;
  font-weight: 900 !important;
  font-size: 18px !important;
}

body.theme-light .delete-modal-subtitle,
body.theme-light #modal-confirm-delete-proposal .modal-header p,
body.theme-light #modal-confirm-delete-universal .modal-header p {
  color: #7f1d1d !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

body.theme-light .modal-delete-confirm-header .modal-close,
body.theme-light #modal-confirm-delete-proposal .modal-close,
body.theme-light #modal-confirm-delete-universal .modal-close {
  color: #991b1b !important;
  font-weight: 800 !important;
}

body.theme-light .modal-delete-confirm-header .modal-close:hover,
body.theme-light #modal-confirm-delete-proposal .modal-close:hover,
body.theme-light #modal-confirm-delete-universal .modal-close:hover {
  background: #fecaca !important;
  color: #7f1d1d !important;
}

/* Card Vermelho de Alerta Crítico */
body.theme-light .delete-warning-box,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:first-child,
body.theme-light #modal-confirm-delete-universal .modal-body > div:first-child {
  background: #fef2f2 !important;
  border: 2px solid #ef4444 !important;
  border-left: 6px solid #dc2626 !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.1) !important;
}

body.theme-light .delete-warning-text,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:first-child p:first-child,
body.theme-light #universal-delete-message {
  color: #7f1d1d !important;
  font-weight: 900 !important;
  font-size: 15px !important;
}

body.theme-light .delete-warning-subtext,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:first-child p:last-child,
body.theme-light #universal-delete-submessage {
  color: #991b1b !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Card de Dados da Obra / Item */
body.theme-light .delete-item-preview-box,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(2),
body.theme-light #universal-delete-item-info {
  background: #f8fafc !important;
  border: 2px solid #cbd5e1 !important;
  border-left: 6px solid #2563eb !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

body.theme-light .delete-preview-label {
  color: #475569 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

body.theme-light .delete-preview-name,
body.theme-light #delete-proposal-client-name {
  color: #0f172a !important;
  font-weight: 900 !important;
  font-size: 16.5px !important;
}

body.theme-light .delete-preview-address,
body.theme-light #delete-proposal-address {
  color: #1e293b !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

body.theme-light .delete-preview-grid {
  border-top: 1.5px solid #e2e8f0 !important;
}

body.theme-light .delete-preview-meta-label {
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

body.theme-light .delete-preview-value,
body.theme-light #delete-proposal-value {
  color: #0f172a !important;
  font-weight: 900 !important;
  font-size: 15.5px !important;
}

body.theme-light .delete-preview-status,
body.theme-light #delete-proposal-status {
  color: #1d4ed8 !important;
  font-weight: 900 !important;
  font-size: 13.5px !important;
}

/* Card Verde de Garantia e Proteção de Cadastros */
body.theme-light .delete-guarantee-box,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(3) {
  background: #ecfdf5 !important;
  border: 2px solid #10b981 !important;
  border-left: 6px solid #059669 !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.1) !important;
}

body.theme-light .delete-guarantee-header,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(3) > div:first-child {
  color: #065f46 !important;
  font-weight: 900 !important;
  font-size: 13.5px !important;
}

body.theme-light .delete-guarantee-list,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(3) > div:last-child {
  color: #064e3b !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body.theme-light .delete-guarantee-list b,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(3) b {
  color: #022c22 !important;
  font-weight: 900 !important;
}

body.theme-light .delete-guarantee-note,
body.theme-light #modal-confirm-delete-proposal .modal-body > div:nth-child(3) i {
  color: #047857 !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  font-style: italic !important;
}

/* Footer dos Modais de Exclusão */
body.theme-light .modal-delete-confirm-footer,
body.theme-light #modal-confirm-delete-proposal .modal-footer,
body.theme-light #modal-confirm-delete-universal .modal-footer {
  background: #f8fafc !important;
  border-top: 1.5px solid #cbd5e1 !important;
}

body.theme-light .btn-delete-cancel,
body.theme-light #modal-confirm-delete-proposal .modal-footer .btn-secondary,
body.theme-light #modal-confirm-delete-universal .modal-footer .btn-secondary {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 2px solid #94a3b8 !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .btn-delete-cancel:hover,
body.theme-light #modal-confirm-delete-proposal .modal-footer .btn-secondary:hover,
body.theme-light #modal-confirm-delete-universal .modal-footer .btn-secondary:hover {
  background: #f1f5f9 !important;
  border-color: #64748b !important;
}

body.theme-light .btn-delete-action,
body.theme-light #btn-confirm-delete-proposal-action,
body.theme-light #btn-universal-confirm-delete-action {
  background: #dc2626 !important;
  border: 2px solid #b91c1c !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35) !important;
}

body.theme-light .btn-delete-action:hover,
body.theme-light #btn-confirm-delete-proposal-action:hover,
body.theme-light #btn-universal-confirm-delete-action:hover {
  background: #b91c1c !important;
}

/* ==========================================================================
   🔴 MODAL DE CANCELAMENTO COM REGISTRO DE MOTIVO (MODO CLARO)
   ========================================================================== */
body.theme-light .modal-cancel-confirm-dialog,
body.theme-light #modal-cancel-proposal .modal-dialog {
  background: #ffffff !important;
  border: 2px solid #dc2626 !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
}

body.theme-light .modal-cancel-confirm-header,
body.theme-light #modal-cancel-proposal .modal-header {
  background: linear-gradient(135deg, #fee2e2 0%, #fef2f2 100%) !important;
  border-bottom: 2px solid #ef4444 !important;
}

body.theme-light .cancel-modal-title,
body.theme-light #modal-cancel-proposal h3 {
  color: #991b1b !important;
  font-weight: 900 !important;
  font-size: 18px !important;
}

body.theme-light .cancel-modal-subtitle,
body.theme-light #modal-cancel-proposal .modal-header p {
  color: #7f1d1d !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

body.theme-light .cancel-item-preview-box,
body.theme-light #modal-cancel-proposal .modal-body > div:first-child {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-left: 6px solid #dc2626 !important;
}

body.theme-light .cancel-preview-label {
  color: #475569 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

body.theme-light .cancel-preview-name,
body.theme-light #cancel-proposal-client-name {
  color: #0f172a !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

body.theme-light .cancel-preview-address,
body.theme-light #cancel-proposal-address {
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

body.theme-light .cancel-chips-label,
body.theme-light #modal-cancel-proposal label {
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.theme-light .cancel-textarea-label {
  color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}

body.theme-light .cancel-note-box,
body.theme-light #modal-cancel-proposal .modal-body > div:last-child {
  font-size: 12.5px !important;
  color: #1e293b !important;
  font-weight: 600 !important;
  background: #f1f5f9 !important;
  border: 1.5px solid #cbd5e1 !important;
}

body.theme-light .modal-cancel-confirm-footer,
body.theme-light #modal-cancel-proposal .modal-footer {
  background: #f8fafc !important;
  border-top: 1.5px solid #cbd5e1 !important;
}

body.theme-light .btn-cancel-back,
body.theme-light #modal-cancel-proposal .modal-footer .btn-secondary {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 2px solid #94a3b8 !important;
  font-weight: 800 !important;
}

body.theme-light .btn-cancel-confirm,
body.theme-light #modal-cancel-proposal .modal-footer .btn-danger {
  background: #dc2626 !important;
  border: 2px solid #b91c1c !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

/* Modal WhatsApp High-Contrast Accessibility Overrides */
#modal-send-whatsapp .form-label,
#modal-send-whatsapp label {
  font-weight: 800 !important;
}
body.theme-light #modal-send-whatsapp,
[data-theme="light"] #modal-send-whatsapp {
  color: #0f172a !important;
}
body.theme-light #modal-send-whatsapp .form-label,
[data-theme="light"] #modal-send-whatsapp .form-label,
body.theme-light #modal-send-whatsapp label,
[data-theme="light"] #modal-send-whatsapp label {
  color: #0f172a !important;
  font-weight: 800 !important;
}
body.theme-light #modal-send-whatsapp #wa-client-phone-label,
[data-theme="light"] #modal-send-whatsapp #wa-client-phone-label {
  color: #b45309 !important;
  font-weight: 900 !important;
}
body.theme-light #modal-send-whatsapp #wa-pdf-attachment-title,
[data-theme="light"] #modal-send-whatsapp #wa-pdf-attachment-title {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light #modal-send-whatsapp #wa-pdf-attachment-subtitle,
[data-theme="light"] #modal-send-whatsapp #wa-pdf-attachment-subtitle {
  color: #1e293b !important;
  font-weight: 700 !important;
}
body.theme-light #modal-send-whatsapp textarea#wa-message-preview,
[data-theme="light"] #modal-send-whatsapp textarea#wa-message-preview {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 2px solid #94a3b8 !important;
  font-weight: 700 !important;
}
body.theme-light #modal-send-whatsapp #wa-auto-pdf-notice,
[data-theme="light"] #modal-send-whatsapp #wa-auto-pdf-notice {
  background: #f1f5f9 !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}


/* Modal Financeiro da Obra Light Theme Overrides */
body.theme-light #modal-financeiro-obra h4 {
  color: #0f172a !important;
  font-weight: 800;
}
body.theme-light #modal-financeiro-obra h4[style*="gold"],
body.theme-light #modal-financeiro-obra h4[style*="var(--gold-400)"] {
  color: #b45309 !important;
}
body.theme-light #modal-financeiro-obra h4[style*="#60a5fa"] {
  color: #1d4ed8 !important;
}
body.theme-light #modal-financeiro-obra table.data-table tbody td b[style*="color: #ffffff"],
body.theme-light #modal-financeiro-obra table.data-table tbody td b[style*="color: #fff"] {
  color: #0f172a !important;
}
body.theme-light #modal-financeiro-obra table.data-table tbody td small[style*="color: #cbd5e1"] {
  color: #334155 !important;
}

/* ==========================================================================
   🧾 MODAL EMISSÃO DE RECIBOS & ENVIO WHATSAPP (MODO CLARO - ALTO CONTRASTE)
   ========================================================================== */
body.theme-light #modal-recibo-pagamento .modal-dialog,
body.theme-light #modal-send-whatsapp .modal-dialog {
  background: #ffffff !important;
  border: 2px solid #cbd5e1 !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
}

body.theme-light #modal-recibo-pagamento .modal-header,
body.theme-light #modal-send-whatsapp .modal-header {
  background: #f1f5f9 !important;
  border-bottom: 2px solid #cbd5e1 !important;
}

body.theme-light #modal-recibo-pagamento .modal-header h3,
body.theme-light #modal-recibo-pagamento #modal-recibo-header-title,
body.theme-light #modal-send-whatsapp .modal-header h3 {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light #modal-recibo-pagamento #modal-recibo-header-subtitle {
  color: #334155 !important;
  font-weight: 700 !important;
}

body.theme-light #recibo-obra-info-box {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-left: 5px solid #0284c7 !important;
}

body.theme-light #recibo-obra-info-box div[style*="color: #ffffff"],
body.theme-light #recibo-obra-info-box div[style*="color:#ffffff"] {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light #recibo-obra-info-box div[style*="color: var(--text-dim)"] {
  color: #475569 !important;
  font-weight: 700 !important;
}

body.theme-light #recibo-maquininha-box {
  background: #f0f9ff !important;
  border: 1.5px solid #0284c7 !important;
}

body.theme-light #recibo-maquininha-box div[style*="color: #38bdf8"] {
  color: #0369a1 !important;
  font-weight: 800 !important;
}

body.theme-light #recibo-maquininha-resumo {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
}

body.theme-light #recibo-maquininha-resumo b,
body.theme-light #recibo-maquininha-resumo strong {
  color: #0f172a !important;
}

body.theme-light #modal-recibo-pagamento .form-label,
body.theme-light #modal-send-whatsapp .form-label {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light #modal-recibo-pagamento label,
body.theme-light #modal-send-whatsapp label {
  color: #0f172a !important;
  font-weight: 700 !important;
}

body.theme-light #modal-recibo-pagamento input,
body.theme-light #modal-recibo-pagamento select,
body.theme-light #modal-send-whatsapp input,
body.theme-light #modal-send-whatsapp select,
body.theme-light #modal-send-whatsapp textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #94a3b8 !important;
  font-weight: 600 !important;
}

body.theme-light #modal-recibo-pagamento input:focus,
body.theme-light #modal-recibo-pagamento select:focus,
body.theme-light #modal-send-whatsapp textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

/* WhatsApp preview text area and document attachment badge in Light Mode */
body.theme-light #modal-send-whatsapp [style*="background: rgba(30, 41, 59"] {
  background: #f8fafc !important;
  border: 1.5px solid #93c5fd !important;
}

body.theme-light #modal-send-whatsapp #wa-pdf-attachment-title {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light #modal-send-whatsapp #wa-pdf-attachment-subtitle {
  color: #334155 !important;
  font-weight: 700 !important;
}

/* Barra de Destaque para Recebimentos & Parcelas do Cliente */
.fin-recebimentos-header-bar {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.18) 0%, rgba(15, 23, 42, 0.95) 45%, rgba(6, 78, 59, 0.25) 100%) !important;
  border: 2px solid #10b981 !important;
  border-left: 6px solid #10b981 !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 18px !important;
  margin-bottom: 14px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  position: relative !important;
  transition: all 0.2s ease !important;
}

.fin-recebimentos-header-bar:hover {
  box-shadow: 0 6px 24px rgba(16, 185, 129, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  border-color: #34d399 !important;
  border-left-color: #34d399 !important;
}

body.theme-light .fin-recebimentos-header-bar {
  background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 60%, #e6fcf5 100%) !important;
  border: 2px solid #059669 !important;
  border-left: 6px solid #059669 !important;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.15) !important;
}

body.theme-light .fin-recebimentos-header-bar h4 {
  color: #064e3b !important;
  text-shadow: none !important;
}

body.theme-light .fin-recebimentos-header-bar div[style*="color: #a7f3d0"] {
  color: #047857 !important;
  font-weight: 700 !important;
}

/* Container de Desconto Concedido na Barra Financeira */
.fin-desconto-container {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #0f172a;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  border: 2px solid #ef4444;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.25);
  transition: all 0.2s ease;
}

.fin-desconto-label {
  font-size: 12.5px;
  font-weight: 900;
  color: #f87171;
  display: flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 0.2px;
}

.fin-desconto-currency {
  font-size: 13px;
  color: #cbd5e1;
  font-weight: 800;
}

.fin-desconto-input {
  width: 115px;
  background: #1e293b;
  border: 2px solid #ef4444;
  color: #ffffff;
  font-weight: 900;
  font-size: 14.5px;
  border-radius: 6px;
  padding: 4px 8px;
  text-align: right;
  outline: none;
  transition: all 0.2s ease;
}

.fin-desconto-input:focus {
  border-color: #f87171;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.35);
}

/* Botão Organizar por Data */
.fin-btn-organizar {
  font-weight: 900 !important;
  border: 2px solid #2563eb !important;
  color: #ffffff !important;
  background: #1d4ed8 !important;
  padding: 7px 14px !important;
  font-size: 12.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.fin-btn-organizar:hover {
  background: #2563eb !important;
  border-color: #3b82f6 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.5) !important;
}

/* Botão Registrar Pagamento */
.fin-btn-registrar-pagamento {
  font-weight: 900 !important;
  font-size: 13px !important;
  padding: 7px 16px !important;
  background: #059669 !important;
  border: 2px solid #047857 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 2px 10px rgba(5, 150, 105, 0.4) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.fin-btn-registrar-pagamento:hover {
  background: #047857 !important;
  border-color: #10b981 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.6) !important;
}

/* Modo Claro (Light Mode) - Cores Vivas, Fortes e Nítidas */
body.theme-light .fin-desconto-container {
  background: #ffffff !important;
  border: 2px solid #dc2626 !important;
  box-shadow: 0 3px 10px rgba(220, 38, 38, 0.2) !important;
}

body.theme-light .fin-desconto-label {
  color: #991b1b !important; /* Vermelho escuro vivo, altíssimo contraste */
}

body.theme-light .fin-desconto-currency {
  color: #1e293b !important;
  font-weight: 900 !important;
}

body.theme-light .fin-desconto-input {
  background: #fff1f2 !important; /* Fundo levemente avermelhado */
  border: 2px solid #dc2626 !important;
  color: #991b1b !important; /* Dígitos em vermelho escuro vivo */
}

body.theme-light .fin-desconto-input:focus {
  border-color: #b91c1c !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.25) !important;
}

body.theme-light .fin-btn-organizar {
  background: #1d4ed8 !important; /* Azul escuro vivo */
  border: 2px solid #1e40af !important;
  color: #ffffff !important;
  box-shadow: 0 3px 10px rgba(29, 78, 216, 0.35) !important;
}

body.theme-light .fin-btn-organizar:hover {
  background: #1e40af !important;
  border-color: #172554 !important;
}

body.theme-light .fin-btn-registrar-pagamento {
  background: #047857 !important; /* Verde esmeralda forte */
  border: 2px solid #064e3b !important;
  color: #ffffff !important;
  box-shadow: 0 3px 10px rgba(4, 120, 87, 0.4) !important;
}

body.theme-light .fin-btn-registrar-pagamento:hover {
  background: #064e3b !important;
}

/* ==========================================================================
   BARRA DE OPÇÕES DE FORNECEDORES (MODAL LISTA DE MATERIAIS) - ALTO CONTRASTE
   ========================================================================== */
.mat-fornecedor-options-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
  padding: 8px 14px;
  background: rgba(30, 41, 59, 0.7);
  border-radius: var(--radius-sm);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
}

.mat-opt-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #f1f5f9;
  display: flex;
  align-items: center;
  gap: 6px;
}

.mat-opt-checks {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.mat-opt-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 700;
  color: #f8fafc;
  cursor: pointer;
  user-select: none;
  transition: color 0.15s ease;
}

.mat-opt-checkbox-label:hover {
  color: #fbbf24;
}

.mat-opt-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #f59e0b;
  cursor: pointer;
}

/* Tema Claro (Light Mode) - Cores Escuras e Altamente Legíveis */
body.theme-light .mat-fornecedor-options-bar {
  background: #ffffff !important;
  border: 1.5px solid #94a3b8 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .mat-opt-title {
  color: #0f172a !important; /* Preto/Azulado escuro de altíssimo contraste */
}

body.theme-light .mat-opt-title b {
  color: #0f172a !important;
}

body.theme-light .mat-opt-checkbox-label {
  color: #0f172a !important; /* Texto preto/escuro 100% visível e nítido */
}

body.theme-light .mat-opt-checkbox-label:hover {
  color: #d97706 !important;
}

body.theme-light .mat-opt-checkbox-label span {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* Tema Âmbar */
body.theme-amber .mat-fornecedor-options-bar {
  background: #1c1917 !important;
  border: 1.5px solid #d97706 !important;
}

body.theme-amber .mat-opt-title,
body.theme-amber .mat-opt-checkbox-label {
  color: #fef3c7 !important;
}

/* Chips de Seleção Específica de Fornecedores para os Blocos no Rodapé */
.mat-supplier-chip {
  user-select: none;
}
.mat-supplier-chip:hover {
  border-color: #00e5a3 !important;
  background: rgba(0, 229, 163, 0.12) !important;
}
.mat-supplier-chip.active {
  box-shadow: 0 2px 8px rgba(0, 229, 163, 0.25);
}

body.theme-light .mat-supplier-chip {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
body.theme-light .mat-supplier-chip:hover {
  background: #e2e8f0 !important;
  border-color: #059669 !important;
}
body.theme-light .mat-supplier-chip.active {
  background: #ecfdf5 !important;
  border-color: #059669 !important;
  color: #065f46 !important;
}

/* Notificações Toasts */
body.theme-light .toast {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #0f172a;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* Abas Principais */
body.theme-light .tabs-nav {
  border-bottom: 1px solid #cbd5e1;
}
body.theme-light .tab-btn {
  color: #475569;
}
body.theme-light .tab-btn:hover {
  color: #0f172a;
}
body.theme-light .tab-btn.active {
  color: #b45309;
  border-bottom-color: #d97706;
}

/* Tratamento de Toolbars e Elementos com fundo escuro inline */
body.theme-light [style*="background: rgba(0, 0, 0, 0.15)"],
body.theme-light [style*="background: rgba(0,0,0,0.15)"] {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}
body.theme-light [style*="background: rgba(11, 15, 25, 0.5)"] {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

/* Garante que títulos e textos de cabeçalho sejam ultra legíveis no modo claro (exceto view-curso_ingles que é cinematográfico escuro) */
body.theme-light :is(h1, h2, h3, h4, h5, h6):not(.brand-info h1, #view-curso_ingles, #view-curso_ingles *) {
  color: #0f172a;
}

body.theme-light :is(h1, h2, h3, h4, h5, h6, p, span, div, td, th, label, small):not(.btn, .btn *, .badge, .badge *, .brand-badge, .brand-badge *, .habits-badge, .habits-badge *, .btn-habit-shuffle-btn.shuffle-on, .btn-habit-shuffle-btn.shuffle-on *, #view-curso_ingles, #view-curso_ingles *)[style*="color: #ffffff"],
body.theme-light :is(h1, h2, h3, h4, h5, h6, p, span, div, td, th, label, small):not(.btn, .btn *, .badge, .badge *, .brand-badge, .brand-badge *, .habits-badge, .habits-badge *, .btn-habit-shuffle-btn.shuffle-on, .btn-habit-shuffle-btn.shuffle-on *, #view-curso_ingles, #view-curso_ingles *)[style*="color: #fff"] {
  color: #0f172a !important;
}

/* ==========================================================================
   MELHORIA DE CORES VIVAS & ALTO CONTRASTE (MODO CLARO - PRESTADORES E CARDS)
   ========================================================================== */
body.theme-light .card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08) !important;
}

body.theme-light .card h3 {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light .card p[style*="var(--gold-400)"],
body.theme-light .card p[style*="gold"] {
  color: #b45309 !important;
  font-weight: 700 !important;
}

/* Box interno de dados do prestador / cliente */
body.theme-light .card div[style*="var(--bg-surface)"] {
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

body.theme-light .card div[style*="var(--bg-surface)"] p {
  color: #1e293b !important;
  font-size: 12.5px !important;
}

body.theme-light .card div[style*="var(--bg-surface)"] p b {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* Badges e tags de qualidades vibrantes no modo claro */
body.theme-light .quality-tag-badge {
  background: #eff6ff !important;
  border: 1.5px solid #93c5fd !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
}

body.theme-light .badge-gold {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1.5px solid #f59e0b !important;
  font-weight: 800 !important;
}

body.theme-light .badge-blue {
  background: #eff6ff !important;
  color: #1e40af !important;
  border: 1.5px solid #60a5fa !important;
  font-weight: 800 !important;
}

body.theme-light .badge-green {
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border: 1.5px solid #34d399 !important;
  font-weight: 800 !important;
}

body.theme-light .badge-purple {
  background: #faf5ff !important;
  color: #6b21a8 !important;
  border: 1.5px solid #c084fc !important;
  font-weight: 800 !important;
}

/* Badges de Contrato, Obras e Documentos com cores sólidas e nítidas */
body.theme-light .card .badge[style*="rgba(16, 185, 129"] {
  background: #d1fae5 !important;
  color: #047857 !important;
  border: 1px solid #10b981 !important;
  font-weight: 800 !important;
}

body.theme-light .card .badge[style*="rgba(245, 158, 11"] {
  background: #fef3c7 !important;
  color: #b45309 !important;
  border: 1px solid #f59e0b !important;
  font-weight: 800 !important;
}

body.theme-light .card .badge[style*="rgba(236, 72, 153"] {
  background: #fce7f3 !important;
  color: #be185d !important;
  border: 1px solid #f472b6 !important;
  font-weight: 800 !important;
}

/* Botões do Card de Prestadores com Cores Vivas */
body.theme-light .card .btn-gold {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #ffffff !important;
  border: 1px solid #b45309 !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.3) !important;
}

body.theme-light .card .btn-secondary {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1.5px solid #cbd5e1 !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .card .btn-secondary:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

body.theme-light .card .btn-emerald {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  border: 1px solid #047857 !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

body.theme-light .card .btn-whatsapp {
  background: #25d366 !important;
  color: #ffffff !important;
  border: 1px solid #1da851 !important;
}

body.theme-light .card .btn-blue {
  background: #2563eb !important;
  color: #ffffff !important;
  border: 1px solid #1d4ed8 !important;
}

body.theme-light .card .btn-danger {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  border: 1.5px solid #fca5a5 !important;
}

body.theme-light .card .btn-danger:hover {
  background: #ef4444 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   TIMELINE / LINHA DO TEMPO CRONOLÓGICA (MODO CLARO - ALTO CONTRASTE)
   ========================================================================== */
body.theme-light .prestador-timeline-container::before {
  background: linear-gradient(180deg, #d97706 0%, #2563eb 50%, #059669 100%) !important;
  opacity: 0.8 !important;
  width: 3px !important;
}

body.theme-light .timeline-event-card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

body.theme-light .timeline-event-card:hover {
  border-color: #94a3b8 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.1) !important;
}

/* Título principal do evento (Alocação de Obra, Produção, Recibo) */
body.theme-light .timeline-event-title,
body.theme-light .timeline-event-title span {
  color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 14.5px !important;
}

/* Data do evento */
body.theme-light .timeline-event-date {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1.5px solid #cbd5e1 !important;
  font-weight: 700 !important;
}

/* Corpo e detalhes do evento */
body.theme-light .timeline-event-body {
  color: #1e293b !important;
  font-size: 13px !important;
}

body.theme-light .timeline-event-body b {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light .timeline-event-body div[style*="color: #f8fafc"],
body.theme-light .timeline-event-body div[style*="color: #fff"] {
  color: #0f172a !important;
}

body.theme-light .timeline-event-body div[style*="var(--text-dim)"] {
  color: #475569 !important;
}

body.theme-light .timeline-event-body span[style*="color: #38bdf8"] {
  color: #0369a1 !important;
  font-weight: 800 !important;
}

/* Rodapé do evento com botões */
body.theme-light .timeline-event-footer {
  border-top: 1px solid #e2e8f0 !important;
}

body.theme-light .timeline-event-footer .btn-secondary {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #1e293b !important;
  font-weight: 700 !important;
}

body.theme-light .timeline-event-footer .btn-secondary:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

/* Badges da timeline */
body.theme-light .timeline-event-header .badge-blue,
body.theme-light .timeline-event-body .badge-blue {
  background: #dbeafe !important;
  color: #1e40af !important;
  border: 1.5px solid #60a5fa !important;
  font-weight: 800 !important;
}

body.theme-light .timeline-event-header .badge-green,
body.theme-light .timeline-event-body .badge-green {
  background: #d1fae5 !important;
  color: #065f46 !important;
  border: 1.5px solid #10b981 !important;
  font-weight: 800 !important;
}

body.theme-light .timeline-event-header .badge-gold,
body.theme-light .timeline-event-body .badge-gold {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1.5px solid #f59e0b !important;
  font-weight: 800 !important;
}

body.theme-light .timeline-event-header .badge-red,
body.theme-light .timeline-event-body .badge-red {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1.5px solid #ef4444 !important;
  font-weight: 800 !important;
}

body.theme-light .timeline-event-header .badge-purple,
body.theme-light .timeline-event-body .badge-purple {
  background: #f5f3ff !important;
  color: #6b21a8 !important;
  border: 1.5px solid #c084fc !important;
  font-weight: 800 !important;
}

/* Bolinhas/Nós da timeline */
body.theme-light .timeline-event-node {
  background: #ffffff !important;
  border-width: 3.5px !important;
}

/* Título de cabeçalho da timeline */
body.theme-light #pane-dossie-timeline h4 {
  color: #b45309 !important;
  font-weight: 900 !important;
}

body.theme-light #pane-dossie-timeline p {
  color: #475569 !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   ESTILOS DEDICADOS - MODO NEO-ORANGE AMBER (MOBILE REF. LOOK & FEEL)
   ========================================================================== */
body.theme-amber {
  background-color: var(--bg-main);
  color: var(--text-main);
}

/* Scrollbar Neo-Orange */
body.theme-amber ::-webkit-scrollbar-track {
  background: #141720;
}
body.theme-amber ::-webkit-scrollbar-thumb {
  background: #2d3345;
  border-radius: 10px;
}
body.theme-amber ::-webkit-scrollbar-thumb:hover {
  background: #ff7a00;
}

/* Barra Lateral (Sidebar) */
body.theme-amber aside.sidebar {
  background: #171a22;
  border-right: 1px solid rgba(255, 122, 0, 0.12);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.45);
}

body.theme-amber .sidebar-header {
  border-bottom: 1px solid rgba(255, 122, 0, 0.12);
}

body.theme-amber .brand-info h1 {
  background: linear-gradient(135deg, #ffffff 0%, #ffaa44 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.theme-amber .nav-section-title {
  color: #ff9933;
  letter-spacing: 0.8px;
  font-weight: 800;
}

body.theme-amber .nav-item {
  color: #a8b0c0;
  border-radius: 14px;
  margin: 3px 10px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.theme-amber .nav-item:hover {
  background: rgba(255, 122, 0, 0.08);
  color: #ffffff;
  transform: translateX(3px);
}

body.theme-amber .nav-item:hover i,
body.theme-amber .nav-item:hover svg {
  color: #ff9933;
}

body.theme-amber .nav-item.active {
  background: linear-gradient(90deg, rgba(255, 122, 0, 0.22) 0%, rgba(255, 122, 0, 0.05) 100%);
  color: #ffffff;
  border-left: 4px solid #ff7a00;
  box-shadow: 0 4px 18px rgba(255, 102, 0, 0.15);
}

body.theme-amber .nav-item.active i,
body.theme-amber .nav-item.active svg {
  color: #ffaa33;
}

body.theme-amber .nav-badge {
  background: rgba(255, 122, 0, 0.15);
  color: #ffaa44;
  border: 1px solid rgba(255, 122, 0, 0.35);
  border-radius: 12px;
}

body.theme-amber .sidebar-footer {
  background: #13161e;
  border-top: 1px solid rgba(255, 122, 0, 0.12);
}

body.theme-amber .user-avatar {
  border-color: #ff7a00;
  box-shadow: 0 0 12px rgba(255, 122, 0, 0.4);
}

/* Header Topo */
body.theme-amber header.top-header {
  background: #171a24;
  border-bottom: 1px solid rgba(255, 122, 0, 0.14);
}

body.theme-amber .page-title-box h2 {
  color: #ffffff;
}

body.theme-amber .page-title-box p {
  color: #9ba3b5;
}

body.theme-amber .db-status-pill {
  background: rgba(255, 122, 0, 0.1);
  border-color: rgba(255, 122, 0, 0.3);
  color: #ffaa44;
}

body.theme-amber .live-clock-pill {
  background: rgba(255, 122, 0, 0.08);
  border: 1px solid rgba(255, 122, 0, 0.2);
  color: #f1f5f9;
}

/* Cartões (Cards com cantos generosos arredondados e sombras suaves como na foto) */
body.theme-amber .card {
  background: #1c202a;
  border: 1px solid rgba(255, 122, 0, 0.16);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

body.theme-amber .card-header {
  border-bottom: 1px solid rgba(255, 122, 0, 0.12);
}

body.theme-amber .card-header h3 {
  color: #ffffff;
}

/* Cards de Estatística / KPI - Acentos Laranja Intenso */
body.theme-amber .kpi-card {
  background: #1c202a;
  border: 1.5px solid rgba(255, 122, 0, 0.2);
  border-radius: 22px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

body.theme-amber .kpi-card::before {
  background: linear-gradient(180deg, #ff7a00, #ff5500);
}

body.theme-amber .kpi-card:hover {
  border-color: #ff7a00;
  box-shadow: 0 12px 32px rgba(255, 102, 0, 0.22);
  transform: translateY(-3px);
}

body.theme-amber .kpi-icon {
  background: linear-gradient(135deg, rgba(255, 122, 0, 0.25) 0%, rgba(255, 85, 0, 0.1) 100%);
  border: 1px solid rgba(255, 122, 0, 0.4);
  color: #ff9933;
}

/* Botões com Cantos Suaves e Laranja Vívido */
body.theme-amber .btn-primary,
body.theme-amber .btn-gold {
  background: linear-gradient(135deg, #ff7a00 0%, #ff5500 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(255, 102, 0, 0.4) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

body.theme-amber .btn-primary:hover,
body.theme-amber .btn-gold:hover {
  background: linear-gradient(135deg, #ff8c1a 0%, #ff6600 100%) !important;
  box-shadow: 0 8px 26px rgba(255, 102, 0, 0.6) !important;
  transform: translateY(-2px);
}

body.theme-amber .btn-secondary {
  background: #242a38;
  color: #f1f5f9;
  border: 1px solid rgba(255, 122, 0, 0.18);
  border-radius: 14px;
}

body.theme-amber .btn-secondary:hover {
  background: #2e3547;
  border-color: #ff7a00;
  color: #ffffff;
}

/* Inputs & Filtros em Formato de Cápsula */
body.theme-amber input,
body.theme-amber select,
body.theme-amber textarea {
  background: #161922 !important;
  border: 1.5px solid rgba(255, 122, 0, 0.22) !important;
  color: #ffffff !important;
  border-radius: 12px;
}

body.theme-amber input:focus,
body.theme-amber select:focus,
body.theme-amber textarea:focus {
  border-color: #ff7a00 !important;
  box-shadow: 0 0 14px rgba(255, 122, 0, 0.3) !important;
}

/* Abas e Filtros (Pills Arredondadas como no Mockup) */
body.theme-amber .tab-pill-btn {
  background: #1f232f;
  border: 1px solid rgba(255, 122, 0, 0.18);
  color: #a3aab8;
  border-radius: 20px;
}

body.theme-amber .tab-pill-btn.active {
  background: linear-gradient(135deg, #ff7a00 0%, #ff5500 100%);
  color: #ffffff !important;
  border-color: #ffaa44;
  font-weight: 800;
  box-shadow: 0 4px 16px rgba(255, 102, 0, 0.4);
}

/* Tabelas e Linhas com Hover Suave */
body.theme-amber table.data-table th {
  background: #171a24;
  color: #ff9933;
  border-bottom: 2px solid rgba(255, 122, 0, 0.2);
}

body.theme-amber table.data-table tbody tr:hover {
  background: rgba(255, 122, 0, 0.05);
}

/* Modais Neo-Orange */
body.theme-amber .modal-dialog {
  background: #191d27;
  border: 1.5px solid rgba(255, 122, 0, 0.28);
  border-radius: 24px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.75), 0 0 35px rgba(255, 102, 0, 0.15);
}

body.theme-amber .modal-header {
  border-bottom: 1px solid rgba(255, 122, 0, 0.16);
}

body.theme-amber .modal-footer {
  border-top: 1px solid rgba(255, 122, 0, 0.16);
}

/* Badges & Tags no Tema Neo-Orange */
body.theme-amber .badge-gold {
  background: rgba(255, 122, 0, 0.18);
  color: #ffaa44;
  border: 1px solid rgba(255, 122, 0, 0.35);
  font-weight: 700;
  border-radius: 12px;
}

body.theme-amber .badge-blue {
  background: rgba(255, 136, 0, 0.15);
  color: #ff9933;
  border: 1px solid rgba(255, 136, 0, 0.3);
}

/* Painel e Destaque Flutuante Estilo Mockup */
body.theme-amber .card-highlight-amber {
  background: linear-gradient(135deg, #ff7a00 0%, #ff5500 100%);
  color: #ffffff;
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(255, 102, 0, 0.45);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: var(--font-main);
  -webkit-font-smoothing: antialiased;
}

body {
  background-color: var(--bg-main);
  color: var(--text-main);
  min-height: 100vh;
  display: flex;
  overflow-x: hidden;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--bg-main);
}
::-webkit-scrollbar-thumb {
  background: #2a3754;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gold-500);
}

/* App Container Layout */
#app-container {
  display: flex;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

/* Sidebar */
aside.sidebar {
  width: 280px;
  background: var(--bg-card);
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  z-index: 20;
  transition: width 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.sidebar-header {
  padding: 20px 16px 18px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  gap: 12px;
  transition: padding 0.25s ease;
}

.btn-sidebar-toggle {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-left: auto;
  font-size: 11px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.btn-sidebar-toggle:hover {
  background: rgba(245, 158, 11, 0.2);
  color: var(--gold-400);
  border-color: var(--gold-500);
}

body.theme-light .btn-sidebar-toggle {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #334155;
}

body.theme-light .btn-sidebar-toggle:hover {
  background: #fde68a;
  color: #92400e;
  border-color: #d97706;
}

.btn-sidebar-expand-top {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  width: 34px;
  height: 34px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.btn-sidebar-expand-top:hover {
  background: rgba(245, 158, 11, 0.2);
  color: var(--gold-400);
  border-color: var(--gold-500);
}

body.theme-light .btn-sidebar-expand-top {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

body.theme-light .btn-sidebar-expand-top:hover {
  background: #fde68a;
  color: #92400e;
  border-color: #d97706;
}

/* Sidebar Collapsed State (Modo Copilot / Full Focus) */
#app-container.sidebar-collapsed aside.sidebar {
  width: 72px !important;
}

#app-container.sidebar-collapsed .brand-info,
#app-container.sidebar-collapsed .nav-section-title,
#app-container.sidebar-collapsed .nav-item span,
#app-container.sidebar-collapsed .nav-badge,
#app-container.sidebar-collapsed .sidebar-footer .user-details {
  display: none !important;
}

#app-container.sidebar-collapsed .sidebar-header {
  padding: 16px 8px;
  justify-content: center;
}

#app-container.sidebar-collapsed .btn-sidebar-toggle {
  display: none !important;
}

#app-container.sidebar-collapsed .brand-badge {
  width: 36px;
  height: 36px;
  font-size: 16px;
}

#app-container.sidebar-collapsed .nav-item {
  justify-content: center;
  padding: 12px 6px;
  gap: 0;
}

#app-container.sidebar-collapsed .nav-item i {
  font-size: 21px;
  margin: 0;
}

#app-container.sidebar-collapsed .sidebar-footer {
  padding: 12px 4px;
  justify-content: center;
}

#app-container.sidebar-collapsed .user-quick-card {
  justify-content: center;
  padding: 4px;
}

.brand-badge {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #f59e0b, #b45309);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 20px;
  color: #0b0f19;
  box-shadow: var(--shadow-gold);
  flex-shrink: 0;
}

.brand-info h1 {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.5px;
  background: linear-gradient(90deg, #ffffff, #fbbf24);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.2;
}

.brand-info span {
  font-size: 11px;
  color: var(--text-muted);
  display: block;
  margin-top: 2px;
  font-weight: 600;
}

.sidebar-nav {
  flex: 1;
  padding: 16px 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.nav-section-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-dim);
  letter-spacing: 1px;
  padding: 12px 12px 6px;
  margin-top: 4px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  color: var(--text-muted);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.nav-item i, .nav-item svg {
  font-size: 17px;
  width: 20px;
  text-align: center;
  color: var(--text-dim);
  transition: all 0.2s ease;
}

.nav-item:hover {
  background: var(--bg-surface);
  color: #ffffff;
}

.nav-item:hover i, .nav-item:hover svg {
  color: var(--gold-400);
}

.nav-item.active {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.03));
  color: #ffffff;
  font-weight: 600;
  border-left: 3px solid var(--gold-500);
}

.nav-item.active i, .nav-item.active svg {
  color: var(--gold-400);
}

/* Botão de Fixar Página Inicial no Menu Lateral */
.nav-pin-btn {
  opacity: 0;
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 13.5px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  line-height: 1;
  transition: all 0.2s ease;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-item .nav-badge + .nav-pin-btn {
  margin-left: 6px;
}

.nav-item:hover .nav-pin-btn {
  opacity: 0.7;
}

.nav-pin-btn:hover {
  opacity: 1 !important;
  color: #fbbf24;
  transform: scale(1.2);
}

.nav-item.is-pinned .nav-pin-btn {
  opacity: 1 !important;
  color: #fbbf24 !important;
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.6));
}

.nav-item.is-pinned {
  border-right: 3px solid #f59e0b;
}

#app-container.sidebar-collapsed .nav-pin-btn {
  display: none !important;
}

.nav-badge {
  margin-left: auto;
  background: var(--bg-surface);
  color: var(--gold-400);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.sidebar-footer {
  padding: 16px;
  border-top: 1px solid var(--border-color);
  background: rgba(11, 15, 25, 0.5);
}

.user-quick-card {
  display: flex;
  align-items: center;
  gap: 12px;
}

.user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #2a3754;
  border: 1px solid var(--gold-500);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  color: var(--gold-400);
}

.user-details h4 {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

.user-details p {
  font-size: 11px;
  color: var(--gold-400);
  font-weight: 500;
}

/* Main Content Area */
main.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background: radial-gradient(circle at top right, rgba(30, 41, 66, 0.4), transparent 50%),
              radial-gradient(circle at bottom left, rgba(245, 158, 11, 0.05), transparent 40%),
              var(--bg-main);
}

/* Top Navigation Bar */
header.top-header {
  min-height: 54px;
  height: 54px;
  background: rgba(19, 27, 46, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  flex-shrink: 0;
  z-index: 100 !important;
  gap: 12px;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  box-sizing: border-box;
}

header.top-header:has(.top-empresa-selector-container.open),
header.top-header.has-open-dropdown,
header.top-header:has(.header-system-dropdown.show) {
  z-index: 1100 !important;
}

body.theme-light header.top-header {
  background: #ffffff;
  border-bottom-color: #cbd5e1;
}

.top-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 0;
}

.page-title-box h2 {
  font-size: 14.5px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  line-height: 1.2;
  margin: 0;
}

body.theme-light .page-title-box h2 {
  color: #0f172a;
}

.page-title-box p {
  display: none;
}

.top-header-center {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 1;
  justify-content: center;
  min-width: 0;
}

.top-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap !important;
  justify-content: flex-end;
  flex-shrink: 0 !important;
  margin-left: auto;
}

/* ==========================================================================
   DROPDOWN MENU DE NUVEM & SISTEMA (TOPBAR EXECUTIVA)
   ========================================================================== */
.header-system-dropdown-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.btn-header-system-menu {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 9999px;
  border: 1.5px solid rgba(56, 189, 248, 0.35);
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(8px);
  color: #38bdf8;
  font-size: 11.5px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
  white-space: nowrap;
  height: 32px;
  box-sizing: border-box;
}

.btn-header-system-menu:hover,
.btn-header-system-menu.active {
  background: rgba(2, 132, 199, 0.2);
  border-color: #38bdf8;
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.25);
  transform: translateY(-1px);
}

.btn-header-system-menu .btn-system-arrow {
  font-size: 10px;
  transition: transform 0.2s ease;
}

.btn-header-system-menu.active .btn-system-arrow {
  transform: rotate(180deg);
}

body.theme-light .btn-header-system-menu {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0369a1;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

body.theme-light .btn-header-system-menu:hover,
body.theme-light .btn-header-system-menu.active {
  background: #e0f2fe;
  border-color: #0284c7;
  color: #0284c7;
}

.header-system-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 275px;
  background: rgba(15, 23, 42, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.65), 0 0 25px rgba(56, 189, 248, 0.1);
  padding: 7px;
  z-index: 1200;
  display: none;
}

.header-system-dropdown.show {
  display: flex;
  flex-direction: column;
  gap: 3px;
  animation: headerDropdownPop 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes headerDropdownPop {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

body.theme-light .header-system-dropdown {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.15);
}

.header-system-dropdown-title {
  font-size: 9.5px;
  font-weight: 800;
  color: #94a3b8;
  padding: 6px 10px 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.theme-light .header-system-dropdown-title {
  color: #64748b;
}

.system-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  color: inherit;
}

.system-dropdown-item:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(2px);
}

body.theme-light .system-dropdown-item:hover {
  background: #f1f5f9;
}

.system-dropdown-item .item-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.system-dropdown-item .item-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.system-dropdown-item .item-text b {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
}

body.theme-light .system-dropdown-item .item-text b {
  color: #0f172a;
}

.system-dropdown-item .item-text small {
  font-size: 10px;
  color: #94a3b8;
}

body.theme-light .system-dropdown-item .item-text small {
  color: #64748b;
}

.system-dropdown-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 4px 0;
}

body.theme-light .system-dropdown-divider {
  background: #e2e8f0;
}

/* Botão Orçamento em Destaque */
.btn-header-new-orcamento {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 32px !important;
  padding: 0 13px !important;
  border-radius: 9999px !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border: 1px solid #34d399 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.btn-header-new-orcamento:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* Responsividade Avançada */
@media (max-width: 1400px) {
  .btn-header-birthdays .bday-text {
    display: none !important;
  }
  .btn-header-birthdays {
    padding: 5px 8px !important;
  }
}

@media (max-width: 1250px) {
  .live-clock-pill {
    display: none !important;
  }
  .top-empresa-selector-btn .empresa-name {
    max-width: 100px !important;
  }
}

@media (max-width: 1100px) {
  .top-empresa-selector-btn .empresa-label {
    display: none !important;
  }
  .top-header-center {
    gap: 4px;
  }
}

.autosave-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 9999px;
  background: #062319;
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4), 0 0 10px rgba(16, 185, 129, 0.1);
  color: #34d399;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
  user-select: none;
  letter-spacing: -0.1px;
  white-space: nowrap;
  flex-shrink: 0;
}

.autosave-pill:hover {
  background: #093325;
  border-color: rgba(16, 185, 129, 0.6);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.25);
  transform: translateY(-1px);
}

.autosave-pill .autosave-cloud-icon {
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.autosave-pill.saving {
  background: #271d07;
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.2);
  color: #fbbf24;
}

.autosave-pill.saving .autosave-cloud-icon {
  animation: pulse-cloud-saving 0.7s infinite alternate ease-in-out;
}

.autosave-pill.saved {
  background: #062319;
  border-color: rgba(16, 185, 129, 0.35);
  color: #34d399;
}

.autosave-pill.error {
  background: #2b0c0c;
  border-color: rgba(239, 68, 68, 0.45);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.2);
  color: #f87171;
}

@keyframes pulse-cloud-saving {
  0% { transform: scale(1); opacity: 0.75; }
  100% { transform: scale(1.22); opacity: 1; filter: drop-shadow(0 0 6px #fbbf24); }
}

.storage-health-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.storage-health-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.storage-health-card.active {
  border-color: rgba(16, 185, 129, 0.4);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.05) 0%, var(--bg-card) 100%);
}

.storage-health-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
}

.storage-health-desc {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
}

.snapshot-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-size: 12px;
  transition: border-color 0.2s ease;
}

.snapshot-item:hover {
  border-color: rgba(16, 185, 129, 0.4);
}

.db-status-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 20px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #34d399;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.live-clock-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid var(--border-color);
  color: #fbbf24;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

body.theme-light .live-clock-pill {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 10px #10b981;
  animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

/* Content Views */
.content-scrollable {
  flex: 1 1 0%;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.view-panel {
  display: none;
  animation: fadeIn 0.25s ease-out forwards;
}

.view-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Button System */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 18px;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
}

.btn-primary {
  background: linear-gradient(135deg, var(--gold-500), var(--gold-600));
  color: #0b0f19;
  font-weight: 700;
  box-shadow: var(--shadow-gold);
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--gold-400), var(--gold-500));
  transform: translateY(-1px);
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.4);
}

.btn-gold {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #000000 !important;
  font-weight: 800 !important;
  border: 1px solid #fde68a !important;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.35);
}

.btn-gold:hover {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #000000 !important;
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.55);
  transform: translateY(-1px);
}

.btn-blue {
  background: linear-gradient(135deg, var(--blue-500), var(--blue-600));
  color: #ffffff;
  box-shadow: var(--shadow-sm);
}

.btn-blue:hover {
  background: linear-gradient(135deg, #60a5fa, var(--blue-500));
  transform: translateY(-1px);
}

.btn-green {
  background: linear-gradient(135deg, var(--green-500), var(--green-600));
  color: #ffffff;
}

.btn-green:hover {
  background: linear-gradient(135deg, #34d399, var(--green-500));
  transform: translateY(-1px);
}

.btn-secondary {
  background: var(--bg-surface);
  color: var(--text-main);
  border: 1px solid var(--border-color);
}

.btn-secondary:hover {
  background: #2a3754;
  border-color: rgba(255, 255, 255, 0.15);
}

.btn-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.btn-danger:hover {
  background: var(--red-600);
  color: #ffffff;
}

.btn-whatsapp {
  background: #25D366;
  color: #0b0f19;
  font-weight: 700;
}

.btn-whatsapp:hover {
  background: #20bd5a;
  transform: translateY(-1px);
  box-shadow: 0 0 15px rgba(37, 211, 102, 0.4);
}

.btn-purple {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: #ffffff;
  border: 1px solid rgba(168, 85, 247, 0.4);
}

.btn-purple:hover {
  background: linear-gradient(135deg, #a855f7, #8b5cf6);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(168, 85, 247, 0.35);
}

.btn-emerald {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.btn-emerald:hover {
  background: linear-gradient(135deg, #34d399, #10b981);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

.btn-sm {
  padding: 6px 12px;
  font-size: 12px;
  border-radius: var(--radius-sm);
}

.btn-lg {
  padding: 12px 24px;
  font-size: 15px;
}

.btn-icon {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: var(--radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Card System */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-color);
}

.card-header h3 {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.card-header h3 i, .card-header h3 svg {
  color: var(--gold-400);
}

/* KPI Grid */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}

.kpi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

.kpi-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--gold-500);
  opacity: 0.8;
}

.kpi-card:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: var(--shadow-md);
}

.kpi-card[onclick] {
  cursor: pointer !important;
  user-select: none;
}

.kpi-card[onclick]:hover {
  transform: translateY(-4px) scale(1.015);
  border-color: var(--gold-400);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
}

body.theme-light .kpi-card[onclick]:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  border-color: #d97706;
}

.kpi-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.kpi-gold .kpi-icon { background: rgba(245, 158, 11, 0.15); color: var(--gold-400); }
.kpi-blue .kpi-icon { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.kpi-green .kpi-icon { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.kpi-purple .kpi-icon { background: rgba(139, 92, 246, 0.15); color: #a78bfa; }

.kpi-info h4 {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  margin-bottom: 4px;
}

.kpi-info .kpi-val {
  font-size: 24px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.1;
}

.kpi-info .kpi-desc {
  font-size: 11px;
  color: var(--text-dim);
  margin-top: 4px;
}

/* Tables & Data Grid */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  border-radius: var(--radius-md);
}

table.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
  font-size: 13.5px;
}

table.data-table th {
  background: #0e1626;
  color: var(--text-muted);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border-color);
  white-space: nowrap;
}

table.data-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: var(--text-main);
  vertical-align: middle;
}

table.data-table tbody tr {
  transition: background 0.15s ease;
}

table.data-table tbody tr:hover {
  background: var(--bg-card-hover);
}

table.data-table tbody tr:last-child td {
  border-bottom: none;
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
}

.badge-gold { background: rgba(245, 158, 11, 0.15); color: var(--gold-400); border: 1px solid rgba(245, 158, 11, 0.3); }
.badge-green { background: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-blue { background: rgba(59, 130, 246, 0.15); color: #60a5fa; border: 1px solid rgba(59, 130, 246, 0.3); }
.badge-red { background: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3); }
.badge-purple { background: rgba(139, 92, 246, 0.15); color: #c084fc; border: 1px solid rgba(139, 92, 246, 0.3); }
.badge-gray { background: rgba(148, 163, 184, 0.15); color: #94a3b8; border: 1px solid rgba(148, 163, 184, 0.3); }

/* Clickable Interactive Badges */
.badge-clickable {
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  font-family: inherit;
  outline: none;
  background: transparent;
}
.badge-clickable:hover {
  transform: translateY(-1px) scale(1.04);
  filter: brightness(1.25);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

/* Status Select Dropdowns */
.status-select {
  appearance: none;
  -webkit-appearance: none;
  border-radius: 20px;
  padding: 4px 24px 4px 10px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  outline: none;
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 10px;
  transition: all 0.2s ease;
  font-family: inherit;
}

.status-select option {
  background: #1e293b;
  color: #ffffff;
  font-weight: 600;
  padding: 6px;
}

.status-select-pago {
  background-color: rgba(16, 185, 129, 0.18);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.45);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.status-select-pendente {
  background-color: rgba(245, 158, 11, 0.18);
  color: var(--gold-400);
  border-color: rgba(245, 158, 11, 0.45);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fbbf24' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.status-select-parcial {
  background-color: rgba(59, 130, 246, 0.18);
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.45);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.status-select-cancelado {
  background-color: rgba(239, 68, 68, 0.18);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.45);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f87171' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.status-select-concluido {
  background-color: rgba(59, 130, 246, 0.22);
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.55);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.status-select:hover {
  filter: brightness(1.25);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}
.badge-clickable:active {
  transform: translateY(0) scale(0.97);
}

/* Status Choice Cards inside Quick Status Modal */
.status-choice-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 2px solid rgba(255, 255, 255, 0.1);
  background: var(--bg-surface);
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.status-choice-card:hover {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-1px);
}
.status-choice-card.active-ativo {
  border-color: #10b981 !important;
  background: rgba(16, 185, 129, 0.14) !important;
  box-shadow: 0 0 0 1px #10b981, 0 4px 12px rgba(16, 185, 129, 0.15);
}
.status-choice-card.active-reserva {
  border-color: #f59e0b !important;
  background: rgba(245, 158, 11, 0.14) !important;
  box-shadow: 0 0 0 1px #f59e0b, 0 4px 12px rgba(245, 158, 11, 0.15);
}
.status-choice-card.active-inativo {
  border-color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.14) !important;
  box-shadow: 0 0 0 1px #ef4444, 0 4px 12px rgba(239, 68, 68, 0.15);
}
.status-choice-radio {
  width: 18px;
  height: 18px;
  accent-color: var(--gold-500);
  cursor: pointer;
}
.quick-reason-chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 4px 10px;
  font-size: 11.5px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}
.quick-reason-chip:hover {
  background: rgba(245, 158, 11, 0.18);
  border-color: var(--gold-400);
  color: #fbbf24;
  transform: translateY(-1px);
}

/* Forms & Inputs */
.form-group {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  align-items: flex-start;
}

label.form-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-muted);
  min-height: 20px;
  display: flex;
  align-items: center;
  margin-bottom: 6px;
  line-height: 1.2;
}

.form-control {
  width: 100%;
  height: 42px;
  background: var(--bg-input);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 8px 12px;
  color: #ffffff;
  font-size: 13.5px;
  transition: all 0.2s ease;
  outline: none;
  box-sizing: border-box;
}

.form-control:focus {
  border-color: var(--gold-500);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

textarea.form-control {
  min-height: 80px;
  resize: vertical;
}

.search-box {
  position: relative;
  display: flex;
  align-items: center;
}

.search-box i, .search-box svg {
  position: absolute;
  left: 14px;
  color: var(--text-dim);
  font-size: 16px;
}

.search-box input {
  padding-left: 40px;
}

/* Modals */
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(4, 7, 13, 0.8);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.modal-backdrop.show,
.modal-backdrop.active {
  display: flex !important;
  opacity: 1 !important;
}

.modal-dialog {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  width: 100%;
  max-width: 900px;
  max-height: 92vh;
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  animation: modalScale 0.25s ease-out;
}

.modal-dialog > form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.modal-dialog .modal-header {
  flex-shrink: 0;
}

.modal-dialog .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.modal-dialog .modal-footer {
  flex-shrink: 0;
}

.modal-dialog.modal-xl {
  max-width: 1720px;
  width: 98vw;
}

.modal-dialog.modal-financial-full,
.modal-dialog.modal-wide-full {
  max-width: 99vw !important;
  width: 99vw !important;
  margin: 6px auto !important;
}

/* Reduz o padding do backdrop quando abrindo modal ultra largo */
.modal-backdrop:has(.modal-wide-full) {
  padding: 6px !important;
}

/* Estilo do botão alternador de visibilidade de valores no documento */
.btn-doc-toggle-valores {
  font-size: 11px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
  user-select: none;
  border: 1.5px solid rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.12);
  color: #fbbf24;
}
.btn-doc-toggle-valores:hover {
  background: rgba(245, 158, 11, 0.25);
  border-color: #f59e0b;
}
.btn-doc-toggle-valores.oculto {
  border-color: rgba(96, 165, 250, 0.4);
  background: rgba(96, 165, 250, 0.12);
  color: #60a5fa;
}

/* Permitir que tabelas de materiais tenham inputs de quantidade confortáveis */
.prop-materials-table input[type="number"],
.data-table input[type="number"] {
  -moz-appearance: textfield;
}
.prop-materials-table input[type="number"]::-webkit-outer-spin-button,
.prop-materials-table input[type="number"]::-webkit-inner-spin-button {
  opacity: 0.6;
}

/* Compact Data Table inside Modals */
.modal-body table.data-table th {
  padding: 10px 12px;
  font-size: 11.5px;
}

.modal-body table.data-table td {
  padding: 10px 12px;
  font-size: 12.5px;
}

@keyframes modalScale {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #0e1626;
  position: sticky;
  top: 0;
  z-index: 5;
}

.modal-header h3 {
  font-size: 17px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.modal-close {
  background: none;
  border: none;
  color: var(--text-dim);
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.modal-close:hover {
  color: #ffffff;
  background: var(--bg-surface);
}

.modal-body {
  padding: 22px 24px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  max-height: calc(92vh - 135px);
}

.modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--border-color);
  background: var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex-shrink: 0;
}

/* ==========================================================================
   🚨 CLASSES BASE E MODO ESCURO: MODAIS DE EXCLUSÃO & CANCELAMENTO (RAP10)
   ========================================================================== */
.modal-delete-confirm-dialog {
  background: #0b1324 !important;
  border: 2px solid #ef4444 !important;
  box-shadow: 0 0 35px rgba(239, 68, 68, 0.45) !important;
}

.modal-delete-confirm-header {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.28), rgba(15, 23, 42, 0.98)) !important;
  border-bottom: 2px solid #ef4444 !important;
}

.delete-modal-title {
  color: #f87171 !important;
  font-weight: 900 !important;
  font-size: 17.5px !important;
  letter-spacing: 0.3px;
}

.delete-modal-subtitle {
  font-size: 12px !important;
  color: #fecaca !important;
  font-weight: 600 !important;
}

.delete-warning-box {
  background: rgba(239, 68, 68, 0.16) !important;
  border: 2px solid rgba(239, 68, 68, 0.6) !important;
  border-left: 6px solid #ef4444 !important;
  border-radius: var(--radius-md) !important;
}

.delete-warning-text {
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

.delete-warning-subtext {
  color: #fecaca !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

.delete-item-preview-box {
  background: #111827 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-left: 6px solid #3b82f6 !important;
  border-radius: var(--radius-md) !important;
}

.delete-preview-label {
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px;
}

.delete-preview-name {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin-bottom: 4px !important;
}

.delete-preview-address {
  font-size: 12.5px !important;
  color: #cbd5e1 !important;
  margin-bottom: 10px !important;
  font-weight: 500 !important;
}

.delete-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 12.5px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 8px;
}

.delete-preview-meta-label {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.delete-preview-value {
  color: #38bdf8 !important;
  font-weight: 900 !important;
  font-size: 14.5px !important;
}

.delete-preview-status {
  color: #60a5fa !important;
  font-weight: 800 !important;
}

.delete-guarantee-box {
  background: rgba(16, 185, 129, 0.14) !important;
  border: 2px solid rgba(16, 185, 129, 0.5) !important;
  border-left: 6px solid #10b981 !important;
  border-radius: var(--radius-md) !important;
}

.delete-guarantee-header {
  color: #34d399 !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  letter-spacing: 0.3px;
}

.delete-guarantee-list {
  font-size: 12px !important;
  color: #e2e8f0 !important;
  line-height: 1.6 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.delete-guarantee-list b {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.delete-guarantee-note {
  color: #a7f3d0 !important;
  font-weight: 700 !important;
  font-style: italic !important;
  margin-top: 4px !important;
  font-size: 11.5px !important;
}

.modal-delete-confirm-footer {
  background: #09101d !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.btn-delete-cancel {
  font-weight: 700 !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
}

.btn-delete-action {
  background: #dc2626 !important;
  border: 2px solid #ef4444 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  padding: 10px 20px !important;
  font-size: 13.5px !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.5) !important;
}

/* Modais de Cancelamento */
.modal-cancel-confirm-dialog {
  background: #0b1324 !important;
  border: 2px solid rgba(239, 68, 68, 0.7) !important;
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.35) !important;
}

.modal-cancel-confirm-header {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(15, 23, 42, 0.98)) !important;
  border-bottom: 2px solid rgba(239, 68, 68, 0.5) !important;
}

.cancel-modal-title {
  color: #f87171 !important;
  font-weight: 800 !important;
  font-size: 17px !important;
}

.cancel-modal-subtitle {
  color: #fecaca !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.cancel-item-preview-box {
  background: #111827 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 6px solid #ef4444 !important;
  border-radius: var(--radius-md) !important;
}

.cancel-preview-label {
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}

.cancel-preview-name {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.cancel-preview-address {
  font-size: 12px !important;
  color: #cbd5e1 !important;
}

.cancel-chips-label {
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

.cancel-textarea-label {
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
}

.cancel-note-box {
  font-size: 12px !important;
  color: #cbd5e1 !important;
  line-height: 1.5 !important;
  background: rgba(255, 255, 255, 0.05) !important;
  padding: 10px 14px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.modal-cancel-confirm-footer {
  background: #09101d !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Toast Notifications */
#toast-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 999;
}

.toast {
  background: #1e2942;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 14px 20px;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: var(--shadow-lg);
  animation: slideInRight 0.3s ease-out;
  min-width: 300px;
}

.toast.toast-success { border-left: 4px solid var(--green-500); }
.toast.toast-error { border-left: 4px solid var(--red-500); }
.toast.toast-info { border-left: 4px solid var(--blue-500); }
.toast.toast-gold { border-left: 4px solid var(--gold-500); }

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

/* Tabs */
.tabs-nav {
  display: flex;
  gap: 6px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 20px;
  overflow-x: auto;
}

.tab-btn {
  padding: 10px 18px;
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.tab-btn:hover {
  color: #ffffff;
}

.tab-btn.active {
  color: var(--gold-400);
  border-bottom-color: var(--gold-500);
}

.tab-pane {
  display: none;
}

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

/* ==========================================================================
   BOTAO DE ANIVERSARIANTES (CABEÇALHO) - ALTA VISIBILIDADE & ZERO LETRA AMARELA
   ========================================================================== */
.btn-header-birthdays {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 9999px;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.2px;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.2s ease;
  user-select: none;
  background: #1e293b;
  border: 1.5px solid #f59e0b;
  color: #ffffff !important; /* TEXTO BRANCO NO TEMA ESCURO - NUNCA AMARELO */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.btn-header-birthdays:hover {
  transform: translateY(-1px);
  background: #334155;
  border-color: #fbbf24;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}
.btn-header-birthdays .bday-icon {
  font-size: 14px;
  line-height: 1;
}
.btn-header-birthdays .bday-text {
  color: #ffffff !important;
  font-weight: 800;
}
.btn-header-birthdays .bday-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 11px;
  font-weight: 900;
  padding: 1px 7px;
  border-radius: 9999px;
  line-height: 1.2;
}
.btn-header-birthdays .bday-arrow {
  font-size: 10px;
  color: #ffffff !important;
  opacity: 0.85;
}

/* --- TEMA CLARO (SOL / DIA) - CONTRASTE MÁXIMO E SEM LETRA AMARELA --- */
body.theme-light .btn-header-birthdays {
  background: #ffffff !important;
  border: 2px solid #b45309 !important; /* Borda bronze/âmbar escuro */
  color: #0f172a !important; /* PRETO / GRAFITE ESCURO - LEGIBILIDADE 100% */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
body.theme-light .btn-header-birthdays:hover {
  background: #fef3c7 !important;
  border-color: #92400e !important;
  box-shadow: 0 3px 10px rgba(180, 83, 9, 0.2) !important;
}
body.theme-light .btn-header-birthdays .bday-text {
  color: #0f172a !important; /* PRETO ABSOLUTO - NENHUMA LETRA AMARELA */
  font-weight: 800 !important;
}
body.theme-light .btn-header-birthdays .bday-badge {
  background: #b45309 !important; /* Fundo bronze escuro */
  color: #ffffff !important; /* Número branco nítido */
  font-weight: 900 !important;
}
body.theme-light .btn-header-birthdays .bday-arrow {
  color: #0f172a !important; /* Seta preta bem visível */
  font-weight: 900 !important;
  opacity: 1 !important;
}

/* ==========================================================================
   DRAWER LATERAL FLUTUANTE - ANIVERSARIANTES DO MÊS (OPÇÃO 3)
   ========================================================================== */
.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  z-index: 10050;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.drawer-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.drawer-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 440px;
  max-width: 92vw;
  background: linear-gradient(180deg, #0f172a 0%, #0b1120 100%);
  border-left: 2px solid rgba(245, 158, 11, 0.45);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.75);
  z-index: 10060;
  display: flex;
  flex-direction: column;
  transform: translateX(105%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.drawer-panel.active {
  transform: translateX(0);
}

.drawer-header {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(245, 158, 11, 0.25);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(245, 158, 11, 0.08);
}

.drawer-title {
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 800;
  margin: 0;
}
.drawer-subtitle {
  color: #cbd5e1 !important;
  font-size: 11.5px;
  font-weight: 600;
  margin: 2px 0 0;
}
.drawer-count-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 9999px !important;
}

.btn-close-drawer {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  transition: all 0.2s ease;
}
.btn-close-drawer:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #ef4444;
  color: #ef4444;
}

.drawer-toolbar {
  padding: 12px 18px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(0, 0, 0, 0.2);
}

.drawer-search-input {
  width: 100%;
  padding: 9px 12px 9px 34px;
  background: #1e293b;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-sm);
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 600;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}
.drawer-search-input:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}

.drawer-content-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.drawer-bday-card {
  background: var(--bg-card);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  transition: all 0.2s ease;
}
.drawer-bday-card:hover {
  border-color: #f59e0b;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  transform: translateY(-1px);
}
.drawer-bday-card.is-today {
  border: 2px solid #059669;
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.12), rgba(15, 23, 42, 0.98));
  box-shadow: 0 0 14px rgba(5, 150, 105, 0.25);
}

/* Badges de Data nos Cards */
.bday-badge-day {
  background: #334155 !important;
  color: #ffffff !important; /* TEXTO BRANCO PURO */
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
}

.bday-badge-today {
  background: #059669 !important;
  color: #ffffff !important;
  border: none !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  box-shadow: 0 0 10px rgba(5, 150, 105, 0.4) !important;
}

.drawer-bday-profile {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 700;
}

.drawer-bday-name {
  font-size: 14.5px;
  font-weight: 800;
  color: #ffffff !important;
  margin: 0 0 3px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.drawer-bday-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 11.5px;
  color: #cbd5e1 !important;
  font-weight: 600;
}

.drawer-bday-city {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
}

.btn-dismiss-bday {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #94a3b8;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.btn-dismiss-bday:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #ef4444;
  color: #ef4444;
}

.btn-bday-send {
  width: 100%;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 6px;
  cursor: pointer;
  background: #15803d !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}
.btn-bday-send:hover {
  background: #166534 !important;
  transform: translateY(-1px);
}

.drawer-footer {
  padding: 12px 18px;
  border-top: 1px solid rgba(245, 158, 11, 0.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(15, 23, 42, 0.95);
}

/* ==========================================================================
   TEMA CLARO (SOL / DIA) - DRAWER COM ZERO LETRA AMARELA & ALTO CONTRASTE
   ========================================================================== */
body.theme-light .drawer-panel {
  background: #ffffff;
  border-left: 2px solid #b45309;
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.15);
}
body.theme-light .drawer-header {
  background: #f8fafc;
  border-bottom: 1.5px solid #e2e8f0;
}
body.theme-light .drawer-title {
  color: #0f172a !important; /* PRETO ABSOLUTO */
  font-weight: 800 !important;
}
body.theme-light .drawer-subtitle {
  color: #475569 !important; /* CINZA ESCURO */
  font-weight: 600 !important;
}
body.theme-light .drawer-count-badge {
  background: #b45309 !important; /* BRONZE / ÂMBAR ESCURO */
  color: #ffffff !important; /* BRANCO PURO */
  font-weight: 900 !important;
}
body.theme-light .btn-close-drawer {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #0f172a;
}
body.theme-light .btn-close-drawer:hover {
  background: #fee2e2;
  border-color: #ef4444;
  color: #ef4444;
}

body.theme-light .drawer-toolbar {
  background: #f1f5f9;
  border-bottom: 1.5px solid #e2e8f0;
}
body.theme-light .drawer-search-input {
  background: #ffffff;
  color: #0f172a;
  border: 1.5px solid #94a3b8;
  font-weight: 600;
}
body.theme-light .drawer-search-input:focus {
  border-color: #b45309;
  box-shadow: 0 0 0 2px rgba(180, 83, 9, 0.2);
}

body.theme-light .drawer-bday-card {
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
body.theme-light .drawer-bday-card:hover {
  border-color: #b45309;
  box-shadow: 0 4px 14px rgba(180, 83, 9, 0.15);
}
body.theme-light .drawer-bday-card.is-today {
  border: 2px solid #059669;
  background: linear-gradient(135deg, #ecfdf5 0%, #ffffff 100%);
}

body.theme-light .bday-badge-day {
  background: #e2e8f0 !important;
  color: #0f172a !important; /* PRETO GRAFITE */
  border: 1.5px solid #cbd5e1 !important;
  font-weight: 800 !important;
}
body.theme-light .drawer-bday-profile {
  color: #475569 !important;
  font-weight: 700 !important;
}
body.theme-light .drawer-bday-name {
  color: #0f172a !important; /* NOME DO CLIENTE EM PRETO */
  font-weight: 800 !important;
}
body.theme-light .drawer-bday-meta {
  color: #334155 !important; /* TELEFONE E CIDADE EM CINZA ESCURO */
  font-weight: 600 !important;
}
body.theme-light .btn-dismiss-bday {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #475569;
}
body.theme-light .drawer-footer {
  background: #f8fafc;
  border-top: 1.5px solid #e2e8f0;
}

/* ==========================================================================
   DOCUMENT VIEWERS & PRINT TEMPLATES (A4 HIGH-RES)
   ========================================================================== */
.document-preview-container {
  background: #ffffff;
  color: #1a1a1a;
  padding: 24px 30px;
  border-radius: var(--radius-md);
  box-shadow: none !important;
  border: 1px solid #e2e8f0;
  font-size: 12px;
  line-height: 1.42;
  margin: 0 auto;
  width: 100%;
  max-width: 920px;
  box-sizing: border-box;
}

/* Oculta abas laterais flutuantes (Copilot e Simulador Celular) quando houver documento ou modal aberto */
body.modal-open .ai-copilot-trigger,
body.modal-open .mobile-sim-trigger,
body:has(.modal-backdrop.show) .ai-copilot-trigger,
body:has(.modal-backdrop.show) .mobile-sim-trigger,
body:has(#modal-doc-viewer.show) .ai-copilot-trigger,
body:has(#modal-doc-viewer.show) .mobile-sim-trigger {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.doc-header-table {
  width: 100%;
  border-bottom: 2px solid #b45309;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.doc-logo-area h1 {
  font-size: 17px;
  font-weight: 900;
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.15;
}

.doc-logo-area p {
  font-size: 10px;
  color: #475569;
  margin-top: 2px;
  line-height: 1.3;
}

.doc-header-logo-img {
  height: 46px;
  width: auto;
  max-width: 130px;
  object-fit: contain;
  display: block;
}

.doc-meta-area {
  text-align: right;
  font-size: 10.5px;
  color: #334155;
  line-height: 1.35;
}

.doc-section-title {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  color: #0f172a;
  background: #f1f5f9;
  padding: 4px 8px;
  border-left: 4px solid #f59e0b;
  margin: 10px 0 6px;
}

.doc-grid-info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 8px;
}

.doc-field-box {
  background: #fafafa;
  border: 1px solid #e2e8f0;
  padding: 5px 8px;
  border-radius: 4px;
}

.doc-field-label {
  font-size: 9.5px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
}

.doc-field-val {
  font-size: 11.5px;
  font-weight: 600;
  color: #0f172a;
  margin-top: 1px;
}

.doc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 6px 0;
  font-size: 11px;
}

.doc-table th {
  background: #0f172a;
  color: #ffffff;
  padding: 5px 8px;
  text-align: left;
  font-weight: 700;
  font-size: 10.5px;
  text-transform: uppercase;
}

.doc-table td {
  padding: 5px 8px;
  border-bottom: 1px solid #e2e8f0;
  color: #1e293b;
  line-height: 1.35;
}

.doc-table tr:nth-child(even) td {
  background: #f8fafc;
}

.doc-total-box {
  background: #fef3c7;
  border: 1px solid #f59e0b;
  padding: 8px 12px;
  border-radius: 6px;
  margin: 8px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.doc-total-val {
  font-size: 16px;
  font-weight: 800;
  color: #92400e;
}

.doc-signatures-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  margin-top: 20px;
  padding-top: 6px;
}

.signature-slot {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.signature-space {
  height: 55px;
  min-height: 55px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 4px;
}

.signature-line-box {
  text-align: center;
  padding-top: 6px;
  border-top: 1.5px solid #0f172a;
}

.signature-line-box p.sign-name {
  font-weight: 700;
  font-size: 12px;
  color: #0f172a;
  margin: 0;
}

.signature-line-box p.sign-role {
  font-size: 10.5px;
  color: #64748b;
  margin: 2px 0 0;
}

#modal-doc-switcher .btn {
  font-size: 12px;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
}

#mat-items-table input.form-control {
  padding: 6px 8px;
  font-size: 12px;
}

#mat-search-results-dropdown::-webkit-scrollbar {
  width: 6px;
}
#mat-search-results-dropdown::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* Digital Signatures & Legal Audit Styles */
.sig-signer-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  transition: var(--transition-fast);
}

.sig-signer-card.signed {
  border-color: rgba(16, 185, 129, 0.4);
  background: rgba(16, 185, 129, 0.04);
}

.digital-signature-stamp {
  border: 1.5px solid #10b981;
  background: #f0fdf4;
  border-radius: 6px;
  padding: 10px 12px;
  text-align: center;
  position: relative;
  font-family: var(--font-sans);
}

.digital-signature-stamp .stamp-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #059669;
  color: #ffffff;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.digital-signature-stamp .stamp-name {
  font-size: 13px;
  font-weight: 800;
  color: #065f46;
  margin-bottom: 2px;
}

.digital-signature-stamp .stamp-details {
  font-size: 10px;
  color: #047857;
  line-height: 1.35;
}

.digital-signature-stamp .stamp-hash {
  font-family: monospace;
  font-size: 9px;
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
  padding: 2px 4px;
  border-radius: 3px;
  word-break: break-all;
  margin-top: 4px;
  display: block;
}

.audit-cert-container {
  margin-top: 30px;
  border-top: 2px dashed #94a3b8;
  padding-top: 20px;
  page-break-before: always;
}

/* Top-Level Orders View Switcher (Todos os Pedidos vs Pedidos por Status) */
.orders-main-nav-bar {
  display: flex;
  gap: 6px;
  background: var(--bg-card);
  border: 1.5px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 5px;
  margin-bottom: 14px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.2);
}

.orders-main-nav-btn {
  flex: 1;
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--text-muted);
  background: transparent;
  border: 1.5px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.orders-main-nav-btn:hover {
  color: var(--text-main);
  background: rgba(255, 255, 255, 0.05);
}

.orders-main-nav-btn.active {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(217, 119, 6, 0.1));
  color: #fbbf24;
  border: 1.5px solid rgba(245, 158, 11, 0.6);
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.2);
}

.orders-main-nav-btn .tab-count {
  background: rgba(0, 0, 0, 0.4);
  color: #cbd5e1;
  font-size: 11.5px;
  font-weight: 900;
  padding: 2px 9px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.orders-main-nav-btn.active .tab-count {
  background: #fbbf24;
  color: #0f172a;
  border-color: #fbbf24;
}

/* Light Mode Overrides */
body.theme-light .orders-main-nav-bar {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .orders-main-nav-btn {
  color: #475569 !important;
  font-weight: 800;
}

body.theme-light .orders-main-nav-btn:hover {
  color: #0f172a !important;
  background: #f8fafc !important;
}

body.theme-light .orders-main-nav-btn.active {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
  color: #78350f !important;
  border: 1.5px solid #f59e0b !important;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.25) !important;
  font-weight: 900 !important;
}

body.theme-light .orders-main-nav-btn .tab-count {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
}

body.theme-light .orders-main-nav-btn.active .tab-count {
  background: #92400e !important;
  color: #ffffff !important;
  border-color: #92400e !important;
}

/* Proposal Status Filter Tabs Bar */
.proposal-tabs-wrapper {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 8px 12px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.proposal-tabs-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.proposal-tabs-scroll::-webkit-scrollbar {
  height: 4px;
}
.proposal-tabs-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

.tab-pill-btn {
  background: #131b2e !important;
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  padding: 8px 16px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.tab-pill-btn span {
  color: #e2e8f0;
  font-weight: 700;
}

.tab-pill-btn:hover {
  background: #1e2942 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-1px);
}

.tab-pill-btn.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  border-color: #fde68a !important;
  color: #000000 !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.45) !important;
}

.tab-pill-btn.active span {
  color: #000000 !important;
  font-weight: 900 !important;
}

.tab-pill-btn .tab-count {
  background: #090d16;
  color: #fbbf24;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.tab-pill-btn.active .tab-count {
  background: #000000 !important;
  color: #fbbf24 !important;
  font-weight: 900 !important;
  border: 1.5px solid #000000 !important;
}

.proposal-filter-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 10px;
  font-size: 12.5px;
}

/* Botão Toggle Empilhar por Cliente */
.btn-empilhar-toggle {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
  color: var(--text-dim) !important;
  padding: 4px 11px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  border-radius: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

.btn-empilhar-toggle:hover {
  background: rgba(245, 158, 11, 0.15) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
}

.btn-empilhar-toggle.active {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(217, 119, 6, 0.12) 100%) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.2) !important;
}

body.theme-light .btn-empilhar-toggle {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

body.theme-light .btn-empilhar-toggle.active {
  background: #fef3c7 !important;
  border-color: #d97706 !important;
  color: #92400e !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.15) !important;
}

/* ==========================================================================
   CLIENT STACK CONTAINER (EMPILHAMENTO POR MESMO CLIENTE)
   ========================================================================== */
.prop-client-stack-container {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.02);
  border: 1.5px solid rgba(245, 158, 11, 0.25);
  border-radius: var(--radius-lg);
  padding: 10px;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.prop-client-stack-container:hover {
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.12);
}

/* Visual stack effect cards behind the main card */
.prop-client-stack-container::before {
  content: '';
  position: absolute;
  top: -5px;
  left: 12px;
  right: 12px;
  height: 8px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  z-index: 0;
  pointer-events: none;
}

.prop-client-stack-container::after {
  content: '';
  position: absolute;
  top: -10px;
  left: 24px;
  right: 24px;
  height: 8px;
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.15);
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  z-index: 0;
  pointer-events: none;
}

/* Stack Master Header Bar */
.prop-stack-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 10px;
  margin-bottom: 8px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.16) 0%, rgba(217, 119, 6, 0.08) 100%);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: var(--radius-md);
  position: relative;
  z-index: 1;
}

.prop-stack-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.prop-stack-badge-count {
  background: #f59e0b;
  color: #000000;
  font-weight: 900;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  white-space: nowrap;
}

.prop-stack-client-title {
  font-size: 12.5px;
  font-weight: 800;
  color: #ffffff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prop-stack-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.prop-stack-toggle-view-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fbbf24;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
}

.prop-stack-toggle-view-btn:hover {
  background: rgba(245, 158, 11, 0.2);
  border-color: #f59e0b;
  color: #ffffff;
}

/* Switcher Tabs / Pills inside the stack */
.prop-stack-pills-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 2px 2px 8px 2px;
  margin-bottom: 6px;
  position: relative;
  z-index: 1;
}

.prop-stack-pill-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-dim);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prop-stack-pill-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.prop-stack-pill-btn.active {
  background: #f59e0b !important;
  color: #000000 !important;
  font-weight: 900 !important;
  border-color: #f59e0b !important;
  box-shadow: 0 2px 6px rgba(245, 158, 11, 0.3) !important;
}

.prop-stack-content-card {
  position: relative;
  z-index: 1;
}

.prop-stack-expanded-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 1;
}

/* Light mode support for stack */
body.theme-light .prop-client-stack-container {
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

body.theme-light .prop-client-stack-container:hover {
  border-color: #d97706;
  box-shadow: 0 6px 18px rgba(217, 119, 6, 0.12);
}

body.theme-light .prop-client-stack-container::before {
  background: #fef3c7;
  border: 1px solid #fde68a;
}

body.theme-light .prop-client-stack-container::after {
  background: #fef9c3;
  border: 1px solid #fef08a;
}

body.theme-light .prop-stack-header {
  background: linear-gradient(135deg, #fef3c7 0%, #fef9c3 100%);
  border: 1px solid #fde68a;
}

body.theme-light .prop-stack-client-title {
  color: #0f172a;
}

body.theme-light .prop-stack-toggle-view-btn {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #92400e;
}

body.theme-light .prop-stack-toggle-view-btn:hover {
  background: #fef3c7;
  border-color: #d97706;
}

body.theme-light .prop-stack-pill-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #475569;
}

body.theme-light .prop-stack-pill-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}

body.theme-light .prop-stack-pill-btn.active {
  background: #d97706 !important;
  color: #ffffff !important;
  border-color: #b45309 !important;
}

/* ==========================================================================
   PROPOSAL CARD TITLE BLOCK IN EVIDENCE
   ========================================================================== */
.prop-card-title-block {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 4.5px solid var(--gold-500);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  margin-top: 10px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  transition: all 0.2s ease;
}

.prop-card-title-block:hover {
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.04);
}

.prop-card-client-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.prop-client-icon {
  font-size: 16px;
  line-height: 1;
}

.prop-card-client-name {
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.2px;
  margin: 0 !important;
  line-height: 1.25;
}

.prop-card-service-highlight {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: #fbbf24;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: 700;
  width: fit-content;
  max-width: 100%;
}

.prop-card-service-highlight .service-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prop-card-location-row {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  font-size: 11.5px;
  color: var(--text-muted);
  line-height: 1.35;
  margin-top: 1px;
}

.prop-card-location-row .loc-icon {
  font-size: 12px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Light Mode Overrides for Title Block in Evidence */
body.theme-light .prop-card-title-block {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1.5px solid #cbd5e1 !important;
  border-left: 4.5px solid #d97706 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

body.theme-light .prop-card-title-block:hover {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  border-color: #f59e0b !important;
  border-left-color: #b45309 !important;
}

body.theme-light .prop-card-client-name {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light .prop-card-service-highlight {
  background: #fef3c7 !important;
  border: 1px solid #fde68a !important;
  color: #92400e !important;
  font-weight: 800 !important;
}

body.theme-light .prop-card-location-row {
  color: #475569 !important;
  font-weight: 600 !important;
}

/* Botão Editar no Topo do Card */
.prop-btn-top-edit {
  font-size: 11.5px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #fbbf24 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-edit:hover {
  background: rgba(245, 158, 11, 0.2) !important;
  border-color: #f59e0b !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.25) !important;
}

body.theme-light .prop-btn-top-edit {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #b45309 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-edit:hover {
  background: #fef3c7 !important;
  border-color: #f59e0b !important;
  color: #92400e !important;
}

/* Botão Excluir no Topo do Card */
.prop-btn-top-delete {
  font-size: 11.5px !important;
  padding: 4px 8px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  color: #f87171 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-delete:hover {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3) !important;
}

body.theme-light .prop-btn-top-delete {
  background: #fef2f2 !important;
  border: 1.5px solid #fecaca !important;
  color: #dc2626 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-delete:hover {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #991b1b !important;
}

/* Botão Financeiro no Topo do Card (Abaixo de Editar) */
.prop-btn-top-financeiro {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(16, 185, 129, 0.12) !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  color: #34d399 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-financeiro:hover {
  background: rgba(16, 185, 129, 0.25) !important;
  border-color: #10b981 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3) !important;
}

body.theme-light .prop-btn-top-financeiro {
  background: #ecfdf5 !important;
  border: 1.5px solid #a7f3d0 !important;
  color: #047857 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-financeiro:hover {
  background: #d1fae5 !important;
  border-color: #10b981 !important;
  color: #065f46 !important;
}

/* Botão Desconto no Topo do Card (Abaixo de Financeiro) — % ou R$ */
.prop-btn-top-desconto {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(244, 63, 94, 0.12) !important;
  border: 1px dashed rgba(244, 63, 94, 0.45) !important;
  color: #fb7185 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-desconto:hover {
  background: rgba(244, 63, 94, 0.25) !important;
  border-color: #f43f5e !important;
  border-style: solid !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(244, 63, 94, 0.35) !important;
}

.prop-btn-top-desconto.has-desconto {
  background: linear-gradient(135deg, #e11d48, #f43f5e) !important;
  border: 1px solid #fda4af !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(244, 63, 94, 0.35) !important;
}

body.theme-light .prop-btn-top-desconto {
  background: #fff1f2 !important;
  border: 1.5px dashed #fda4af !important;
  color: #be123c !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-desconto:hover {
  background: #ffe4e6 !important;
  border-color: #f43f5e !important;
  border-style: solid !important;
  color: #9f1239 !important;
}

body.theme-light .prop-btn-top-desconto.has-desconto {
  background: linear-gradient(135deg, #e11d48, #f43f5e) !important;
  border: 1.5px solid #e11d48 !important;
  color: #ffffff !important;
}

/* Botão Recibo no Topo do Card */
.prop-btn-top-recibo {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(147, 51, 234, 0.12) !important;
  border: 1px solid rgba(147, 51, 234, 0.35) !important;
  color: #c084fc !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-recibo:hover {
  background: rgba(147, 51, 234, 0.25) !important;
  border-color: #a855f7 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(147, 51, 234, 0.3) !important;
}

body.theme-light .prop-btn-top-recibo {
  background: #faf5ff !important;
  border: 1.5px solid #d8b4fe !important;
  color: #7e22ce !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-recibo:hover {
  background: #f3e8ff !important;
  border-color: #a855f7 !important;
  color: #6b21a8 !important;
}

/* Botão Avaliação & Pós-Obra no Topo do Card */
.prop-btn-top-avaliacao {
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
  color: #fbbf24 !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.prop-btn-top-avaliacao:hover {
  background: rgba(245, 158, 11, 0.28) !important;
  border-color: #f59e0b !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35) !important;
}

body.theme-light .prop-btn-top-avaliacao {
  background: #fffbeb !important;
  border: 1.5px solid #fcd34d !important;
  color: #b45309 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

body.theme-light .prop-btn-top-avaliacao:hover {
  background: #fef3c7 !important;
  border-color: #f59e0b !important;
  color: #92400e !important;
}

/* Card e Textarea de Avaliações & Pós-Obra */
.avaliacao-template-card {
  background: var(--bg-surface);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  transition: all 0.2s ease;
}

.avaliacao-template-card:hover {
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.avaliacao-card-textarea {
  width: 100%;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.85);
  color: #f8fafc;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 12.5px;
  line-height: 1.5;
  resize: vertical;
  min-height: 140px;
}

.avaliacao-card-textarea:focus {
  border-color: #f59e0b;
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

/* Light Mode Overrides para Avaliações */
body.theme-light #modal-avaliacoes-pos-obra .modal-dialog,
body.theme-light #modal-novo-template-avaliacao .modal-dialog {
  background: #ffffff !important;
  border: 2px solid #cbd5e1 !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
}

body.theme-light #modal-avaliacoes-pos-obra .modal-header,
body.theme-light #modal-novo-template-avaliacao .modal-header {
  background: #f8fafc !important;
  border-bottom: 2px solid #cbd5e1 !important;
}

body.theme-light #modal-avaliacoes-pos-obra #modal-avaliacao-header-title,
body.theme-light #modal-novo-template-avaliacao #modal-tpl-title {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light #modal-avaliacoes-pos-obra #modal-avaliacao-header-subtitle {
  color: #334155 !important;
  font-weight: 700 !important;
}

body.theme-light #avaliacao-obra-info-banner {
  background: #fffbeb !important;
  border: 1.5px solid #fde68a !important;
  border-left: 6px solid #d97706 !important;
}

body.theme-light .avaliacao-template-card {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
}

body.theme-light .avaliacao-template-card:hover {
  border-color: #d97706 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
}

body.theme-light .avaliacao-card-textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #94a3b8 !important;
  font-weight: 600 !important;
}

body.theme-light .avaliacao-card-textarea:focus {
  border-color: #d97706 !important;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15) !important;
}

body.theme-light .avaliacao-template-card b {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   MODERN PROPOSAL CARD ACTIONS (ORGANIZED 3-TIER SYSTEM)
   ========================================================================== */
.prop-card-actions-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
  border-top: 1px solid var(--border-color);
  padding-top: 12px;
}

.prop-actions-primary-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.prop-actions-primary-row .btn-action-main {
  flex: 1.2;
}

.prop-actions-primary-row .btn-action-whatsapp {
  flex: 1;
}

.prop-actions-primary-row .btn-action-sig {
  flex: 1;
}

.btn-action-main,
.btn-action-whatsapp,
.btn-action-sig {
  white-space: nowrap;
  font-weight: 800 !important;
  font-size: 12px !important;
  padding: 7px 10px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: var(--radius-sm) !important;
}

.prop-modules-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  position: relative;
}

.prop-modules-grid.is-reordering {
  outline: 2px dashed rgba(245, 158, 11, 0.5);
  border-radius: var(--radius-sm);
  padding: 4px;
}

.prop-module-pill {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  color: var(--text-main);
  text-decoration: none;
  position: relative;
  user-select: none;
}

.prop-module-pill:hover {
  background: rgba(245, 158, 11, 0.15);
  border-color: var(--gold-500);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  color: var(--gold-400);
}

.prop-module-pill.is-dragging {
  opacity: 0.45;
  transform: scale(0.95);
  border: 1.5px dashed var(--gold-500);
  background: rgba(245, 158, 11, 0.1);
}

.prop-module-pill.drag-over {
  border-color: #38bdf8 !important;
  background: rgba(56, 189, 248, 0.18) !important;
  transform: scale(1.05);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.4) !important;
}

.prop-module-pill .module-icon {
  font-size: 14px;
  line-height: 1;
}

.prop-module-pill .module-text {
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.prop-actions-utils-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, 0.08);
}

.prop-utils-left {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.btn-xs {
  padding: 4px 8px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  border-radius: 5px !important;
  line-height: 1.2 !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Modal e controles de reordenação dos botões de módulo */
.reorder-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  margin-bottom: 8px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.reorder-item-row:hover {
  border-color: var(--gold-500);
  background: rgba(245, 158, 11, 0.06);
}

.reorder-item-info {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  font-size: 13.5px;
  color: var(--text-main);
}

.reorder-item-info .reorder-icon {
  font-size: 18px;
}

.reorder-item-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.reorder-arrow-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  color: var(--text-main);
  padding: 4px 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  transition: all 0.15s ease;
}

.reorder-arrow-btn:hover:not(:disabled) {
  background: var(--gold-500);
  color: #000;
  border-color: var(--gold-500);
}

.reorder-arrow-btn:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}

/* Light Mode Overrides for Proposal Cards */
body.theme-light .prop-card-actions-container {
  border-top-color: #e2e8f0;
}

body.theme-light .prop-module-pill {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #1e293b;
}

body.theme-light .prop-module-pill:hover {
  background: #fef3c7;
  border-color: #f59e0b;
  color: #92400e;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.15);
}

body.theme-light .prop-actions-utils-row {
  border-top-color: #e2e8f0;
}

/* ==========================================================================
   EDITOR AVANÇADO DE ORÇAMENTOS: AMBIENTES, MARGENS, MATERIAIS & LOGÍSTICA
   ========================================================================== */

/* Barra de Precificação e Ambientes */
.prop-pricing-toolbar {
  background: rgba(245, 158, 11, 0.07);
  border: 1.5px solid rgba(245, 158, 11, 0.3);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

body.theme-light .prop-pricing-toolbar {
  background: #fef3c7;
  border-color: #fcd34d;
}

/* Card de Cada Item de Escopo */
.prop-scope-card {
  background: rgba(19, 27, 46, 0.7);
  border: 1.5px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-bottom: 14px;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.prop-scope-card:hover {
  border-color: rgba(245, 158, 11, 0.4);
}

body.theme-light .prop-scope-card {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

body.theme-light .prop-scope-card:hover {
  border-color: #d97706;
}

/* Header do Item */
.prop-scope-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 10px;
}

body.theme-light .prop-scope-card-header {
  border-bottom-color: #e2e8f0;
}

/* Switches de Material e Insumos */
.prop-pill-toggle {
  display: inline-flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 2px;
  cursor: pointer;
  user-select: none;
}

body.theme-light .prop-pill-toggle {
  background: #e2e8f0;
  border-color: #cbd5e1;
}

.prop-pill-opt {
  padding: 3px 10px;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  transition: all 0.2s ease;
  cursor: pointer;
}

.prop-pill-opt.active {
  background: var(--gold-500);
  color: #000000;
  box-shadow: 0 2px 6px rgba(245, 158, 11, 0.35);
}

/* Grid de Precificação de Mão de Obra do Item */
.prop-scope-pricing-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  background: rgba(0, 0, 0, 0.2);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

body.theme-light .prop-scope-pricing-row {
  background: #f8fafc;
  border-color: #e2e8f0;
}

/* Área de Materiais do Item */
.prop-scope-materials-box {
  background: rgba(14, 22, 38, 0.7);
  border: 1.5px dashed rgba(59, 130, 246, 0.4);
  border-radius: var(--radius-md);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body.theme-light .prop-scope-materials-box {
  background: #eff6ff;
  border-color: #93c5fd;
}

/* Custos Operacionais & Logística */
.prop-logistics-card {
  background: rgba(19, 27, 46, 0.7);
  border: 1.5px solid rgba(59, 130, 246, 0.3);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-top: 18px;
}

body.theme-light .prop-logistics-card {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

/* Card Resumo Financeiro Inteligente */
.prop-summary-dashboard {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(19, 27, 46, 0.9));
  border: 1.5px solid #f59e0b;
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.prop-summary-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
  align-items: center;
}

.prop-summary-action-area {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
  margin-top: 2px;
  border-top: 1px solid rgba(245, 158, 11, 0.22);
  width: 100%;
}

body.theme-light .prop-summary-dashboard {
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  border-color: #d97706;
  box-shadow: 0 4px 16px rgba(217, 119, 6, 0.15);
}

body.theme-light .prop-summary-action-area {
  border-top-color: rgba(217, 119, 6, 0.22);
}

/* Compact & Ergonomic Proposal Editor Width & Input Bars */
#modal-prop-editor .modal-dialog {
  max-width: 980px !important;
  width: 92vw !important;
}

#modal-prop-editor .prop-logistics-card {
  padding: 12px 14px;
}

/* ==========================================================================
   📊 BOTÃO DOSSIÊ DO CEO (MODERNO, HARMONIOSO E EMBUTIDO NA CAIXA)
   ========================================================================== */
.btn-ceo-dossie {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 7px !important;
  padding: 6px 16px !important;
  margin: 0 auto !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  border-radius: 20px !important;
  background: rgba(245, 158, 11, 0.14) !important;
  color: #fbbf24 !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  text-shadow: none !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  line-height: 1.3 !important;
  user-select: none !important;
}

.btn-ceo-dossie:hover {
  background: rgba(245, 158, 11, 0.28) !important;
  border-color: #fbbf24 !important;
  color: #ffffff !important;
  transform: translateY(-1px) scale(1.02) !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
}

.btn-ceo-dossie:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;
}

.btn-ceo-dossie .dossie-icon {
  font-size: 11px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body.theme-light .btn-ceo-dossie {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1.5px solid #fcd34d !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.12) !important;
}

body.theme-light .btn-ceo-dossie:hover {
  background: #fde68a !important;
  color: #78350f !important;
  border-color: #f59e0b !important;
}

/* Button sizing and text protection */
.btn-sm {
  padding: 6px 11px !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Top Habits & Principles Ticker Bar */
.top-habits-reminder-bar {
  background: linear-gradient(90deg, #090d16 0%, #151d30 50%, #090d16 100%) !important;
  border-bottom: 2.5px solid #f59e0b !important;
  padding: 8px 18px;
  min-height: 52px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  z-index: 15;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.6), 0 0 15px rgba(245, 158, 11, 0.15);
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Estado Recolhido da Barra de Sabedoria (Mais espaço de tela) */
.top-habits-reminder-bar.collapsed {
  min-height: 28px !important;
  height: 28px !important;
  padding: 2px 16px !important;
  overflow: hidden !important;
  background: rgba(15, 23, 42, 0.95) !important;
  border-bottom: 1.5px solid rgba(245, 158, 11, 0.5) !important;
  cursor: pointer;
}

body.theme-light .top-habits-reminder-bar.collapsed {
  background: #fef3c7 !important;
  border-bottom: 1.5px solid #f59e0b !important;
}

.top-habits-reminder-bar.collapsed .habits-quote-text,
.top-habits-reminder-bar.collapsed .habit-author-badge,
.top-habits-reminder-bar.collapsed .btn-habit-shuffle-btn,
.top-habits-reminder-bar.collapsed .btn-secondary,
.top-habits-reminder-bar.collapsed .btn-habit-ctrl:not(#btn-toggle-habits-bar) {
  display: none !important;
}

.top-habits-reminder-bar.collapsed .habits-badge {
  font-size: 9.5px !important;
  padding: 1px 8px !important;
  box-shadow: none !important;
}

.top-habits-reminder-bar.collapsed .top-habits-content::after {
  content: "💡 Frases dos Mentores & Sabedoria (Recolhido para liberar espaço) • Clique para expandir";
  font-size: 11px;
  font-weight: 700;
  color: #fbbf24;
  margin-left: 8px;
  white-space: nowrap;
}

body.theme-light .top-habits-reminder-bar.collapsed .top-habits-content::after {
  color: #92400e;
}

.top-habits-content {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.habits-badge {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #000000 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  padding: 4px 11px !important;
  border-radius: 20px !important;
  white-space: nowrap;
  letter-spacing: 0.5px;
  border: 1.5px solid #fde68a !important;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.5) !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.habits-quote-text {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #fef08a !important; /* Luminous visible gold-yellow */
  white-space: normal !important; /* Visualização 100% completa sem corte de texto */
  line-height: 1.35 !important;
  font-style: italic;
  letter-spacing: 0.2px;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.95);
  animation: fadeIn 0.4s ease-in-out;
  flex: 1;
  overflow: visible !important;
}

.habits-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.btn-habit-ctrl {
  background: #1e293b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.4) !important;
  color: #fbbf24 !important;
  font-weight: 800 !important;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s;
}

.habit-author-badge {
  background: rgba(59, 130, 246, 0.22) !important;
  border: 1.5px solid #60a5fa !important;
  color: #bfdbfe !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 14px !important;
  white-space: nowrap;
  letter-spacing: 0.3px;
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.3) !important;
  display: inline-flex;
  align-items: center;
}

.btn-habit-shuffle-btn {
  padding: 5px 12px !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  border-radius: 18px !important;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-habit-shuffle-btn.shuffle-on {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  border: 1.5px solid #6ee7b7 !important;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.5) !important;
}

.btn-habit-shuffle-btn.shuffle-off {
  background: #1e293b !important;
  color: #94a3b8 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
}

.btn-habit-shuffle-btn:hover {
  transform: translateY(-1px) scale(1.04);
}

/* Quality Tag Badges */
.quality-tag-badge {
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.35);
  color: #93c5fd;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* ==========================================================================
   TOP YOUTUBE MUSIC & SOM AMBIENTE PLAYER BAR (FIXA EXECUTIVA)
   ========================================================================== */
.top-music-player-bar {
  background: linear-gradient(90deg, #0a0e17 0%, #111827 50%, #0a0e17 100%) !important;
  border-bottom: 2px solid rgba(239, 68, 68, 0.35) !important;
  padding: 6px 18px;
  min-height: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  z-index: 14;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), 0 0 14px rgba(239, 68, 68, 0.12);
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  user-select: none;
}

/* Estado Recolhido da Barra de Música */
.top-music-player-bar.collapsed {
  min-height: 28px !important;
  height: 28px !important;
  padding: 2px 16px !important;
  overflow: hidden !important;
  background: rgba(10, 14, 23, 0.96) !important;
  border-bottom: 1.5px solid rgba(239, 68, 68, 0.4) !important;
  cursor: pointer;
}

.top-music-player-bar.collapsed .music-selector-wrapper,
.top-music-player-bar.collapsed .music-track-meta,
.top-music-player-bar.collapsed .music-progress-box,
.top-music-player-bar.collapsed .music-volume-box,
.top-music-player-bar.collapsed .btn-yt-external,
.top-music-player-bar.collapsed .btn-music-ctrl:not(#btn-toggle-music-bar) {
  display: none !important;
}

.top-music-player-bar.collapsed .music-station-info::after {
  content: "🎵 YouTube Music & Sons Ambientes (Recolhido para liberar espaço) • Clique para expandir";
  font-size: 11px;
  font-weight: 700;
  color: #f87171;
  margin-left: 8px;
  white-space: nowrap;
}

body.theme-light .top-music-player-bar.collapsed .music-station-info::after {
  color: #dc2626;
}

.music-station-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.music-brand-badge {
  background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  padding: 3px 10px !important;
  border-radius: 18px !important;
  white-space: nowrap;
  letter-spacing: 0.6px;
  border: 1.5px solid #fca5a5 !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4) !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

.music-yt-icon {
  font-size: 10px;
  display: inline-block;
  line-height: 1;
}

.music-selector-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

.music-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #64748b;
  box-shadow: 0 0 6px #64748b;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.music-status-dot.playing {
  background: #10b981 !important;
  box-shadow: 0 0 10px #10b981, 0 0 18px rgba(16, 185, 129, 0.7) !important;
  animation: pulse-green 1.4s infinite;
}

.music-channel-select {
  background: #1e293b;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  color: #f8fafc;
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 16px;
  outline: none;
  cursor: pointer;
  max-width: 250px;
  transition: border-color 0.2s ease;
}

.music-channel-select:focus {
  border-color: #ef4444;
}

.music-channel-select optgroup {
  background: #0f172a;
  color: #94a3b8;
  font-weight: 800;
}

.music-channel-select option {
  background: #1e293b;
  color: #f8fafc;
  padding: 4px;
}

.music-track-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.music-track-title {
  font-size: 12px;
  font-weight: 800;
  color: #f8fafc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.1px;
}

.music-track-sub {
  font-size: 10px;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.music-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.btn-music-ctrl {
  background: #1e293b;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  color: #cbd5e1;
  font-weight: 800;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  transition: all 0.2s;
}

.btn-music-ctrl:hover {
  background: #334155;
  color: #ffffff;
  border-color: #ef4444;
  transform: scale(1.05);
}

#btn-manage-playlists {
  width: auto !important;
  height: 28px !important;
  border-radius: 14px !important;
  padding: 0 10px !important;
  background: rgba(245, 158, 11, 0.15) !important;
  border: 1.5px solid rgba(245, 158, 11, 0.4) !important;
  color: #fbbf24 !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: all 0.2s ease !important;
}

#btn-manage-playlists:hover {
  background: rgba(245, 158, 11, 0.3) !important;
  border-color: #f59e0b !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3) !important;
}

.btn-music-ctrl.active {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: #ef4444 !important;
  color: #fca5a5 !important;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.5) !important;
}

.music-progress-box {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #1e293b;
  padding: 3px 10px;
  border-radius: 16px;
  border: 1.5px solid rgba(255, 255, 255, 0.12);
}

.music-time-display {
  font-size: 10.5px;
  font-weight: 700;
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.2px;
  min-width: 32px;
  text-align: center;
}

.music-progress-range {
  width: 90px;
  height: 4px;
  accent-color: #ef4444;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .music-progress-range {
    width: 60px;
  }
}

.btn-music-play {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
  border: 1.5px solid #fca5a5 !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(239, 68, 68, 0.45);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
}

.btn-music-play:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.6);
}

.btn-music-play.is-playing {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border-color: #6ee7b7 !important;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.5) !important;
}

.music-volume-box {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #1e293b;
  padding: 3px 10px;
  border-radius: 16px;
  border: 1.5px solid rgba(255, 255, 255, 0.12);
}

.btn-volume-mute {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
  color: #cbd5e1;
  padding: 0;
  display: inline-flex;
  align-items: center;
}

.music-volume-range {
  width: 65px;
  height: 4px;
  accent-color: #ef4444;
  cursor: pointer;
}

.music-volume-val {
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
  min-width: 26px;
  text-align: right;
}

.btn-yt-external {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(239, 68, 68, 0.12);
  border: 1.5px solid rgba(239, 68, 68, 0.45);
  color: #fca5a5;
  font-size: 11px;
  font-weight: 800;
  padding: 4px 11px;
  border-radius: 16px;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s;
}

.btn-yt-external:hover {
  background: #ef4444;
  color: #ffffff;
  border-color: #ef4444;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.5);
  transform: translateY(-1px);
}

/* ==========================================================================
   MEDIA PRINT (A4 PERFECT PRINTING & PDF EXPORT)
   ========================================================================== */
@media print {
  /* 1. Global Reset for Print (Unconstrained Multi-page Flow) */
  html, body, body.modal-open {
    display: block !important;
    position: static !important;
    background: #ffffff !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* 2. Hide all application UI background and interactive non-printable elements */
  #app-container,
  aside.sidebar,
  header.top-header,
  #toast-container,
  .no-print,
  .btn,
  .modal-close,
  .modal-header,
  .modal-footer,
  .modal-backdrop:not(#modal-doc-viewer):not(#modal-view-danfse),
  #ai-copilot-trigger-btn,
  #ai-copilot-backdrop,
  #ai-copilot-drawer,
  .ai-copilot-trigger,
  .ai-copilot-backdrop,
  .ai-copilot-drawer,
  #ai-copilot-dropzone-modal,
  #mobile-sim-trigger-btn,
  .mobile-sim-trigger,
  #mobile-sim-backdrop,
  .mobile-sim-backdrop,
  #mobile-sim-drawer,
  .mobile-sim-drawer,
  .habits-bar-container,
  .top-habits-bar,
  #live-clock-pill,
  .live-clock-pill,
  .floating-widget,
  .btn-doc-edit-os {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 3. Force Document Viewer Modal to be the Printable Page without page-clipping */
  #modal-doc-viewer,
  #modal-doc-viewer.show,
  #modal-doc-viewer.active {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    opacity: 1 !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    transform: none !important;
    float: none !important;
  }

  #modal-doc-viewer .modal-dialog {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    min-height: auto !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    overflow: visible !important;
    opacity: 1 !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    flex: none !important;
    animation: none !important;
  }

  #modal-doc-viewer .modal-body,
  #doc-preview-body {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    background: #ffffff !important;
    color: #0f172a !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    min-height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    opacity: 1 !important;
    flex: none !important;
  }

  .document-preview-container,
  .doc-a4-sheet,
  #laudo-print-area {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    background: #ffffff !important;
    color: #0f172a !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
  }

  /* Full-width stretch and compact spacing for all internal document elements */
  .doc-header-table,
  .doc-table,
  .doc-grid-info,
  .doc-total-box,
  .doc-section-title,
  .doc-signatures-grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .doc-header-table {
    margin-bottom: 8px !important;
    padding-bottom: 6px !important;
  }

  .doc-header-logo-img {
    height: 42px !important;
  }

  .doc-section-title {
    font-size: 11px !important;
    padding: 3px 6px !important;
    margin: 8px 0 5px !important;
    border-left-width: 3px !important;
  }

  .doc-grid-info {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
  }

  .doc-field-box {
    box-sizing: border-box !important;
    padding: 4px 7px !important;
  }

  .doc-field-label {
    font-size: 9px !important;
  }

  .doc-field-val {
    font-size: 11px !important;
    margin-top: 1px !important;
  }

  .doc-table {
    margin: 5px 0 !important;
    font-size: 10.5px !important;
  }

  .doc-table th {
    padding: 4px 6px !important;
    font-size: 10px !important;
  }

  .doc-table td {
    padding: 4px 6px !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }

  .doc-total-box {
    margin: 6px 0 !important;
    padding: 6px 10px !important;
  }

  .doc-total-val {
    font-size: 15px !important;
  }

  .doc-signatures-grid {
    gap: 16px 20px !important;
    margin-top: 16px !important;
    padding-top: 4px !important;
  }

  .signature-space {
    height: 50px !important;
    min-height: 50px !important;
  }

  .signature-line-box {
    padding-top: 4px !important;
    border-top: 1.5px solid #0f172a !important;
  }

  .signature-line-box p {
    font-size: 10.5px !important;
    margin: 1px 0 !important;
  }

  /* 4. Force DANFSE NFS-e Modal to be Printable */
  #modal-view-danfse {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  #modal-view-danfse .modal,
  #modal-view-danfse .modal-dialog {
    display: block !important;
    visibility: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  #modal-view-danfse .modal-body {
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .danfse-paper {
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Force exact colors and backgrounds on all print elements */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Page break rules for clean tables & sections */
  .doc-header-table,
  .doc-signatures-grid,
  .doc-total-box,
  .doc-field-box,
  .doc-foto-table,
  .foto-pair-container {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Allow large tables to flow cleanly between pages, but avoid breaking individual rows */
  .doc-table {
    page-break-inside: auto;
    break-inside: auto;
  }

  .doc-table tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Keep section titles attached to the next content to avoid orphaned headings */
  .doc-section-title {
    page-break-after: avoid;
    break-after: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .doc-page-break {
    page-break-before: always !important;
    break-before: page !important;
    display: block !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    visibility: hidden !important;
  }

  @page {
    size: A4 portrait;
    margin: 8mm 10mm 8mm 10mm;
  }
}

/* ==========================================================================
   BI (BUSINESS INTELLIGENCE) & MARKETING 360° STYLES
   ========================================================================== */

.bi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 18px 20px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.bi-card:hover {
  border-color: rgba(245, 158, 11, 0.3);
}

.bi-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 10px;
}

/* KPI Progress Cards */
.bi-kpi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.bi-progress-track {
  width: 100%;
  height: 7px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
  margin: 4px 0;
}

.bi-progress-bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Marketing Sub-Tabs */
.mkt-subtabs-bar {
  display: flex;
  gap: 8px;
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 6px;
  margin-bottom: 20px;
  overflow-x: auto;
}

.mkt-tab-btn {
  background: transparent;
  border: none;
  color: var(--text-muted);
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.mkt-tab-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.04);
}

.mkt-tab-btn.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #000000;
  font-weight: 900;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.35);
}

/* Marketing Pipeline Kanban */
.mkt-pipeline-container {
  display: grid;
  grid-template-columns: repeat(6, minmax(260px, 1fr));
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 12px;
}

.mkt-pipeline-col {
  background: #090e17;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 280px);
}

.mkt-pipeline-col-header {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #0e1626;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.mkt-pipeline-col-body {
  padding: 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.mkt-lead-card {
  background: var(--bg-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mkt-lead-card:hover {
  border-color: #fbbf24;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

/* Marketing Copy Template Card */
.mkt-copy-card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.mkt-copy-preview {
  background: #090e17;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  font-size: 12px;
  line-height: 1.5;
  color: #cbd5e1;
  white-space: pre-wrap;
  font-family: 'Plus Jakarta Sans', sans-serif;
  max-height: 180px;
  overflow-y: auto;
}

/* Interactive Proposal Status Selector */
.proposal-status-select {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  border-radius: 20px;
  padding: 3px 8px;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  appearance: auto;
  -webkit-appearance: auto;
  white-space: nowrap;
}

.proposal-status-select:hover {
  transform: scale(1.02);
  filter: brightness(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.proposal-status-select:focus {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}

.status-select-aprovado {
  background: rgba(16, 185, 129, 0.18);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.5);
}

.status-select-pendente {
  background: rgba(245, 158, 11, 0.18);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.5);
}

.status-select-concluido {
  background: rgba(59, 130, 246, 0.18);
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.5);
}

.status-select-recebido {
  background: rgba(168, 85, 247, 0.18);
  color: #c084fc;
  border-color: rgba(168, 85, 247, 0.5);
}

.status-select-recebido-concluido {
  background: rgba(16, 185, 129, 0.22);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.6);
  font-weight: 800;
}

.status-select-cancelado {
  background: rgba(239, 68, 68, 0.18);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.5);
}

.status-select-aprovado option,
.status-select-pendente option,
.status-select-concluido option,
.status-select-recebido option,
.status-select-recebido-concluido option,
.status-select-cancelado option {
  background: #0f172a;
  color: #ffffff;
  font-weight: 600;
  padding: 6px;
}

/* ==========================================================================
   🤖 RAP10 AI COPILOT 360° (ASSISTENTE EXECUTIVO INTELIGENTE)
   ========================================================================== */

/* 1. Floating Right-Side Docked Tab Trigger (Recolhível) */
.ai-copilot-trigger {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translateX(calc(100% - 10px));
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 10px;
  border-radius: 20px 0 0 20px;
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 60%, #0f172a 100%);
  border: 1.5px solid rgba(139, 92, 246, 0.7);
  border-right: none;
  color: #ffffff;
  cursor: pointer;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5), -2px 0 12px rgba(139, 92, 246, 0.35);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.25s ease;
  animation: aiGlowPulse 3.5s infinite ease-in-out;
  outline: none;
  user-select: none;
}

/* Indicador luminoso na borda esquerda da aba recolhida */
.ai-copilot-trigger::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 4px;
  border-radius: 4px 0 0 4px;
  background: linear-gradient(180deg, #38bdf8, #8b5cf6, #ec4899);
  box-shadow: -2px 0 8px rgba(139, 92, 246, 0.9);
}

/* Revela suavemente a aba ao passar o mouse ou acionar */
.ai-copilot-trigger:hover,
.ai-copilot-trigger:focus,
.ai-copilot-trigger.revealed {
  transform: translateY(-50%) translateX(0);
  border-color: #a855f7;
  box-shadow: -8px 0 35px rgba(0, 0, 0, 0.65), -3px 0 25px rgba(168, 85, 247, 0.6);
}

.ai-copilot-trigger:active {
  transform: translateY(-50%) translateX(2px);
}

.ai-copilot-trigger.hidden-by-drawer {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(100%);
}

.ai-copilot-trigger-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #8b5cf6, #3b82f6, #f59e0b);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  box-shadow: 0 0 10px rgba(139, 92, 246, 0.6);
  animation: aiIconSpin 8s linear infinite;
}

.ai-copilot-trigger-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.ai-copilot-trigger-title {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.3px;
  background: linear-gradient(90deg, #ffffff, #c4b5fd, #fde68a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

.ai-copilot-trigger-subtitle {
  font-size: 9.5px;
  color: #a78bfa;
  font-weight: 600;
  white-space: nowrap;
}

@keyframes aiGlowPulse {
  0%, 100% {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.45), 0 0 15px rgba(139, 92, 246, 0.3);
  }
  50% {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55), 0 0 28px rgba(139, 92, 246, 0.55), 0 0 15px rgba(59, 130, 246, 0.3);
  }
}

@keyframes aiIconSpin {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}

/* 2. Backdrop Overlay */
.ai-copilot-backdrop {
  display: none !important;
  pointer-events: none !important;
}

.ai-copilot-backdrop.active {
  display: none !important;
  pointer-events: none !important;
}

/* 3. Retractable Drawer (Right to Left) */
.ai-copilot-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 460px;
  max-width: 95vw;
  height: 100vh;
  z-index: 1050;
  background: rgba(13, 19, 36, 0.96);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-left: 1.5px solid rgba(139, 92, 246, 0.35);
  box-shadow: -15px 0 45px rgba(0, 0, 0, 0.7), 0 0 30px rgba(59, 130, 246, 0.12);
  display: flex;
  flex-direction: column;
  transform: translateX(105%);
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), width 0.3s ease;
  overflow: hidden;
}

.ai-copilot-drawer.drawer-open {
  transform: translateX(0);
}

.ai-copilot-drawer.drawer-expanded {
  width: 680px;
}

/* Accent Glow Bar */
.ai-drawer-top-glow {
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 35%, #ec4899 70%, #f59e0b 100%);
}

/* Header */
.ai-drawer-header {
  padding: 14px 18px;
  background: rgba(17, 24, 46, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ai-drawer-profile {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ai-avatar-badge {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #4f46e5, #7c3aed, #d97706);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.4);
}

.ai-status-indicator {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #10b981;
  border: 2px solid #0f172a;
  box-shadow: 0 0 6px #10b981;
}

.ai-drawer-title-box h4 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 800;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ai-drawer-title-box span {
  font-size: 11px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 4px;
}

.ai-drawer-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ai-btn-icon-sm {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s ease;
}

.ai-btn-icon-sm:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.ai-btn-close-drawer {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #fca5a5;
}

.ai-btn-close-drawer:hover {
  background: rgba(239, 68, 68, 0.25);
  color: #ffffff;
  border-color: rgba(239, 68, 68, 0.6);
}

/* Quick Prompt Chips */
.ai-quick-chips-wrapper {
  padding: 10px 14px;
  background: rgba(15, 23, 42, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}
.ai-quick-chips-wrapper::-webkit-scrollbar {
  display: none;
}

.ai-quick-chips-list {
  display: flex;
  gap: 8px;
}

.ai-quick-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 700;
  background: rgba(30, 41, 59, 0.7);
  border: 1px solid rgba(139, 92, 246, 0.25);
  color: #e2e8f0;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.ai-quick-chip:hover {
  background: rgba(139, 92, 246, 0.2);
  border-color: rgba(139, 92, 246, 0.6);
  color: #fde047;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

/* Chat Messages Container */
.ai-chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(139, 92, 246, 0.3) transparent;
}

.ai-chat-body::-webkit-scrollbar {
  width: 6px;
}
.ai-chat-body::-webkit-scrollbar-thumb {
  background: rgba(139, 92, 246, 0.3);
  border-radius: 10px;
}

/* Message Rows */
.ai-msg-row {
  display: flex;
  gap: 10px;
  max-width: 100%;
  animation: aiMsgFadeIn 0.25s ease-out;
}

@keyframes aiMsgFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.ai-msg-row.user {
  flex-direction: row-reverse;
  align-self: flex-end;
}

.ai-msg-avatar {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.ai-msg-row.assistant .ai-msg-avatar {
  background: linear-gradient(135deg, #7c3aed, #3b82f6);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.4);
}

.ai-msg-row.user .ai-msg-avatar {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
}

.ai-msg-bubble {
  padding: 12px 15px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.5;
  max-width: 82%;
  word-break: break-word;
}

.ai-msg-row.assistant .ai-msg-bubble {
  background: rgba(30, 41, 59, 0.85);
  border: 1px solid rgba(139, 92, 246, 0.25);
  color: #f1f5f9;
  border-top-left-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.ai-msg-row.user .ai-msg-bubble {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  border: 1px solid rgba(59, 130, 246, 0.5);
  color: #ffffff;
  border-top-right-radius: 4px;
  box-shadow: 0 4px 15px rgba(37, 99, 235, 0.25);
}

.ai-msg-time {
  font-size: 9.5px;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 4px;
  text-align: right;
}

/* Action Cards Inside AI Messages */
.ai-action-card {
  margin-top: 10px;
  background: rgba(15, 23, 42, 0.8);
  border: 1.5px solid rgba(245, 158, 11, 0.4);
  border-radius: 10px;
  padding: 12px;
}

.ai-action-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-weight: 800;
  font-size: 12.5px;
  color: #fbbf24;
}

.ai-action-card-body {
  font-size: 12px;
  color: #cbd5e1;
  margin-bottom: 10px;
}

.ai-action-card-item {
  display: flex;
  justify-content: space-between;
  padding: 3px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
}

.ai-action-card-item b {
  color: #ffffff;
}

.ai-action-card-footer {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

/* Audio Visualizer Waves (When Mic is Active) */
.ai-voice-active-bar {
  padding: 8px 14px;
  background: rgba(239, 68, 68, 0.15);
  border-top: 1px solid rgba(239, 68, 68, 0.4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  animation: aiPulseRed 2s infinite ease-in-out;
}

@keyframes aiPulseRed {
  0%, 100% { background: rgba(239, 68, 68, 0.15); }
  50% { background: rgba(239, 68, 68, 0.3); }
}

.ai-voice-waves {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 20px;
}

.ai-wave-bar {
  width: 3px;
  background: #f87171;
  border-radius: 3px;
  animation: aiWaveAnim 1s ease-in-out infinite alternate;
}

.ai-wave-bar:nth-child(1) { height: 6px; animation-delay: 0.1s; }
.ai-wave-bar:nth-child(2) { height: 16px; animation-delay: 0.2s; }
.ai-wave-bar:nth-child(3) { height: 22px; animation-delay: 0.3s; }
.ai-wave-bar:nth-child(4) { height: 12px; animation-delay: 0.4s; }
.ai-wave-bar:nth-child(5) { height: 18px; animation-delay: 0.2s; }
.ai-wave-bar:nth-child(6) { height: 8px; animation-delay: 0.1s; }

@keyframes aiWaveAnim {
  0% { transform: scaleY(0.4); }
  100% { transform: scaleY(1.3); }
}

/* Image Attachment Preview Box */
.ai-attachment-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: rgba(30, 41, 59, 0.7);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ai-preview-thumb {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Footer & Input Bar */
.ai-drawer-footer {
  padding: 12px 14px;
  background: rgba(15, 23, 42, 0.95);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ai-input-form {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  background: rgba(30, 41, 59, 0.7);
  border: 1.5px solid rgba(139, 92, 246, 0.35);
  border-radius: 14px;
  padding: 6px 10px;
  transition: all 0.2s ease;
}

.ai-input-form:focus-within {
  border-color: #a855f7;
  background: rgba(30, 41, 59, 0.95);
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.3);
}

.ai-chat-textarea {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-size: 13px;
  font-family: inherit;
  resize: none;
  max-height: 120px;
  min-height: 22px;
  line-height: 1.4;
  padding: 4px 0;
}

.ai-chat-textarea::placeholder {
  color: #64748b;
}

.ai-input-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}

.ai-btn-mic {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #38bdf8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ai-btn-mic:hover {
  background: rgba(56, 189, 248, 0.2);
  border-color: #38bdf8;
  color: #ffffff;
}

.ai-btn-mic.recording {
  background: #ef4444 !important;
  border-color: #f87171 !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.7);
  animation: aiMicPulse 1.2s infinite alternate;
}

@keyframes aiMicPulse {
  0% { transform: scale(1); }
  100% { transform: scale(1.1); }
}

.ai-btn-attach {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fbbf24;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ai-btn-attach:hover {
  background: rgba(245, 158, 11, 0.2);
  border-color: #fbbf24;
  color: #ffffff;
}

.ai-btn-send {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #8b5cf6, #3b82f6);
  border: none;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 10px rgba(139, 92, 246, 0.4);
}

.ai-btn-send:hover {
  transform: translateY(-1px) scale(1.05);
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.6);
}

.ai-btn-send:active {
  transform: scale(0.95);
}

/* Typing Indicator */
.ai-typing-indicator {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 12px;
  background: rgba(30, 41, 59, 0.7);
  border-radius: 12px;
  width: fit-content;
}

.ai-typing-dot {
  width: 6px;
  height: 6px;
  background: #a78bfa;
  border-radius: 50%;
  animation: aiTypingBounce 1.4s infinite ease-in-out;
}
.ai-typing-dot:nth-child(1) { animation-delay: -0.32s; }
.ai-typing-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes aiTypingBounce {
  0%, 80%, 100% { transform: scale(0); opacity: 0.3; }
  40% { transform: scale(1); opacity: 1; }
}

/* Drag and Drop Full Dropzone */
.ai-drag-overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.92);
  border: 2.5px dashed #8b5cf6;
  border-radius: 12px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  gap: 12px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.ai-drag-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* ==========================================================================
   SISTEMA DE BLOCOS DE INFORMAÇÕES ADICIONAIS & OBSERVAÇÕES
   ========================================================================== */
.bloco-card-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 14px;
  transition: all 0.2s ease;
}

.bloco-card-item:hover {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(255, 255, 255, 0.05);
}

#prop-form-quick-chips .quick-reason-chip {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: #fbbf24;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

#prop-form-quick-chips .quick-reason-chip:hover {
  background: rgba(245, 158, 11, 0.25);
  border-color: #f59e0b;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.2);
}

#prop-form-clausulas-quick-chips .quick-reason-chip {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: #93c5fd;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  font-size: 11px;
  padding: 2px 9px;
}

#prop-form-clausulas-quick-chips .quick-reason-chip:hover {
  background: rgba(59, 130, 246, 0.25);
  border-color: #3b82f6;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

/* ==========================================================================
   DOSSIÊ 360° DO PRESTADOR: TABS, TIMELINE, DOCUMENTOS & RECIBOS
   ========================================================================== */

/* Abas de Navegação do Dossiê */
.dossie-tabs-nav {
  display: flex;
  gap: 6px;
  background: rgba(11, 15, 25, 0.6);
  padding: 6px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-color);
  margin-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.dossie-tab-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.dossie-tab-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}

.dossie-tab-btn.active {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(217, 119, 6, 0.1));
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.15);
}

.dossie-tab-badge {
  background: rgba(255, 255, 255, 0.1);
  padding: 1px 7px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
}

.dossie-tab-btn.active .dossie-tab-badge {
  background: rgba(245, 158, 11, 0.3);
  color: #fbbf24;
}

/* Cards Métricos Clicáveis de Navegação Rápida (Departamentos do Dossiê) */
.dossie-overview-card {
  border-radius: var(--radius-md);
  padding: 12px 14px;
  text-align: center;
  cursor: pointer;
  position: relative;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dossie-overview-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  filter: brightness(1.1);
}

.dossie-overview-card:active {
  transform: translateY(-1px);
}

.dossie-overview-card .card-click-hint {
  font-size: 10px;
  opacity: 0.75;
  transition: opacity 0.2s ease, transform 0.2s ease;
  margin-top: 4px;
  font-weight: 700;
  display: inline-block;
}

.dossie-overview-card:hover .card-click-hint {
  opacity: 1;
  transform: translateY(1px);
}

/* Variações de cor e borda por departamento */
.dossie-card-score {
  background: rgba(245, 158, 11, 0.1);
  border: 1.5px solid var(--gold-400);
}
.dossie-card-score:hover {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.18);
  box-shadow: 0 8px 22px rgba(245, 158, 11, 0.25);
}

.dossie-card-obras {
  background: rgba(37, 99, 235, 0.08);
  border: 1.5px solid rgba(59, 130, 246, 0.4);
}
.dossie-card-obras:hover {
  border-color: #3b82f6;
  background: rgba(37, 99, 235, 0.16);
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.25);
}

.dossie-card-financeiro {
  background: rgba(16, 185, 129, 0.08);
  border: 1.5px solid rgba(16, 185, 129, 0.4);
}
.dossie-card-financeiro:hover {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.16);
  box-shadow: 0 8px 22px rgba(16, 185, 129, 0.25);
}

.dossie-card-contrato {
  background: rgba(139, 92, 246, 0.08);
  border: 1.5px solid rgba(139, 92, 246, 0.4);
}
.dossie-card-contrato:hover {
  border-color: #8b5cf6;
  background: rgba(139, 92, 246, 0.16);
  box-shadow: 0 8px 22px rgba(139, 92, 246, 0.25);
}

/* Suporte no Tema Claro */
body.theme-light .dossie-overview-card {
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
}
body.theme-light .dossie-card-score {
  border: 2px solid #f59e0b !important;
  background: #fffbeb !important;
}
body.theme-light .dossie-card-obras {
  border: 2px solid #3b82f6 !important;
  background: #eff6ff !important;
}
body.theme-light .dossie-card-financeiro {
  border: 2px solid #10b981 !important;
  background: #ecfdf5 !important;
}
body.theme-light .dossie-card-contrato {
  border: 2px solid #8b5cf6 !important;
  background: #f5f3ff !important;
}
body.theme-light .dossie-overview-card:hover {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16) !important;
}

/* Barra de Abas do Dossiê no Modo Claro - Alto Contraste */
body.theme-light .dossie-tabs-nav {
  background: #e2e8f0 !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}
body.theme-light .dossie-tab-btn {
  color: #334155 !important;
  font-weight: 700 !important;
}
body.theme-light .dossie-tab-btn:hover {
  color: #0f172a !important;
  background: #f1f5f9 !important;
}
body.theme-light .dossie-tab-btn.active {
  background: #ffffff !important;
  color: #b45309 !important;
  border: 1.5px solid #f59e0b !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1) !important;
}
body.theme-light .dossie-tab-badge {
  background: #cbd5e1 !important;
  color: #1e293b !important;
  font-weight: 800 !important;
}
body.theme-light .dossie-tab-btn.active .dossie-tab-badge {
  background: #fef3c7 !important;
  color: #b45309 !important;
}

/* Painel de Conteúdo e Caixas do Dossiê no Modo Claro */
body.theme-light #modal-prestador-score-historico .modal-dialog {
  background: #f8fafc !important;
  color: #0f172a !important;
}
body.theme-light #modal-prestador-score-historico .modal-header {
  background: #ffffff !important;
  border-bottom: 2px solid #e2e8f0 !important;
}
body.theme-light #modal-score-prest-nome {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light #modal-score-prest-esp {
  color: #92400e !important;
  font-weight: 700 !important;
}
body.theme-light .dossie-tab-pane > div[style*="var(--bg-surface)"] {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05) !important;
}

/* Título e Subtítulo do Extrato Financeiro */
body.theme-light #pane-dossie-financeiro h4 {
  color: #047857 !important;
  font-weight: 900 !important;
}
body.theme-light #pane-dossie-financeiro p {
  color: #475569 !important;
}

/* Crachá PIX no Modo Claro */
body.theme-light #prestador-financeiro-pix-badge {
  background: #eff6ff !important;
  border: 1.5px solid #3b82f6 !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}

/* Cartões Métricos Financeiros do Prestador no Modo Claro */
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(255, 255, 255, 0.03)"] {
  background: #f1f5f9 !important;
  border: 2px solid #94a3b8 !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(255, 255, 255, 0.03)"] span {
  color: #334155 !important;
  font-weight: 800 !important;
}
body.theme-light #prest-fin-card-total-contratado {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light #prest-fin-card-obras-count {
  color: #475569 !important;
  font-weight: 600 !important;
}

body.theme-light #pane-dossie-financeiro div[style*="background: rgba(16, 185, 129, 0.08)"] {
  background: #ecfdf5 !important;
  border: 2px solid #10b981 !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(16, 185, 129, 0.08)"] span {
  color: #047857 !important;
  font-weight: 800 !important;
}
body.theme-light #prest-fin-card-total-pago {
  color: #047857 !important;
  font-weight: 900 !important;
}
body.theme-light #prest-fin-card-pago-percent {
  color: #065f46 !important;
  font-weight: 700 !important;
}

body.theme-light #pane-dossie-financeiro div[style*="background: rgba(245, 158, 11, 0.08)"] {
  background: #fffbeb !important;
  border: 2px solid #f59e0b !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(245, 158, 11, 0.08)"] span {
  color: #b45309 !important;
  font-weight: 800 !important;
}
body.theme-light #prest-fin-card-saldo-pendente {
  color: #d97706 !important;
  font-weight: 900 !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(245, 158, 11, 0.08)"] small {
  color: #92400e !important;
  font-weight: 700 !important;
}

body.theme-light #pane-dossie-financeiro div[style*="background: rgba(168, 85, 247, 0.08)"] {
  background: #faf5ff !important;
  border: 2px solid #a855f7 !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(168, 85, 247, 0.08)"] span {
  color: #7e22ce !important;
  font-weight: 800 !important;
}
body.theme-light #prest-fin-card-total-extra {
  color: #6b21a8 !important;
  font-weight: 900 !important;
}
body.theme-light #pane-dossie-financeiro div[style*="background: rgba(168, 85, 247, 0.08)"] small {
  color: #7e22ce !important;
  font-weight: 600 !important;
}

/* Tabela Financeira e Tabela de Obras no Modo Claro - Contraste Nítido e Preto */
body.theme-light #modal-prestador-score-historico .data-table {
  background: #ffffff !important;
}
body.theme-light #modal-prestador-score-historico .data-table thead th {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  border-bottom: 2px solid #cbd5e1 !important;
}
body.theme-light #modal-prestador-score-historico .data-table tbody tr {
  border-bottom: 1px solid #e2e8f0 !important;
}
body.theme-light #modal-prestador-score-historico .data-table tbody tr:hover {
  background: #f8fafc !important;
}
body.theme-light #modal-prestador-score-historico .data-table td {
  color: #0f172a !important;
  font-size: 13px !important;
}
body.theme-light #modal-prestador-score-historico .data-table td b {
  color: #0f172a !important;
  font-weight: 800 !important;
}
body.theme-light #modal-prestador-score-historico .data-table td small {
  color: #334155 !important;
  font-weight: 600 !important;
}
body.theme-light #modal-prestador-score-historico .data-table td span[style*="color: #34d399"] {
  color: #047857 !important;
  font-weight: 800 !important;
}
body.theme-light #modal-prestador-score-historico .data-table td[style*="color: #34d399"] {
  color: #047857 !important;
  font-weight: 800 !important;
}
body.theme-light #modal-prestador-score-historico .data-table td span[style*="color: #f87171"] {
  color: #dc2626 !important;
  font-weight: 900 !important;
}
body.theme-light #modal-prestador-score-historico .data-table td[style*="color: #ffffff"],
body.theme-light #modal-prestador-score-historico .data-table td [style*="color: #ffffff"] {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* Painéis de Conteúdo das Abas */
.dossie-tab-pane {
  display: none;
  animation: fadeInPane 0.25s ease forwards;
}

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

@keyframes fadeInPane {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Linha do Tempo (Timeline) */
.prestador-timeline-container {
  position: relative;
  padding: 10px 0 20px 24px;
}

.prestador-timeline-container::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 15px;
  bottom: 15px;
  width: 2px;
  background: linear-gradient(180deg, #f59e0b 0%, #3b82f6 50%, #10b981 100%);
  border-radius: 2px;
  opacity: 0.5;
}

.timeline-event-item {
  position: relative;
  margin-bottom: 22px;
}

.timeline-event-item:last-child {
  margin-bottom: 0;
}

.timeline-event-node {
  position: absolute;
  left: -24px;
  top: 8px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #131b2e;
  border: 3px solid #f59e0b;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.4);
  z-index: 2;
  transition: all 0.2s ease;
}

.timeline-event-item.node-obra .timeline-event-node {
  border-color: #3b82f6;
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.4);
}

.timeline-event-item.node-recibo .timeline-event-node {
  border-color: #10b981;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}

.timeline-event-item.node-contrato .timeline-event-node {
  border-color: #8b5cf6;
  box-shadow: 0 0 10px rgba(139, 92, 246, 0.4);
}

.timeline-event-item.node-doc .timeline-event-node {
  border-color: #ec4899;
  box-shadow: 0 0 10px rgba(236, 72, 153, 0.4);
}

.timeline-event-card {
  background: var(--bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  transition: all 0.2s ease;
}

.timeline-event-card:hover {
  border-color: rgba(245, 158, 11, 0.3);
  transform: translateX(3px);
  box-shadow: var(--shadow-sm);
}

.timeline-event-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.timeline-event-title {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.timeline-event-date {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-dim);
  background: rgba(0, 0, 0, 0.25);
  padding: 2px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.timeline-event-body {
  font-size: 12.5px;
  color: var(--text-muted);
  line-height: 1.5;
}

.timeline-event-footer {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* Área de Upload e Documentos */
.doc-dropzone-box {
  border: 2px dashed rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.03);
  border-radius: var(--radius-md);
  padding: 24px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 20px;
}

.doc-dropzone-box:hover, .doc-dropzone-box.dragover {
  border-color: var(--gold-400);
  background: rgba(245, 158, 11, 0.08);
  transform: scale(1.005);
}

.prestador-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.prestador-doc-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.prestador-doc-card:hover {
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.doc-card-thumb {
  height: 120px;
  background: #0e1626;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.doc-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.doc-card-thumb .doc-thumb-icon {
  font-size: 38px;
  color: var(--gold-400);
}

/* Modal de Visualização de Arquivos Anexos */
.doc-file-preview-modal-body {
  max-height: 75vh;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0b0f19;
  border-radius: var(--radius-md);
  padding: 16px;
}

.doc-file-preview-modal-body img {
  max-width: 100%;
  max-height: 70vh;
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6);
}

.doc-file-preview-modal-body iframe {
  width: 100%;
  height: 70vh;
  border: none;
  border-radius: var(--radius-sm);
}

/* ==========================================================================
   💰 FINANCEIRO DA OBRA & DISTRIBUIÇÃO ESTRATÉGICA (HIGH-CONTRAST)
   ========================================================================== */
.fin-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.fin-summary-card {
  border-radius: var(--radius-md);
  padding: 14px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fin-summary-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

.fin-card-label {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.fin-card-val {
  font-size: 22px;
  font-weight: 900;
  margin: 6px 0 3px 0;
  line-height: 1.15;
}

.fin-card-sub {
  font-size: 11.5px;
  font-weight: 700;
}

/* Dark Mode KPI Cards */
.fin-card-global {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.22), rgba(2, 132, 199, 0.08));
  border: 1.5px solid rgba(56, 189, 248, 0.6);
}
.fin-card-global .fin-card-label { color: #38bdf8; }
.fin-card-global .fin-card-val { color: #38bdf8; text-shadow: 0 0 14px rgba(56, 189, 248, 0.45); }
.fin-card-global .fin-card-sub { color: #bae6fd; }

.fin-card-recebido {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.22), rgba(79, 70, 229, 0.08));
  border: 1.5px solid rgba(129, 140, 248, 0.6);
}
.fin-card-recebido .fin-card-label { color: #a5b4fc; }
.fin-card-recebido .fin-card-val { color: #e0e7ff; }

.fin-card-custo {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.22), rgba(217, 119, 6, 0.08));
  border: 1.5px solid rgba(245, 158, 11, 0.6);
}
.fin-card-custo .fin-card-label { color: #fbbf24; }
.fin-card-custo .fin-card-val { color: #fef08a; }

.fin-card-materiais {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.22), rgba(37, 99, 235, 0.08));
  border: 1.5px solid rgba(96, 165, 250, 0.6);
}
.fin-card-materiais .fin-card-label { color: #60a5fa; }
.fin-card-materiais .fin-card-val { color: #93c5fd; }
.fin-card-materiais .fin-card-sub { color: #bfdbfe; }

.fin-card-lucro {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(5, 150, 105, 0.08));
  border: 1.5px solid rgba(52, 211, 153, 0.6);
}
.fin-card-lucro .fin-card-label { color: #34d399; }
.fin-card-lucro .fin-card-val { color: #6ee7b7; text-shadow: 0 0 14px rgba(52, 211, 153, 0.45); }
.fin-card-lucro .fin-sub-margem { color: #fde047; }

.fin-sub-pendente { color: #f87171 !important; font-weight: 800; }
.fin-sub-quitado { color: #34d399 !important; font-weight: 800; }
.fin-sub-pago { color: #34d399; font-weight: 700; }
.fin-sub-falta { color: #fb7185; font-weight: 800; }

/* Light Mode KPI Cards (High Contrast, Crystal Clear) */
body.theme-light .fin-summary-card {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
}

body.theme-light .fin-card-global {
  background: #f0f9ff !important;
  border: 1.5px solid #0284c7 !important;
}
body.theme-light .fin-card-global .fin-card-label { color: #0369a1 !important; }
body.theme-light .fin-card-global .fin-card-val { color: #0284c7 !important; font-weight: 900; text-shadow: none !important; }
body.theme-light .fin-card-global .fin-card-sub { color: #075985 !important; }

body.theme-light .fin-card-recebido {
  background: #f5f3ff !important;
  border: 1.5px solid #6366f1 !important;
}
body.theme-light .fin-card-recebido .fin-card-label { color: #4338ca !important; }
body.theme-light .fin-card-recebido .fin-card-val { color: #312e81 !important; font-weight: 900; }

body.theme-light .fin-card-custo {
  background: #fffbeb !important;
  border: 1.5px solid #d97706 !important;
}
body.theme-light .fin-card-custo .fin-card-label { color: #92400e !important; }
body.theme-light .fin-card-custo .fin-card-val { color: #b45309 !important; font-weight: 900; }

body.theme-light .fin-card-lucro {
  background: #f0fdf4 !important;
  border: 1.5px solid #059669 !important;
}
body.theme-light .fin-card-lucro .fin-card-label { color: #065f46 !important; }
body.theme-light .fin-card-lucro .fin-card-val { color: #047857 !important; font-weight: 900; text-shadow: none !important; }
body.theme-light .fin-card-lucro .fin-sub-margem { color: #b45309 !important; font-weight: 800; }

body.theme-light .fin-sub-pendente { color: #b91c1c !important; font-weight: 800; }
body.theme-light .fin-sub-quitado { color: #047857 !important; font-weight: 800; }
body.theme-light .fin-sub-pago { color: #047857 !important; font-weight: 700; }
body.theme-light .fin-sub-falta { color: #be123c !important; font-weight: 800; }

/* Distribution Box Styles */
.distribuicao-lucro-box {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%);
  border: 1.5px solid rgba(168, 85, 247, 0.3);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin-top: 24px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

.dist-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  background: rgba(168, 85, 247, 0.15);
  border: 1px solid rgba(168, 85, 247, 0.35);
  color: #c084fc;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.dist-header-calc-text {
  font-size: 11.5px;
  color: var(--text-dim);
}
.dist-header-calc-text b {
  color: #f1f5f9;
}

.dist-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.dist-card {
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

.dist-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.4);
}

.dist-card-dizimo {
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.18) 0%, rgba(219, 39, 119, 0.08) 100%);
  border: 1.5px solid rgba(244, 114, 182, 0.5);
}
.dist-card-dizimo .dist-card-title,
.dist-card-dizimo .dist-card-val { color: #f472b6; }

.dist-card-primicia {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.18) 0%, rgba(217, 119, 6, 0.08) 100%);
  border: 1.5px solid rgba(251, 191, 36, 0.5);
}
.dist-card-primicia .dist-card-title,
.dist-card-primicia .dist-card-val { color: #fbbf24; }

.dist-card-caixa {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.18) 0%, rgba(2, 132, 199, 0.08) 100%);
  border: 1.5px solid rgba(56, 189, 248, 0.5);
}
.dist-card-caixa .dist-card-title,
.dist-card-caixa .dist-card-val { color: #38bdf8; }

.dist-card-cis {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2) 0%, rgba(5, 150, 105, 0.08) 100%);
  border: 1.5px solid rgba(52, 211, 153, 0.5);
}
.dist-card-cis .dist-card-title,
.dist-card-cis .dist-card-val { color: #34d399; }

.dist-card-desc {
  font-size: 11px;
  color: var(--text-dim);
  margin: 0;
  line-height: 1.35;
}

.dist-card-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pct-input-wrap {
  display: inline-flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  padding: 2px 6px;
  gap: 2px;
}

.pct-input-wrap input {
  width: 42px;
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
  padding: 0;
  outline: none;
}

.pct-input-wrap span {
  font-size: 11px;
  font-weight: 800;
  color: var(--text-muted);
}

.dist-card-val {
  font-size: 22px;
  font-weight: 900;
  margin: 8px 0 4px;
}

.dist-card-action-btn {
  margin-top: 10px;
  width: 100%;
  padding: 7px 10px;
  font-size: 11.5px;
  font-weight: 800;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.dist-lancamentos-header { color: #ffffff; }
.dist-lancamentos-sub { color: var(--text-muted); }
.dist-empty-state {
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed var(--border-color);
  color: var(--text-dim);
}

/* Light Theme Distribution Box (Crystal Clear Contrast) */
body.theme-light .distribuicao-lucro-box {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .dist-header-badge {
  background: #f3e8ff !important;
  border: 1.5px solid #c084fc !important;
  color: #6b21a8 !important;
  font-weight: 900;
}

body.theme-light .dist-header-calc-text {
  color: #334155 !important;
}
body.theme-light .dist-header-calc-text b {
  color: #0f172a !important;
}

body.theme-light .dist-card-dizimo {
  background: #fdf2f8 !important;
  border: 1.5px solid #ec4899 !important;
}
body.theme-light .dist-card-dizimo .dist-card-title { color: #9d174d !important; font-weight: 900; }
body.theme-light .dist-card-dizimo .dist-card-val { color: #be185d !important; font-weight: 900; }
body.theme-light .dist-card-dizimo .dist-card-desc { color: #831843 !important; font-weight: 600; }

body.theme-light .dist-card-primicia {
  background: #fffbeb !important;
  border: 1.5px solid #f59e0b !important;
}
body.theme-light .dist-card-primicia .dist-card-title { color: #92400e !important; font-weight: 900; }
body.theme-light .dist-card-primicia .dist-card-val { color: #b45309 !important; font-weight: 900; }
body.theme-light .dist-card-primicia .dist-card-desc { color: #78350f !important; font-weight: 600; }

body.theme-light .dist-card-caixa {
  background: #f0f9ff !important;
  border: 1.5px solid #0284c7 !important;
}
body.theme-light .dist-card-caixa .dist-card-title { color: #0369a1 !important; font-weight: 900; }
body.theme-light .dist-card-caixa .dist-card-val { color: #0284c7 !important; font-weight: 900; }
body.theme-light .dist-card-caixa .dist-card-desc { color: #075985 !important; font-weight: 600; }

body.theme-light .dist-card-cis {
  background: #f0fdf4 !important;
  border: 1.5px solid #059669 !important;
}
body.theme-light .dist-card-cis .dist-card-title { color: #065f46 !important; font-weight: 900; }
body.theme-light .dist-card-cis .dist-card-val { color: #047857 !important; font-weight: 900; }
body.theme-light .dist-card-cis .dist-card-desc { color: #064e3b !important; font-weight: 600; }

body.theme-light .pct-input-wrap {
  background: #ffffff !important;
  border: 1.5px solid #94a3b8 !important;
}
body.theme-light .pct-input-wrap input {
  color: #0f172a !important;
  font-weight: 900;
}
body.theme-light .pct-input-wrap span {
  color: #475569 !important;
  font-weight: 800;
}

body.theme-light .dist-lancamentos-section {
  border-top-color: #cbd5e1 !important;
}
body.theme-light .dist-lancamentos-header {
  color: #0f172a !important;
}
body.theme-light .dist-lancamentos-sub {
  color: #475569 !important;
}
body.theme-light .dist-empty-state {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
  font-weight: 600;
}

.doc-file-preview-modal-body pre {
  width: 100%;
  background: #131b2e;
  padding: 16px;
  border-radius: var(--radius-sm);
  color: #f8fafc;
  font-family: monospace;
  font-size: 12.5px;
  white-space: pre-wrap;
  word-break: break-word;
}

/* ==========================================================================
   🧾 ESTILOS DO MÓDULO FISCAL & DANFSE A4 PRINT-READY (PADRÃO NACIONAL)
   ========================================================================== */

.danfse-paper {
  background: #ffffff;
  color: #111827;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  max-width: 820px;
  margin: 0 auto;
  padding: 24px 28px;
  border-radius: 4px;
  box-shadow: none !important;
  border: 1px solid #cbd5e1;
  font-size: 11.5px;
  line-height: 1.35;
}

.danfse-box {
  border: 1px solid #334155;
  margin-bottom: 8px;
  border-radius: 3px;
  overflow: hidden;
}

.danfse-box-title {
  background: #f1f5f9;
  color: #0f172a;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-bottom: 1px solid #cbd5e1;
}

.danfse-box-content {
  padding: 6px 10px;
  font-size: 11px;
}

.danfse-header-grid {
  display: grid;
  grid-template-columns: 80px 1fr 180px;
  gap: 12px;
  align-items: center;
}

.danfse-nf-number-box {
  background: #f8fafc;
  border-left: 1px solid #334155;
  padding: 6px 10px;
  text-align: center;
}

.danfse-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.danfse-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.danfse-grid-valores {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  text-align: center;
}

.danfse-val-item {
  border-right: 1px solid #e2e8f0;
  padding: 4px 6px;
}

.danfse-val-item:last-child {
  border-right: none;
}

.danfse-val-item span {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}

.danfse-val-item strong {
  display: block;
  font-size: 11.5px;
  color: #0f172a;
  font-weight: 800;
  margin-top: 1px;
}

.danfse-badge-simples {
  display: inline-block;
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 700;
  font-size: 9.5px;
  padding: 2px 6px;
  border-radius: 3px;
  border: 1px solid #bae6fd;
}

/* ==========================================================================
   MÓDULO DE FOTOS DA OBRA (ANTES & DEPOIS) & RELATÓRIO FOTOGRÁFICO
   ========================================================================== */
.fotos-tab-btn {
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fotos-tab-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.fotos-tab-btn.active {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(37, 99, 235, 0.35));
  color: #60a5fa;
  border-color: #3b82f6;
  box-shadow: 0 0 12px rgba(59, 130, 246, 0.3);
}

.fotos-tab-btn.tab-antes.active {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(185, 28, 28, 0.3));
  color: #fca5a5;
  border-color: #ef4444;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.3);
}

.fotos-tab-btn.tab-depois.active {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.3));
  color: #34d399;
  border-color: #10b981;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.3);
}

.foto-card-item {
  background: #181411;
  border: 1px solid rgba(245, 158, 11, 0.18);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  display: flex;
  flex-direction: column;
}

.foto-card-item:hover {
  transform: translateY(-3px);
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6);
}

.foto-thumb-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10.5;
  min-height: 180px;
  max-height: 230px;
  background: #09090b;
  overflow: hidden;
  border-radius: 17px 17px 0 0;
}

.foto-thumb-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.foto-card-item:hover .foto-thumb-wrapper img {
  transform: scale(1.03);
}

/* Badge pílula moderna de etapa (ANTES / DEPOIS / DURANTE) no card */
.foto-stage-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  z-index: 2;
}

.foto-stage-pill.pill-antes {
  background: rgba(185, 28, 28, 0.45);
  border: 1px solid rgba(239, 68, 68, 0.6);
  color: #fca5a5;
}

.foto-stage-pill.pill-depois {
  background: rgba(16, 185, 129, 0.45);
  border: 1px solid rgba(52, 211, 153, 0.6);
  color: #6ee7b7;
}

.foto-stage-pill.pill-durante {
  background: rgba(59, 130, 246, 0.45);
  border: 1px solid rgba(96, 165, 250, 0.6);
  color: #93c5fd;
}

/* Botão circular translúcido de excluir no topo direito */
.foto-delete-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  transition: all 0.2s ease;
  z-index: 2;
  padding: 0;
}

.foto-delete-btn:hover {
  background: rgba(239, 68, 68, 0.85);
  border-color: #ef4444;
  color: #ffffff;
  transform: scale(1.12);
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.5);
}

/* Pílula de ambiente destacada */
.foto-ambiente-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid #d97706;
  color: #fbbf24;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

/* Preview dinâmico da imagem colocada no formulário de inserção */
.foto-preview-container {
  margin: 14px 0 16px 0;
  padding: 12px;
  background: rgba(0, 0, 0, 0.3);
  border: 1.5px solid rgba(245, 158, 11, 0.3);
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
  animation: fadeInFotoPreview 0.25s ease-out;
}

@keyframes fadeInFotoPreview {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.foto-preview-thumb-box {
  position: relative;
  width: 170px;
  height: 115px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
  background: #09090b;
}

.foto-preview-thumb-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.foto-pair-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  background: var(--bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-bottom: 18px;
}

@media (max-width: 768px) {
  .foto-pair-container {
    grid-template-columns: 1fr;
  }
}

.foto-stage-col {
  display: flex;
  flex-direction: column;
}

.doc-foto-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.doc-foto-table td {
  border: 1px solid #cbd5e1;
  padding: 10px;
  vertical-align: top;
}

.doc-foto-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #e2e8f0;
}

/* ==========================================================================
   🗂️ CENTRAL DE DOCUMENTOS DA OBRA: DESIGN COMPACTO, ELEGANTE & PROPORCIONAL
   ========================================================================== */
#modal-documentos-obra .modal-dialog {
  max-width: 960px !important;
  max-height: 88vh !important;
  border-radius: 12px !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.65) !important;
}

#modal-documentos-obra .modal-header {
  padding: 10px 18px !important;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#modal-documentos-obra .modal-body {
  padding: 13px 18px !important;
  background: #0b1120 !important;
}

#modal-documentos-obra .modal-footer {
  padding: 8px 18px !important;
  background: #080d19 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

#modal-documentos-obra .doc-category-pills-bar {
  display: flex;
  gap: 5px;
  margin-bottom: 11px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 8px;
  flex-wrap: wrap;
}

#modal-documentos-obra .doc-tab-pill {
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}

#modal-documentos-obra .doc-tab-pill:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.16);
}

#modal-documentos-obra .doc-tab-pill.active {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.15);
}

#modal-documentos-obra .doc-upload-box {
  background: rgba(17, 24, 39, 0.7);
  border: 1px dashed rgba(245, 158, 11, 0.35);
  border-radius: 8px;
  padding: 10px 13px;
  margin-bottom: 12px;
}

#modal-documentos-obra .doc-upload-box label {
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 3px;
  display: block;
}

#modal-documentos-obra .doc-upload-box .form-control {
  padding: 4px 8px;
  font-size: 11px;
  height: 29px;
  border-radius: 5px;
  background: #0f172a;
  border-color: rgba(255, 255, 255, 0.1);
  color: #f1f5f9;
}

.doc-item-card {
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 42, 0.75);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.15s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.doc-item-card:hover {
  border-color: rgba(245, 158, 11, 0.45);
  transform: translateY(-1px);
}

.doc-item-card .doc-item-title {
  color: #ffffff;
  font-weight: 700;
}

.doc-item-card .doc-item-meta {
  color: #94a3b8;
}

/* Modo Claro para Cards de Documentos */
body.theme-light .doc-item-card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

body.theme-light .doc-item-card:hover {
  border-color: #f59e0b !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.15) !important;
}

body.theme-light .doc-item-card .doc-item-title,
body.theme-light .doc-item-card b,
body.theme-light .doc-item-card h5 {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light .doc-item-card .doc-item-meta,
body.theme-light .doc-item-card span {
  color: #475569 !important;
}

/* ==========================================================================
   EAGLE CONTRATOS & DOCUMENTOS (ARQUIVAMENTO DE PASTAS & STATUS)
   ========================================================================== */
.eagle-status-select {
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 22px 3px 10px !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-repeat: no-repeat !important;
  background-position: right 7px center !important;
  background-size: 10px !important;
  transition: all 0.2s ease !important;
}

.eagle-status-aprovado {
  background-color: rgba(16, 185, 129, 0.18) !important;
  color: #34d399 !important;
  border-color: rgba(16, 185, 129, 0.5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

.eagle-status-reservado {
  background-color: rgba(245, 158, 11, 0.18) !important;
  color: #fbbf24 !important;
  border-color: rgba(245, 158, 11, 0.5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fbbf24' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

.eagle-status-vendido {
  background-color: rgba(59, 130, 246, 0.2) !important;
  color: #60a5fa !important;
  border-color: rgba(59, 130, 246, 0.55) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

.eagle-status-cancelado {
  background-color: rgba(239, 68, 68, 0.18) !important;
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f87171' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

.eagle-status-select option {
  background: #0f172a !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Pastas Eagle Strip */
.eagle-pastas-strip {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  margin: 12px 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.eagle-pastas-strip.collapsed {
  padding: 8px 12px;
  background: rgba(15, 23, 42, 0.4);
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.12);
}

.btn-eagle-pastas-toggle {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  color: #cbd5e1;
  font-size: 9.5px;
  font-weight: 700;
  padding: 1.5px 7px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: all 0.15s ease;
  user-select: none;
}

.btn-eagle-pastas-toggle:hover {
  background: rgba(245, 158, 11, 0.2);
  border-color: #fbbf24;
  color: #fbbf24;
  transform: translateY(-1px);
}

body.theme-light .btn-eagle-pastas-toggle {
  background: #e2e8f0;
  border-color: #cbd5e1;
  color: #334155;
}

body.theme-light .btn-eagle-pastas-toggle:hover {
  background: #fef3c7;
  border-color: #f59e0b;
  color: #92400e;
}

.eagle-folder-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 11px;
  color: #e2e8f0;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

.eagle-folder-chip:hover {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.4);
  color: #fbbf24;
  transform: translateY(-1px);
}

.eagle-folder-chip.active {
  background: rgba(245, 158, 11, 0.25);
  border-color: #f59e0b;
  color: #ffffff;
  font-weight: 700;
}

.eagle-folder-name-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10.5px;
  text-align: left;
}

.eagle-folder-count-badge {
  font-size: 9.5px;
  padding: 1px 5px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
  font-weight: 700;
  flex-shrink: 0;
}

body.theme-light .eagle-status-select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

body.theme-light .eagle-pastas-strip {
  background: #f8fafc;
  border-color: #cbd5e1;
}

/* ==========================================================================
   MODAL DE ARQUIVAMENTO DE DOCUMENTOS & PASTAS EAGLE (#modal-eagle-pastas)
   Contraste de alta precisão para Modo Escuro e Modo Claro
   ========================================================================== */
#modal-eagle-pastas .modal-dialog {
  max-width: 1050px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

/* Modo Padrão / Escuro */
#modal-eagle-pastas .modal-header {
  background: linear-gradient(135deg, #1e293b, #0f172a);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 20px;
}
#modal-eagle-pastas .modal-header h3 {
  color: #ffffff;
}
#modal-eagle-pastas #eagle-pastas-imovel-subtitle {
  color: #94a3b8;
}
#modal-eagle-pastas .modal-body {
  padding: 16px 20px;
  overflow-y: auto;
  flex: 1;
  background: #0b1120;
}
#modal-eagle-pastas .eagle-pastas-nav-title {
  color: #cbd5e1;
}
#modal-eagle-pastas .eagle-active-folder-box {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-bottom: 16px;
}
#modal-eagle-pastas .eagle-active-folder-box h4 {
  color: #ffffff;
}
#modal-eagle-pastas #eagle-active-folder-name {
  color: #ffffff;
}
#modal-eagle-pastas #eagle-active-folder-path {
  color: #94a3b8;
}
#modal-eagle-pastas #eagle-doc-upload-box {
  background: rgba(17, 24, 39, 0.9);
  border: 1.5px dashed #f59e0b;
}
#modal-eagle-pastas .eagle-upload-subcard {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
#modal-eagle-pastas .eagle-upload-subcard label {
  color: #60a5fa;
}
#modal-eagle-pastas .modal-footer {
  background: #080d1a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#modal-eagle-pastas #eagle-pastas-total-count {
  color: #94a3b8;
}
#modal-eagle-pastas .eagle-folder-empty-state {
  color: var(--text-dim);
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed rgba(255, 255, 255, 0.1);
}

/* Modo Claro (body.theme-light) para #modal-eagle-pastas */
body.theme-light #modal-eagle-pastas .modal-dialog {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2) !important;
}

body.theme-light #modal-eagle-pastas .modal-header {
  background: linear-gradient(135deg, #f8fafc 0%, #edf2f7 100%) !important;
  border-bottom: 1.5px solid #e2e8f0 !important;
}

body.theme-light #modal-eagle-pastas .modal-header h3 {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light #modal-eagle-pastas #eagle-pastas-imovel-subtitle {
  color: #334155 !important;
  font-weight: 600 !important;
}

body.theme-light #modal-eagle-pastas .modal-close {
  color: #475569 !important;
}
body.theme-light #modal-eagle-pastas .modal-close:hover {
  color: #0f172a !important;
  background: #e2e8f0 !important;
}

body.theme-light #modal-eagle-pastas .modal-body {
  background: #f1f5f9 !important;
}

body.theme-light #modal-eagle-pastas .eagle-pastas-nav-title {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light #modal-eagle-pastas .btn-eagle-pastas-toggle {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}
body.theme-light #modal-eagle-pastas .btn-eagle-pastas-toggle:hover {
  background: #fef3c7 !important;
  border-color: #f59e0b !important;
  color: #92400e !important;
}

body.theme-light .eagle-folder-chip,
body.theme-light #modal-eagle-pastas .eagle-folder-chip {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .eagle-folder-chip b,
body.theme-light #modal-eagle-pastas .eagle-folder-chip b {
  color: #0f172a !important;
  font-weight: 700 !important;
}

body.theme-light .eagle-folder-chip:hover,
body.theme-light #modal-eagle-pastas .eagle-folder-chip:hover {
  background: #fef3c7 !important;
  border-color: #f59e0b !important;
  color: #92400e !important;
}
body.theme-light .eagle-folder-chip:hover b,
body.theme-light #modal-eagle-pastas .eagle-folder-chip:hover b {
  color: #92400e !important;
}

body.theme-light .eagle-folder-chip.active,
body.theme-light #modal-eagle-pastas .eagle-folder-chip.active {
  background: #fef3c7 !important;
  border-color: #d97706 !important;
  color: #92400e !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.25) !important;
}
body.theme-light .eagle-folder-chip.active b,
body.theme-light #modal-eagle-pastas .eagle-folder-chip.active b {
  color: #92400e !important;
  font-weight: 900 !important;
}
body.theme-light .eagle-folder-chip.active .eagle-folder-count-badge,
body.theme-light #modal-eagle-pastas .eagle-folder-chip.active .eagle-folder-count-badge {
  background: #d97706 !important;
  color: #ffffff !important;
}
body.theme-light .eagle-folder-chip:not(.active) .eagle-folder-count-badge,
body.theme-light #modal-eagle-pastas .eagle-folder-chip:not(.active) .eagle-folder-count-badge {
  background: #e2e8f0 !important;
  color: #1e293b !important;
}

body.theme-light #modal-eagle-pastas .eagle-active-folder-box {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light #modal-eagle-pastas .eagle-active-folder-box h4,
body.theme-light #modal-eagle-pastas #eagle-active-folder-name {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light #modal-eagle-pastas #eagle-active-folder-path {
  color: #475569 !important;
  font-weight: 600 !important;
}

body.theme-light #modal-eagle-pastas #eagle-doc-upload-box {
  background: #fffbeb !important;
  border: 1.5px dashed #f59e0b !important;
}

body.theme-light #modal-eagle-pastas #eagle-doc-upload-box .form-label {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light #modal-eagle-pastas #eagle-doc-upload-box .form-control {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 600 !important;
}

body.theme-light #modal-eagle-pastas .eagle-upload-subcard {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
}

body.theme-light #modal-eagle-pastas .eagle-upload-subcard label {
  color: #1d4ed8 !important;
}

body.theme-light #modal-eagle-pastas .modal-footer {
  background: #f8fafc !important;
  border-top: 1.5px solid #e2e8f0 !important;
}

body.theme-light #modal-eagle-pastas #eagle-pastas-total-count {
  color: #334155 !important;
  font-weight: 700 !important;
}

body.theme-light #modal-eagle-pastas .eagle-folder-empty-state {
  background: #ffffff !important;
  border: 1.5px dashed #cbd5e1 !important;
  color: #475569 !important;
}

/* Modo Claro para #modal-documentos-obra */
body.theme-light #modal-documentos-obra .modal-dialog {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
}
body.theme-light #modal-documentos-obra .modal-header {
  background: #f8fafc !important;
  border-bottom: 1.5px solid #e2e8f0 !important;
}
body.theme-light #modal-documentos-obra .modal-body {
  background: #f1f5f9 !important;
}
body.theme-light #modal-documentos-obra .modal-footer {
  background: #f8fafc !important;
  border-top: 1.5px solid #e2e8f0 !important;
}
body.theme-light #modal-documentos-obra .doc-tab-pill {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
body.theme-light #modal-documentos-obra .doc-tab-pill.active {
  background: #fef3c7 !important;
  border-color: #d97706 !important;
  color: #92400e !important;
}
body.theme-light #modal-documentos-obra .doc-upload-box {
  background: #fffbeb !important;
  border-color: #f59e0b !important;
}
body.theme-light #modal-documentos-obra .doc-upload-box label {
  color: #0f172a !important;
}
body.theme-light #modal-documentos-obra .doc-upload-box .form-control {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

/* SELETOR INTERATIVO DE IMÓVEIS NO ÍCONE 📍 */
.eagle-loc-pin-btn {
  background: rgba(239, 68, 68, 0.15);
  border: 1.5px solid rgba(239, 68, 68, 0.4);
  color: #fca5a5;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  flex-shrink: 0;
}

.eagle-loc-pin-btn:hover {
  background: #ef4444;
  color: #ffffff;
  border-color: #f87171;
  transform: scale(1.1);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
}

.eagle-prop-switch-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(59, 130, 246, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.35);
  color: #93c5fd;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.eagle-prop-switch-badge:hover {
  background: #3b82f6;
  color: #ffffff;
}

.eagle-prop-select-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 2px 6px;
  max-width: 100%;
}

.eagle-prop-dropdown-select {
  background: transparent;
  border: none;
  color: #f8fafc;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  outline: none;
  max-width: calc(100% - 24px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eagle-prop-dropdown-select option {
  background: #0f172a;
  color: #f8fafc;
}

body.theme-light .eagle-prop-dropdown-select {
  color: #0f172a;
}
body.theme-light .eagle-prop-dropdown-select option {
  background: #ffffff;
  color: #0f172a;
}
body.theme-light .eagle-prop-select-chip {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

/* RELATÓRIO DE FEEDBACK SELECIONÁVEL (ANUAL / MENSAL / SEMANAL) */
.fbk-tipo-btn {
  padding: 6px 14px;
  border-radius: 20px;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  background: rgba(15, 23, 42, 0.6);
  color: #cbd5e1;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.fbk-tipo-btn:hover {
  border-color: #f59e0b;
  color: #ffffff;
  background: rgba(245, 158, 11, 0.15);
}

.fbk-tipo-btn.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #ffffff;
  border-color: #fbbf24;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.4);
}

.fbk-section-toggle-card {
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  margin-bottom: 12px;
  transition: border-color 0.2s;
}

.fbk-section-toggle-card.disabled {
  opacity: 0.55;
  border-style: dashed;
  background: rgba(15, 23, 42, 0.3);
}

.fbk-switch-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  font-size: 11.5px;
  font-weight: 700;
  color: #94a3b8;
}

.fbk-switch-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #10b981;
  cursor: pointer;
}

body.theme-light .fbk-tipo-btn {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #334155;
}

body.theme-light .fbk-tipo-btn.active {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #ffffff;
}

body.theme-light .fbk-section-toggle-card {
  background: #f8fafc;
  border-color: #cbd5e1;
}

/* ==========================================================================
   ALTA VISIBILIDADE E CONTRASTE PREMIUM NO MODAL DE FEEDBACK (SEM APAGADOS)
   ========================================================================== */
#modal-eagle-feedback-semanal .modal-dialog {
  background: #0f172a !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 30px rgba(245, 158, 11, 0.15) !important;
}

#modal-eagle-feedback-semanal .modal-header {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
  border-bottom: 2px solid rgba(245, 158, 11, 0.35) !important;
}

#modal-eagle-feedback-semanal .form-label {
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

#modal-eagle-feedback-semanal .form-control {
  background: #182337 !important;
  border: 1.5px solid #475569 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.5) !important;
}

#modal-eagle-feedback-semanal select.form-control option {
  background: #0f172a !important;
  color: #ffffff !important;
}

#modal-eagle-feedback-semanal .form-control:focus {
  border-color: #fbbf24 !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.35) !important;
  background: #1e293b !important;
  color: #ffffff !important;
}

#modal-eagle-feedback-semanal input[readonly] {
  background: #141f33 !important;
  border: 1.5px solid #3b82f6 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

#modal-eagle-feedback-semanal textarea.form-control {
  color: #ffffff !important;
  background: #182337 !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

#modal-eagle-feedback-semanal .fbk-section-toggle-card {
  background: #192338 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
}

#modal-eagle-feedback-semanal .fbk-section-toggle-card.disabled {
  opacity: 0.45 !important;
  background: rgba(15, 23, 42, 0.5) !important;
  border-style: dashed !important;
}

#modal-eagle-feedback-semanal .fbk-switch-label span {
  font-size: 12.5px !important;
  font-weight: 800 !important;
}

/* Gráfico Anual de Desempenho */
.fbk-chart-container {
  background: #141e33;
  border: 1.5px solid rgba(59, 130, 246, 0.35);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-top: 10px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.4);
}

.fbk-chart-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 12px;
}

.fbk-stat-mini-card {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 8px 10px;
  text-align: center;
}

.fbk-stat-mini-card span {
  font-size: 10.5px;
  color: #94a3b8;
  font-weight: 700;
  display: block;
}

.fbk-stat-mini-card b {
  font-size: 16px;
  font-weight: 900;
  display: block;
  margin-top: 2px;
}

/* Modo claro para o modal de feedback */
body.theme-light #modal-eagle-feedback-semanal .modal-dialog {
  background: #ffffff !important;
  border: 2px solid #cbd5e1 !important;
}

body.theme-light #modal-eagle-feedback-semanal .modal-header {
  background: #f8fafc !important;
}

body.theme-light #modal-eagle-feedback-semanal .form-label {
  color: #0f172a !important;
}

body.theme-light #modal-eagle-feedback-semanal .form-control {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

body.theme-light #modal-eagle-feedback-semanal input[readonly] {
  background: #f1f5f9 !important;
  border-color: #93c5fd !important;
  color: #1e3a8a !important;
}

body.theme-light #modal-eagle-feedback-semanal .fbk-section-toggle-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

body.theme-light .fbk-chart-container {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}

/* ==========================================================================
   BOTÃO DE AÇÕES RÁPIDAS & MODAL DE ATIVIDADES DO CONTATO (ALTA VISIBILIDADE)
   ========================================================================== */

/* Botão de Ações na tabela CRM */
.btn-acao-rapida-crm {
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 800;
  color: #ffffff !important;
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
  border: 1px solid #f59e0b;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35);
  transition: all 0.18s ease;
}

.btn-acao-rapida-crm .icon-raio-acao {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.9));
}

.btn-acao-rapida-crm:hover {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border-color: #fde047;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.55);
}

body.theme-light .btn-acao-rapida-crm {
  background: linear-gradient(135deg, #d97706 0%, #92400e 100%);
  color: #ffffff !important;
  border-color: #b45309;
  box-shadow: 0 2px 6px rgba(180, 83, 9, 0.4);
}

body.theme-light .btn-acao-rapida-crm:hover {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
  color: #ffffff !important;
}

/* Card do Cliente Selecionado */
.cli-card-rapido-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.cli-card-rapido-name {
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.cli-card-rapido-meta {
  font-size: 12px;
  color: #cbd5e1;
  margin-top: 3px;
}

.cli-card-rapido-end {
  font-size: 11.5px;
  color: #94a3b8;
  margin-top: 2px;
}

body.theme-light #modal-acoes-rapidas-cli-card {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
}

body.theme-light .cli-card-rapido-name {
  color: #0f172a !important;
}

body.theme-light .cli-card-rapido-meta {
  color: #334155 !important;
}

body.theme-light .cli-card-rapido-end {
  color: #64748b !important;
}

/* Cards de Atividades */
.card-acao-contato {
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

.card-acao-contato:hover {
  transform: translateY(-2px);
}

.card-acao-inner {
  display: flex;
  align-items: center;
  gap: 14px;
}

.card-acao-icon {
  font-size: 28px;
  width: 50px;
  height: 50px;
  min-width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

.card-acao-title {
  font-size: 14.5px;
  font-weight: 800;
  margin-bottom: 3px;
}

.card-acao-desc {
  font-size: 12px;
  line-height: 1.35;
}

/* 1. Tema Escuro (Black) */
.acao-rap10 {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.14) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(245, 158, 11, 0.45);
}
.acao-rap10:hover {
  border-color: #f59e0b;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.25);
}
.icon-rap10 {
  background: rgba(245, 158, 11, 0.25);
  border: 1px solid rgba(245, 158, 11, 0.5);
}
.title-rap10 { color: #fbbf24; }
.acao-rap10 .card-acao-desc { color: #f1f5f9; }

.acao-corretor {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.14) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(59, 130, 246, 0.45);
}
.acao-corretor:hover {
  border-color: #3b82f6;
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.25);
}
.icon-corretor {
  background: rgba(59, 130, 246, 0.25);
  border: 1px solid rgba(59, 130, 246, 0.5);
}
.title-corretor { color: #60a5fa; }
.acao-corretor .card-acao-desc { color: #f1f5f9; }

.acao-fornecedor {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.14) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(234, 179, 8, 0.45);
}
.acao-fornecedor:hover {
  border-color: #eab308;
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.25);
}
.icon-fornecedor {
  background: rgba(234, 179, 8, 0.25);
  border: 1px solid rgba(234, 179, 8, 0.5);
}
.title-fornecedor { color: #fde047; }
.acao-fornecedor .card-acao-desc { color: #f1f5f9; }

.acao-prestador {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.14) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(168, 85, 247, 0.45);
}
.acao-prestador:hover {
  border-color: #a855f7;
  box-shadow: 0 6px 20px rgba(168, 85, 247, 0.25);
}
.icon-prestador {
  background: rgba(168, 85, 247, 0.25);
  border: 1px solid rgba(168, 85, 247, 0.5);
}
.title-prestador { color: #c084fc; }
.acao-prestador .card-acao-desc { color: #f1f5f9; }

.acao-church {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.16) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(147, 51, 234, 0.5);
}
.acao-church:hover {
  border-color: #a855f7;
  box-shadow: 0 6px 20px rgba(147, 51, 234, 0.28);
}
.icon-church {
  background: rgba(147, 51, 234, 0.25);
  border: 1px solid rgba(147, 51, 234, 0.5);
}
.title-church { color: #c084fc; }
.acao-church .card-acao-desc { color: #f1f5f9; }

.acao-social {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.16) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(239, 68, 68, 0.5);
}
.acao-social:hover {
  border-color: #ef4444;
  box-shadow: 0 6px 20px rgba(239, 68, 68, 0.28);
}
.icon-social {
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid rgba(239, 68, 68, 0.5);
}
.title-social { color: #f87171; }
.acao-social .card-acao-desc { color: #f1f5f9; }

.acao-visita {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.16) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(14, 165, 233, 0.5);
}
.acao-visita:hover {
  border-color: #0ea5e9;
  box-shadow: 0 6px 20px rgba(14, 165, 233, 0.28);
}
.icon-visita {
  background: rgba(14, 165, 233, 0.25);
  border: 1px solid rgba(14, 165, 233, 0.5);
}
.title-visita { color: #38bdf8; }
.acao-visita .card-acao-desc { color: #f1f5f9; }

.acao-propcompra {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.16) 0%, rgba(30, 41, 59, 0.9) 100%);
  border: 1.5px solid rgba(16, 185, 129, 0.5);
}
.acao-propcompra:hover {
  border-color: #10b981;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.28);
}
.icon-propcompra {
  background: rgba(16, 185, 129, 0.25);
  border: 1px solid rgba(16, 185, 129, 0.5);
}
.title-propcompra { color: #34d399; }
.acao-propcompra .card-acao-desc { color: #f1f5f9; }

/* 2. Tema Claro (Light Theme / Alta Legibilidade Sob Luz Solar) */
body.theme-light #modal-acoes-rapidas-cliente .modal-header {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  border-bottom: 2px solid #f59e0b !important;
}
body.theme-light #modal-acoes-rapidas-title {
  color: #92400e !important;
}
body.theme-light #modal-acoes-rapidas-sub {
  color: #78350f !important;
}
body.theme-light #modal-acoes-rapidas-cliente label {
  color: #1e293b !important;
}

body.theme-light .acao-rap10 {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  border: 2px solid #f59e0b !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.15) !important;
}
body.theme-light .acao-rap10:hover {
  box-shadow: 0 6px 16px rgba(245, 158, 11, 0.28) !important;
  border-color: #d97706 !important;
}
body.theme-light .icon-rap10 {
  background: #fde68a !important;
  border: 1px solid #f59e0b !important;
}
body.theme-light .title-rap10 {
  color: #92400e !important;
}
body.theme-light .acao-rap10 .card-acao-desc {
  color: #451a03 !important;
}

body.theme-light .acao-corretor {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  border: 2px solid #3b82f6 !important;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.15) !important;
}
body.theme-light .acao-corretor:hover {
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.28) !important;
  border-color: #1d4ed8 !important;
}
body.theme-light .icon-corretor {
  background: #bfdbfe !important;
  border: 1px solid #3b82f6 !important;
}
body.theme-light .title-corretor {
  color: #1e40af !important;
}
body.theme-light .acao-corretor .card-acao-desc {
  color: #172554 !important;
}

body.theme-light .acao-fornecedor {
  background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%) !important;
  border: 2px solid #eab308 !important;
  box-shadow: 0 2px 8px rgba(234, 179, 8, 0.15) !important;
}
body.theme-light .acao-fornecedor:hover {
  box-shadow: 0 6px 16px rgba(234, 179, 8, 0.28) !important;
  border-color: #ca8a04 !important;
}
body.theme-light .icon-fornecedor {
  background: #fef08a !important;
  border: 1px solid #eab308 !important;
}
body.theme-light .title-fornecedor {
  color: #854d0e !important;
}
body.theme-light .acao-fornecedor .card-acao-desc {
  color: #422006 !important;
}

body.theme-light .acao-prestador {
  background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%) !important;
  border: 2px solid #a855f7 !important;
  box-shadow: 0 2px 8px rgba(168, 85, 247, 0.15) !important;
}
body.theme-light .acao-prestador:hover {
  box-shadow: 0 6px 16px rgba(168, 85, 247, 0.28) !important;
  border-color: #7e22ce !important;
}
body.theme-light .icon-prestador {
  background: #e9d5ff !important;
  border: 1px solid #a855f7 !important;
}
body.theme-light .title-prestador {
  color: #6b21a8 !important;
}
body.theme-light .acao-prestador .card-acao-desc {
  color: #3b0764 !important;
}

body.theme-light .acao-church {
  background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%) !important;
  border: 2px solid #9333ea !important;
  box-shadow: 0 2px 8px rgba(147, 51, 234, 0.15) !important;
}
body.theme-light .icon-church {
  background: #e9d5ff !important;
  border: 1px solid #9333ea !important;
}
body.theme-light .title-church { color: #581c87 !important; }
body.theme-light .acao-church .card-acao-desc { color: #3b0764 !important; }

body.theme-light .acao-social {
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
  border: 2px solid #ef4444 !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15) !important;
}
body.theme-light .icon-social {
  background: #fecaca !important;
  border: 1px solid #ef4444 !important;
}
body.theme-light .title-social { color: #991b1b !important; }
body.theme-light .acao-social .card-acao-desc { color: #450a0a !important; }

body.theme-light .acao-visita {
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
  border: 2px solid #0284c7 !important;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.15) !important;
}
body.theme-light .icon-visita {
  background: #bae6fd !important;
  border: 1px solid #0284c7 !important;
}
body.theme-light .title-visita { color: #075985 !important; }
body.theme-light .acao-visita .card-acao-desc { color: #0c4a6e !important; }

body.theme-light .acao-propcompra {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
  border: 2px solid #059669 !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15) !important;
}
body.theme-light .icon-propcompra {
  background: #a7f3d0 !important;
  border: 1px solid #059669 !important;
}
body.theme-light .title-propcompra { color: #065f46 !important; }
body.theme-light .acao-propcompra .card-acao-desc { color: #022c22 !important; }

/* Ficha de Visita & Termo de Não-Burla WCAG AAA High Contrast */
body.theme-light .fv-termo-intermed-box {
  background: #eff6ff !important;
  border: 2.5px solid #2563eb !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}
body.theme-light .fv-termo-intermed-box div {
  color: #1e3a8a !important;
  font-weight: 900 !important;
}

/* Legibilidade Máxima do Endereço e Tags Secundárias na Tabela de Contatos (CRM) */
.crm-tabela-endereco {
  color: #e2e8f0;
  display: inline-block;
  line-height: 1.35;
}

.crm-tag-secundaria {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

body.theme-light .crm-tabela-endereco {
  color: #0f172a !important;
  font-weight: 600 !important;
}

body.theme-light .crm-tag-secundaria {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #cbd5e1 !important;
}

body.theme-light table.data-table td small {
  color: #334155 !important;
}

/* Botões de Canais de Divulgação ao lado do Status do Laudo */
.btn-canal-divulgacao {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  text-decoration: none;
}
.btn-canal-divulgacao:hover {
  transform: translateY(-1px);
}
.btn-canal-instagram {
  background: linear-gradient(135deg, rgba(225, 48, 108, 0.2) 0%, rgba(131, 58, 180, 0.2) 100%);
  border-color: rgba(225, 48, 108, 0.5);
  color: #f472b6;
}
.btn-canal-instagram:hover {
  background: linear-gradient(135deg, #e1306c 0%, #833ab4 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(225, 48, 108, 0.4);
}
.btn-canal-whatsapp {
  background: rgba(37, 211, 102, 0.15);
  border-color: rgba(37, 211, 102, 0.5);
  color: #4ade80;
}
.btn-canal-whatsapp:hover {
  background: #25d366;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
}
.btn-canal-facebook {
  background: rgba(24, 119, 242, 0.15);
  border-color: rgba(24, 119, 242, 0.5);
  color: #60a5fa;
}
.btn-canal-facebook:hover {
  background: #1877f2;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(24, 119, 242, 0.4);
}
.btn-canal-youtube {
  background: rgba(255, 0, 0, 0.15);
  border-color: rgba(255, 0, 0, 0.5);
  color: #f87171;
}
.btn-canal-youtube:hover {
  background: #ff0000;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(255, 0, 0, 0.4);
}
.btn-canal-ads {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(217, 119, 6, 0.2) 100%);
  border-color: #f59e0b;
  color: #fbbf24;
}
.btn-canal-ads:hover {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

/* Modo Claro (Light Theme) para os Botões Sociais */
body.theme-light .btn-canal-instagram {
  background: #fdf2f8;
  border-color: #f472b6;
  color: #be185d;
}
body.theme-light .btn-canal-whatsapp {
  background: #f0fdf4;
  border-color: #86efac;
  color: #15803d;
}
body.theme-light .btn-canal-facebook {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #1d4ed8;
}
body.theme-light .btn-canal-youtube {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #b91c1c;
}
body.theme-light .btn-canal-ads {
  background: #fffbeb;
  border-color: #fcd34d;
  color: #92400e;
}

/* Abas de Divulgação no Modal */
.btn-tab-divulgacao {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-tab-divulgacao:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f8fafc;
}
.btn-tab-divulgacao.active {
  background: #2563eb;
  color: #ffffff;
  border-color: #3b82f6;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}
body.theme-light .btn-tab-divulgacao {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #334155;
}
body.theme-light .btn-tab-divulgacao.active {
  background: #d97706;
  color: #ffffff;
  border-color: #b45309;
}

/* Tabela de Amostras do Laudo ABNT - Espaçamento Amplo e Confortável */
#modal-laudo-editor .modal-dialog {
  max-width: 1480px !important;
  width: 96vw !important;
}

.table-laudo-amostras {
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

.table-laudo-amostras th {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
}

.table-laudo-amostras .amostra-row-card {
  background: rgba(15, 23, 42, 0.65) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.table-laudo-amostras .amostra-row-card td {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-left: none !important;
  border-right: none !important;
  vertical-align: middle !important;
}

.table-laudo-amostras .amostra-row-card td:first-child {
  border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.table-laudo-amostras .amostra-row-card td:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.table-laudo-amostras .amostra-row-card:hover {
  background: rgba(30, 41, 59, 0.85) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

body.theme-light .table-laudo-amostras th {
  color: #475569 !important;
}

body.theme-light .table-laudo-amostras .amostra-row-card {
  background: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .table-laudo-amostras .amostra-row-card td {
  border-top: 1px solid #cbd5e1 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}

body.theme-light .table-laudo-amostras .amostra-row-card td:first-child {
  border-left: 1px solid #cbd5e1 !important;
}

body.theme-light .table-laudo-amostras .amostra-row-card td:last-child {
  border-right: 1px solid #cbd5e1 !important;
}

body.theme-light .table-laudo-amostras .amostra-row-card:hover {
  background: #f8fafc !important;
}

/* Ocultar spinners de input number compactos */
.no-spinners::-webkit-outer-spin-button,
.no-spinners::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.no-spinners {
  -moz-appearance: textfield !important;
}

/* Alinhamento Simétrico e Exibição Completa dos Números */
.table-laudo-amostras input.form-control {
  box-sizing: border-box !important;
  line-height: normal !important;
}
.table-laudo-amostras td {
  vertical-align: middle !important;
}

/* ==========================================================================
   PAINEL DE RESUMO DO BLOCO 1 & BLOCO 2 (ALTO CONTRASTE E MÁXIMA NITIDEZ)
   ========================================================================== */
.laudo-bloco1-summary {
  background: rgba(30, 58, 138, 0.35) !important;
  border: 2px solid #2563eb !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.laudo-bloco1-summary .bloco1-col-label {
  font-size: 12px !important;
  color: #93c5fd !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.6px !important;
  display: block;
  margin-bottom: 5px;
}
.laudo-bloco1-summary .val-media-m2 {
  font-size: 23px !important;
  font-weight: 900 !important;
  color: #38bdf8 !important;
  letter-spacing: -0.3px;
}
.laudo-bloco1-summary .val-total-reais {
  font-size: 25px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: -0.3px;
}
.laudo-bloco1-summary .val-count {
  font-size: 23px !important;
  font-weight: 900 !important;
  color: #f8fafc !important;
}
.laudo-bloco1-summary .bloco1-col-sub {
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  font-weight: 600 !important;
  display: block;
  margin-top: 3px;
}

/* Modo Claro (Light) - Bloco 1 */
body.theme-light .laudo-bloco1-summary {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  border: 2px solid #1d4ed8 !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.18) !important;
}
body.theme-light .laudo-bloco1-summary .bloco1-col-label {
  color: #1e3a8a !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco1-summary .val-media-m2 {
  color: #0369a1 !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco1-summary .val-total-reais {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco1-summary .val-count {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco1-summary .bloco1-col-sub {
  color: #334155 !important;
  font-weight: 700 !important;
}

/* Bloco 2: Resumo ABNT / Homologado - VERDE ESMERALDA VIVO E NÍTIDO */
.laudo-bloco2-summary {
  background: rgba(6, 78, 59, 0.4) !important;
  border: 2px solid #10b981 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.laudo-bloco2-summary .bloco2-col-label {
  font-size: 12px !important;
  color: #6ee7b7 !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
  letter-spacing: 0.6px !important;
  display: block;
  margin-bottom: 5px;
}
.laudo-bloco2-summary .val-m2-homologado {
  font-size: 23px !important;
  font-weight: 900 !important;
  color: #34d399 !important;
  letter-spacing: -0.3px;
}
.laudo-bloco2-summary .val-sugerido-final {
  font-size: 25px !important;
  font-weight: 900 !important;
  color: #10b981 !important;
  letter-spacing: -0.3px;
}
.laudo-bloco2-summary .val-faixa-negociacao {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
}

/* Modo Claro (Light) - Bloco 2 - ALTO CONTRASTE VERDE ESMERALDA ESCURO */
body.theme-light .laudo-bloco2-summary {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
  border: 2px solid #047857 !important;
  box-shadow: 0 4px 14px rgba(4, 120, 87, 0.18) !important;
}
body.theme-light .laudo-bloco2-summary .bloco2-col-label {
  color: #064e3b !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco2-summary .val-m2-homologado {
  color: #047857 !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco2-summary .val-sugerido-final {
  color: #064e3b !important;
  font-weight: 900 !important;
}
body.theme-light .laudo-bloco2-summary .val-faixa-negociacao {
  color: #0f172a !important;
  font-weight: 900 !important;
}

/* OVERRIDES ESPECÍFICOS PARA O MODAL DO LAUDO NO TEMA CLARO - CORRIGIR QUALQUER COR APAGADA */
body.theme-light #modal-laudo-editor .modal-body {
  color: #0f172a !important;
}
body.theme-light #modal-laudo-editor label.form-label,
body.theme-light #modal-laudo-editor label {
  color: #1e293b !important;
  font-weight: 700 !important;
}
body.theme-light #modal-laudo-editor small {
  color: #475569 !important;
  font-weight: 600 !important;
}
body.theme-light #modal-laudo-editor p {
  color: #334155 !important;
}
body.theme-light #modal-laudo-editor h4 {
  font-weight: 800 !important;
}
body.theme-light #modal-laudo-editor h4[style*="var(--gold-400)"],
body.theme-light #modal-laudo-editor h4[style*="#fbbf24"] {
  color: #b45309 !important;
}
body.theme-light #modal-laudo-editor h4[style*="#60a5fa"] {
  color: #1d4ed8 !important;
}
body.theme-light #modal-laudo-editor h4[style*="#a78bfa"] {
  color: #6d28d9 !important;
}
body.theme-light #modal-laudo-editor input.form-control,
body.theme-light #modal-laudo-editor select.form-control,
body.theme-light #modal-laudo-editor textarea.form-control {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  font-weight: 600 !important;
}
body.theme-light #modal-laudo-editor input.form-control:focus,
body.theme-light #modal-laudo-editor select.form-control:focus,
body.theme-light #modal-laudo-editor textarea.form-control:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}
body.theme-light #modal-laudo-editor #laudo-form-contrato-select {
  background: #f8fafc !important;
  color: #0284c7 !important;
  border: 2px solid #0284c7 !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   PAINEL COMPARATIVO DE PREÇOS DO LAUDO - CORES VIBRANTES E ALTA LEGIBILIDADE
   ========================================================================== */
.card-comp-box {
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  transition: all 0.2s ease;
  position: relative;
}
.card-comp-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.card-comp-header-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.card-comp-main-val {
  font-size: 20px;
  font-weight: 900;
  margin-top: 5px;
  letter-spacing: -0.3px;
}

.card-comp-sub-m2 {
  font-size: 11.5px;
  font-weight: 700;
  margin-top: 3px;
}

.card-comp-footer-info {
  font-size: 11px;
  font-weight: 700;
  margin-top: 5px;
}

/* --- TEMA ESCURO (DARK) --- */
.card-comp-media {
  background: rgba(30, 64, 175, 0.2) !important;
  border: 1.5px solid #3b82f6 !important;
}
.card-comp-media .title-media { color: #93c5fd !important; }
.card-comp-media .val-media { color: #60a5fa !important; }
.card-comp-media .m2-media { color: #bfdbfe !important; }
.card-comp-media .info-media { color: #93c5fd !important; }

.card-comp-cliente {
  background: rgba(51, 65, 85, 0.4) !important;
  border: 1.5px solid #94a3b8 !important;
}
.card-comp-cliente .title-cliente { color: #e2e8f0 !important; }
.card-comp-cliente .badge-cliente { background: rgba(148, 163, 184, 0.3) !important; color: #ffffff !important; font-size: 10px; font-weight: 800; }
.card-comp-cliente .val-cliente { color: #ffffff !important; }
.card-comp-cliente .m2-cliente { color: #cbd5e1 !important; }
.card-comp-cliente .info-cliente { color: #94a3b8 !important; }

.card-comp-tecnica {
  background: rgba(6, 95, 70, 0.25) !important;
  border: 1.5px solid #10b981 !important;
}
.card-comp-tecnica .title-tecnica { color: #6ee7b7 !important; }
.card-comp-tecnica .val-tecnica { color: #34d399 !important; }
.card-comp-tecnica .m2-tecnica { color: #a7f3d0 !important; }
.card-comp-tecnica .info-tecnica { color: #6ee7b7 !important; }

.card-comp-estrategia {
  background: rgba(180, 83, 9, 0.2) !important;
  border: 1.5px solid #f59e0b !important;
}
.card-comp-estrategia .title-estrategia { color: #fbbf24 !important; }
.card-comp-estrategia .val-estrategia { color: #fbbf24 !important; }
.card-comp-estrategia .m2-estrategia { color: #fde68a !important; }
.card-comp-estrategia .info-estrategia { color: #fef08a !important; }

/* --- TEMA CLARO (LIGHT) - VIBRANTE, CONTRASTADO E LEGÍVEL --- */
body.theme-light .card-comp-media {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  border: 2px solid #2563eb !important;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12) !important;
}
body.theme-light .card-comp-media .title-media { color: #1d4ed8 !important; }
body.theme-light .card-comp-media .val-media { color: #1e40af !important; }
body.theme-light .card-comp-media .m2-media { color: #1d4ed8 !important; }
body.theme-light .card-comp-media .info-media { color: #2563eb !important; }

body.theme-light .card-comp-cliente {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 2px solid #64748b !important;
  box-shadow: 0 2px 8px rgba(100, 116, 139, 0.12) !important;
}
body.theme-light .card-comp-cliente .title-cliente { color: #334155 !important; }
body.theme-light .card-comp-cliente .badge-cliente { background: #e2e8f0 !important; color: #1e293b !important; border: 1px solid #cbd5e1; font-size: 10px; font-weight: 800; }
body.theme-light .card-comp-cliente .val-cliente { color: #0f172a !important; }
body.theme-light .card-comp-cliente .m2-cliente { color: #475569 !important; }
body.theme-light .card-comp-cliente .info-cliente { color: #16a34a !important; }

body.theme-light .card-comp-tecnica {
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
  border: 2px solid #059669 !important;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.15) !important;
}
body.theme-light .card-comp-tecnica .title-tecnica { color: #047857 !important; }
body.theme-light .card-comp-tecnica .val-tecnica { color: #065f46 !important; }
body.theme-light .card-comp-tecnica .m2-tecnica { color: #047857 !important; }
body.theme-light .card-comp-tecnica .info-tecnica { color: #059669 !important; }

body.theme-light .card-comp-estrategia {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  border: 2px solid #d97706 !important;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.15) !important;
}
body.theme-light .card-comp-estrategia .title-estrategia { color: #b45309 !important; }
body.theme-light .card-comp-estrategia .val-estrategia { color: #92400e !important; }
body.theme-light .card-comp-estrategia .m2-estrategia { color: #b45309 !important; }
body.theme-light .card-comp-estrategia .info-estrategia { color: #b45309 !important; }

/* ==========================================================================
   MINI-PAINEL RESUMO DE VALORES NOS CARDS (AVALIAÇÕES / LAUDOS)
   ========================================================================== */
.laudo-card-resumo-box {
  background: var(--bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
body.theme-light .laudo-card-resumo-box {
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
}

.laudo-mini-item {
  padding: 8px 10px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.laudo-mini-item span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  display: block;
  letter-spacing: 0.3px;
}

.laudo-mini-item b {
  font-size: 14px;
  font-weight: 900;
  display: block;
  margin: 3px 0 2px 0;
}

.laudo-mini-item div {
  font-size: 10.5px;
  font-weight: 700;
}

/* Tema Escuro: */
.mini-item-media {
  background: rgba(59, 130, 246, 0.12);
  border-left: 3px solid #3b82f6;
}
.mini-item-media .mini-title-media { color: #93c5fd; }
.mini-item-media .mini-val-media { color: #60a5fa; }
.mini-item-media .mini-sub-media { color: #93c5fd; }

.mini-item-cliente {
  background: rgba(148, 163, 184, 0.12);
  border-left: 3px solid #94a3b8;
}
.mini-item-cliente .mini-title-cliente { color: #cbd5e1; }
.mini-item-cliente .mini-val-cliente { color: #ffffff; }
.mini-item-cliente .mini-sub-cliente { color: #94a3b8; }

.mini-item-tecnica {
  background: rgba(16, 185, 129, 0.14);
  border-left: 3px solid #10b981;
}
.mini-item-tecnica .mini-title-tecnica { color: #6ee7b7; }
.mini-item-tecnica .mini-val-tecnica { color: #34d399; }
.mini-item-tecnica .mini-sub-tecnica { color: #a7f3d0; }

.mini-item-estrategia {
  background: rgba(245, 158, 11, 0.14);
  border-left: 3px solid #f59e0b;
}
.mini-item-estrategia .mini-title-estrategia { color: #fbbf24; }
.mini-item-estrategia .mini-val-estrategia { color: #fbbf24; }
.mini-item-estrategia .mini-sub-estrategia { color: #fde68a; }

/* Tema Claro (Light) - Contraste Nítido e Cores Vivas */
body.theme-light .mini-item-media {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-left: 4px solid #2563eb !important;
}
body.theme-light .mini-item-media .mini-title-media { color: #1d4ed8 !important; }
body.theme-light .mini-item-media .mini-val-media { color: #1e40af !important; }
body.theme-light .mini-item-media .mini-sub-media { color: #2563eb !important; }

body.theme-light .mini-item-cliente {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  border-left: 4px solid #475569 !important;
}
body.theme-light .mini-item-cliente .mini-title-cliente { color: #334155 !important; }
body.theme-light .mini-item-cliente .mini-val-cliente { color: #0f172a !important; }
body.theme-light .mini-item-cliente .mini-sub-cliente { color: #475569 !important; }

body.theme-light .mini-item-tecnica {
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-left: 4px solid #059669 !important;
}
body.theme-light .mini-item-tecnica .mini-title-tecnica { color: #047857 !important; }
body.theme-light .mini-item-tecnica .mini-val-tecnica { color: #065f46 !important; }
body.theme-light .mini-item-tecnica .mini-sub-tecnica { color: #047857 !important; }

body.theme-light .mini-item-estrategia {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  border-left: 4px solid #d97706 !important;
}
body.theme-light .mini-item-estrategia .mini-title-estrategia { color: #b45309 !important; }
body.theme-light .mini-item-estrategia .mini-val-estrategia { color: #92400e !important; }
body.theme-light .mini-item-estrategia .mini-sub-estrategia { color: #b45309 !important; }
body.theme-light .card-comp-estrategia .val-estrategia { color: #92400e !important; }
body.theme-light .card-comp-estrategia .m2-estrategia { color: #b45309 !important; }
body.theme-light .card-comp-estrategia .info-estrategia { color: #b45309 !important; }

/* ==========================================================================
   CARDS DE CONTRATOS IMOBILIÁRIOS (EAGLE CONTRATOS) - ALTO CONTRASTE E NITIDEZ
   ========================================================================== */
.eagle-card-valores-box {
  background: var(--bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.eagle-card-label {
  font-size: 11.5px;
  color: #94a3b8;
  font-weight: 700;
}
.eagle-card-val-venda {
  color: #ffffff;
  font-weight: 900;
}
.eagle-card-val-bruta {
  color: var(--gold-400);
  font-weight: 900;
}
.eagle-card-val-liquido {
  color: #34d399;
  font-weight: 900;
}
.eagle-card-row-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.eagle-card-reg-info {
  color: #94a3b8;
  font-weight: 600;
}
.eagle-card-reg-val {
  color: #f1f5f9;
  font-weight: 800;
}
.eagle-card-carac-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

/* Modo Claro (Light) - Contratos com Alto Contraste Solar */
body.theme-light .eagle-card-valores-box {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}
body.theme-light .eagle-card-label {
  color: #334155 !important;
  font-weight: 700 !important;
}
body.theme-light .eagle-card-val-venda {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light .eagle-card-val-bruta {
  color: #b45309 !important;
  font-weight: 900 !important;
}
body.theme-light .eagle-card-val-liquido {
  color: #047857 !important;
  font-weight: 900 !important;
}
body.theme-light .eagle-card-row-divider {
  border-top: 1.5px solid #cbd5e1 !important;
}
body.theme-light .eagle-card-reg-info {
  color: #475569 !important;
  font-weight: 700 !important;
}
body.theme-light .eagle-card-reg-val {
  color: #0f172a !important;
  font-weight: 800 !important;
}
body.theme-light .eagle-card-carac-box {
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  color: #1e293b !important;
}
body.theme-light .eagle-card-carac-box b {
  color: #0f172a !important;
  font-weight: 900 !important;
}
body.theme-light select.eagle-status-select {
  border: 1.5px solid #cbd5e1 !important;
  font-weight: 800 !important;
}
body.theme-light .eagle-prop-dropdown-select {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}
body.theme-light .eagle-prop-switch-badge {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   BOTÕES DE AÇÃO DO TOPO E BLOCO RECOLHÍVEL DO CONTRATO EAGLE
   ========================================================================== */
.eagle-card-top-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 10px 0 10px 0;
}

.btn-eagle-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 6px;
  border-radius: 9999px;
  font-weight: 800;
  font-size: 11px;
  border: none;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
}

.btn-eagle-action:hover {
  transform: translateY(-1.5px);
  filter: brightness(1.08);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.btn-eagle-action:active {
  transform: translateY(0);
}

.btn-eagle-contrato {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
}

.btn-eagle-rateio {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
}

.btn-eagle-comissao {
  background: linear-gradient(135deg, #b45309 0%, #92400e 100%) !important;
  color: #ffffff !important;
}

.btn-eagle-comissao.is-paga {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  color: #ffffff !important;
}

.btn-eagle-feedback {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  color: #ffffff !important;
}

.btn-eagle-visita {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  color: #ffffff !important;
}

.btn-eagle-laudo {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Accordion Trigger Bar */
.eagle-card-accordion-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 12px;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.75) 0%, rgba(15, 23, 42, 0.85) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 6px;
  margin-bottom: 4px;
  user-select: none;
}

.eagle-card-accordion-bar:hover {
  background: linear-gradient(135deg, rgba(51, 65, 85, 0.9) 0%, rgba(30, 41, 59, 0.95) 100%);
  border-color: rgba(245, 158, 11, 0.5);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.eagle-card-accordion-bar.expanded {
  border-color: #3b82f6;
  background: linear-gradient(135deg, rgba(30, 58, 138, 0.35) 0%, rgba(15, 23, 42, 0.85) 100%);
}

.eagle-accordion-chevron {
  font-size: 11px;
  color: #fbbf24;
  font-weight: 900;
  transition: transform 0.2s ease;
  display: inline-block;
}

.eagle-card-accordion-bar.expanded .eagle-accordion-chevron {
  color: #60a5fa;
}

.eagle-accordion-title {
  font-size: 12px;
  font-weight: 800;
  color: #f1f5f9;
}

.eagle-accordion-badge-val {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 9999px;
  background: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #34d399;
  white-space: nowrap;
}

.eagle-accordion-state-tag {
  font-size: 10px;
  font-weight: 800;
  color: #94a3b8;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  white-space: nowrap;
  letter-spacing: 0.3px;
}

.eagle-card-collapsible-block {
  overflow: hidden;
  animation: eagleFadeSlide 0.25s ease-out;
}

@keyframes eagleFadeSlide {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Light Mode Overrides */
body.theme-light .btn-eagle-rateio {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
}

body.theme-light .eagle-card-accordion-bar {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
}

body.theme-light .eagle-card-accordion-bar:hover {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
  border-color: #f59e0b !important;
}

body.theme-light .eagle-card-accordion-bar.expanded {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
  border-color: #3b82f6 !important;
}

body.theme-light .eagle-accordion-title {
  color: #0f172a !important;
}

body.theme-light .eagle-accordion-badge-val {
  background: #dcfce7 !important;
  border-color: #86efac !important;
  color: #166534 !important;
  font-weight: 900 !important;
}

body.theme-light .eagle-accordion-state-tag {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
  color: #1e293b !important;
}

/* Painel de Taxas de Busca de Material e Deslocamento */
.mat-taxas-panel {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: all 0.2s ease;
}

.mat-taxas-panel .mat-control-box {
  transition: all 0.2s ease;
}

.mat-taxas-panel .mat-control-box:hover {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

/* Modo Claro (Light Theme) para o Painel de Taxas de Materiais */
body.theme-light .mat-taxas-panel {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light .mat-taxas-panel h4 {
  color: #0f172a !important;
}

body.theme-light .mat-taxas-panel .mat-control-box {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

body.theme-light .mat-taxas-panel .mat-control-box label[style*="#93c5fd"] {
  color: #1d4ed8 !important;
}

body.theme-light .mat-taxas-panel .mat-control-box label[style*="#fbbf24"],
body.theme-light .mat-taxas-panel .mat-control-box label[style*="#f59e0b"] {
  color: #b45309 !important;
}

body.theme-light .mat-taxas-panel input.form-control {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
}

body.theme-light #mat-subtotal-base {
  color: #0f172a !important;
}

body.theme-light #mat-total-preview {
  color: #059669 !important;
}

/* Botão de edição rápida de OS nos documentos A4 e cabeçalhos */
.btn-doc-edit-os {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  margin-left: 6px;
  vertical-align: middle;
  transition: all 0.2s ease;
}
.btn-doc-edit-os:hover {
  background: #f59e0b;
  color: #ffffff;
  border-color: #d97706;
  transform: translateY(-1px);
}
@media print {
  .btn-doc-edit-os,
  .no-print {
    display: none !important;
  }
}

/* ==========================================================================
   ESTILOS DE VENDEDORES & CONTATOS DIRETOS DE FORNECEDORES
   ========================================================================== */
.forn-vendedor-row {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  transition: all 0.2s ease;
}
.forn-vendedor-row:hover {
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(255, 255, 255, 0.05);
}
.forn-vendedor-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(16, 185, 129, 0.12);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.forn-vendedor-badge:hover {
  background: #10b981;
  color: #ffffff;
  border-color: #059669;
  transform: translateY(-1px);
}
body.theme-light .forn-vendedor-row {
  background: #f8fafc;
  border-color: #e2e8f0;
}
body.theme-light .forn-vendedor-badge {
  background: #d1fae5;
  color: #065f46;
  border-color: #a7f3d0;
}
body.theme-light .forn-vendedor-badge:hover {
  background: #059669;
  color: #ffffff;
}

/* ==========================================================================
   ALTO CONTRASTE: CARTÕES DE FORNECEDORES & AVISO WHATSAPP (TEMAS CLARO E ESCURO)
   ========================================================================== */

/* Tema Escuro (Padrão) */
.forn-card {
  overflow: hidden;
  box-sizing: border-box;
}
.forn-card-title {
  color: #ffffff;
}
.forn-card-razao {
  color: var(--text-dim);
}
.forn-info-box {
  background: var(--bg-surface);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
  overflow: hidden;
  word-break: break-word;
}
.forn-info-label {
  color: var(--text-dim);
  font-weight: 600;
}
.forn-info-val-cnpj {
  color: #cbd5e1;
}
.forn-info-val-tel {
  color: #60a5fa;
}
.forn-info-val-email {
  color: #cbd5e1;
}
.forn-info-val-end {
  color: #cbd5e1;
  word-break: break-word;
}
.forn-vendedores-header-title {
  color: #fbbf24;
}
.forn-card-vend-item {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.2);
}
.forn-card-vend-nome {
  color: #ffffff;
}
.forn-card-vend-cargo {
  color: var(--text-dim);
}
.forn-obs-box {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-left: 3.5px solid #f59e0b;
  color: #fbbf24;
  word-break: break-word;
}

/* Tema Claro (Light Theme) - Solução do texto apagado / ilegível */
body.theme-light .forn-card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}
body.theme-light .forn-card-title {
  color: #0f172a !important;
}
body.theme-light .forn-card-razao {
  color: #475569 !important;
}
body.theme-light .forn-info-box {
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
}
body.theme-light .forn-info-label {
  color: #475569 !important;
  font-weight: 700 !important;
}
body.theme-light .forn-info-val-cnpj {
  color: #0f172a !important;
  font-weight: 800 !important;
}
body.theme-light .forn-info-val-tel {
  color: #1d4ed8 !important;
  font-weight: 800 !important;
}
body.theme-light .forn-info-val-email {
  color: #1e293b !important;
  font-weight: 700 !important;
}
body.theme-light .forn-endereco-box {
  border-top-color: #cbd5e1 !important;
}
body.theme-light .forn-info-val-end {
  color: #0f172a !important;
  font-weight: 700 !important;
}
body.theme-light .forn-vendedores-header-title {
  color: #92400e !important;
}
body.theme-light .forn-card-vend-item {
  background: #ffffff !important;
  border: 1.5px solid #fde68a !important;
}
body.theme-light .forn-card-vend-nome {
  color: #0f172a !important;
}
body.theme-light .forn-card-vend-cargo {
  color: #64748b !important;
}
body.theme-light .forn-obs-box {
  background: #fffbeb !important;
  border: 1.5px solid #fde68a !important;
  border-left: 4px solid #d97706 !important;
  color: #92400e !important;
  font-weight: 600 !important;
}

/* Modal WhatsApp: Destaque de Alto Contraste para o Aviso de Envio Automático com PDF */
#wa-auto-pdf-notice,
.wa-notice-box {
  background: #f0fdf4 !important;
  border: 2px solid #16a34a !important;
  border-left: 5px solid #16a34a !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  color: #14532d !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}
#wa-auto-pdf-notice b,
.wa-notice-box b {
  color: #15803d !important;
  font-weight: 800 !important;
}

/* ==========================================================================
   CONTROLES DO MENU LATERAL: REORDENAR (MOVER CIMA/BAIXO) & FIXAR PÁGINA
   ========================================================================== */
.sidebar-nav .nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-item-actions-box {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.sidebar-nav .nav-item:hover .nav-item-actions-box,
.sidebar-nav .nav-item.is-pinned .nav-item-actions-box {
  opacity: 1;
}

.nav-order-btn,
.nav-pin-btn {
  background: none;
  border: none;
  padding: 2px 4px;
  cursor: pointer;
  font-size: 10.5px;
  line-height: 1;
  color: var(--text-dim);
  border-radius: 3px;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-order-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fbbf24;
  transform: scale(1.15);
}

.nav-pin-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: scale(1.15);
}

.sidebar-nav .nav-item.is-pinned .nav-pin-btn {
  opacity: 1;
  color: #f59e0b;
}

/* Modo Claro (Light Theme) */
body.theme-light .nav-order-btn,
body.theme-light .nav-pin-btn {
  color: #64748b;
}
body.theme-light .nav-order-btn:hover,
body.theme-light .nav-pin-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}
body.theme-light .sidebar-nav .nav-item.is-pinned .nav-pin-btn {
  color: #b45309;
}

/* ==========================================================================
   DESIGN SYSTEM: FUTURISTIC BIOMORPHIC CAPSULES & LIQUID GLASSMORPHISM
   Inspirado no conjunto orgânico de cápsulas (verde neon, azul titânio, roxo ametista,
   bronze cobre, teal esmaltado e vermelho escovado). Fim definitivo do "black plano"!
   ========================================================================== */

/* 1. FUNDO GERAL COM PROFUNDIDADE ORGÂNICA (NÃO PLANO) */
body.theme-biomorphic,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) {
  background-color: #161a22 !important;
  background-image: 
    radial-gradient(at 15% 15%, rgba(0, 229, 163, 0.08) 0px, transparent 50%),
    radial-gradient(at 85% 20%, rgba(192, 132, 252, 0.08) 0px, transparent 50%),
    radial-gradient(at 50% 85%, rgba(0, 180, 216, 0.08) 0px, transparent 60%),
    radial-gradient(circle at 50% 30%, #1f2533 0%, #141720 70%, #0d1017 100%) !important;
  background-attachment: fixed !important;
  color: #f1f5f9 !important;
}

body.theme-crystal {
  background-color: #121c24 !important;
  background-image: 
    radial-gradient(at 20% 20%, rgba(45, 212, 191, 0.12) 0px, transparent 50%),
    radial-gradient(at 80% 80%, rgba(56, 189, 248, 0.1) 0px, transparent 55%),
    radial-gradient(circle at 50% 40%, #182832 0%, #101a22 75%, #0a1117 100%) !important;
  background-attachment: fixed !important;
  color: #f0fdfa !important;
}

/* 2. BARRA LATERAL (SIDEBAR): ACRÍLICO TRANSLÚCIDO COM EFEITO FROSTED */
body.theme-biomorphic aside.sidebar,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) aside.sidebar,
body.theme-crystal aside.sidebar {
  background: rgba(20, 25, 36, 0.75) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-right: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.45) !important;
}

/* 3. CABEÇALHO DO MENU LATERAL */
body.theme-biomorphic .sidebar-header,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .sidebar-header,
body.theme-crystal .sidebar-header {
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.1) !important;
}

/* 4. ITENS DO MENU LATERAL: CÁPSULAS ORGÂNICAS ARREDONDADAS */
body.theme-biomorphic .nav-item,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .nav-item,
body.theme-crystal .nav-item {
  border-radius: 9999px !important;
  margin: 4px 10px !important;
  padding: 8px 14px !important;
  border: 1px solid transparent !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.theme-biomorphic .nav-item:hover,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .nav-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  transform: translateX(4px) !important;
}

body.theme-biomorphic .nav-item.active,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .nav-item.active {
  background: linear-gradient(135deg, rgba(0, 229, 163, 0.2) 0%, rgba(0, 180, 216, 0.12) 100%) !important;
  border: 1.5px solid rgba(0, 229, 163, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(0, 229, 163, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

body.theme-crystal .nav-item.active {
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.22) 0%, rgba(56, 189, 248, 0.15) 100%) !important;
  border: 1.5px solid rgba(45, 212, 191, 0.5) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(45, 212, 191, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* 5. TOP BAR COM VIDRO LÍQUIDO */
body.theme-biomorphic header.top-header,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) header.top-header,
body.theme-crystal header.top-header {
  background: rgba(20, 25, 36, 0.72) !important;
  backdrop-filter: blur(16px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* 6. CARDS GERAIS (PAINÉIS): FORMATO DE CÁPSULA FUTURISTA COM BISEL ILUMINADO */
body.theme-biomorphic .stat-card,
body.theme-biomorphic .card,
body.theme-biomorphic .table-container,
body.theme-biomorphic .chart-container,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .stat-card,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .card,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .table-container,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .chart-container {
  background: linear-gradient(145deg, rgba(32, 39, 54, 0.75) 0%, rgba(20, 25, 36, 0.85) 100%) !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 24px !important;
  box-shadow: 
    0 12px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

body.theme-biomorphic .stat-card:hover,
body.theme-biomorphic .card:hover,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .stat-card:hover,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .card:hover {
  border-color: rgba(0, 229, 163, 0.4) !important;
  transform: translateY(-3px) scale(1.008) !important;
  box-shadow: 
    0 18px 40px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 229, 163, 0.2),
    inset 0 1px 2px rgba(255, 255, 255, 0.3) !important;
}

/* Crystal Glass Cards */
body.theme-crystal .stat-card,
body.theme-crystal .card,
body.theme-crystal .table-container,
body.theme-crystal .chart-container {
  background: linear-gradient(145deg, rgba(26, 48, 62, 0.7) 0%, rgba(16, 30, 40, 0.85) 100%) !important;
  backdrop-filter: blur(14px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
  border: 1.5px solid rgba(45, 212, 191, 0.3) !important;
  border-radius: 24px !important;
  box-shadow: 
    0 12px 32px rgba(0, 0, 0, 0.45),
    inset 0 1px 1px rgba(255, 255, 255, 0.25) !important;
}

/* 7. ESTILIZAÇÃO DAS CÁPSULAS COLORIDAS (INSPIRADO NA REFERÊNCIA DA IMAGEM) */

/* Cápsula Verde Esmeralda Fluorescente (Ex: Receitas / Concluídos / CRM) */
.capsule-emerald,
.badge-green,
.badge-success {
  background: linear-gradient(135deg, rgba(0, 229, 163, 0.18) 0%, rgba(5, 150, 105, 0.28) 100%) !important;
  border: 1.5px solid #00e5a3 !important;
  color: #6ee7b7 !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 12px rgba(0, 229, 163, 0.25) !important;
}

/* Cápsula Azul Titânio (Ex: Obras / Contratos / Orçamentos) */
.capsule-titanium,
.badge-blue {
  background: linear-gradient(135deg, rgba(0, 180, 216, 0.18) 0%, rgba(2, 132, 199, 0.28) 100%) !important;
  border: 1.5px solid #00b4d8 !important;
  color: #7dd3fc !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 12px rgba(0, 180, 216, 0.25) !important;
}

/* Cápsula Roxo Ametista Gel (Ex: Inteligência BI / Métricas) */
.capsule-amethyst,
.badge-purple {
  background: linear-gradient(135deg, rgba(192, 132, 252, 0.18) 0%, rgba(147, 51, 234, 0.28) 100%) !important;
  border: 1.5px solid #c084fc !important;
  color: #e9d5ff !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 12px rgba(192, 132, 252, 0.25) !important;
}

/* Cápsula Bronze Cobre Metálico (Ex: Alertas / Tubarão) */
.capsule-copper,
.badge-gold,
.badge-warning {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.18) 0%, rgba(217, 119, 6, 0.28) 100%) !important;
  border: 1.5px solid #f97316 !important;
  color: #fed7aa !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 12px rgba(249, 115, 22, 0.25) !important;
}

/* 8. BOTÕES ESTILO PÍLULA CÁPSULA ORGÂNICA */
body.theme-biomorphic .btn,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .btn,
body.theme-crystal .btn {
  border-radius: 9999px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

body.theme-biomorphic .btn-primary,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .btn-primary {
  background: linear-gradient(135deg, #00e5a3 0%, #059669 100%) !important;
  color: #032317 !important;
  border: 1.5px solid #6ee7b7 !important;
  box-shadow: 0 4px 18px rgba(0, 229, 163, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}

body.theme-biomorphic .btn-primary:hover,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .btn-primary:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 6px 24px rgba(0, 229, 163, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

body.theme-biomorphic .btn-secondary,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .btn-secondary {
  background: rgba(36, 44, 60, 0.8) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
  color: #e2e8f0 !important;
  backdrop-filter: blur(10px) !important;
}

body.theme-biomorphic .btn-secondary:hover,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .btn-secondary:hover {
  background: rgba(48, 58, 80, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* 9. CAMPOS DE FORMULÁRIO (INPUTS & SELECTS): FORMATO CÁPSULA SUAVE */
body.theme-biomorphic .form-control,
body.theme-biomorphic input[type="text"],
body.theme-biomorphic input[type="number"],
body.theme-biomorphic input[type="date"],
body.theme-biomorphic select,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .form-control,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) input[type="text"],
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) input[type="number"],
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) input[type="date"],
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) select {
  background: rgba(18, 23, 34, 0.75) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 14px !important;
  color: #ffffff !important;
  padding: 9px 14px !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.2s ease !important;
}

body.theme-biomorphic .form-control:focus,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .form-control:focus {
  border-color: #00e5a3 !important;
  box-shadow: 
    0 0 0 3px rgba(0, 229, 163, 0.25),
    inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
  outline: none !important;
}

/* 10. MODAIS: JANELAS FLUTUANTES EM VIDRO FUMÊ BIOMÓRFICO */
body.theme-biomorphic .modal-dialog,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .modal-dialog,
body.theme-crystal .modal-dialog {
  background: rgba(22, 28, 40, 0.94) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  border: 2px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 28px !important;
  box-shadow: 
    0 24px 70px rgba(0, 0, 0, 0.65),
    inset 0 1px 1px rgba(255, 255, 255, 0.3) !important;
}

body.theme-biomorphic .modal-header,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .modal-header,
body.theme-crystal .modal-header {
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.12) !important;
}

body.theme-biomorphic .modal-footer,
body:not(.theme-light):not(.theme-amber):not(.theme-crystal) .modal-footer,
body.theme-crystal .modal-footer {
  border-top: 1.5px solid rgba(255, 255, 255, 0.12) !important;
}

/* ==========================================================================
   TÍTULOS DE SEÇÃO DA SIDEBAR: REORDENÁVEIS E EDITÁVEIS COM 2 CLIQUES
   ========================================================================== */
.sidebar-nav .nav-section-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  user-select: none !important;
  padding: 8px 12px 4px 14px !important;
  margin-top: 14px !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

.sidebar-nav .nav-section-title:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}

.nav-section-title-text {
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  flex: 1 !important;
  cursor: pointer !important;
}

.nav-section-title-text:hover {
  text-decoration: underline dotted !important;
}

.nav-title-actions-box {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.sidebar-nav .nav-section-title:hover .nav-title-actions-box {
  opacity: 1 !important;
}

.nav-title-actions-box .nav-order-btn {
  font-size: 10px !important;
  padding: 2px 4px !important;
  color: var(--text-muted) !important;
  border-radius: 3px !important;
}

.nav-title-actions-box .nav-order-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #00e5a3 !important;
}

/* Modo Claro */
body.theme-light .sidebar-nav .nav-section-title:hover {
  background: #f1f5f9 !important;
}
body.theme-light .nav-title-actions-box .nav-order-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

/* ==========================================================================
   📱 SIMULADOR MOBILE (ABA FLUTUANTE LATERAL & CHASSI DE CELULAR DE MÃO)
   ========================================================================== */

/* 1. Gatilho Flutuante da Aba Lateral (Posicionada acima do Copilot) */
.mobile-sim-trigger {
  position: fixed;
  right: 0;
  top: calc(50% - 68px); /* Fica empilhada de forma elegante logo acima da aba do Copilot */
  transform: translateY(-50%) translateX(calc(100% - 10px));
  z-index: 998;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 10px;
  border-radius: 20px 0 0 20px;
  background: linear-gradient(135deg, #064e3b 0%, #047857 50%, #0f172a 100%);
  border: 1.5px solid rgba(0, 229, 163, 0.7);
  border-right: none;
  color: #ffffff;
  cursor: pointer;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5), -2px 0 12px rgba(0, 229, 163, 0.35);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.25s ease;
  animation: mobileGlowPulse 4s infinite ease-in-out;
  outline: none;
  user-select: none;
}

.mobile-sim-trigger::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 4px;
  border-radius: 4px 0 0 4px;
  background: linear-gradient(180deg, #00e5a3, #10b981, #3b82f6);
  box-shadow: -2px 0 8px rgba(0, 229, 163, 0.9);
}

.mobile-sim-trigger:hover,
.mobile-sim-trigger:focus,
.mobile-sim-trigger.revealed {
  transform: translateY(-50%) translateX(0);
  border-color: #00e5a3;
  box-shadow: -8px 0 35px rgba(0, 0, 0, 0.65), -3px 0 25px rgba(0, 229, 163, 0.6);
}

.mobile-sim-trigger.hidden-by-drawer {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(100%);
}

.mobile-sim-trigger-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00e5a3, #059669, #0284c7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  box-shadow: 0 0 10px rgba(0, 229, 163, 0.6);
}

.mobile-sim-trigger-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.mobile-sim-trigger-title {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.3px;
  background: linear-gradient(90deg, #ffffff, #6ee7b7, #93c5fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

.mobile-sim-trigger-subtitle {
  font-size: 9.5px;
  color: #6ee7b7;
  font-weight: 600;
  white-space: nowrap;
}

@keyframes mobileGlowPulse {
  0%, 100% {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.45), 0 0 15px rgba(0, 229, 163, 0.3);
  }
  50% {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55), 0 0 28px rgba(0, 229, 163, 0.6), 0 0 15px rgba(59, 130, 246, 0.3);
  }
}

/* 2. Backdrop do Simulador */
.mobile-sim-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 1040;
}
.mobile-sim-backdrop.active {
  display: block;
}

/* 3. Drawer Retrátil do Simulador */
.mobile-sim-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 530px;
  max-width: 96vw;
  height: 100vh;
  z-index: 1050;
  background: rgba(18, 24, 38, 0.96);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-left: 1.5px solid rgba(0, 229, 163, 0.35);
  box-shadow: -15px 0 45px rgba(0, 0, 0, 0.75), 0 0 35px rgba(0, 229, 163, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(105%);
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

.mobile-sim-drawer.drawer-open {
  transform: translateX(0);
}

.mobile-drawer-top-glow {
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, #00e5a3 0%, #00b4d8 50%, #c084fc 100%);
}

.mobile-drawer-header {
  padding: 12px 18px;
  background: rgba(15, 20, 32, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.mobile-drawer-title-box {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mobile-drawer-badge-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 229, 163, 0.2), rgba(0, 180, 216, 0.2));
  border: 1px solid #00e5a3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.mobile-drawer-title-box h4 {
  font-size: 13.5px;
  font-weight: 800;
  color: #f8fafc;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.mobile-drawer-title-box span {
  font-size: 11px;
  color: #94a3b8;
}

.mobile-drawer-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.mobile-device-select {
  padding: 4px 8px !important;
  font-size: 11px !important;
  border-radius: 8px !important;
  height: auto !important;
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

/* Barra de Telas Rápidas */
.mobile-quick-nav-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 8px 14px;
  background: rgba(10, 14, 24, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

.mobile-quick-nav-bar::-webkit-scrollbar {
  height: 3px;
}

.mobile-quick-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 16px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.mobile-quick-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.mobile-quick-btn.active {
  background: linear-gradient(135deg, rgba(0, 229, 163, 0.25) 0%, rgba(2, 132, 199, 0.25) 100%);
  border-color: #00e5a3;
  color: #00e5a3;
  box-shadow: 0 0 10px rgba(0, 229, 163, 0.3);
}

/* Área de Visualização do Celular */
.mobile-sim-viewport-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow: auto;
  background: radial-gradient(circle at 50% 50%, rgba(30, 40, 60, 0.4) 0%, rgba(10, 14, 22, 0.9) 100%);
}

/* Chassi Físico do Smartphone */
.smartphone-device-chassis {
  width: 380px;
  height: 760px;
  background: #090c12;
  border-radius: 46px;
  border: 12px solid #1f2738;
  box-shadow: 
    0 0 0 3px rgba(255, 255, 255, 0.12),
    0 25px 60px rgba(0, 0, 0, 0.8),
    inset 0 0 10px rgba(0, 0, 0, 0.8);
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

/* Dynamic Island Notch */
.smartphone-notch {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 24px;
  background: #000000;
  border-radius: 20px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.smartphone-speaker {
  width: 36px;
  height: 4px;
  background: #262626;
  border-radius: 2px;
}

.smartphone-camera {
  width: 10px;
  height: 10px;
  background: #111827;
  border: 1.5px solid #1f2937;
  border-radius: 50%;
}

/* Punch Hole DotDisplay para POCO X6 Pro 5G & Xiaomi HyperOS */
.smartphone-notch.punch-hole-mode {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #000000;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.9), inset 0 0 2px #0f172a;
  top: 10px;
  padding: 0;
  justify-content: center;
}
.smartphone-notch.punch-hole-mode .smartphone-speaker {
  display: none !important;
}
.smartphone-notch.punch-hole-mode .smartphone-camera {
  width: 8px;
  height: 8px;
  background: #090e17;
  border: 1px solid #1e293b;
  box-shadow: inset 0 0 1px #38bdf8;
}

/* POCO X6 Pro 5G Chassi Ultrafino & Elegante */
.smartphone-device-chassis.poco-mode {
  border: 8px solid #151c28;
  border-radius: 36px;
  box-shadow: 
    0 0 0 2px rgba(56, 189, 248, 0.3),
    0 25px 65px rgba(0, 0, 0, 0.85),
    inset 0 0 8px rgba(0, 0, 0, 0.9);
}

/* Barra de Status do Sistema */
.smartphone-status-bar {
  height: 40px;
  background: #090c12;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px 0 28px;
  font-size: 11.5px;
  font-weight: 700;
  color: #f1f5f9;
  z-index: 10;
  flex-shrink: 0;
}

.smartphone-icons {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
}

/* Tela Touchscreen com Iframe */
.smartphone-screen-wrapper {
  flex: 1;
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #0b0f19;
}

.smartphone-screen-wrapper iframe {
  width: 100%;
  height: 100%;
  border: none;
  background: #0b0f19;
}

/* Home Indicator Bar */
.smartphone-home-indicator {
  height: 20px;
  background: #090c12;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.smartphone-home-indicator::after {
  content: '';
  width: 110px;
  height: 4px;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 2px;
}

/* Botão de Edição Manual de OS nos Documentos A4 */
.btn-doc-edit-os {
  background: #f1f5f9;
  color: #0369a1;
  border: 1px solid #bae6fd;
  border-radius: 4px;
  padding: 1px 7px;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  line-height: 1.2;
}

.btn-doc-edit-os:hover {
  background: #0284c7;
  color: #ffffff;
  border-color: #0284c7;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(2, 132, 199, 0.25);
}

@media print {
  .btn-doc-edit-os {
    display: none !important;
  }
}

/* Modal de Status Rápido do Prestador */
.badge-clickable {
  cursor: pointer;
  border: none;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 9999px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.badge-clickable:hover {
  transform: translateY(-1px);
  filter: brightness(1.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.status-choice-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s ease;
}
.status-choice-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}
.status-choice-card.selected#card-status-ativo {
  background: rgba(16, 185, 129, 0.12);
  border-color: #10b981;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
}
.status-choice-card.selected#card-status-reserva {
  background: rgba(245, 158, 11, 0.12);
  border-color: #f59e0b;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.25);
}
.status-choice-card.selected#card-status-inativo {
  background: rgba(239, 68, 68, 0.12);
  border-color: #ef4444;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.25);
}

.status-choice-radio {
  margin-top: 4px;
  cursor: pointer;
}

.quick-reason-chip {
  display: inline-block;
  font-size: 11px;
  padding: 3px 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 9999px;
  color: var(--text-dim);
  cursor: pointer;
  transition: all 0.15s ease;
}
.quick-reason-chip:hover {
  background: rgba(245, 158, 11, 0.15);
  border-color: #f59e0b;
  color: #fbbf24;
  transform: scale(1.03);
}

/* ==========================================================================
   CARDS CLICÁVEIS CONTA AZUL (KPI CARDS NAVEGÁVEIS)
   ========================================================================== */
.ca-kpi-clickable {
  cursor: pointer !important;
  user-select: none;
  position: relative;
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s ease, border-color 0.22s ease, filter 0.22s ease !important;
}

.ca-kpi-clickable:hover {
  transform: translateY(-4px);
  filter: brightness(1.08);
}

.ca-kpi-clickable:active {
  transform: translateY(-1px) scale(0.99);
}

.ca-kpi-clickable::after {
  content: '↗';
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 13px;
  font-weight: 800;
  opacity: 0.35;
  transform: translate(-2px, 2px);
  transition: all 0.2s ease;
  color: var(--text-dim);
}

.ca-kpi-clickable:hover::after {
  opacity: 1;
  transform: translate(0, 0);
  color: #ffffff;
}

.ca-kpi-blue:hover {
  box-shadow: 0 10px 25px rgba(56, 189, 248, 0.25);
  border-color: #38bdf8 !important;
}

.ca-kpi-emerald:hover {
  box-shadow: 0 10px 25px rgba(16, 185, 129, 0.25);
  border-color: #10b981 !important;
}

.ca-kpi-danger:hover {
  box-shadow: 0 10px 25px rgba(239, 68, 68, 0.25);
  border-color: #ef4444 !important;
}

.ca-kpi-gold:hover {
  box-shadow: 0 10px 25px rgba(245, 158, 11, 0.25);
  border-color: #f59e0b !important;
}

.ca-kpi-purple:hover {
  box-shadow: 0 10px 25px rgba(168, 85, 247, 0.25);
  border-color: #a855f7 !important;
}

#modal-contaazul-novo-banco {
  z-index: 1060 !important;
}

.ca-banco-card {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  cursor: pointer;
}

.ca-banco-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  border-color: rgba(255, 255, 255, 0.25) !important;
}

.ca-banco-edit-btn {
  opacity: 0.85;
  transition: all 0.2s ease;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ca-banco-card:hover .ca-banco-edit-btn {
  opacity: 1;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}

/* ==========================================================================
   📱 RAP10 REFORMAS - MODO CELULAR NATIVO & SOFISTICADO (CORES DO LOGO)
   Cores Oficiais do Logo RAP 10:
   - Deep Midnight Navy: #09121e / #0d1828 / #112035
   - Electric Cyan / Sky Blue: #38bdf8 / #0284c7 / #00b4d8
   - Electric Orange / Amber Energy: #f97316 / #ea580c / #fb923c
   - White / Titanium Silver: #ffffff / #f8fafc / #cbd5e1 / #94a3b8
   ========================================================================== */

/* Quando em modo mobile, esconde a interface pesada de desktop e ativa a tela do celular */
body.is-mobile-device #app-container,
body.is-mobile-device #mobile-sim-trigger-btn,
body.is-mobile-device #mobile-sim-drawer,
body.is-mobile-device #mobile-sim-backdrop,
body.is-mobile-device #ai-copilot-trigger-btn,
body.is-mobile-device .ai-copilot-trigger {
  display: none !important;
}

body.is-mobile-device {
  background: #09121e !important;
  color: #f8fafc !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif !important;
}

/* Container Principal Mobile - Alcança as duas extremidades */
.rap10-mobile-home {
  display: none;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  max-width: 100%;
  margin: 0;
  background: radial-gradient(circle at 50% 0%, #112035 0%, #09121e 65%, #060b13 100%);
  color: #ffffff;
  box-sizing: border-box;
  padding-bottom: 75px; /* Espaço para a Bottom Nav */
  position: relative;
  z-index: 10;
  box-shadow: none;
}

body.is-mobile-device .rap10-mobile-home {
  display: flex !important;
}

/* ==========================================================================
   🌐 VISUALIZAÇÃO WEB APP DESKTOP (PADRÃO AGENDA BOA - web.agendaboa.com)
   Estrutura: Coluna Central Fixa (480px) de Altura Total (100vh),
   Sem Aparência de Celular, Bordas Retas Elegantes e Fundo com Textura
   ========================================================================== */
@media (min-width: 769px) {
  body.is-mobile-device {
    background-color: #060b13 !important;
    background-image: 
      radial-gradient(circle at 50% 25%, rgba(56, 189, 248, 0.08) 0%, transparent 65%),
      radial-gradient(circle at 80% 80%, rgba(197, 160, 89, 0.06) 0%, transparent 50%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104' viewBox='0 0 60 104'%3E%3Cpath d='M30 0l30 17.32v34.64L30 69.28 0 51.96V17.32L30 0zm0 104l30-17.32V52.04L30 69.36 0 52.04v34.64L30 104z' fill='none' stroke='rgba(255,255,255,0.035)' stroke-width='1.5'/%3E%3C/svg%3E") !important;
    background-repeat: repeat !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: stretch !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.is-mobile-device.mobile-theme-light {
    background-color: #eef2f6 !important;
    background-image: 
      radial-gradient(circle at 50% 25%, rgba(2, 132, 199, 0.06) 0%, transparent 65%),
      radial-gradient(circle at 80% 80%, rgba(234, 88, 12, 0.05) 0%, transparent 50%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='104' viewBox='0 0 60 104'%3E%3Cpath d='M30 0l30 17.32v34.64L30 69.28 0 51.96V17.32L30 0zm0 104l30-17.32V52.04L30 69.36 0 52.04v34.64L30 104z' fill='none' stroke='rgba(15,23,42,0.04)' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  }

  body.is-mobile-device .rap10-mobile-home {
    width: 480px !important;
    max-width: 480px !important;
    min-width: 480px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    border-radius: 0 !important;
    border: none !important;
    border-left: 1px solid rgba(56, 189, 248, 0.15) !important;
    border-right: 1px solid rgba(56, 189, 248, 0.15) !important;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden !important;
    position: relative !important;
    margin: 0 auto !important;
    background: radial-gradient(circle at 50% 0%, #112035 0%, #09121e 65%, #060b13 100%) !important;
  }

  body.is-mobile-device.mobile-theme-light .rap10-mobile-home {
    border-left: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-right: 1px solid rgba(226, 232, 240, 0.9) !important;
    box-shadow: 0 0 50px rgba(15, 23, 42, 0.1) !important;
    background: #f8fafc !important;
  }

  body.is-mobile-device .desktop-agendaboa-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    position: fixed !important;
    bottom: 22px !important;
    left: 26px !important;
    z-index: 5 !important;
    pointer-events: none !important;
    opacity: 0.85 !important;
    transition: opacity 0.2s ease !important;
  }

  body.is-mobile-device.mobile-theme-light .desktop-agendaboa-brand .desktop-brand-title {
    color: #0f172a !important;
  }

  body.is-mobile-device.mobile-theme-light .desktop-agendaboa-brand .desktop-brand-sub {
    color: #0284c7 !important;
  }
}

.desktop-agendaboa-brand {
  display: none;
}

/* Quando uma subview (Orçamentos, Clientes, Prestadores) estiver aberta, esconde o cabeçalho e navegação do início */
body.mobile-subview-open .mobile-top-header,
body.mobile-subview-open .mobile-bottom-nav {
  display: none !important;
}

/* Header Superior Mobile - Alcança as duas extremidades */
.mobile-top-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  z-index: 40;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: rgba(9, 18, 30, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(56, 189, 248, 0.15);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.mobile-top-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f8fafc;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.mobile-top-btn:active {
  transform: scale(0.92);
  background: rgba(56, 189, 248, 0.15);
  border-color: #38bdf8;
}

.mobile-notif-dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  background: #f97316;
  border-radius: 50%;
  box-shadow: 0 0 8px #f97316;
}

.mobile-top-title-box {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-top-title {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.3px;
  color: #ffffff;
}

.mobile-top-brand-badge {
  font-size: 10px;
  font-weight: 900;
  padding: 2px 7px;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  color: #ffffff;
  border-radius: 6px;
  letter-spacing: 0.5px;
  border: 1px solid rgba(56, 189, 248, 0.4);
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.3);
}

/* Área com Rolagem Suave */
.mobile-scrollable-content {
  flex: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 2-Column Square Cards Grid */
.mobile-square-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: 100%;
}

.mobile-square-card {
  position: relative;
  background: rgba(17, 32, 53, 0.65);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(56, 189, 248, 0.16);
  border-radius: 20px;
  padding: 16px 14px 14px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 122px;
  cursor: pointer;
  user-select: none;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 20px -4px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

.mobile-square-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.3), transparent);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.mobile-square-card:active {
  transform: scale(0.96);
  background: rgba(22, 42, 70, 0.85);
  border-color: rgba(56, 189, 248, 0.4);
}

.mobile-square-card:active::before {
  opacity: 1;
}

/* Ícones dos Cards com Gradientes Refinados */
.card-icon-wrapper {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  margin-bottom: 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease;
}

.mobile-square-card:active .card-icon-wrapper {
  transform: scale(1.08);
}

.icon-cyan {
  background: linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.4);
}

.icon-orange {
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(234, 88, 12, 0.4);
}

.icon-teal {
  background: linear-gradient(135deg, #2dd4bf 0%, #0d9488 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(13, 148, 136, 0.4);
}

.icon-gradient {
  background: linear-gradient(135deg, #818cf8 0%, #4f46e5 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4);
}

.icon-emerald {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}

.icon-gold {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}

/* Textos dos Cards */
.card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.card-title {
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.2px;
}

.card-subtitle {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 500;
}

/* Badges e Contadores no Card */
.card-badge-counter {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 10px;
}

.card-badge-tag {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 8px;
}

/* Banner de Status & Destaque (Inspirado no anexo 3) */
.mobile-status-banner {
  background: linear-gradient(135deg, rgba(234, 88, 12, 0.12) 0%, rgba(17, 32, 53, 0.75) 100%);
  border: 1.5px solid rgba(249, 115, 22, 0.45);
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  box-shadow: 0 8px 24px -6px rgba(234, 88, 12, 0.2);
  transition: all 0.2s ease;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.mobile-status-banner:active {
  transform: scale(0.98);
  background: linear-gradient(135deg, rgba(234, 88, 12, 0.2) 0%, rgba(17, 32, 53, 0.9) 100%);
  border-color: #f97316;
}

.banner-icon-box {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(234, 88, 12, 0.4);
}

.banner-icon {
  font-size: 22px;
}

.banner-text-content {
  flex: 1;
}

.banner-title {
  font-size: 13.5px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 2px 0;
}

.banner-desc {
  font-size: 11.5px;
  color: #cbd5e1;
  margin: 0;
  line-height: 1.4;
}

.banner-arrow {
  color: #fb923c;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Seção de Atalhos Rápidos (Inspirada no anexo 3) */
.mobile-shortcuts-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.shortcuts-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
}

.shortcuts-title {
  font-size: 12px;
  font-weight: 800;
  color: #94a3b8;
  letter-spacing: 0.6px;
}

.shortcuts-filter-btn {
  background: none;
  border: none;
  color: #64748b;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shortcuts-scroll-row {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 2px 0 6px 0 !important;
}

.shortcuts-scroll-row::-webkit-scrollbar {
  display: none !important;
}

.shortcut-chip {
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(17, 32, 53, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px !important;
  padding: 6px 10px !important;
  min-height: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
  overflow: hidden !important;
}

.shortcut-chip:active {
  transform: scale(0.97);
  background: rgba(22, 42, 70, 0.9);
  border-color: rgba(56, 189, 248, 0.3);
}

.shortcut-chip span {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #f1f5f9;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.shortcut-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  flex-shrink: 0 !important;
}

.sc-blue { background: rgba(56, 189, 248, 0.2); }
.sc-orange { background: rgba(249, 115, 22, 0.2); }
.sc-teal { background: rgba(20, 184, 166, 0.2); }
.sc-purple { background: rgba(168, 85, 247, 0.2); }
.sc-gold { background: rgba(234, 179, 8, 0.2); }

/* Botão de Grande Destaque (Criar Novo Orçamento - Slim e Elegante) */
.mobile-cta-container {
  margin-top: 4px;
  width: 100%;
}

.mobile-cta-btn {
  width: 100%;
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 40%, #ea580c 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: -0.2px;
}

.mobile-cta-btn:active {
  transform: scale(0.97);
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3);
}

/* Barra Inferior Fixa (Bottom Navigation - Anexo 3) - Alcança as duas extremidades */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  height: 66px;
  background: rgba(9, 18, 30, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(56, 189, 248, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0 20px 8px 20px;
  z-index: 50;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
}

.mobile-nav-item {
  flex: 1;
  max-width: 150px;
  height: 100%;
  background: none;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #64748b;
  cursor: pointer;
  transition: all 0.2s ease;
}

.mobile-nav-item .nav-icon-pill {
  padding: 5px 22px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-item .nav-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.mobile-nav-item.active {
  color: #38bdf8;
}

.mobile-nav-item.active .nav-icon-pill {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
}

.mobile-nav-item:active {
  transform: scale(0.92);
}

/* Menu Hambúrguer Drawer Mobile */
.mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(6px);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.mobile-drawer-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.mobile-side-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 285px;
  background: #0d1828;
  border-right: 1px solid rgba(56, 189, 248, 0.2);
  z-index: 101;
  transform: translateX(-100%);
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.6);
}

.mobile-side-drawer.drawer-open {
  transform: translateX(0);
}

.drawer-user-header {
  padding: 22px 18px;
  background: linear-gradient(135deg, #112035 0%, #0d1828 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

/* Prompt Fixo no Topo do Menu Drawer: Alternar p/ Modo Computador (Fiel ao Anexo) */
.drawer-fixed-desktop-prompt {
  flex-shrink: 0;
  padding: 8px 14px;
  background: #0d1828;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 2;
}

.drawer-fixed-prompt-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none;
  color: #e2e8f0;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.drawer-fixed-prompt-link:hover,
.drawer-fixed-prompt-link:active {
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  transform: scale(0.99);
}

.drawer-fixed-prompt-link .prompt-icon-box {
  font-size: 19px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.drawer-fixed-prompt-link .prompt-text-label {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.25;
  color: inherit;
  letter-spacing: -0.15px;
}

.drawer-user-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0284c7 0%, #ea580c 100%);
  color: #ffffff;
  font-size: 15px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
}

.drawer-user-info h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.drawer-user-info p {
  margin: 2px 0 0;
  font-size: 11px;
  color: #94a3b8;
}

.drawer-header-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  position: relative;
  z-index: 5;
}

.drawer-btn-desktop {
  background: rgba(56, 189, 248, 0.15);
  border: 1.5px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

.drawer-btn-desktop:hover,
.drawer-btn-desktop:active {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.3), rgba(2, 132, 199, 0.45));
  border-color: #38bdf8;
  transform: scale(1.06);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.5);
}

.drawer-close-btn {
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 6px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.15s ease;
}

.drawer-close-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.drawer-nav-list {
  flex: 1;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
}

.drawer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  color: #e2e8f0;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 600;
  transition: all 0.15s ease;
}

.drawer-item:hover, .drawer-item:active {
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
}

.drawer-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 8px 0;
}

.drawer-footer {
  padding: 14px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 11px;
  color: #64748b;
  text-align: center;
}

/* Painel de Gestão (Quando seleciona Gestão na barra inferior) */
.mobile-gestao-subpanel {
  position: absolute;
  top: 58px;
  left: 0;
  right: 0;
  bottom: 66px;
  width: 100%;
  max-width: 100%;
  height: calc(100% - 124px);
  background: #09121e;
  z-index: 35;
  padding: 16px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gestao-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.gestao-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #ffffff;
}

.btn-voltar-home {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 10px;
  cursor: pointer;
}

.gestao-cards-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gestao-list-card {
  background: rgba(17, 32, 53, 0.7);
  border: 1px solid rgba(56, 189, 248, 0.15);
  border-radius: 16px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: all 0.18s ease;
}

.gestao-list-card:active {
  transform: scale(0.97);
  background: rgba(22, 42, 70, 0.9);
  border-color: #38bdf8;
}

.gl-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.gl-cyan { background: rgba(56, 189, 248, 0.2); }
.gl-orange { background: rgba(249, 115, 22, 0.2); }
.gl-teal { background: rgba(20, 184, 166, 0.2); }
.gl-gold { background: rgba(245, 158, 11, 0.2); }

.gl-info {
  flex: 1;
}

.gl-info h4 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 800;
  color: #ffffff;
}

.gl-info p {
  margin: 3px 0 0;
  font-size: 11.5px;
  color: #94a3b8;
}

.gl-arrow {
  color: #64748b;
  font-size: 16px;
}

/* ==========================================================================
   📱 ADAPTAÇÃO TOTAL DOS FORMULÁRIOS & MODAIS PARA MOBILE & NOTEBOOK
   - No celular real (<= 768px): ocupa 100% da tela sem sobrar espaço
   - No notebook (> 768px): fica emoldurado no formato de celular (420px) centralizado
   ========================================================================== */
@media (max-width: 768px) {
  body.is-mobile-device .modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    display: none;
    align-items: stretch !important;
    justify-content: center !important;
    background: rgba(4, 9, 15, 0.96) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    z-index: 99999 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.is-mobile-device .modal-backdrop.show,
  body.is-mobile-device .modal-backdrop.active {
    display: flex !important;
  }

  body.is-mobile-device .modal-backdrop:has(.modal-wide-full) {
    padding: 0 !important;
  }

  body.is-mobile-device .modal-backdrop .modal-dialog,
  body.is-mobile-device .modal-dialog,
  body.is-mobile-device .modal-dialog.modal-xl,
  body.is-mobile-device .modal-dialog.modal-lg,
  body.is-mobile-device .modal-dialog.modal-wide-full,
  body.is-mobile-device .modal-dialog.modal-financial-full,
  body.is-mobile-device div[id^="modal-"] .modal-dialog,
  body.is-mobile-device #modal-prop-editor.modal-backdrop .modal-dialog,
  body.is-mobile-device #modal-prop-editor .modal-dialog,
  body.is-mobile-device #modal-proposta .modal-dialog,
  body.is-mobile-device #modal-cliente .modal-dialog,
  body.is-mobile-device #modal-prestador .modal-dialog,
  body.is-mobile-device #modal-documentos-obra .modal-dialog,
  body.is-mobile-device #modal-laudo-editor .modal-dialog,
  body.is-mobile-device #modal-eagle-feedback-semanal .modal-dialog,
  body.is-mobile-device #modal-doc-viewer .modal-dialog,
  body.is-mobile-device #modal-view-danfse .modal-dialog,
  body.is-mobile-device #modal-gerenciar-blocos-info .modal-dialog,
  body.is-mobile-device #modal-fornecedor .modal-dialog,
  body.is-mobile-device #modal-produto .modal-dialog,
  body.is-mobile-device #modal-servico .modal-dialog,
  body.is-mobile-device #modal-firebase-config .modal-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    border-radius: 0 !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #0b1523 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

@media (min-width: 769px) {
  body.is-mobile-device .modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.is-mobile-device .modal-backdrop.show,
  body.is-mobile-device .modal-backdrop.active {
    display: flex !important;
  }

  body.is-mobile-device .modal-backdrop .modal-dialog,
  body.is-mobile-device .modal-dialog,
  body.is-mobile-device .modal-dialog.modal-xl,
  body.is-mobile-device .modal-dialog.modal-lg,
  body.is-mobile-device .modal-dialog.modal-wide-full,
  body.is-mobile-device .modal-dialog.modal-financial-full,
  body.is-mobile-device div[id^="modal-"] .modal-dialog,
  body.is-mobile-device #modal-prop-editor.modal-backdrop .modal-dialog,
  body.is-mobile-device #modal-prop-editor .modal-dialog,
  body.is-mobile-device #modal-proposta .modal-dialog,
  body.is-mobile-device #modal-cliente .modal-dialog,
  body.is-mobile-device #modal-prestador .modal-dialog,
  body.is-mobile-device #modal-documentos-obra .modal-dialog,
  body.is-mobile-device #modal-laudo-editor .modal-dialog,
  body.is-mobile-device #modal-eagle-feedback-semanal .modal-dialog,
  body.is-mobile-device #modal-doc-viewer .modal-dialog,
  body.is-mobile-device #modal-view-danfse .modal-dialog,
  body.is-mobile-device #modal-gerenciar-blocos-info .modal-dialog,
  body.is-mobile-device #modal-fornecedor .modal-dialog,
  body.is-mobile-device #modal-produto .modal-dialog,
  body.is-mobile-device #modal-servico .modal-dialog,
  body.is-mobile-device #modal-firebase-config .modal-dialog {
    width: 480px !important;
    max-width: 480px !important;
    min-width: 480px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    border-radius: 0 !important;
    border: none !important;
    border-left: 1px solid rgba(56, 189, 248, 0.2) !important;
    border-right: 1px solid rgba(56, 189, 248, 0.2) !important;
    box-shadow: 0 0 60px rgba(0,0,0,0.7) !important;
    overflow: hidden !important;
    margin: 0 auto !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    display: flex !important;
    flex-direction: column !important;
    background: #0b1523 !important;
    box-sizing: border-box !important;
  }
}

body.is-mobile-device .modal-dialog > form {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.is-mobile-device .modal-backdrop .modal-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: rgba(13, 24, 40, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.2) !important;
  padding: 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-shrink: 0 !important;
}

body.is-mobile-device .modal-backdrop .modal-header h3,
body.is-mobile-device .modal-backdrop .modal-header h4 {
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

body.is-mobile-device .modal-backdrop .modal-header p {
  font-size: 11px !important;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
  line-height: 1.2 !important;
}

body.is-mobile-device .modal-backdrop .modal-close {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  font-size: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  cursor: pointer !important;
}

body.is-mobile-device .modal-backdrop .modal-body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 12px 14px 20px 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Rodapé dos Modais no Mobile: Simétrico, Preenche a Largura e Sem Vazio */
body.is-mobile-device .modal-backdrop .modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  background: rgba(13, 24, 40, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid rgba(56, 189, 248, 0.2) !important;
  padding: 10px 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

body.is-mobile-device .modal-backdrop .modal-footer > div {
  display: flex !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.is-mobile-device .modal-backdrop .modal-footer .btn {
  flex: 1 1 auto !important;
  min-height: 38px !important;
  height: 38px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.is-mobile-device .modal-backdrop .modal-footer .btn-primary {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  background: linear-gradient(135deg, #0284c7 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 800 !important;
  font-size: 13.5px !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
}

/* Rodapé do Editor de Orçamento RAP10: Salvar no topo (100%) e Duplicar + Fechar lado a lado (50% / 50%) */
body.is-mobile-device .prop-editor-footer {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.is-mobile-device .prop-editor-footer .prop-btn-save-main {
  order: 1 !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  background: linear-gradient(135deg, #0284c7 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4) !important;
}

body.is-mobile-device .prop-editor-footer .prop-footer-secondary-group {
  order: 2 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.is-mobile-device .prop-editor-footer .prop-footer-secondary-group .btn {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

/* Campos de Formulário ajustados sem estourar as laterais no celular */
body.is-mobile-device .modal-backdrop .form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.is-mobile-device .modal-backdrop .form-group {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}

body.is-mobile-device .modal-backdrop .form-group[style*="max-width"] {
  max-width: 100% !important;
}

body.is-mobile-device .modal-backdrop .form-control,
body.is-mobile-device .modal-backdrop select.form-control,
body.is-mobile-device .modal-backdrop textarea.form-control {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 40px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
}

/* ==========================================================================
   📱 RAP10 REFORMAS - SIMETRIA DO TOPO & TELAS NATIVAS MOBILE (100% CELULAR)
   ========================================================================== */

/* Topo Mobile Perfeitamente Simétrico - Alcança as duas extremidades */
.mobile-top-header {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 10px !important;
  height: 60px !important;
  gap: 6px !important;
}

.mobile-top-title-box {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  text-align: left !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.mobile-top-header-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
}

.mobile-top-header .mobile-top-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  flex-shrink: 0 !important;
}

/* Telas Mobile Nativas - Alcança as duas extremidades */
.rap10-mobile-subview {
  display: none;
  flex-direction: column;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: 100vh;
  box-sizing: border-box !important;
  padding-bottom: 90px;
  background: radial-gradient(circle at 50% 0%, #112035 0%, #09121e 65%, #060b13 100%);
  animation: fadeInMobile 0.2s ease-out;
}

@keyframes fadeInMobile {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.subview-top-header {
  position: sticky;
  top: 0;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  z-index: 45;
  height: 58px;
  display: grid;
  grid-template-columns: 88px 1fr 88px;
  align-items: center;
  padding: 0 14px;
  background: rgba(9, 18, 30, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(56, 189, 248, 0.15);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.subview-title {
  font-size: 17px;
  font-weight: 800;
  color: #ffffff;
  text-align: center;
  margin: 0;
  letter-spacing: -0.2px;
}

.subview-search-box {
  padding: 6px 14px 10px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.subview-search-wrapper {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.subview-search-input {
  width: 100%;
  height: 44px;
  padding: 0 54px 0 38px;
  background: #ffffff;
  color: #0f172a;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 12px;
  font-size: 14.5px;
  font-weight: 600;
  outline: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.subview-search-icon {
  position: absolute;
  left: 12px;
  color: #64748b;
  font-size: 14px;
  pointer-events: none;
}

.subview-search-badge {
  position: absolute;
  right: 10px;
  background: #38bdf8;
  color: #0f172a;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 3px;
}

.subview-filter-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.subview-list-container {
  padding: 8px 14px 90px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

.subview-controls-panel {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
  background: rgba(9, 18, 30, 0.95);
  border-bottom: 1px solid rgba(56, 189, 248, 0.15);
  z-index: 40;
}

#mobile-embed-content {
  box-sizing: border-box;
  width: 100%;
}

#mobile-embed-content .view-panel {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Card Branco/Claro do Cliente (Anexo 3) */
.mobile-client-card {
  background: #f8fafc;
  color: #0f172a;
  padding: 13px 16px;
  border-radius: 12px;
  font-size: 14.5px;
  font-weight: 700;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.15s ease;
  user-select: none;
}

.mobile-client-card:active {
  transform: scale(0.985);
  background: #e2e8f0;
}

/* Barra Flutuante Fixa Inferior (Anexo 3) - Slim, Compacta & Alcança as duas extremidades */
.subview-bottom-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  padding: 8px 12px;
  background: rgba(9, 18, 30, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(56, 189, 248, 0.15);
  z-index: 50;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.4);
}

.subview-btn-primary {
  width: 100%;
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #0284c7 0%, #ea580c 100%) !important;
  color: #ffffff;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
  transition: transform 0.15s ease, background 0.15s ease;
}

.subview-btn-primary:active {
  transform: scale(0.98);
  opacity: 0.92;
}

/* Chips de Filtro para Orçamentos - Fixos, Simétricos e com Contadores Numéricos */
.subview-filter-chips {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  padding: 10px 14px 6px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

.subview-chip {
  width: 100% !important;
  padding: 7px 4px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-align: center !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}

.subview-chip .chip-label {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px !important;
}

.subview-chip .chip-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #f1f5f9 !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.subview-chip.active {
  background: rgba(56, 189, 248, 0.22) !important;
  border-color: #38bdf8 !important;
  color: #38bdf8 !important;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.25) !important;
}

.subview-chip.active .chip-count {
  background: #38bdf8 !important;
  color: #071526 !important;
  font-weight: 900 !important;
}

body.mobile-theme-light .subview-chip .chip-count {
  background: rgba(0, 0, 0, 0.08) !important;
  color: #334155 !important;
}

body.mobile-theme-light .subview-chip.active .chip-count {
  background: #0284c7 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   ☁️ GOOGLE CLOUD FIREBASE - ESTILOS VISUAIS E MODAL DE GESTÃO
   ========================================================================== */
.fb-pulse-dot {
  animation: fbPulse 2s infinite ease-in-out;
}

@keyframes fbPulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.25); opacity: 1; filter: drop-shadow(0 0 4px currentColor); }
  100% { transform: scale(0.95); opacity: 0.8; }
}

#modal-firebase-config .modal-container {
  max-width: 680px;
  width: 95%;
  background: #0f172a;
  border: 1px solid rgba(56, 189, 248, 0.3);
  border-radius: 18px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.75), 0 0 25px rgba(56, 189, 248, 0.15);
  color: #f8fafc;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.fb-modal-header {
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.15), rgba(15, 23, 42, 0.95));
  border-bottom: 1px solid rgba(56, 189, 248, 0.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fb-modal-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.fb-modal-title-wrap h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #f8fafc;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fb-modal-title-wrap p {
  margin: 2px 0 0 0;
  font-size: 11.5px;
  color: #94a3b8;
}

.fb-modal-body {
  padding: 20px 22px;
  max-height: 75vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.fb-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
}

.fb-stat-card {
  background: rgba(30, 41, 59, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fb-stat-label {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.fb-stat-value {
  font-size: 16px;
  font-weight: 800;
  color: #38bdf8;
}

.fb-actions-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fb-action-btn {
  flex: 1;
  min-width: 140px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 12.5px;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}

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

.fb-action-upload {
  background: linear-gradient(135deg, #0284c7, #0369a1);
  color: #fff;
  border-color: rgba(56, 189, 248, 0.4);
}

.fb-action-download {
  background: linear-gradient(135deg, #0f766e, #115e59);
  color: #fff;
  border-color: rgba(20, 184, 166, 0.4);
}

.fb-action-test {
  background: rgba(51, 65, 85, 0.8);
  color: #e2e8f0;
}

.fb-guide-box {
  background: rgba(15, 23, 42, 0.6);
  border: 1px dashed rgba(56, 189, 248, 0.35);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 12px;
  line-height: 1.5;
  color: #cbd5e1;
}

.fb-guide-box ol {
  margin: 8px 0 0 18px;
  padding: 0;
}

.fb-guide-box li {
  margin-bottom: 6px;
}

.fb-guide-box a {
  color: #38bdf8;
  text-decoration: underline;
  font-weight: 700;
}

.fb-config-textarea {
  width: 100%;
  box-sizing: border-box;
  height: 110px;
  background: #020617;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  color: #38bdf8;
  font-family: monospace;
  font-size: 12px;
  padding: 10px;
  resize: vertical;
}

.fb-config-textarea:focus {
  outline: none;
  border-color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.3);
}

/* ==========================================================================
   ☀️ MODO CLARO PREMIUM (LIGHT MODE) - RAP10 REFORMAS MOBILE
   Paleta: Tons Limpos de Branco Neve, Ardósia e Grafite com Acentos Ciano/Laranja
   ========================================================================== */
body.mobile-theme-light .rap10-mobile-home,
body.mobile-theme-light .rap10-mobile-subview:not(.eagle-tower-view) {
  background: #f8fafc !important;
  background-image: 
    radial-gradient(circle at 10% 0%, rgba(2, 132, 199, 0.08) 0%, transparent 40%),
    radial-gradient(circle at 90% 100%, rgba(234, 88, 12, 0.06) 0%, transparent 40%) !important;
  color: #0f172a !important;
}

body.mobile-theme-light .mobile-top-header,
body.mobile-theme-light .subview-top-header:not(.eagle-top-header) {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04) !important;
}

body.mobile-theme-light .mobile-top-title,
body.mobile-theme-light .subview-title {
  color: #0f172a !important;
}

body.mobile-theme-light .mobile-top-btn {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04) !important;
}

body.mobile-theme-light .mobile-square-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.07), 0 2px 4px rgba(15, 23, 42, 0.02) !important;
}

body.mobile-theme-light .mobile-square-card:active {
  background: #f1f5f9 !important;
}

body.mobile-theme-light .mobile-square-card .card-title {
  color: #0f172a !important;
}

body.mobile-theme-light .mobile-square-card .card-subtitle {
  color: #64748b !important;
}

body.mobile-theme-light .card-badge-counter {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}

body.mobile-theme-light .mobile-status-banner {
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.98) 0%, #ffffff 100%) !important;
  border: 1.5px solid rgba(249, 115, 22, 0.35) !important;
  box-shadow: 0 8px 24px -4px rgba(249, 115, 22, 0.12) !important;
}

body.mobile-theme-light .banner-title {
  color: #9a3412 !important;
}

body.mobile-theme-light .banner-desc {
  color: #475569 !important;
}

body.mobile-theme-light .banner-arrow svg {
  stroke: #ea580c !important;
}

body.mobile-theme-light .mobile-client-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

body.mobile-theme-light .shortcut-chip {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04) !important;
}

body.mobile-theme-light .shortcut-chip span {
  color: #1e293b !important;
}

body.mobile-theme-light .subview-search-input {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

body.mobile-theme-light .subview-search-input::placeholder {
  color: #94a3b8 !important;
}

body.mobile-theme-light .subview-chip {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}

body.mobile-theme-light .subview-chip.active {
  background: rgba(2, 132, 199, 0.12) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
}

body.mobile-theme-light .subview-bottom-sticky-bar {
  background: rgba(255, 255, 255, 0.95) !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04) !important;
}

body.mobile-theme-light .mobile-bottom-nav {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.05) !important;
}

body.mobile-theme-light .mobile-bottom-nav .nav-item span {
  color: #64748b !important;
}

body.mobile-theme-light .mobile-bottom-nav .nav-item.active span {
  color: #0284c7 !important;
}

body.mobile-theme-light .mobile-bottom-nav .nav-item svg {
  stroke: #64748b !important;
}

body.mobile-theme-light .mobile-bottom-nav .nav-item.active svg {
  stroke: #0284c7 !important;
}

body.mobile-theme-light .mobile-side-drawer {
  background: #ffffff !important;
  border-right: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}

body.mobile-theme-light .drawer-user-header {
  background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%) !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

body.mobile-theme-light .drawer-fixed-desktop-prompt,
body.theme-light .drawer-fixed-desktop-prompt {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

body.mobile-theme-light .drawer-fixed-prompt-link,
body.theme-light .drawer-fixed-prompt-link {
  color: #334155 !important;
}

body.mobile-theme-light .drawer-fixed-prompt-link:hover,
body.mobile-theme-light .drawer-fixed-prompt-link:active,
body.theme-light .drawer-fixed-prompt-link:hover,
body.theme-light .drawer-fixed-prompt-link:active {
  background: #f1f5f9 !important;
  color: #0284c7 !important;
}

body.mobile-theme-light .drawer-user-info h4 {
  color: #0f172a !important;
}

body.mobile-theme-light .drawer-user-info p {
  color: #64748b !important;
}

body.mobile-theme-light .drawer-item {
  color: #334155 !important;
}

body.mobile-theme-light .drawer-item:hover,
body.mobile-theme-light .drawer-item:active {
  background: #f1f5f9 !important;
  color: #0284c7 !important;
}

body.mobile-theme-light .drawer-divider {
  background: #e2e8f0 !important;
}

body.mobile-theme-light .drawer-footer {
  border-top: 1px solid #e2e8f0 !important;
  color: #94a3b8 !important;
}

body.mobile-theme-light .mobile-gestao-subpanel {
  background: #f8fafc !important;
}

body.mobile-theme-light .gestao-header h3 {
  color: #0f172a !important;
}

body.mobile-theme-light .gestao-list-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

body.mobile-theme-light .gestao-list-card h4 {
  color: #0f172a !important;
}

body.mobile-theme-light .gestao-list-card p {
  color: #64748b !important;
}

body.mobile-theme-light .shortcuts-title {
  color: #475569 !important;
}

body.mobile-theme-light .mobile-active-proposals-section > div > span {
  color: #0284c7 !important;
}

body.mobile-theme-light .mobile-active-proposals-section button {
  color: #64748b !important;
}

/* Cards gerados dinamicamente no Light Mode */
body.mobile-theme-light #mobile-prestadores-list-container > div,
body.mobile-theme-light #mobile-proposals-full-list-container > div,
body.mobile-theme-light #mobile-propostas-em-andamento-list > div {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
}

body.mobile-theme-light #mobile-propostas-em-andamento-list > div span[style*="#ffffff"],
body.mobile-theme-light #mobile-proposals-full-list-container > div span[style*="#ffffff"],
body.mobile-theme-light #mobile-prestadores-list-container > div span[style*="#ffffff"] {
  color: #0f172a !important;
}

body.mobile-theme-light #mobile-propostas-em-andamento-list > div span[style*="#cbd5e1"],
body.mobile-theme-light #mobile-proposals-full-list-container > div span[style*="#cbd5e1"] {
  color: #475569 !important;
}

body.mobile-theme-light #mobile-propostas-em-andamento-list > div div[style*="#38bdf8"],
body.mobile-theme-light #mobile-proposals-full-list-container > div div[style*="#38bdf8"] {
  color: #0284c7 !important;
}

body.mobile-theme-light #mobile-prestadores-list-container > div span[style*="#2dd4bf"] {
  color: #0d9488 !important;
}

body.mobile-theme-light #mobile-prestadores-list-container > div span[style*="#94a3b8"] {
  color: #64748b !important;
}

body.mobile-theme-light #mobile-prestadores-list-container > div button[style*="rgba(56, 189, 248"] {
  background: #f0f9ff !important;
  border-color: #bae6fd !important;
  color: #0284c7 !important;
}

body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item .nav-label,
body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item span {
  color: #64748b !important;
}

body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item.active .nav-label,
body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item.active span {
  color: #0284c7 !important;
}

body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item .nav-icon-pill svg {
  stroke: #64748b !important;
}

body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item.active .nav-icon-pill svg {
  stroke: #0284c7 !important;
}

body.mobile-theme-light .mobile-bottom-nav .mobile-nav-item.active .nav-icon-pill {
  background: rgba(2, 132, 199, 0.12) !important;
}

body.mobile-theme-light .mobile-cta-btn {
  box-shadow: 0 10px 25px -4px rgba(2, 132, 199, 0.4) !important;
}

body.mobile-theme-light #mobile-client-sheet-modal > div {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 -10px 40px rgba(15, 23, 42, 0.15) !important;
  border-top: 2px solid #0284c7 !important;
}

body.mobile-theme-light #mobile-client-sheet-modal h4 {
  color: #0f172a !important;
}

body.mobile-theme-light #mobile-client-sheet-modal div[style*="rgba(255,255,255,0.04)"] {
  background: #f1f5f9 !important;
  color: #1e293b !important;
}

body.mobile-theme-light #mobile-client-sheet-modal span[style*="#cbd5e1"] {
  color: #334155 !important;
}

body.mobile-theme-light #mobile-client-sheet-modal span[style*="#38bdf8"] {
  color: #0284c7 !important;
}

body.mobile-theme-light #mobile-client-sheet-modal button[style*="rgba(255,255,255,0.08)"] {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

/* ==========================================================================
   🤖 COPILOT IA MOBILE - TELA CHEIA, SIMÉTRICA E NATIVA NO CELULAR
   Abre em página inteira com topo simétrico (estilo Modo Início)
   ========================================================================== */
body.is-mobile-device #ai-copilot-drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 10000 !important;
  background: radial-gradient(circle at 50% 0%, #112035 0%, #09121e 65%, #060b13 100%) !important;
  transform: translateY(100%) !important;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body.is-mobile-device #ai-copilot-drawer.drawer-open {
  transform: translateY(0) !important;
}

body.is-mobile-device .ai-drawer-header {
  height: 60px !important;
  padding: 0 14px !important;
  display: grid !important;
  grid-template-columns: 88px 1fr 88px !important;
  align-items: center !important;
  justify-content: stretch !important;
  background: rgba(9, 18, 30, 0.94) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(56, 189, 248, 0.2) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 45 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
}

body.is-mobile-device .ai-mobile-back-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  color: #f8fafc !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

body.is-mobile-device .ai-drawer-profile {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

body.is-mobile-device .ai-drawer-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}

body.is-mobile-device #btn-ai-autoexec-toggle,
body.is-mobile-device #btn-ai-websearch-toggle,
body.is-mobile-device #btn-ai-expand-toggle,
body.is-mobile-device #btn-ai-tts-toggle {
  display: none !important;
}

body.is-mobile-device .ai-btn-close-drawer {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #f8fafc !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

body.is-mobile-device .ai-drawer-actions button[title="Limpar Conversa"] {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  cursor: pointer !important;
}

body.is-mobile-device .ai-btn-close-drawer:active,
body.is-mobile-device .ai-mobile-back-btn:active,
body.is-mobile-device .ai-drawer-actions button[title="Limpar Conversa"]:active {
  transform: scale(0.92) !important;
  background: rgba(56, 189, 248, 0.15) !important;
  border-color: #38bdf8 !important;
}

body.is-mobile-device .ai-chat-body {
  flex: 1 !important;
  padding: 14px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

body.is-mobile-device .ai-drawer-footer {
  padding: 10px 14px 24px 14px !important;
  background: rgba(9, 18, 30, 0.95) !important;
  border-top: 1px solid rgba(56, 189, 248, 0.15) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Modo Claro para Copilot Mobile */
body.mobile-theme-light #ai-copilot-drawer {
  background: #f8fafc !important;
  color: #0f172a !important;
}

body.mobile-theme-light .ai-drawer-header {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
}

body.mobile-theme-light .ai-drawer-title-box h4 {
  color: #0f172a !important;
}

body.mobile-theme-light .ai-mobile-back-btn,
body.mobile-theme-light .ai-btn-close-drawer,
body.mobile-theme-light .ai-drawer-actions button[title="Limpar Conversa"] {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  color: #1e293b !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04) !important;
}

body.mobile-theme-light .ai-drawer-footer {
  background: rgba(255, 255, 255, 0.96) !important;
  border-top: 1px solid #e2e8f0 !important;
}

/* ==========================================================================
   📊 CENTRAL DE GESTÃO RECOLHÍVEL (Sem setinha)
   Transição suave de sanfona (accordion) ao tocar
   ========================================================================== */
.mobile-active-proposals-section {
  max-height: 1200px;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
}

.mobile-active-proposals-section.is-collapsed {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   🔐 TELA DE BLOQUEIO & LOGIN ESTILO AGENDA BOA (#rap10-auth-screen)
   Carrossel 3D giratório contínuo dos ramos do app + Autenticação por senha
   ========================================================================== */
.rap10-auth-screen {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  background: radial-gradient(circle at 50% 10%, #13243a 0%, #09121e 65%, #050a12 100%);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  animation: authFadeIn 0.35s ease;
}

@keyframes authFadeIn {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}

.auth-carousel-container {
  width: 100%;
  padding: 24px 0 16px 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(2, 132, 199, 0.12) 0%, rgba(9, 18, 30, 0) 100%);
  border-bottom: 1px solid rgba(56, 189, 248, 0.15);
  display: flex;
  align-items: center;
}

.auth-carousel-track {
  display: flex;
  gap: 14px;
  animation: authInfiniteOrbit 20s linear infinite;
  padding: 0 10px;
}

.auth-carousel-track:hover {
  animation-play-state: paused;
}

@keyframes authInfiniteOrbit {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.auth-hex-card {
  width: 110px;
  min-width: 110px;
  height: 130px;
  background: rgba(15, 23, 42, 0.75);
  border: 1.5px solid rgba(56, 189, 248, 0.35);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 6px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.2s ease;
}

.auth-hex-card:active {
  transform: scale(0.95);
}

.auth-hex-card.hex-eagle {
  border-color: rgba(197, 160, 89, 0.6);
  background: rgba(11, 26, 46, 0.85);
  box-shadow: 0 8px 24px rgba(197, 160, 89, 0.2);
}

.auth-hex-badge {
  font-size: 32px;
  margin-bottom: 6px;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));
}

.auth-hex-img {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  object-fit: cover;
  border: 1.5px solid #c5a059;
  margin-bottom: 6px;
}

.auth-hex-title {
  font-size: 11px;
  font-weight: 800;
  color: #f8fafc;
  line-height: 1.2;
}

.auth-hex-sub {
  font-size: 9.5px;
  color: #94a3b8;
  margin-top: 3px;
}

.auth-body-content {
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
}

.auth-brand-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 18px;
}

.auth-logo-main {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  object-fit: cover;
  border: 2px solid #38bdf8;
  box-shadow: 0 6px 18px rgba(56, 189, 248, 0.35);
}

.auth-logo-divider {
  color: #64748b;
  font-weight: 700;
  font-size: 14px;
}

.auth-logo-eagle {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  object-fit: cover;
  border: 2px solid #c5a059;
  box-shadow: 0 6px 18px rgba(197, 160, 89, 0.35);
}

.auth-main-headline {
  font-size: 20px;
  font-weight: 900;
  color: #ffffff;
  margin: 0 0 8px 0;
  line-height: 1.25;
  letter-spacing: -0.3px;
}

.auth-sub-headline {
  font-size: 12.5px;
  color: #94a3b8;
  margin: 0 0 24px 0;
  line-height: 1.45;
  max-width: 340px;
}

.auth-login-card {
  width: 100%;
  max-width: 360px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 20px;
  padding: 20px 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.auth-input-group {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.auth-label {
  font-size: 10.5px;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.6px;
}

.auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.auth-input-icon {
  position: absolute;
  left: 12px;
  font-size: 16px;
  pointer-events: none;
}

.auth-input-field {
  width: 100%;
  height: 44px;
  padding: 0 42px 0 38px;
  background: rgba(9, 18, 30, 0.85);
  border: 1.5px solid rgba(56, 189, 248, 0.3);
  border-radius: 12px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.auth-input-field:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}

.auth-toggle-pwd {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  color: #94a3b8;
  padding: 4px;
}

.auth-btn-primary {
  width: 100%;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0284c7 0%, #2563eb 100%);
  border: none;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(2, 132, 199, 0.4);
  transition: all 0.2s ease;
}

.auth-btn-primary:active {
  transform: scale(0.98);
}

.auth-divider-or {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 2px 0;
  color: #64748b;
  font-size: 11px;
}

.auth-divider-or::before,
.auth-divider-or::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-divider-or span {
  padding: 0 8px;
}

.auth-btn-quick {
  width: 100%;
  height: 40px;
  border-radius: 12px;
  background: rgba(234, 179, 8, 0.15);
  border: 1.5px solid rgba(234, 179, 8, 0.4);
  color: #fbbf24;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.2s ease;
}

.auth-btn-quick:active {
  transform: scale(0.98);
  background: rgba(234, 179, 8, 0.25);
}

.auth-hint {
  font-size: 10px;
  color: #64748b;
  margin-top: 4px;
}

/* ==========================================================================
   🦅 ÁREA DA IMOBILIÁRIA EAGLE TOWER (.eagle-tower-view)
   Paleta Oficial: Navy Nobre (#0b1a2e), Dourado (#c5a059), Branco (#ffffff)
   Blindagem Contra Fundo Branco: Sempre Preserva Contraste Executivo Escuro
   ========================================================================== */
.eagle-tower-view,
body.mobile-theme-light .eagle-tower-view,
body.theme-light .eagle-tower-view,
body.is-mobile-device .eagle-tower-view {
  background: radial-gradient(circle at 50% 0%, #0f233e 0%, #0b1a2e 55%, #060e19 100%) !important;
  color: #ffffff !important;
}

.eagle-top-header,
body.mobile-theme-light .eagle-top-header,
body.theme-light .eagle-top-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: rgba(11, 26, 46, 0.98) !important;
  border-bottom: 1.5px solid rgba(197, 160, 89, 0.4) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
  padding: 0 14px !important;
}

.eagle-top-header .subview-top-title,
body.mobile-theme-light .eagle-top-header .subview-top-title,
body.theme-light .eagle-top-header .subview-top-title {
  color: #fce7b2 !important;
}

.eagle-back-btn,
.eagle-theme-btn,
body.mobile-theme-light .eagle-back-btn,
body.mobile-theme-light .eagle-theme-btn,
body.theme-light .eagle-back-btn,
body.theme-light .eagle-theme-btn {
  background: rgba(197, 160, 89, 0.15) !important;
  border: 1px solid rgba(197, 160, 89, 0.45) !important;
  color: #fce7b2 !important;
}

.eagle-back-btn svg,
body.mobile-theme-light .eagle-back-btn svg,
body.theme-light .eagle-back-btn svg {
  stroke: #fce7b2 !important;
}

.eagle-header-logo {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  object-fit: cover;
  border: 1.5px solid #c5a059;
  box-shadow: 0 2px 10px rgba(197, 160, 89, 0.3);
}

.eagle-creci-badge,
body.mobile-theme-light .eagle-creci-badge,
body.theme-light .eagle-creci-badge {
  background: rgba(197, 160, 89, 0.22) !important;
  border: 1px solid #c5a059 !important;
  color: #fce7b2 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  letter-spacing: 0.5px !important;
}

.eagle-content-scroll {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px 14px 100px 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.eagle-hero-banner,
body.mobile-theme-light .eagle-hero-banner,
body.theme-light .eagle-hero-banner {
  background: linear-gradient(135deg, rgba(197, 160, 89, 0.22) 0%, rgba(11, 26, 46, 0.95) 100%) !important;
  border: 1.5px solid rgba(197, 160, 89, 0.45) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}

.eagle-hero-tag,
body.mobile-theme-light .eagle-hero-tag,
body.theme-light .eagle-hero-tag {
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #e5c158 !important;
  letter-spacing: 1px !important;
}

.eagle-hero-title,
body.mobile-theme-light .eagle-hero-title,
body.theme-light .eagle-hero-title {
  font-size: 17px !important;
  font-weight: 900 !important;
  color: #fce7b2 !important;
  margin: 4px 0 6px 0 !important;
}

.eagle-hero-desc,
body.mobile-theme-light .eagle-hero-desc,
body.theme-light .eagle-hero-desc {
  font-size: 12px !important;
  color: #e2e8f0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.eagle-action-card {
  background: rgba(15, 33, 58, 0.8);
  border: 1.5px solid rgba(197, 160, 89, 0.35);
  border-radius: 18px;
  padding: 16px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
}

.eagle-action-card:active {
  transform: scale(0.98);
  border-color: #c5a059;
  background: rgba(15, 33, 58, 0.95);
}

.eagle-contract-card {
  border-color: rgba(197, 160, 89, 0.6);
  background: linear-gradient(135deg, rgba(197, 160, 89, 0.12) 0%, rgba(15, 33, 58, 0.9) 100%);
}

.eagle-action-icon-wrap {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #c5a059 0%, #9a732a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(197, 160, 89, 0.4);
}

.eagle-action-icon {
  font-size: 24px;
}

.eagle-action-info {
  flex: 1;
}

.eagle-badge-pill {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(197, 160, 89, 0.25);
  color: #fce7b2;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.eagle-action-title {
  font-size: 14px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.eagle-action-desc {
  font-size: 11.5px;
  color: #cbd5e1;
  margin: 0 0 10px 0;
  line-height: 1.4;
}

.eagle-btn-action-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(197, 160, 89, 0.2);
  border: 1px solid rgba(197, 160, 89, 0.45);
  border-radius: 8px;
  padding: 6px 12px;
  color: #fce7b2;
  font-size: 11.5px;
  font-weight: 800;
}

.eagle-client-count-badge {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
}

/* Seção de Clientes da Imobiliária */
.eagle-clients-section {
  background: rgba(11, 26, 46, 0.85);
  border: 1.5px solid rgba(197, 160, 89, 0.35);
  border-radius: 18px;
  padding: 14px;
  animation: eagleSlideDown 0.25s ease;
}

@keyframes eagleSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.eagle-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.eagle-section-title {
  font-size: 12px;
  font-weight: 800;
  color: #c5a059;
  letter-spacing: 0.6px;
}

.eagle-section-tag {
  background: rgba(197, 160, 89, 0.25);
  color: #fce7b2;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 10px;
}

.eagle-search-box {
  width: 100%;
  margin-bottom: 10px;
}

.eagle-search-input {
  width: 100%;
  height: 38px;
  padding: 0 12px;
  background: rgba(15, 33, 58, 0.9);
  border: 1px solid rgba(197, 160, 89, 0.4);
  border-radius: 10px;
  color: #ffffff;
  font-size: 13px;
  box-sizing: border-box;
  outline: none;
}

.eagle-search-input:focus {
  border-color: #c5a059;
}

.eagle-clients-cards-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eagle-client-item-card {
  background: rgba(15, 33, 58, 0.7);
  border: 1px solid rgba(197, 160, 89, 0.35);
  border-radius: 14px;
  padding: 12px;
  transition: all 0.2s ease;
}

.eagle-client-avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #c5a059 0%, #9a732a 100%);
  color: #0b1a2e;
  font-weight: 800;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.eagle-client-name {
  font-size: 13.5px;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
}

.eagle-client-badge {
  font-size: 9.5px;
  color: #c5a059;
  font-weight: 700;
}

.eagle-btn-whatsapp {
  background: #25d366;
  color: #ffffff;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.eagle-client-details {
  font-size: 11.5px;
  color: #cbd5e1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 6px;
}

.eagle-btn-card-contract {
  width: 100%;
  height: 34px;
  background: rgba(197, 160, 89, 0.2);
  border: 1px solid #c5a059;
  border-radius: 8px;
  color: #fce7b2;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.eagle-btn-card-contract:active {
  background: rgba(197, 160, 89, 0.35);
}

.eagle-btn-add-client {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #c5a059 0%, #9a732a 100%);
  color: #0b1a2e;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 11.5px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(197, 160, 89, 0.35);
  transition: all 0.2s ease;
}

.eagle-btn-add-client:hover {
  transform: translateY(-1px);
  filter: brightness(1.1);
  box-shadow: 0 4px 14px rgba(197, 160, 89, 0.45);
}

.eagle-btn-card-edit {
  width: 100%;
  height: 32px;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.45);
  border-radius: 8px;
  color: #38bdf8;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.eagle-btn-card-edit:hover {
  background: rgba(56, 189, 248, 0.28);
  color: #ffffff;
}

.eagle-btn-card-remove {
  width: 100%;
  height: 32px;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.45);
  border-radius: 8px;
  color: #fca5a5;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.eagle-btn-card-remove:hover {
  background: rgba(239, 68, 68, 0.28);
  color: #ffffff;
}

/* Histórico de Contratos Eagle Tower */
.eagle-history-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.eagle-contratos-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.eagle-history-card {
  background: rgba(15, 33, 58, 0.7);
  border: 1px solid rgba(197, 160, 89, 0.3);
  border-radius: 14px;
  padding: 12px;
}

.eagle-history-id {
  font-size: 10px;
  color: #c5a059;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.eagle-history-title {
  font-size: 13px;
  font-weight: 800;
  color: #ffffff;
  margin: 2px 0 4px 0;
}

.eagle-status-tag-active {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid #10b981;
  color: #34d399;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 6px;
}

.eagle-history-desc {
  font-size: 11.5px;
  color: #cbd5e1;
  line-height: 1.4;
}

/* ==========================================================================
   📜 MODAL: CONTRATO DE INTERMEDIAÇÃO E REPRESENTAÇÃO IMOBILIÁRIA
   ========================================================================== */
.eagle-modal-backdrop .modal-content {
  background: #091728 !important;
  border: 1.5px solid rgba(197, 160, 89, 0.45) !important;
  color: #ffffff !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.85) !important;
}

.eagle-modal-header {
  background: #071322 !important;
  border-bottom: 1.5px solid rgba(197, 160, 89, 0.3) !important;
  padding: 14px 18px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.eagle-form-card {
  background: rgba(15, 33, 58, 0.65);
  border: 1px solid rgba(197, 160, 89, 0.25);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 14px;
}

.eagle-form-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(197, 160, 89, 0.2);
  padding-bottom: 8px;
}

.eagle-card-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #c5a059;
  color: #0b1a2e;
  font-weight: 900;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.eagle-form-card-header h4 {
  font-size: 13.5px;
  font-weight: 800;
  color: #fce7b2;
  margin: 0;
}

.eagle-input,
.eagle-select {
  background: rgba(7, 19, 34, 0.85) !important;
  border: 1px solid rgba(197, 160, 89, 0.35) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
}

.eagle-input:focus,
.eagle-select:focus {
  border-color: #c5a059 !important;
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.25) !important;
}

.eagle-checkbox-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;
}

.eagle-check-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: #e2e8f0;
  cursor: pointer;
  line-height: 1.35;
}

.eagle-check-item input[type="checkbox"] {
  accent-color: #c5a059;
  width: 16px;
  height: 16px;
  margin-top: 2px;
}

.eagle-legal-text-box {
  background: rgba(7, 19, 34, 0.9);
  border: 1px dashed rgba(197, 160, 89, 0.35);
  border-radius: 10px;
  padding: 12px;
  font-size: 11.5px;
  color: #cbd5e1;
  line-height: 1.5;
  text-align: justify;
}

.eagle-signature-container {
  background: rgba(7, 19, 34, 0.9);
  border: 1.5px solid rgba(197, 160, 89, 0.45);
  border-radius: 12px;
  padding: 12px;
}

.eagle-canvas-wrap {
  border: 2px solid #c5a059;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

.eagle-signature-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  flex-wrap: wrap;
  gap: 6px;
}

/* --- NOVOS CARDS EAGLE TOWER (Ficha de Visita, Feedback Semanal, Laudo Técnico) --- */
.eagle-visita-card {
  border-color: rgba(59, 130, 246, 0.45);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12) 0%, rgba(15, 33, 58, 0.9) 100%);
}

.eagle-feedback-card {
  border-color: rgba(16, 185, 129, 0.45);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12) 0%, rgba(15, 33, 58, 0.9) 100%);
}

.eagle-laudo-card {
  border-color: rgba(245, 158, 11, 0.5);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(15, 33, 58, 0.9) 100%);
}

/* Autocomplete de Clientes Eagle Tower */
.eagle-client-autocomplete-wrapper {
  position: relative;
  margin-bottom: 12px;
}

.eagle-gold-input {
  background: rgba(11, 26, 46, 0.9) !important;
  border: 1.5px solid #c5a059 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
}

.eagle-gold-input:focus {
  border-color: #fce7b2 !important;
  box-shadow: 0 0 12px rgba(197, 160, 89, 0.4) !important;
}

.eagle-autocomplete-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #0b1a2e;
  border: 1.5px solid #c5a059;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
  z-index: 107000;
  max-height: 220px;
  overflow-y: auto;
  margin-top: 4px;
}

.eagle-autocomplete-item {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(197, 160, 89, 0.2);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.15s ease;
}

.eagle-autocomplete-item:last-child {
  border-bottom: none;
}

.eagle-autocomplete-item:hover, .eagle-autocomplete-item:active {
  background: rgba(197, 160, 89, 0.25);
}

.eagle-autocomplete-name {
  font-weight: 800;
  color: #ffffff;
  font-size: 13px;
}

.eagle-autocomplete-meta {
  font-size: 11px;
  color: #c5a059;
}

/* Tabela e Notas de 1 a 5 da Ficha de Visita */
.eagle-criteria-table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(11, 26, 46, 0.7);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(197, 160, 89, 0.3);
}

.eagle-criteria-table th {
  background: rgba(197, 160, 89, 0.2);
  color: #fce7b2;
  font-size: 11px;
  font-weight: 800;
  padding: 8px;
  text-align: center;
  border-bottom: 1px solid rgba(197, 160, 89, 0.3);
}

.eagle-criteria-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 12px;
  color: #ffffff;
}

.eagle-rating-pill-group {
  display: flex;
  gap: 4px;
  justify-content: center;
}

.eagle-rating-pill {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  border: 1px solid rgba(197, 160, 89, 0.4);
  background: rgba(15, 33, 58, 0.8);
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.eagle-rating-pill.active {
  background: linear-gradient(135deg, #c5a059 0%, #9a732a 100%);
  color: #0b1a2e;
  border-color: #fce7b2;
  box-shadow: 0 0 10px rgba(197, 160, 89, 0.5);
}

/* Cards das Fichas de Visita */
.eagle-visita-item-card {
  background: rgba(15, 33, 58, 0.75);
  border: 1px solid rgba(59, 130, 246, 0.35);
  border-radius: 14px;
  padding: 13px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.eagle-visita-score-badge {
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid #f59e0b;
  color: #fbbf24;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 8px;
}

/* Cards do Laudo Técnico */
.eagle-laudo-item-card {
  background: rgba(15, 33, 58, 0.8);
  border: 1.5px solid rgba(197, 160, 89, 0.4);
  border-radius: 16px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.eagle-laudo-metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.eagle-laudo-metric-box {
  background: rgba(11, 26, 46, 0.9);
  border: 1px solid rgba(197, 160, 89, 0.25);
  border-radius: 10px;
  padding: 8px 10px;
}

.eagle-laudo-metric-label {
  font-size: 10px;
  color: #94a3b8;
  font-weight: 700;
  text-transform: uppercase;
}

.eagle-laudo-metric-value {
  font-size: 13.5px;
  font-weight: 800;
  color: #fce7b2;
  margin-top: 2px;
}








/* ==========================================================================
   ðŸ“± CORREÃ‡ÃƒO OFICIAL: FIXAÃ‡ÃƒO DAS BARRAS DENTRO DO MÃ“DULO CELULAR (SKIN)
   Garante Simetria Perfeita, Impede Sangramento para a Tela do Notebook
   e MantÃ©m Cards com Altura Natural Sem Comprimir (Flex-Shrink: 0)
   ========================================================================== */

/* 1. O Container do Celular deve ser sempre o contexto de contenÃ§Ã£o das barras absolutas */
body.is-mobile-device .rap10-mobile-home {
  position: relative !important;
  overflow: hidden !important;
}

/* 2. Barra de NavegaÃ§Ã£o Inferior (InÃ­cio e GestÃ£o - Anexo 2) SEMPRE dentro do frame do celular */
body.is-mobile-device .mobile-bottom-nav {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  z-index: 50 !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.6) !important;
}

/* 3. BotÃ£o Fixo Inferior (+ Novo Contrato de IntermediaÃ§Ã£o - Anexo 1) SEMPRE dentro da skin */
body.is-mobile-device .subview-bottom-sticky-bar {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  z-index: 50 !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.6) !important;
}

@media (min-width: 769px) {
  body.is-mobile-device .mobile-bottom-nav {
    border-radius: 0 !important;
  }
  body.is-mobile-device .subview-bottom-sticky-bar {
    border-radius: 0 !important;
  }
}

/* 4. Subtelas Nativas Mobile (Eagle Tower, Clientes, Orçamentos) contidas 100% na coluna Web App */
body.is-mobile-device .rap10-mobile-subview {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  z-index: 40 !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
  display: none;
}

body.is-mobile-device .rap10-mobile-subview[style*="display: none"],
body.is-mobile-device .rap10-mobile-subview[style*="display:none"] {
  display: none !important;
}

body.is-mobile-device .rap10-mobile-subview[style*="display: flex"],
body.is-mobile-device .rap10-mobile-subview[style*="display:flex"],
body.is-mobile-device .rap10-mobile-subview.active {
  display: flex !important;
}

@media (min-width: 769px) {
  body.is-mobile-device .rap10-mobile-subview {
    border-radius: 0 !important;
  }
}

/* 4b. Painel Central de Gestão RAP10 SEMPRE 100% DENTRO DO MÓDULO DO CELULAR (Nunca janela larga) */
body.is-mobile-device .mobile-gestao-subpanel {
  position: absolute !important;
  top: 58px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 66px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: calc(100% - 124px) !important;
  background: #09121e !important;
  z-index: 35 !important;
  padding: 16px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-sizing: border-box !important;
  flex-direction: column !important;
  gap: 14px !important;
  display: none;
}

body.is-mobile-device .mobile-gestao-subpanel[style*="display: none"],
body.is-mobile-device .mobile-gestao-subpanel[style*="display:none"] {
  display: none !important;
}

body.is-mobile-device .mobile-gestao-subpanel[style*="display: flex"],
body.is-mobile-device .mobile-gestao-subpanel[style*="display:flex"],
body.is-mobile-device .mobile-gestao-subpanel.active {
  display: flex !important;
}

/* 4c. Gaveta Lateral (Menu Hambúrguer) 100% Dentro do Módulo Celular */
body.is-mobile-device .mobile-drawer-backdrop {
  position: absolute !important;
  inset: 0 !important;
}

body.is-mobile-device .mobile-side-drawer {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
}

/* 4d. Ocultação absoluta da barra inferior de navegação quando subview aberta */
body.mobile-subview-open .mobile-bottom-nav,
body.is-mobile-device.mobile-subview-open .mobile-bottom-nav {
  display: none !important;
}

/* 4e. Ficha Rápida do Cliente (#mobile-client-sheet-modal) SEMPRE 100% DENTRO DO MÓDULO CELULAR */
#mobile-client-sheet-modal {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  background: rgba(0, 0, 0, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  z-index: 100 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  animation: fadeInMobile 0.2s ease-out !important;
}

#mobile-client-sheet-modal .mobile-client-sheet-card,
#mobile-client-sheet-modal > div {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: #0f1c2e !important;
  border-top: 2px solid #38bdf8 !important;
  border-radius: 24px 24px 0 0 !important;
  padding: 20px 18px 26px 18px !important;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  color: #ffffff !important;
  animation: slideUpMobile 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes slideUpMobile {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

@media (min-width: 769px) {
  body.is-mobile-device #rap10-mobile-home #mobile-client-sheet-modal {
    border-radius: 38px !important;
  }
  body.is-mobile-device #rap10-mobile-home #mobile-client-sheet-modal .mobile-client-sheet-card,
  body.is-mobile-device #rap10-mobile-home #mobile-client-sheet-modal > div {
    border-radius: 24px 24px 38px 38px !important;
  }

  body.is-mobile-device > #mobile-client-sheet-modal {
    position: fixed !important;
    inset: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.is-mobile-device > #mobile-client-sheet-modal .mobile-client-sheet-card,
  body.is-mobile-device > #mobile-client-sheet-modal > div {
    width: 422px !important;
    max-width: 422px !important;
    border-radius: 28px !important;
  }
}

/* ==========================================================================
   📱 ERP FINANCEIRO NO CELULAR & CARDS NATIVOS
   ========================================================================== */
body.is-mobile-device #view-financeiro_contaazul {
  width: 100% !important;
  max-width: 100% !important;
  padding: 2px 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.is-mobile-device #view-financeiro_contaazul div[style*="grid-template-columns: 2fr 1fr"] {
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

body.is-mobile-device #view-financeiro_contaazul .card {
  padding: 14px !important;
  border-radius: 18px !important;
}

body.is-mobile-device #view-financeiro_contaazul .table-responsive {
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-radius: 14px !important;
}

body.is-mobile-device .rap10-financeiro-subview .subview-top-header {
  position: relative !important;
  flex-shrink: 0 !important;
  background: #09121e !important;
  z-index: 50 !important;
}

body.is-mobile-device #mobile-financeiro-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 90px !important;
}

body.mobile-theme-light #view-financeiro_contaazul h3,
body.mobile-theme-light #view-financeiro_contaazul h4,
body.mobile-theme-light #view-financeiro_contaazul .ca-kpi-clickable div[id^="ca-kpi-"] {
  color: #0f172a !important;
}

body.mobile-theme-light #view-financeiro_contaazul .card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
}

body.mobile-theme-light #view-financeiro_contaazul .ca-kpi-clickable {
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

body.mobile-theme-light #view-financeiro_contaazul .tab-pill-btn {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}

body.mobile-theme-light #view-financeiro_contaazul .tab-pill-btn.active {
  background: rgba(14, 165, 233, 0.12) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
}

body.mobile-theme-light #view-financeiro_contaazul table {
  color: #0f172a !important;
}

body.mobile-theme-light .rap10-financeiro-subview .subview-top-header {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

body.mobile-theme-light .rap10-financeiro-subview .subview-top-header .subview-title {
  color: #0f172a !important;
}

body.is-mobile-device .card-financeiro {
  border-color: rgba(16, 185, 129, 0.28) !important;
}

body.is-mobile-device .card-financeiro:active {
  border-color: rgba(16, 185, 129, 0.6) !important;
  background: rgba(16, 185, 129, 0.12) !important;
}

body.is-mobile-device .card-imobiliaria {
  border-color: rgba(197, 160, 89, 0.35) !important;
}

body.is-mobile-device .card-imobiliaria:active {
  border-color: rgba(197, 160, 89, 0.7) !important;
  background: rgba(197, 160, 89, 0.15) !important;
}

/* 5. Ãrea de Rolagem da ImobiliÃ¡ria Eagle Tower: Rolagem Independente & Suave */
body.is-mobile-device .eagle-content-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: calc(100% - 60px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 14px 14px 85px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}

/* 6. CORREÃ‡ÃƒO DOS CARDS COMPRIMIDOS (Anexo 1): NÃ£o deixar achatar os cards! */
body.is-mobile-device .eagle-hero-banner,
body.is-mobile-device .eagle-action-card,
body.is-mobile-device .eagle-clients-section,
body.is-mobile-device .eagle-history-section,
body.is-mobile-device .eagle-visita-item-card,
body.is-mobile-device .eagle-laudo-item-card {
  flex-shrink: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Cards de AÃ§Ã£o SimÃ©tricos com Altura AutomÃ¡tica e ConteÃºdo LegÃ­vel */
body.is-mobile-device .eagle-action-card {
  min-height: 110px !important;
  height: auto !important;
  background: rgba(15, 33, 58, 0.85) !important;
  border: 1.5px solid rgba(197, 160, 89, 0.35) !important;
  border-radius: 16px !important;
  padding: 13px 14px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
}

body.is-mobile-device .eagle-action-card:hover {
  border-color: #c5a059 !important;
  background: rgba(15, 33, 58, 0.95) !important;
  transform: translateY(-2px) !important;
}

body.is-mobile-device .eagle-action-card:active {
  transform: scale(0.98) !important;
}

body.is-mobile-device .eagle-action-icon-wrap {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4) !important;
}

body.is-mobile-device .eagle-action-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.is-mobile-device .eagle-action-title {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 3px 0 4px 0 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

body.is-mobile-device .eagle-action-desc {
  font-size: 11.5px !important;
  color: #cbd5e1 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
}

body.is-mobile-device .eagle-btn-action-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 8px !important;
  padding: 5px 12px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  width: fit-content !important;
  margin-top: 2px !important;
  cursor: pointer !important;
}

/* 7. GARANTE QUE OS MODALS ABRAM NO PRIMEIRO CLIQUE COM 100% DE CERTEZA */
body.is-mobile-device .eagle-modal-backdrop.show,
body.is-mobile-device .eagle-modal-backdrop.active,
body.is-mobile-device .eagle-modal-backdrop[style*="display: flex"],
body.is-mobile-device .eagle-modal-backdrop[style*="display:flex"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 106500 !important;
}

@media (min-width: 769px) {
  body.is-mobile-device .eagle-modal-dialog {
    width: 420px !important;
    max-width: 95vw !important;
    min-width: 0 !important;
    margin: auto !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.9) !important;
  }
}

/* ==========================================================================
   📱 PARIDADE 100% MODO MOBILE: CARDS DE PROPOSTAS, STACKS E EMBED DE MÓDULOS
   ========================================================================== */
body.is-mobile-device #mobile-proposals-full-list-container .card {
  margin-bottom: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
  max-width: 100%;
}

body.is-mobile-device .prop-client-stack-container {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
}

body.is-mobile-device .prop-actions-primary-row {
  flex-wrap: wrap;
  gap: 6px;
}

body.is-mobile-device .prop-actions-primary-row .btn-action-main,
body.is-mobile-device .prop-actions-primary-row .btn-action-whatsapp,
body.is-mobile-device .prop-actions-primary-row .btn-action-sig {
  flex: 1 1 calc(50% - 4px);
  min-width: 110px;
}

body.is-mobile-device .prop-modules-grid {
  grid-template-columns: repeat(auto-fill, minmax(62px, 1fr));
  gap: 5px;
}

body.is-mobile-device .prop-module-pill {
  padding: 6px 3px;
  font-size: 10px;
}

body.is-mobile-device #mobile-embed-content .view-section {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.is-mobile-device #mobile-embed-content .table-responsive {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* ==========================================================================
   DESCONTO (% / R$), RECIBO DE QUITACAO, +1 ITEM E MARGEM GLOBAL
   ========================================================================== */

/* Botão 🏷️ desconto no card da OS */
.prop-card-desconto-btn {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 10.5px; font-weight: 800; line-height: 1;
  padding: 3px 7px; border-radius: 999px; cursor: pointer;
  color: #fca5a5; background: rgba(239, 68, 68, 0.10);
  border: 1px dashed rgba(239, 68, 68, 0.55);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.prop-card-desconto-btn:hover { background: rgba(239, 68, 68, 0.22); transform: translateY(-1px); box-shadow: 0 3px 10px rgba(239, 68, 68, .25); }
.prop-card-desconto-btn.has-desconto { border-style: solid; color: #fff; background: linear-gradient(135deg, #dc2626, #f43f5e); border-color: #f87171; }

/* Botão Recibo de Quitação no card (aparece quando 100% pago) */
.prop-card-recibo-quitacao-btn {
  width: 100%; margin-top: 10px; padding: 8px 12px; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 12px; color: #ecfdf5; border-radius: var(--radius-sm);
  background: linear-gradient(135deg, rgba(5, 150, 105, .85), rgba(16, 185, 129, .85));
  border: 1px solid #34d399; box-shadow: 0 3px 12px rgba(16, 185, 129, .3);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  animation: reciboPulse 2.4s ease-in-out infinite;
}
.prop-card-recibo-quitacao-btn:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 6px 18px rgba(16, 185, 129, .45); }
@keyframes reciboPulse { 0%, 100% { box-shadow: 0 3px 12px rgba(16,185,129,.30); } 50% { box-shadow: 0 3px 20px rgba(16,185,129,.55); } }

/* Financeiro: botão % / R$ e Recibo de Quitação */
.fin-desconto-perc-btn {
  margin-left: 4px; padding: 4px 9px; font-size: 11.5px; font-weight: 900; cursor: pointer;
  color: #fff; background: #b91c1c; border: 1px solid #f87171; border-radius: 6px;
  transition: background .15s ease, transform .15s ease;
}
.fin-desconto-perc-btn:hover { background: #dc2626; transform: translateY(-1px); }
.fin-btn-recibo-quitacao {
  font-weight: 900; font-size: 12.5px; padding: 7px 14px; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px; color: #fff;
  background: linear-gradient(135deg, #7c3aed, #a855f7); border: 2px solid #8b5cf6;
  border-radius: var(--radius-sm); box-shadow: 0 2px 8px rgba(139, 92, 246, .35);
  transition: transform .15s ease, box-shadow .15s ease;
}
.fin-btn-recibo-quitacao:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(139, 92, 246, .55); }

/* Modal de Desconto */
.desconto-obra-overlay {
  position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(2, 6, 23, .72); backdrop-filter: blur(6px);
  animation: descFadeIn .18s ease;
}
.desconto-obra-dialog {
  width: 100%; max-width: 420px; color: #e2e8f0; padding: 20px;
  background: linear-gradient(160deg, #111827 0%, #0b1220 100%);
  border: 1px solid rgba(248, 113, 113, .35); border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
  animation: descPopIn .22s cubic-bezier(.2,.9,.3,1.2);
}
.desconto-obra-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 16px; }
.desconto-obra-header h3 { margin: 0; font-size: 18px; font-weight: 900; color: #fff; }
.desconto-obra-header p { margin: 3px 0 0; font-size: 12px; color: #94a3b8; }
.desconto-obra-close { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #cbd5e1; width: 30px; height: 30px; border-radius: 8px; cursor: pointer; }
.desconto-obra-close:hover { background: rgba(239,68,68,.2); color: #fff; }
.desconto-obra-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; background: rgba(0,0,0,.35); border-radius: 10px; border: 1px solid rgba(255,255,255,.06); margin-bottom: 14px; }
.desconto-obra-toggle button { padding: 8px; border: 0; border-radius: 8px; cursor: pointer; font-weight: 800; font-size: 12.5px; color: #94a3b8; background: transparent; transition: all .15s ease; }
.desconto-obra-toggle button.active { color: #fff; background: linear-gradient(135deg, #f97316, #f59e0b); box-shadow: 0 3px 10px rgba(245, 158, 11, .35); }
.desconto-obra-input-row { display: flex; align-items: center; gap: 8px; background: #0f172a; border: 2px solid rgba(245, 158, 11, .45); border-radius: 10px; padding: 6px 12px; }
.desconto-obra-input-row:focus-within { border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, .2); }
.desconto-obra-prefix { font-weight: 900; color: #fbbf24; font-size: 16px; min-width: 22px; }
.desconto-obra-input-row input { flex: 1; min-width: 0; background: transparent; border: 0; outline: none; color: #fff; font-size: 22px; font-weight: 900; text-align: right; }
.desconto-obra-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
.desconto-obra-chips button { padding: 4px 10px; font-size: 11.5px; font-weight: 800; color: #fbbf24; background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.35); border-radius: 999px; cursor: pointer; transition: all .15s ease; }
.desconto-obra-chips button:hover { background: rgba(245,158,11,.22); transform: translateY(-1px); }
.desconto-obra-preview { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.desconto-obra-preview > div { display: flex; justify-content: space-between; }
.desconto-obra-preview > div span { color: #94a3b8; }
.desconto-obra-preview .neg b { color: #f87171; }
.desconto-obra-preview .total { border-top: 1px dashed rgba(255,255,255,.12); padding-top: 7px; font-size: 15px; }
.desconto-obra-preview .total span { color: #e2e8f0; font-weight: 700; }
.desconto-obra-preview .total b { color: #34d399; font-weight: 900; }
.desconto-obra-actions { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.desconto-obra-actions button[disabled] { opacity: .4; cursor: not-allowed; }
@keyframes descFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes descPopIn { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }

/* Botão +1 Item no rodapé do módulo de itens */
.prop-add-one-item-row { display: flex; justify-content: center; margin: 4px 0 18px; }
.prop-add-one-item-btn {
  width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 12px 16px; cursor: pointer; font-size: 14px; font-weight: 900; letter-spacing: .3px;
  color: #fbbf24; background: rgba(245, 158, 11, 0.06);
  border: 2px dashed rgba(245, 158, 11, 0.45); border-radius: var(--radius-md);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.prop-add-one-item-btn:hover { background: rgba(245, 158, 11, 0.14); border-color: #f59e0b; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(245, 158, 11, .18); }
.prop-add-one-item-btn .plus-circle {
  width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px; color: #111827; background: linear-gradient(135deg, #f97316, #fbbf24);
  box-shadow: 0 2px 8px rgba(249, 115, 22, .45); transition: transform .25s ease;
}
.prop-add-one-item-btn:hover .plus-circle { transform: rotate(90deg); }

/* Margem aplicada a todos os itens */
.prop-margem-global-box {
  display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 5px 10px; background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(245, 158, 11, .35); border-radius: var(--radius-sm);
}
.prop-margem-global-label { font-size: 11.5px; font-weight: 800; color: #fbbf24; white-space: nowrap; }
.prop-margem-global-select { width: auto !important; min-width: 120px; padding: 4px 8px !important; font-size: 12px !important; font-weight: 800; height: 32px; }
.prop-margem-global-input-wrap { display: inline-flex; align-items: center; gap: 4px; }
.prop-margem-global-input-wrap span { font-weight: 900; color: #fbbf24; font-size: 13px; }
.prop-margem-global-input { width: 70px !important; padding: 4px 6px !important; height: 32px; font-size: 13px !important; font-weight: 900; text-align: center; color: #fbbf24 !important; }

/* ==========================================================================
   FITAS DE RELACIONAMENTO DO DASHBOARD (ANIVERSÁRIOS & PROFISSÕES / DATAS)
   OPÇÃO 2: CHIPS / MINI-TAGS COMPACTAS (~60% ECONOMIA DE ESPAÇO)
   ========================================================================== */

.dash-relationship-ribbons-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0 16px 0;
}

.dash-ribbon-card {
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 8px 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}

.dash-ribbon-card-prof {
  background: rgba(15, 23, 42, 0.78);
  border-left: 3px solid #38bdf8;
}

#dash-birthdays-ribbon-card {
  border-left: 3px solid #f59e0b;
}

.dash-ribbon-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 6px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dash-ribbon-title-box {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.dash-ribbon-icon {
  font-size: 16px;
  line-height: 1;
}

.dash-ribbon-title {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.3px;
  color: #f8fafc;
}

.bday-ribbon-counter-badge {
  background: #0284c7;
  color: #ffffff !important;
  font-size: 10.5px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 12px;
}

.prof-ribbon-counter-badge {
  background: #6366f1;
  color: #ffffff !important;
  font-size: 10.5px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 12px;
}

.dash-ribbon-link {
  font-size: 11px;
  font-weight: 700;
  color: #38bdf8;
  cursor: pointer;
  text-decoration: underline;
  margin-left: 4px;
  transition: color 0.15s ease;
}
.dash-ribbon-link:hover {
  color: #7dd3fc;
}

.dash-ribbon-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.btn-ribbon-nav {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-ribbon-nav:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.btn-ribbon-nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.dash-ribbon-page-text {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  min-width: 48px;
  text-align: center;
}

.btn-ribbon-toggle {
  background: transparent;
  border: none;
  font-size: 12px;
  cursor: pointer;
  padding: 2px 4px;
  line-height: 1;
}

/* Fita de chips em linha horizontal única sem quebra */
.dash-ribbon-chips-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: thin;
  padding: 2px 0 4px 0;
  transition: max-height 0.25s ease, opacity 0.2s ease;
}

.dash-ribbon-chips-row.collapsed {
  display: none;
}

/* Item de chip individual */
.dash-chip-item {
  flex: 1 1 0;
  min-width: 240px;
  max-width: calc(25% - 6px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  padding: 6px 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.dash-chip-item:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.dash-chip-item.is-today {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
}

.dash-chip-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}

.dash-chip-badge {
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.dash-chip-badge-bday {
  background: #d97706;
  color: #ffffff !important;
}

.dash-chip-badge-today {
  background: #ea580c;
  color: #ffffff !important;
  animation: pulseToday 2s infinite;
}

.dash-chip-badge-prof {
  background: #4f46e5;
  color: #ffffff !important;
}

@keyframes pulseToday {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.8; }
}

.dash-chip-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.btn-chip-action {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #cbd5e1;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 5px;
  cursor: pointer;
  line-height: 1;
  position: relative;
  z-index: 5;
  pointer-events: auto;
  user-select: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.btn-chip-dismiss {
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.25);
}

.btn-chip-dismiss:hover {
  background: #dc2626 !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
  transform: scale(1.08);
}

.btn-chip-delete:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #ef4444;
  color: #f87171;
}

.btn-ribbon-close:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
  border-color: #ef4444 !important;
}

.dash-chip-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.dash-chip-name {
  font-size: 12.5px;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}

.dash-chip-sub {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.btn-chip-zap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  color: #ffffff !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  border: none;
  border-radius: 5px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(16, 185, 129, 0.25);
  transition: all 0.15s ease;
}

.btn-chip-zap:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(16, 185, 129, 0.35);
}

.dash-chip-empty-placeholder {
  width: 100%;
  padding: 10px 16px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 8px;
}

/* ==========================================================================
   ALTO CONTRASTE PARA TEMA CLARO (SEM LETRAS AMARELAS / VISIBILIDADE MÁXIMA)
   ========================================================================== */
body.theme-light .dash-ribbon-card {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

body.theme-light #dash-birthdays-ribbon-card {
  border-left: 4px solid #d97706 !important;
}

body.theme-light .dash-ribbon-card-prof {
  border-left: 4px solid #0284c7 !important;
}

body.theme-light .dash-ribbon-header {
  border-bottom: 1px solid #e2e8f0 !important;
}

body.theme-light .dash-ribbon-title {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light .dash-ribbon-link {
  color: #0284c7 !important;
  font-weight: 800 !important;
}

body.theme-light .btn-ribbon-nav {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #1e293b !important;
  font-weight: 800 !important;
}

body.theme-light .btn-ribbon-nav:hover:not(:disabled) {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

body.theme-light .dash-ribbon-page-text {
  color: #334155 !important;
  font-weight: 800 !important;
}

body.theme-light .dash-chip-item {
  background: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

body.theme-light .dash-chip-item:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}

body.theme-light .dash-chip-name {
  color: #0f172a !important;
  font-weight: 900 !important;
}

body.theme-light .dash-chip-sub {
  color: #334155 !important;
  font-weight: 700 !important;
}

body.theme-light .btn-chip-action {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}

body.theme-light .btn-chip-dismiss:hover {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #b91c1c !important;
}

body.theme-light .btn-chip-delete:hover {
  background: #fecaca !important;
  border-color: #dc2626 !important;
  color: #991b1b !important;
}

body.theme-light .dash-chip-badge-bday {
  background: #b45309 !important;
  color: #ffffff !important;
}

body.theme-light .dash-chip-badge-today {
  background: #c2410c !important;
  color: #ffffff !important;
}

body.theme-light .dash-chip-badge-prof {
  background: #1d4ed8 !important;
  color: #ffffff !important;
}

body.theme-light .dash-chip-empty-placeholder {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

/* --- Recibo & Taxas da Maquininha (RAP10 & Construbin) --- */
.recibo-calc-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  font-size: 12px;
}
.recibo-calc-total-box {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1.5px dashed rgba(255, 255, 255, 0.2);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.recibo-calc-total-label {
  font-size: 13px;
  font-weight: 800;
  color: #38bdf8;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.recibo-calc-total-val {
  font-size: 16px;
  font-weight: 900;
  color: #34d399;
}
.recibo-calc-parcela-badge {
  display: inline-block;
  background: rgba(56, 189, 248, 0.2);
  color: #38bdf8;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  margin-top: 4px;
}

body.theme-light #recibo-maquininha-box,
body.theme-light #modal-add-ent-cartao-section {
  background: #f0f9ff !important;
  border-color: #38bdf8 !important;
}
body.theme-light #recibo-maquininha-resumo,
body.theme-light #modal-add-ent-cartao-resumo {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
body.theme-light .recibo-calc-total-box {
  border-top-color: #cbd5e1 !important;
}
body.theme-light .recibo-calc-total-label {
  color: #0284c7 !important;
}
body.theme-light .recibo-calc-total-val {
  color: #059669 !important;
}
body.theme-light .recibo-calc-parcela-badge {
  background: #e0f2fe !important;
  color: #0369a1 !important;
}

/* --- ESTILOS DOS CARDS DE DOCUMENTOS ARQUIVADOS EAGLE --- */
.doc-item-card {
  background: rgba(30, 41, 59, 0.75);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 10px 12px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  user-select: none;
}

.doc-item-card:hover {
  border-color: #f59e0b !important;
  background: rgba(30, 41, 59, 0.95);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.doc-item-card:active {
  transform: scale(0.99);
}

.doc-item-card .doc-item-title {
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
}

.doc-item-card .doc-btn-action {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #cbd5e1;
  padding: 2px 7px;
  font-size: 11px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.doc-item-card .doc-btn-action:hover {
  background: #3b82f6;
  border-color: #3b82f6;
  color: #ffffff;
}

/* Light Mode Compatibilidade */
body.theme-light .doc-item-card {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

body.theme-light .doc-item-card:hover {
  border-color: #d97706 !important;
  background: #fefce8 !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

body.theme-light .doc-item-card .doc-item-title {
  color: #0f172a !important;
  font-weight: 800 !important;
}

body.theme-light .doc-item-card .doc-item-meta {
  color: #475569 !important;
}

body.theme-light .doc-item-card .doc-btn-action {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

body.theme-light .doc-item-card .doc-btn-action:hover {
  background: #0284c7 !important;
  border-color: #0284c7 !important;
  color: #ffffff !important;
}

/* ========================================================
   AUTOCOMPLETE PREDITIVO DE CLIENTES/PARTES (EAGLE & CRM)
   ======================================================== */
.eagle-autocomplete-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #0f172a;
  border: 1.5px solid #38bdf8;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.65);
  max-height: 220px;
  overflow-y: auto;
  z-index: 1050;
  margin-top: 4px;
}
.eagle-autocomplete-item {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.15s ease;
}
.eagle-autocomplete-item:last-child {
  border-bottom: none;
}
.eagle-autocomplete-item:hover,
.eagle-autocomplete-item.selected {
  background: rgba(56, 189, 248, 0.15);
}
.eagle-autocomplete-item-name {
  font-weight: 700;
  font-size: 12.5px;
  color: #f8fafc;
}
.eagle-autocomplete-item-meta {
  font-size: 11px;
  color: #94a3b8;
}

/* TEMA CLARO - AUTOCOMPLETE */
body.theme-light .eagle-autocomplete-dropdown {
  background: #ffffff !important;
  border: 2px solid #0284c7 !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15) !important;
}
body.theme-light .eagle-autocomplete-item {
  border-bottom: 1px solid #e2e8f0 !important;
}
body.theme-light .eagle-autocomplete-item:hover,
body.theme-light .eagle-autocomplete-item.selected {
  background: #f0f9ff !important;
}
body.theme-light .eagle-autocomplete-item-name {
  color: #0f172a !important;
}
body.theme-light .eagle-autocomplete-item-meta {
  color: #475569 !important;
}

/* ========================================================
   BADGES DE REPRESENTAÇÃO & EXCLUSIVIDADE
   ======================================================== */
.badge-sem-rep {
  background: rgba(245, 158, 11, 0.18);
  color: #fbbf24;
  border: 1.5px solid #f59e0b;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.badge-com-rep {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1.5px solid #0284c7;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

body.theme-light .badge-sem-rep {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1.5px solid #f59e0b !important;
}
body.theme-light .badge-com-rep {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1.5px solid #0284c7 !important;
}

/* TAB PILL BUTTONS */
.tab-pill-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tab-pill-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.tab-pill-btn.active {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  border-color: #38bdf8;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.35);
}

body.theme-light .tab-pill-btn {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
}
body.theme-light .tab-pill-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
body.theme-light .tab-pill-btn.active {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border-color: #0284c7 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   📱 MOBILE ECOSSISTEMA 360° - BOTÃO CADASTRAR CLIENTE & ÍCONES FIXOS NO TOPO
   ========================================================================== */

/* 1. Ocultação Definitiva da Barra Inferior (Substituída pelos Ícones Fixos do Topo) */
.mobile-bottom-nav {
  display: none !important;
}
.mobile-scrollable-content {
  padding-bottom: 25px !important;
}
.rap10-mobile-subview {
  padding-bottom: 30px !important;
}

/* 2. Ícones Fixos de Início e Gestão no Topo */
.mobile-top-header-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
.mobile-top-header-right::-webkit-scrollbar {
  display: none !important;
}

.mobile-top-header .mobile-top-btn {
  width: 35px !important;
  height: 35px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: #f8fafc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0 !important;
}

.mobile-top-header .mobile-top-btn:hover {
  background: rgba(212, 175, 55, 0.15) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
}

.mobile-top-header .mobile-top-btn.active {
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.3), rgba(184, 134, 11, 0.2)) !important;
  border: 1.5px solid #d4af37 !important;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.5), inset 0 0 8px rgba(212, 175, 55, 0.25) !important;
  color: #fbe094 !important;
  transform: scale(1.04) !important;
}

/* 3. Botão CTA Principal: Cadastrar Cliente no CRM 360° */
.btn-cta-crm-cliente {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #fff3c4 0%, #fbe094 25%, #d4af37 60%, #996515 100%) !important;
  color: #0b0f19 !important;
  border: 1.5px solid #fff3c4 !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(212, 175, 55, 0.5), inset 0 1px 2px #ffffff !important;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.4) !important;
  transition: all 0.2s ease !important;
}

.btn-cta-crm-cliente:active {
  transform: scale(0.97) !important;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.4) !important;
}

/* 4. Mini Botão de Ação Rápida no Card de Clientes */
.btn-card-quick-add {
  margin-top: 5px;
  background: rgba(212, 175, 55, 0.22);
  border: 1px solid rgba(212, 175, 55, 0.55);
  color: #fbe094;
  font-size: 10.5px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 7px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
}

.btn-card-quick-add:hover,
.btn-card-quick-add:active {
  background: linear-gradient(135deg, #fbe094, #d4af37);
  color: #0b0f19;
  border-color: #ffffff;
  transform: scale(0.96);
}