
  html { scroll-behavior: smooth; }
  body { background: #f8fafc; }
  .dark body { background: #000000; }
  ::-webkit-scrollbar { width: 8px; height: 8px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: #333333; border-radius: 4px; }
  .glass { background: rgba(17,17,17,.65); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
  html:not(.dark) .glass { background: rgba(255,255,255,.7); }
  .float-label { position: relative; }
  .float-label input { padding-top: 1.7rem; padding-bottom: .6rem; }
  .float-label label { position:absolute; left:.9rem; top:1.05rem; font-size:.95rem; color:#69727d; pointer-events:none; transition:all .18s ease; }
  .float-label input:focus + label, .float-label input:not(:placeholder-shown) + label { top:.25rem; font-size:.68rem; color:#f9b439; }
  .glow { box-shadow: 0 0 40px -8px rgba(249,180,57,.35); }
  .sidebar-collapsed .nav-text, .sidebar-collapsed .brand-text { display:none; }
  /* Menu recolhido: ocultar TODOS os rótulos (inclusive spans sem classe) e mostrar somente ícones centralizados */
  #sidebar.sidebar-collapsed .nav-link span, #sidebar.sidebar-collapsed nav a span, #sidebar.sidebar-collapsed nav button span, #sidebar.sidebar-collapsed .p-3 button span { display:none !important; }
  #sidebar.sidebar-collapsed .nav-link, #sidebar.sidebar-collapsed nav a, #sidebar.sidebar-collapsed nav button, #sidebar.sidebar-collapsed .p-3 button { justify-content:center !important; gap:0 !important; }
  #sidebar.sidebar-collapsed .nav-link i, #sidebar.sidebar-collapsed nav a i, #sidebar.sidebar-collapsed nav button i { margin:0 auto !important; }
  .sidebar-collapsed .brand-icon { display:block !important; }
  .sidebar-collapsed { width:5rem !important; }
  /* Menu recolhido: submenu do Admin vira ícones centralizados e visíveis (sem corte) */
  #sidebar.sidebar-collapsed #gdm-admin-submenu { overflow:visible !important; }
  #sidebar.sidebar-collapsed #gdm-admin-submenu.open { max-height:none !important; }
  #sidebar.sidebar-collapsed #gdm-admin-submenu .gdm-sub { padding:.45rem 0 !important; justify-content:center !important; gap:0 !important; margin:2px .55rem !important; border-left:2px solid rgba(249,180,57,.25) !important; border-radius:.4rem !important; }
  #sidebar.sidebar-collapsed #gdm-admin-submenu .gdm-sub.active { border-left-color:rgba(249,180,57,.9) !important; }
  #sidebar.sidebar-collapsed #gdm-admin-submenu .gdm-sub span { display:none !important; }
  #sidebar.sidebar-collapsed #gdm-admin-submenu .gdm-sub i { width:auto !important; margin:0 auto !important; font-size:.85rem !important; }
  /* Grupo Orçamentos (accordion) */
  .gdm-budgets-sub { overflow:hidden; max-height:0; opacity:0; transition:max-height .3s ease, opacity .25s ease; display:flex; flex-direction:column; gap:2px; padding-left:.5rem; }
  .gdm-budgets-sub.open { max-height:200px; opacity:1; margin:2px 0; }
  .gdm-budgets-sub .nav-link { padding-left:1.6rem; }
  /* Indicador de submenu do Administrativo (abertura leve/sutil) */
  #navAdminChevron { font-size:10px; opacity:.4; transition:transform .35s ease, opacity .35s ease; }
  #navAdminLink.text-cyan-400 #navAdminChevron { transform:rotate(180deg); opacity:.8; }
  #sidebar.sidebar-collapsed #navAdminChevron { display:none !important; }
  /* Menu recolhido: grupo Orçamentos vira ícones centralizados e visíveis (sem corte) */
  #sidebar.sidebar-collapsed .gdm-budgets-sub { max-height:none !important; opacity:1 !important; padding-left:0 !important; }
  #sidebar.sidebar-collapsed #gdmBudgetsChevron { display:none !important; }
  #sidebar.sidebar-collapsed .gdm-budgets-sub .nav-link { padding:.45rem 0 !important; justify-content:center !important; gap:0 !important; margin:2px .55rem !important; border-left:2px solid rgba(249,180,57,.25) !important; border-radius:.4rem !important; }
  #sidebar.sidebar-collapsed .gdm-budgets-sub .nav-link span { display:none !important; }
  #sidebar.sidebar-collapsed .gdm-budgets-sub .nav-link i { width:auto !important; margin:0 auto !important; }
  @media (min-width:768px){ body.sb-collapsed #mainWrap { margin-left:5rem !important; } }
  .fade-in { animation: fadeIn .4s ease; }
  @keyframes fadeIn { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:none;} }
  @media print {
    .no-print { display:none !important; }
    #invoiceModal { position:absolute !important; inset:0 !important; background:#fff !important; }
    #invoiceModal .invoice-sheet { box-shadow:none !important; border:none !important; color:#000 !important; }
    body, .dark body { background:#fff !important; }
  }
.crm-extra{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .2s ease, opacity .2s ease, margin-top .2s ease;}
.crm-card:hover .crm-extra, .crm-card.crm-expanded .crm-extra{max-height:200px;opacity:1;margin-top:.5rem;}
/* Data visivel somente no hover/expandido */
.crm-card .crm-date{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .2s ease, opacity .2s ease, margin-top .2s ease;}
.crm-card:hover .crm-date, .crm-card.crm-expanded .crm-date{max-height:40px;opacity:1;margin-top:.25rem;}
/* Pulsar vermelho e duplicado */
@keyframes gdmPulseRed{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55);}70%{box-shadow:0 0 0 10px rgba(239,68,68,0);}100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}}
@keyframes gdmPulseDup{0%{box-shadow:0 0 0 0 rgba(168,85,247,.6);}70%{box-shadow:0 0 0 12px rgba(168,85,247,0);}100%{box-shadow:0 0 0 0 rgba(168,85,247,0);}}
.crm-card.gdm-pulse-red{animation:gdmPulseRed 1.6s infinite;}
.crm-card.gdm-dup{animation:gdmPulseDup 1.4s infinite;background:rgba(168,85,247,0.18)!important;border-color:#a855f7!important;border-left-width:4px!important;}
.crm-card.gdm-dup .gdm-dup-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#f5d0fe;background:rgba(168,85,247,.35);border:1px solid #a855f7;border-radius:999px;padding:1px 7px;margin-left:6px;}

/* === Proposta Inteligente (editor + card pipeline) === */
.gdm-prop-btn-wrap{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.35rem;}
.gdm-prop-btn{font-size:11px;font-weight:600;padding:.25rem .5rem;border-radius:.5rem;display:inline-flex;align-items:center;gap:.3rem;border:1px solid transparent;cursor:pointer;transition:all .15s;}
.gdm-prop-view{background:rgba(249,180,57,.12);color:#f9b439;border-color:rgba(249,180,57,.35);}
.gdm-prop-view:hover{background:rgba(249,180,57,.22);}
.gdm-prop-gen{background:rgba(129,140,248,.12);color:#a5b4fc;border-color:rgba(129,140,248,.35);}
.gdm-prop-gen:hover{background:rgba(129,140,248,.22);}
.gdm-prop-send{background:#22c55e;color:#052e16;border-color:#16a34a;}
.gdm-prop-send:hover{background:#16a34a;color:#fff;}
.gdm-prop-send.sent{background:rgba(163,163,163,.15);color:#a3a3a3;border-color:rgba(163,163,163,.35);}
.gdm-prop-send.pending{background:#f97316;color:#fff;border-color:#ea580c;animation:gdmPulseSend 1.15s ease-in-out infinite;}
.gdm-prop-send.waiting{background:#22c55e;color:#052e16;border-color:#16a34a;}
.gdm-prop-send.waiting:hover{background:#16a34a;color:#fff;}
@keyframes gdmPulseSend{0%{box-shadow:0 0 0 0 rgba(249,115,22,.55);transform:scale(1);}70%{box-shadow:0 0 0 7px rgba(249,115,22,0);transform:scale(1.04);}100%{box-shadow:0 0 0 0 rgba(249,115,22,0);transform:scale(1);}}
/* Editor visual de template */
.gdm-tpl-canvas{position:relative;display:inline-block;max-width:100%;border:1px dashed rgba(163,163,163,.4);border-radius:.5rem;overflow:hidden;background:#111111;line-height:0;font-size:0;}
.gdm-tpl-canvas img{display:block;max-width:100%;height:auto;user-select:none;pointer-events:none;}
#tplCanvasWrap, #budgets_templates #propPreview{ scrollbar-width:thin; scrollbar-color:#f9b439 rgba(163,163,163,.2); }
#tplCanvasWrap::-webkit-scrollbar, #budgets_templates #propPreview::-webkit-scrollbar{ width:12px; height:12px; }
#tplCanvasWrap::-webkit-scrollbar-track, #budgets_templates #propPreview::-webkit-scrollbar-track{ background:rgba(163,163,163,.15); border-radius:8px; }
#tplCanvasWrap::-webkit-scrollbar-thumb, #budgets_templates #propPreview::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,#f9b439,#6366f1); border-radius:8px; border:2px solid transparent; background-clip:padding-box; }
#tplCanvasWrap::-webkit-scrollbar-thumb:hover, #budgets_templates #propPreview::-webkit-scrollbar-thumb:hover{ background:#f9b439; }
.gdm-tpl-valbadge{position:absolute;top:6px;left:6px;z-index:5;background:rgba(17,17,17,.82);color:#e5e5e5;font-weight:700;font-size:11px;letter-spacing:.02em;padding:3px 8px;border-radius:8px;backdrop-filter:blur(4px);box-shadow:0 2px 6px rgba(0,0,0,.35);border:1px solid rgba(163,163,163,.35);}
.gdm-tpl-thumb{ width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; background-color:#111111; }
.gdm-tpl-thumb-empty{ display:flex; align-items:center; justify-content:center; color:#69727d; font-size:22px; background:rgba(163,163,163,.12); }
.gdm-tpl-field{position:absolute;cursor:move;padding:2px 6px;border-radius:4px;font-size:13px;font-weight:600;white-space:nowrap;background:rgba(17,17,17,.55);border:1px dashed rgba(249,180,57,.7);color:#e5e5e5;touch-action:none;}
.gdm-tpl-field.rendered{border:none;background:transparent;cursor:default;}
.gdm-tag-chip{cursor:grab;font-size:11px;font-weight:600;padding:.2rem .5rem;border-radius:.5rem;background:rgba(249,180,57,.12);color:#f9b439;border:1px solid rgba(249,180,57,.35);user-select:none;}
.gdm-tag-chip:active{cursor:grabbing;}

/* Card fechado: mostrar apenas nome, responsável, entrada e termômetro. Tags de produto/origem só no hover */
.crm-card .lc-tags .gdm-tag{max-width:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;margin:0;white-space:nowrap;transition:max-width .25s ease, opacity .2s ease, padding .2s ease;}
.crm-card:hover .lc-tags .gdm-tag, .crm-card.crm-expanded .lc-tags .gdm-tag{max-width:240px;opacity:1;padding:.12rem .45rem;}

/* GDM visual polish v2 */
/* GDM ITEM4/5: remover card Niveis de Privilegio de todas as abas admin */


html.gdm-theme-anim, html.gdm-theme-anim body, html.gdm-theme-anim *{transition: background-color .35s ease, border-color .35s ease, color .25s ease, box-shadow .35s ease !important;}
body{ background: linear-gradient(180deg,#f2f2f2 0%,#e6ebf2 100%) !important; }
.dark body{ background: #0a0a0a !important; }
html:not(.dark) .bg-white{ box-shadow: 0 1px 2px rgba(17,17,17,.04), 0 6px 20px -8px rgba(17,17,17,.12); border-color:#e5e5e5; }
html:not(.dark) .bg-white:hover{ box-shadow: 0 2px 4px rgba(17,17,17,.06), 0 12px 28px -10px rgba(17,17,17,.16); }
html.dark .dark\:bg-slate-900{ box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 10px 30px -12px rgba(0,0,0,.6); border-color:#1c1c1c; }
.rounded-2xl{ transition: box-shadow .25s ease, transform .25s ease; }
#themeBtn{ position:relative; overflow:hidden; }
#themeBtn i{ transition: transform .5s cubic-bezier(.34,1.56,.64,1), opacity .3s ease; display:inline-block; }
#themeBtn:hover i{ transform: rotate(35deg) scale(1.15); }
#themeBtn:active i{ transform: rotate(180deg) scale(.9); }

  /* ===== Gerador de Leads GCH ===== */
  #glMap { height: 260px; border-radius: 0.9rem; z-index: 0; }
  .leaflet-container { background:#0a0a0a; font-family:inherit; }
  .gl-lead-card { position:relative; border-radius:1rem; padding:1rem 1.1rem; background:rgba(17,17,17,.72); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.08); transition:transform .2s ease, box-shadow .3s ease, border-color .3s ease; }
  .gl-lead-card:hover { transform:translateY(-3px); }
  /* Mapa de calor de fechamento: quanto maior o heat (0..100), mais quente/vermelho */
  .gl-lead-card[data-heat="cold"]  { border-color:rgba(255,255,255,.08); }
  .gl-lead-card[data-heat="warm"]  { border-color:rgba(251,191,36,.45); background:linear-gradient(135deg, rgba(251,191,36,.10), rgba(17,17,17,.72)); box-shadow:0 0 14px rgba(251,191,36,.15); }
  .gl-lead-card[data-heat="hot"]   { border-color:rgba(249,115,22,.6); background:linear-gradient(135deg, rgba(249,115,22,.16), rgba(17,17,17,.72)); box-shadow:0 0 18px rgba(249,115,22,.28); }
  .gl-lead-card[data-heat="blaze"] { border-color:rgba(239,68,68,.85); background:linear-gradient(135deg, rgba(239,68,68,.22), rgba(120,20,20,.28), rgba(17,17,17,.7)); box-shadow:0 0 26px rgba(239,68,68,.5), inset 0 0 12px rgba(239,68,68,.12); animation:glBlaze 2.4s ease-in-out infinite; }
  @keyframes glBlaze { 0%,100%{ box-shadow:0 0 20px rgba(239,68,68,.42), inset 0 0 10px rgba(239,68,68,.1);} 50%{ box-shadow:0 0 34px rgba(239,68,68,.62), inset 0 0 16px rgba(239,68,68,.18);} }
  .gl-badge { display:inline-flex; align-items:center; gap:.3rem; font-size:.68rem; font-weight:700; padding:.18rem .5rem; border-radius:9999px; }
  .gl-badge-crit { background:rgba(239,68,68,.16); color:#f87171; border:1px solid rgba(239,68,68,.35); }
  .gl-badge-ok   { background:rgba(16,185,129,.14); color:#34d399; border:1px solid rgba(16,185,129,.32); }
  .gl-porte { font-size:.62rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:.12rem .5rem; border-radius:.4rem; }
  .gl-porte-p { background:rgba(163,163,163,.18); color:#d4d4d4; }
  .gl-porte-m { background:rgba(59,130,246,.18); color:#93c5fd; }
  .gl-porte-g { background:rgba(168,85,247,.2); color:#d8b4fe; }
  /* Gaveta lateral de detalhes */
  #glDrawer { transition:transform .32s cubic-bezier(.4,0,.2,1); }
  #glDrawer.gl-closed { transform:translateX(105%); }
  /* Anel de assertividade */
  .gl-ring { --p:0; width:74px; height:74px; border-radius:50%; background:conic-gradient(#10b981 calc(var(--p)*1%), rgba(163,163,163,.18) 0); display:flex; align-items:center; justify-content:center; }
  .gl-ring::before { content:''; position:absolute; width:56px; height:56px; border-radius:50%; background:rgba(17,17,17,.95); }
  .gl-src-badge { background:#10b981 !important; color:#03291d !important; font-weight:800; }
