/* Tema CORE (Seguralta) — identidade NOVA do core (shadcn + Tailwind v4), 07/11/2026.
   Fonte: core/src/styles/tailwind.css (tokens), components/ui/{button,badge,card,input,tabs,table,sheet}.tsx
   e components/shared/{shell,menu-lateral,barra-superior}. Os nomes de classe do SeGuru foram mantidos;
   cada um mapeia para o primitivo shadcn equivalente (comentado ao lado). */
:root{
  /* ---- paleta (identica ao :root do core) ---- */
  --palette-brand:#ff4600;--palette-sand-100:#f7f4f3;--palette-sand-200:#ebe8e6;--palette-white:#fff;
  --palette-neutral-50:#fafafa;--palette-neutral-100:#f5f5f5;--palette-neutral-200:#e5e5e5;--palette-neutral-400:#a3a3a3;
  --palette-neutral-500:#737373;--palette-neutral-900:#171717;--palette-neutral-950:#0a0a0a;--palette-gray-300:#d1d5db;
  --palette-zinc-700:#3f3f46;--palette-red-600:#dc2626;--palette-rose-500:#f43f5e;--palette-green-600:#16a34a;
  --palette-amber-600:#d97706;--palette-sky-600:#0284c7;--palette-orange-600:#ea580c;--palette-teal-600:#0d9488;
  --palette-cyan-900:#164e63;--palette-amber-400:#fbbf24;--palette-amber-500:#f59e0b;
  --font-inter:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  /* ---- papeis semanticos (shadcn) ---- */
  --background:var(--palette-white);--background-brand:var(--palette-sand-200);--foreground:var(--palette-neutral-950);
  --card:var(--palette-sand-100);--card-subtle:rgba(247,244,243,.6);--card-foreground:var(--palette-neutral-950);
  --popover:var(--palette-white);--popover-foreground:var(--palette-neutral-950);
  --primary:var(--palette-brand);--primary-foreground:var(--palette-sand-100);
  --secondary:var(--palette-neutral-100);--secondary-foreground:var(--palette-neutral-900);
  --muted:var(--palette-neutral-100);--muted-foreground:var(--palette-neutral-500);--muted-foreground-strong:var(--palette-zinc-700);
  --accent:var(--palette-neutral-100);--accent-foreground:var(--palette-neutral-900);
  --destructive:var(--palette-red-600);--success:var(--palette-green-600);--warning:var(--palette-amber-600);--info:var(--palette-sky-600);
  --border:var(--palette-neutral-200);--border-strong:var(--palette-gray-300);--input:var(--palette-neutral-200);--ring:var(--palette-neutral-400);
  --sidebar:var(--palette-white);--sidebar-foreground:var(--palette-neutral-950);--sidebar-accent:var(--palette-neutral-100);--sidebar-border:var(--palette-neutral-200);
  --chart-1:var(--palette-orange-600);--chart-2:var(--palette-teal-600);--chart-3:var(--palette-cyan-900);--chart-4:var(--palette-amber-400);--chart-5:var(--palette-amber-500);
  --radius:.625rem;--radius-xs:2px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--radius-xlg:16px;--radius-2xl:18px;
  --shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --menu-top:3.5rem;--sidebar-left:272px;--gap-shell:12px;
  /* ---- aliases legados (login, legal, inline styles) → mapeados para a paleta nova ---- */
  --brand-color-primary-pure:var(--primary);--brand-color-primary-dark:#e03d00;--brand-color-primary-ultra:#9a2a00;
  --brand-color-primary-80:#ff6b33;--brand-color-primary-40:#ffb599;--brand-color-primary-20:#ffdacc;--brand-color-primary-10:#fff0eb;
  --neutral-black:var(--foreground);--neutral-color-grayscale-1:var(--muted-foreground-strong);--neutral-color-grayscale-2:var(--muted-foreground);
  --neutral-color-grayscale-3:var(--palette-neutral-400);--neutral-color-grayscale-4:var(--border);--neutral-color-grayscale-bg:var(--background-brand);
  --neutral-color-grayscale-bg-dark:var(--border);--neutral-color-grayscale-bg-light:var(--palette-neutral-50);--neutral-color-white:#fff;
  --neutral-color-white-opacity-light:#ffffff1a;--neutral-color-white-opacity-medium:#ffffff26;
  --warning-color-success:var(--success);--warning-color-success-light:#f0fdf4;--warning-color-success-dark:#15803d;
  --warning-color-error:var(--destructive);--warning-color-error-light:#fef2f2;--warning-color-error-dark:#b91c1c;
  --warning-color-attention:var(--warning);--warning-color-attention-light:#fffbeb;--warning-color-attention-dark:#b45309;
  --semantic-color-blue-default:var(--info);--semantic-color-blue-light:#f0f9ff;--semantic-color-blue-dark:#0369a1;
  --semantic-color-purple-default:#7c3aed;--semantic-color-purple-light:#f5f3ff;
  --shadow-color:rgba(0,0,0,.1);
  --font-family-primary:var(--font-inter);--font-family-secondary:var(--font-inter);
  --font-size-xxxs:.625rem;--font-size-xxs:.75rem;--font-size-xs:.875rem;--font-size-default:1rem;--font-size-sm:1.125rem;--font-size-md:1.25rem;--font-size-xmd:1.5rem;--font-size-lg:2rem;
  --spacing-boson:.125rem;--spacing-quarck:.25rem;--spacing-nano:.5rem;--spacing-micro:.75rem;--spacing-xxxs:1rem;--spacing-xxs:1.5rem;--spacing-xs:2rem;--spacing-sm:2.5rem;
  --border-radius-xs:var(--radius-sm);--border-radius-sm:var(--radius-lg);--border-radius-md:var(--radius-xlg);--border-radius-pill:9999px;--border-width-hairline:1px;
  --or:var(--primary);--or2:#e03d00;--bg:var(--background-brand);--bd:var(--border);--tx:var(--foreground);--mut:var(--muted-foreground);
  --ok:var(--success);--warn:var(--warning);--bad:var(--destructive);--blue:var(--info);--wa:#25D366;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--background-brand);color:var(--foreground);font-family:var(--font-inter);font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-inter);letter-spacing:-.01em}
a{color:var(--foreground);text-decoration:none;cursor:pointer}
a:hover{color:var(--primary)}
/* ---- barra superior (shared/barra-superior: h-14 bg-accent-foreground text-background) ---- */
.topbar{position:fixed;top:0;left:0;right:0;height:var(--menu-top);background:var(--accent-foreground);color:var(--background);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;z-index:99}
.topbar .logo{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;letter-spacing:-.01em}
.topbar .logo i{width:1.75rem;height:1.75rem;border-radius:var(--radius-md);background:var(--primary);display:grid;place-items:center;font-style:normal;font-weight:800;color:#fff;font-size:.875rem}
.topbar .logo b{font-weight:400;color:var(--palette-neutral-400);font-size:.75rem;margin-left:.25rem}
.topbar .user{display:flex;align-items:center;gap:.75rem}
.topbar .user .letter{width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border);display:grid;place-items:center;font-weight:500;font-size:.875rem}
.topbar .user .hello p{margin:0;color:var(--palette-neutral-400);font-size:.75rem;line-height:1rem}.topbar .user .hello h2{margin:0;font-size:.875rem;font-weight:500;line-height:1.25rem}
.topbar .user a{color:var(--palette-neutral-400);font-size:.75rem;margin-left:.5rem}.topbar .user a:hover{color:#fff}
.topbar .sandwich{display:none;background:none;border:0;color:#fff;font-size:1.35rem;cursor:pointer;padding:0 .25rem}
.topbar .ico{background:none;border:0;color:var(--background);font-size:1rem;cursor:pointer;position:relative;width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:var(--radius-md);padding:0}
.topbar .ico:hover{background:rgba(255,255,255,.1)}
.topbar .ico .badge{position:absolute;top:2px;right:2px;background:var(--destructive);color:#fff;font-size:9px;font-weight:600;border-radius:999px;min-width:14px;height:14px;line-height:14px;text-align:center;padding:0 3px}
/* busca global (shared/campo-busca-global) */
.gbusca{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:0 .75rem;height:2.25rem;width:100%;max-width:551px;margin:0 auto}
.gbusca input{background:none;border:0;color:#fff;height:100%;width:100%;outline:0;font-size:.875rem;padding:0}.gbusca input::placeholder{color:var(--palette-neutral-400)}
/* ---- menu lateral (shared/menu-lateral: Sidebar inset, rounded-2xl ring-foreground/10, 272px) ---- */
.app{display:block;padding-top:var(--menu-top)}
nav.menu{position:fixed;top:calc(var(--menu-top) + var(--gap-shell));left:var(--gap-shell);width:calc(var(--sidebar-left) - var(--gap-shell));height:calc(100vh - var(--menu-top) - var(--gap-shell)*2);background:var(--sidebar);color:var(--sidebar-foreground);padding:1rem;border-radius:var(--radius-xlg);box-shadow:0 0 0 1px rgba(10,10,10,.1);display:flex;flex-direction:column;gap:2px;z-index:100;overflow:auto}
nav.menu a{display:flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 .5rem;border-radius:var(--radius-md);color:var(--sidebar-foreground);font-weight:400;font-size:.875rem;transition:background .15s}
nav.menu a:hover{background:var(--card-subtle);color:var(--sidebar-foreground)}
nav.menu a.on{background:var(--card);color:var(--sidebar-foreground);font-weight:500}
nav.menu a.on::after{content:"›";margin-left:auto;color:var(--muted-foreground);font-size:1.1rem;line-height:1}
nav.menu .sep{height:1px;background:var(--sidebar-border);margin:.5rem 0}
nav.menu .grupo{display:block;padding:.75rem .5rem .25rem;color:var(--muted-foreground);font-size:.75rem;line-height:1rem}
nav.menu small{display:block;padding:.5rem;color:var(--muted-foreground);font-size:.75rem;line-height:1.4;margin-top:auto}
nav.menu small a{display:inline;height:auto;padding:0;color:var(--primary)}
/* ---- area principal (SidebarInset: bg-background rounded-xl) ---- */
main{margin-left:var(--sidebar-left);margin-right:var(--gap-shell);margin-top:var(--gap-shell);margin-bottom:var(--gap-shell);background:var(--background);border-radius:var(--radius-xlg);box-shadow:0 0 0 1px rgba(10,10,10,.06);padding:1.5rem;min-width:0;min-height:calc(100vh - var(--menu-top) - var(--gap-shell)*2)}
header.ph{display:flex;align-items:center;gap:.75rem;padding:0 0 1rem;margin-bottom:1rem;flex-wrap:wrap}
header.ph h1{font-size:1.25rem;margin:0;font-weight:600;letter-spacing:-.02em}header.ph .sp{flex:1}
/* ---- campos (ui/input: h-9 rounded-md border-input shadow-xs focus ring-[3px] ring/50) ---- */
input,select,textarea{font:inherit;color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-md);padding:.25rem .75rem;height:2.25rem;background:var(--background);box-shadow:var(--shadow-xs);transition:color .15s,box-shadow .15s,border-color .15s;outline:none}
textarea{height:auto;min-height:4.5rem;padding:.5rem .75rem;line-height:1.5}
select{appearance:none;-webkit-appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23737373' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}
input[type=checkbox],input[type=radio]{height:auto;width:auto;box-shadow:none;accent-color:var(--primary)}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px rgba(163,163,163,.5)}
input::placeholder,textarea::placeholder{color:var(--muted-foreground)}
input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}
/* ---- botoes (ui/button cva) ----
   .btn = variant default · .btn.sec = outline · .btn.ghost = ghost · .btn.danger = destructive · .btn.soft = secondary
   .btn.sm = size sm (h-8) · .btn.xs = size xs (h-6) · .btn.lg = size lg (h-10) · .btn.dark = botao "Nova acao" do menu */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border:1px solid transparent;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-md);height:2.25rem;padding:0 1rem;font:inherit;font-weight:500;font-size:.875rem;line-height:1;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;text-decoration:none;box-shadow:var(--shadow-xs);user-select:none}
.btn:hover{background:#e63f00;color:var(--primary-foreground)}
.btn:disabled,.btn[disabled]{opacity:.5;pointer-events:none}
.btn.sec{background:var(--background);border-color:var(--border);color:var(--foreground)}.btn.sec:hover{background:var(--accent);color:var(--accent-foreground)}
.btn.soft{background:var(--secondary);color:var(--secondary-foreground);box-shadow:none}.btn.soft:hover{background:#ebebeb}
.btn.ghost{background:transparent;color:var(--foreground);box-shadow:none}.btn.ghost:hover{background:var(--accent);color:var(--accent-foreground)}
.btn.link{background:transparent;color:var(--primary);box-shadow:none;padding:0;height:auto;text-underline-offset:4px}.btn.link:hover{text-decoration:underline;background:transparent}
.btn.danger{background:var(--destructive);color:#fff}.btn.danger:hover{background:#c41f1f;color:#fff}
.btn.dark{background:var(--accent-foreground);color:var(--background)}.btn.dark:hover{background:rgba(23,23,23,.9);color:var(--background)}
.btn.sm{height:2rem;padding:0 .75rem;gap:.375rem;font-size:.8125rem}
.btn.xs{height:1.5rem;padding:0 .5rem;gap:.25rem;font-size:.75rem;border-radius:var(--radius-sm)}
.btn.lg{height:2.5rem;padding:0 1.5rem}
.btn.icon{width:2.25rem;padding:0}
/* ---- cards (ui/card: rounded-xl border bg-card shadow-sm) ---- */
.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}
.card h3{margin:0;padding:1rem 1.25rem;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:600;line-height:1.25;display:flex;align-items:center;gap:.5rem}
.card h3 small,.card h3 .desc{font-weight:400;color:var(--muted-foreground);font-size:.75rem}
/* kpis (card compacto com numero) */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}
.kpi span{color:var(--muted-foreground);font-size:.75rem;line-height:1rem;order:-1}
.kpi b{display:block;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--foreground)}
.kpi.link{cursor:pointer;transition:border-color .15s}.kpi.link:hover{border-color:var(--border-strong)}
/* ---- tabela (ui/table) ---- */
table{width:100%;border-collapse:collapse;font-size:.875rem}
th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}
th{height:2.5rem;font-size:.75rem;color:var(--muted-foreground);font-weight:500;background:transparent;cursor:pointer;user-select:none}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .15s}tbody tr:hover td{background:rgba(245,245,245,.5)}
td.nm{font-weight:500;color:var(--foreground);cursor:pointer}td.nm small{display:block;color:var(--muted-foreground);font-weight:400;font-size:.75rem}td.nm:hover{color:var(--primary)}
.row{display:flex;justify-content:space-between;gap:.5rem;padding:.625rem 1.25rem;border-bottom:1px solid var(--border);align-items:center}.row:last-child{border:0}.row small{color:var(--muted-foreground);display:block;font-size:.75rem}
/* ---- badges (ui/badge: rounded-full border px-2 py-0.5 text-xs font-medium) ----
   .chip = badge · sem modificador = secondary · estados do funil = tintas semanticas (como o Badge "Novo" do core) */
.chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;border:1px solid transparent;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem;background:var(--secondary);color:var(--secondary-foreground);white-space:nowrap}
.chip.novo,.chip.lead{background:rgba(2,132,199,.1);color:var(--info)}
.chip.ativo,.chip.cotando,.chip.proposta_enviada{background:rgba(217,119,6,.1);color:var(--warning)}
.chip.engajado,.chip.negociando{background:rgba(255,70,0,.1);color:var(--primary)}
.chip.contato,.chip.reuniao,.chip.proposta_franquia{background:var(--secondary);color:var(--muted-foreground-strong)}
.chip.fechado{background:rgba(22,163,74,.1);color:var(--success)}
.chip.renovacao{background:rgba(124,58,237,.1);color:#6d28d9}
.chip.perdido,.chip.descartado{background:var(--secondary);color:var(--muted-foreground)}
.chip.outline{background:transparent;border-color:var(--border);color:var(--foreground)}
.temp{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:.75rem}.temp i{width:8px;height:8px;border-radius:50%;display:inline-block}
.temp.quente i{background:var(--destructive)}.temp.morno i{background:var(--warning)}.temp.frio i{background:var(--palette-neutral-400)}
.toq{background:rgba(217,119,6,.1);color:var(--warning);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}
.urg{font-weight:500}.urg.r{color:var(--destructive)}.urg.a{color:var(--warning)}
/* ---- kanban (view-crm-funil: colunas bg-muted rounded-lg, cards bg-background border) ---- */
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:240px;gap:.75rem;overflow-x:auto;padding-bottom:.75rem}
.col{background:var(--muted);border-radius:var(--radius-lg);padding:.5rem;min-height:280px}
.col h3,.col h4{margin:0 0 .5rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:500;display:flex;justify-content:space-between;align-items:center;border:0}.col h3 span:last-child,.col h4 span:last-child{color:var(--muted-foreground);font-weight:400;font-size:.75rem;background:var(--background);border:1px solid var(--border);border-radius:9999px;padding:0 .5rem;line-height:1.25rem}
.kcard{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:.625rem .75rem;margin-bottom:.5rem;cursor:grab;transition:border-color .15s,box-shadow .15s}
.kcard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.kcard b{display:block;color:var(--foreground);font-weight:500}.kcard small{color:var(--muted-foreground);display:block;font-size:.75rem}
.col.over{outline:2px dashed var(--primary);outline-offset:-2px}
/* ---- gaveta (ui/sheet side=right: bg-background shadow-lg, w-3/4 max-w-sm → aqui mais larga pela ficha) ---- */
.drawer{position:fixed;top:0;right:-760px;width:740px;max-width:100vw;height:100vh;background:var(--background);box-shadow:var(--shadow-lg);border-left:1px solid var(--border);transition:right .3s cubic-bezier(.32,.72,0,1);z-index:200;display:flex;flex-direction:column}
.drawer.open{right:0}.drawer header{padding:1rem 1.5rem;margin:0;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border)}
.drawer header .sp{flex:1}.drawer h2{font-size:1rem;margin:0;font-weight:600;letter-spacing:-.01em}
.drawer .body{overflow:auto;padding:1rem 1.5rem 2rem}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199;display:none}.backdrop.open{display:block}
/* ---- formularios (ui/field: Label text-sm font-medium, gap-2) ---- */
.fld{margin-bottom:.875rem;display:flex;flex-direction:column;gap:.375rem}.fld label{display:block;font-size:.875rem;color:var(--foreground);font-weight:500;line-height:1}.fld input,.fld select,.fld textarea{width:100%}
.fld .hint{font-size:.75rem;color:var(--muted-foreground)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
/* ---- timeline ---- */
.tl{border-left:1px solid var(--border);margin-left:6px;padding-left:16px;margin-top:.75rem}.tl .ev{margin-bottom:.875rem;position:relative}
.tl .ev::before{content:"";position:absolute;left:-21px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--background);border:2px solid var(--border-strong)}
.tl .ev.toque::before{background:var(--primary);border-color:var(--primary)}.tl .ev.pergunta::before{background:var(--info);border-color:var(--info)}.tl .ev.nota::before{background:var(--success);border-color:var(--success)}.tl .ev.etapa::before{background:var(--foreground);border-color:var(--foreground)}
.tl .ev small{color:var(--muted-foreground);font-size:.75rem}.tl .ev p{margin:2px 0 0;white-space:pre-wrap}.tl .ev .r{color:var(--muted-foreground);font-size:.75rem;margin-top:2px;white-space:pre-wrap}
.tl .ev.cot{border-left:2px solid var(--info);padding-left:8px}.tl .ev.apo{border-left:2px solid var(--success);padding-left:8px}
/* ---- abas (ui/tabs variant="line": underline bg-foreground) ---- */
.tabs,.dtabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}
.tabs a,.dtabs a{position:relative;padding:.5rem .5rem;color:rgba(10,10,10,.6);border-radius:var(--radius-md) var(--radius-md) 0 0;font-weight:500;font-size:.875rem;cursor:pointer;white-space:nowrap}
.tabs a:hover,.dtabs a:hover{color:var(--foreground)}
.tabs a.on,.dtabs a.on{color:var(--foreground)}
.tabs a.on::after,.dtabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--foreground)}
/* ---- caixas de mensagem / alertas (ui/alert) ---- */
.msgbox{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.875rem 1rem;margin-bottom:.75rem}.msgbox b{display:block;margin-bottom:.375rem;font-weight:500}.msgbox textarea{width:100%;min-height:90px}
.empty{padding:2rem;text-align:center;color:var(--muted-foreground);font-size:.875rem}
.empty .cta{margin-top:.75rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
/* toast (sonner: bg-popover border shadow-lg rounded-lg) */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);padding:.75rem 1rem;border-radius:var(--radius-lg);display:none;z-index:300;box-shadow:var(--shadow-lg);font-size:.875rem}
.regua .item{display:grid;grid-template-columns:1fr 2fr auto;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);align-items:center}.regua .item:last-child{border:0}.regua .item p{margin:4px 0 0;color:var(--muted-foreground-strong);white-space:pre-wrap}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.75rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
/* ---- chat (painel-assistente) ---- */
.chat{display:grid;grid-template-rows:1fr auto;height:calc(100vh - var(--menu-top) - 150px);min-height:420px}
.msgs{overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.m{max-width:72%;padding:.5rem .75rem;border-radius:var(--radius-lg);white-space:pre-wrap;line-height:1.5;font-size:.875rem}
.m.eu{align-self:flex-end;background:var(--accent-foreground);color:var(--background);border-bottom-right-radius:4px}
.m.bot{align-self:flex-start;background:var(--background);border:1px solid var(--border);border-bottom-left-radius:4px}
.m a{word-break:break-all}.m.eu a{color:#fff;text-decoration:underline}.m .doc{display:inline-block;margin-top:6px;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 10px;font-weight:500}
.m .copiar{display:block;margin-top:6px;font-size:11px;color:var(--muted-foreground);cursor:pointer;background:none;border:0;padding:0}
.m time{display:block;font-size:10px;color:var(--muted-foreground);margin-top:4px}.m.eu time{color:rgba(255,255,255,.6)}
.m.bot ul{margin:4px 0 4px 18px;padding:0}
.compose{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--card);align-items:center;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.compose input[type=text]{flex:1;background:var(--background)}
.sug,.chips{display:flex;gap:6px;flex-wrap:wrap;padding:.5rem 1rem 0;background:var(--card)}
.sug button,.chips button{border:1px solid var(--border);background:var(--background);border-radius:9999px;padding:.25rem .625rem;font:inherit;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--foreground);transition:background .15s}
.sug button:hover,.chips button:hover{background:var(--accent)}
.chips{padding:.375rem .75rem}
.chips button.on{background:var(--accent-foreground);color:var(--background);border-color:var(--accent-foreground)}
.digitando{color:var(--muted-foreground);font-size:.75rem;padding:0 1rem 6px;background:var(--card)}
.dia-h{font-weight:500;color:var(--muted-foreground);padding:10px 16px 2px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}
.confirmar{display:inline-flex;gap:6px;align-items:center}
/* ---- popovers (ui/popover / dropdown-menu: bg-popover rounded-md border shadow-md) ---- */
.pop{position:fixed;top:calc(var(--menu-top) + 6px);right:12px;width:min(420px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:210;display:none}
.pop.open{display:block}.pop h4{margin:0;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:600}
.pop .it{padding:.625rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:10px;align-items:flex-start}.pop .it:last-child{border-bottom:0}.pop .it:hover{background:var(--accent)}
.pop .it b{display:block;font-size:.875rem;font-weight:500}.pop .it small{color:var(--muted-foreground);font-size:.75rem}
.pop .it .nv{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}.nv.alta{background:var(--destructive)}.nv.media{background:var(--warning)}.nv.baixa{background:var(--palette-neutral-400)}
.pop.busca{left:50%;right:auto;transform:translateX(-50%);width:min(560px,calc(100vw - 24px))}
.busca-wrap{position:relative;display:inline-block}.busca-wrap kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--muted-foreground);border:1px solid var(--border);border-radius:4px;padding:1px 5px;background:var(--background);font-family:inherit}
/* ---- graficos simples (cores chart-1..5 do core) ---- */
.bars{display:grid;gap:6px}.bars .b{display:grid;grid-template-columns:130px 1fr 36px;gap:8px;align-items:center;font-size:.75rem}.bars .b i{display:block;height:10px;border-radius:9999px;background:var(--chart-1);min-width:2px}.bars .b.ren i{background:var(--chart-2)}
.cols{display:flex;gap:6px;align-items:flex-end;height:120px;padding:6px 0}.cols .c{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--muted-foreground)}.cols .c i{width:100%;border-radius:4px 4px 0 0;background:var(--chart-1);display:block}.cols .c i.ap{background:var(--chart-2)}
/* ---- onboarding ---- */
.onb{border:1px dashed var(--border-strong);background:var(--card);border-radius:var(--radius-xl);padding:1rem 1.25rem;margin-bottom:.75rem}
.onb .passo{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.875rem}.onb .passo .ck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;font-size:11px;color:#fff;flex:none}.onb .passo.ok .ck{background:var(--success);border-color:var(--success)}
.pill-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted-foreground);cursor:pointer}
/* ---- skeleton (ui/skeleton: bg-accent animate-pulse rounded-md) ---- */
.skel{background:var(--accent);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:var(--radius-md);height:14px;margin:8px 0}
@keyframes pulse{50%{opacity:.5}}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.kcard .mover{width:100%;margin-top:6px;font-size:12px;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background)}
@media(min-width:981px){.kcard .mover{display:none}}
[hidden]{display:none!important}
/* ---- responsivo (shell mobile: menu vira barra inferior, topo compacto) ---- */
.tabbar{display:none}
@media(max-width:980px){
  .topbar{padding:0 .75rem}.topbar .sandwich{display:block}.topbar .user .hello{display:none}.topbar .logo b{display:none}.gbusca{display:none}
  nav.menu{left:-100%;top:var(--menu-top);height:calc(100vh - var(--menu-top));width:min(80vw,18rem);border-radius:0 var(--radius-xlg) var(--radius-xlg) 0;transition:left .25s}nav.menu.open{left:0}
  main{margin:0;border-radius:0;box-shadow:none;padding:1rem .75rem 5rem;min-height:auto}
  .grid2,.f2{grid-template-columns:1fr}.drawer{width:100vw;right:-100vw}.drawer.open{right:0}.m{max-width:90%}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:3.75rem;background:var(--background);border-top:1px solid var(--border);z-index:98;padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted-foreground);text-decoration:none;font-weight:500}
  .tabbar a i{font-style:normal;font-size:20px;line-height:1}
  .tabbar a.on{color:var(--primary)}
  .btn,input,select,textarea{min-height:44px}
  .btn.sm,.btn.xs{min-height:40px}
  .kb{grid-auto-columns:82vw}
  .chat{height:calc(100vh - var(--menu-top) - 3.75rem - 20px)}
  .ph h1{font-size:1.25rem}
  #wa-inbox{grid-template-columns:1fr!important}#wa-inbox .card{max-height:none}
}
/* ---- tema escuro (o core nao tem; mantido como opcao do SeGuru, sobre os mesmos papeis) ---- */
:root[data-theme=dark]{--background:#171717;--background-brand:#0a0a0a;--foreground:#fafafa;--card:#1f1f1f;--card-subtle:rgba(255,255,255,.06);--card-foreground:#fafafa;--popover:#1f1f1f;--popover-foreground:#fafafa;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a3a3a3;--muted-foreground-strong:#d4d4d4;--accent:#262626;--accent-foreground:#fafafa;--border:rgba(255,255,255,.1);--border-strong:rgba(255,255,255,.2);--input:rgba(255,255,255,.15);--ring:#737373;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-border:rgba(255,255,255,.1);--shadow-color:rgba(0,0,0,.5);--semantic-color-blue-light:#0c2a3d;--warning-color-success-light:#0f2a1a;--warning-color-attention-light:#2e2410;--warning-color-error-light:#3a1515;--brand-color-primary-10:#2e1a12;--brand-color-primary-20:#45261a}
:root[data-theme=dark] .topbar{background:#0a0a0a}
:root[data-theme=dark] nav.menu{box-shadow:0 0 0 1px rgba(255,255,255,.1)}
:root[data-theme=dark] main{box-shadow:0 0 0 1px rgba(255,255,255,.08)}
:root[data-theme=dark] .m.eu{background:var(--primary);color:#fff}
:root[data-theme=dark] .chips button.on{background:var(--primary);border-color:var(--primary);color:#fff}
:root[data-theme=dark] tbody tr:hover td{background:rgba(255,255,255,.03)}
