/*
 * Tema Adequa.SI para o CRM (ligado em Configurações > Tema visual).
 * Segue o manual de identidade (modo escuro suavizado a partir do fundo #0D1322: superfícies #182033, #1F2A41, #27334D), aço #32425E, #758099, #D6DDE8, azul digital #1E5EFA na ação principal (CTA), vermelho #F21B3F só para alerta (atrasado/parado),
 * azul digital #1E5EFA para links e estados, botões sem raio de borda, Barlow, dark mode pensado como padrão.
 * Sobrescreve o CSS compilado do Krayin; não precisa recompilar nada.
 */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap');

html:root {
    --ad-base: #182033;
    --ad-navy: #1f2a41;
    --ad-card: #27334d;
    --ad-steel: #32425e;
    --ad-slate: #758099;
    --ad-ice: #d6dde8;
    --ad-line: #34415e;
    --ad-line-strong: #43526f;
    --ad-red: #f21b3f;
    --ad-red-hover: #d9143a;
    --ad-cta: #1e5efa;
    --ad-cta-hover: #1a52d6;
    --ad-blue: #1e5efa;
    --brand-color: #1e5efa;
}

/* Tipografia */
body, .font-inter, button, input, select, textarea { font-family: 'Barlow', ui-sans-serif, system-ui, sans-serif !important; }

/* ---------- Claro ---------- */
html:not(.dark) body { background: #f3f5f9; color: #10141f; }

/* ---------- Escuro ---------- */
html.dark body,
html.dark .dark\:bg-gray-950 { background-color: var(--ad-base) !important; }
html.dark .dark\:bg-gray-900 { background-color: var(--ad-navy) !important; }
html.dark .dark\:bg-gray-800 { background-color: var(--ad-card) !important; }
html.dark .dark\:border-gray-800 { border-color: var(--ad-line) !important; }
html.dark .dark\:border-gray-700 { border-color: var(--ad-line-strong) !important; }
html.dark .dark\:text-gray-300 { color: var(--ad-ice) !important; }
html.dark .dark\:text-gray-400 { color: #9ba5b7 !important; }

/* ---------- Botões: sem raio de borda, uma cor de ação só ---------- */
.primary-button {
    background-color: var(--ad-cta) !important;
    border: 1px solid var(--ad-cta) !important;
    color: #fff !important;
    border-radius: 0 !important;
    letter-spacing: .01em;
}
.primary-button:hover, .primary-button:focus { background-color: var(--ad-cta-hover) !important; border-color: var(--ad-cta-hover) !important; opacity: 1 !important; }

.secondary-button {
    background-color: transparent !important;
    border: 1px solid var(--ad-steel) !important;
    color: var(--ad-steel) !important;
    border-radius: 0 !important;
}
.secondary-button:hover, .secondary-button:focus { background-color: rgba(50, 66, 94, .08) !important; }
html.dark .secondary-button { border-color: var(--ad-slate) !important; color: var(--ad-ice) !important; }
html.dark .secondary-button:hover, html.dark .secondary-button:focus { background-color: var(--ad-card) !important; opacity: 1 !important; }

.transparent-button { border-radius: 0 !important; }

/* Blocos de ação do lead (E-mail, Arquivo, Nota, Atividade): neutros, sem tons diferentes */
button[class*="h-[74px]"][class*="w-[84px]"] {
    background-color: #eef1f6 !important;
    color: var(--ad-steel) !important;
    border: 1px solid #d6dde8 !important;
    border-radius: 0 !important;
}
button[class*="h-[74px]"][class*="w-[84px]"]:hover { border-color: var(--ad-steel) !important; }

/* Painel do lead: todos os blocos de ação com cantos arredondados (pedido do Carlos, 15/10/2026) */
button[class*="h-[74px]"][class*="w-[84px]"] { border-radius: 8px !important; }
.ad-doc-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    min-height: 60px; padding: 6px 4px; border-radius: 8px;
    background-color: #eef1f6; color: var(--ad-steel); border: 1px solid #d6dde8;
    font-size: 12px; font-weight: 600; line-height: 1.15; text-align: center; cursor: pointer; text-decoration: none;
    transition: border-color .15s;
}
.ad-doc-tile:hover { border-color: var(--ad-steel); }
html.dark .ad-doc-tile { background-color: var(--ad-card); color: var(--ad-ice); border-color: var(--ad-line-strong); }
html.dark .ad-doc-tile:hover { border-color: var(--ad-slate); }
.ad-doc-select, .ad-doc-onepager { border-radius: 8px !important; }
html.dark button[class*="h-[74px]"][class*="w-[84px]"] { background-color: var(--ad-card) !important; color: var(--ad-ice) !important; border-color: var(--ad-line-strong) !important; }
html.dark button[class*="h-[74px]"][class*="w-[84px]"]:hover { border-color: var(--ad-slate) !important; }

/* Links e estados: azul digital, sem arredondar botões de ícone */
.text-brandColor { color: var(--ad-blue) !important; }
html.dark .text-brandColor { color: #6b94ff !important; }

/* Barra de etapas do funil: etapas concluídas em azul-aço da marca (em vez de verde) */
.\!bg-green-500 { background-color: var(--ad-steel) !important; }
.stage.\!bg-green-500::after, .stage[class*="bg-green-500"]::after { border-color: transparent !important; }
.after\:bg-green-500::after, .ltr\:after\:bg-green-500::after { background-color: var(--ad-steel) !important; }
html.dark .\!bg-green-500 { background-color: var(--ad-steel) !important; color: #fff !important; }

/* Chips de status verdes do topo do lead ficam discretos */
[class*="bg-green-100"]:not([style*="background"]) { background-color: #e7ecf4 !important; color: var(--ad-steel) !important; }
html.dark [class*="bg-green-100"]:not([style*="background"]) { background-color: var(--ad-card) !important; color: var(--ad-ice) !important; }

/* Ícones dentro dos blocos de ação: mesma cor do texto */
button[class*="h-[74px]"][class*="w-[84px]"] [class*="icon-"],
button[class*="h-[74px]"][class*="w-[84px]"] span { color: inherit !important; }
[class*="bg-emerald-100"]:not([style*="background"]),
[class*="bg-green-50"]:not([style*="background"]),
[class*="bg-green-200"]:not(button):not([style*="background"]) { background-color: #e7ecf4 !important; color: var(--ad-steel) !important; }
html.dark [class*="bg-emerald-100"]:not([style*="background"]),
html.dark [class*="bg-green-50"]:not([style*="background"]) { background-color: var(--ad-card) !important; color: var(--ad-ice) !important; }

/* Botões de filtro e similares (classe bg-brandColor em <button> não redondo): aço da marca, sem raio */
button.bg-brandColor:not(.rounded-full):not([style*="background"]) { background-color: var(--ad-steel) !important; border-color: var(--ad-steel) !important; border-radius: 0 !important; color: #fff !important; }
button.bg-brandColor:not(.rounded-full):hover:not([style*="background"]) { background-color: #3d5075 !important; }

/* Botão "Filtro" das listas e chips azul-claro: neutros (aço) */
[class*="bg-sky-100"]:not([style*="background"]) { background-color: #e7ecf4 !important; color: var(--ad-steel) !important; border-radius: 0 !important; }
html.dark .dark\:bg-brandColor { background-color: var(--ad-steel) !important; color: #fff !important; border-radius: 0 !important; }

/* ------------------------------------------------------------------
   Sem verde (o manual da marca não usa): positivo/concluído = aço e azul.
   As regras sólidas vêm depois das claras para vencerem quando a classe casa com as duas.
   ------------------------------------------------------------------ */
[class*="bg-green-50"]:not([style*="background"]),
[class*="bg-green-100"]:not([style*="background"]),
[class*="bg-green-200"]:not([style*="background"]),
[class*="bg-emerald-"]:not([style*="background"]),
[class*="bg-lime-"]:not([style*="background"]),
[class*="bg-teal-100"]:not([style*="background"]) {
    background-color: #e7ecf4 !important; color: var(--ad-steel) !important;
}
[class*="bg-green-400"]:not([style*="background"]),
[class*="bg-green-500"]:not([style*="background"]),
[class*="bg-green-600"]:not([style*="background"]),
[class*="bg-green-700"]:not([style*="background"]),
[class*="bg-green-800"]:not([style*="background"]) {
    background-color: var(--ad-steel) !important; color: #fff !important;
}
html.dark [class*="bg-green-900"]:not([style*="background"]),
html.dark [class*="bg-emerald-9"]:not([style*="background"]) { background-color: var(--ad-card) !important; color: var(--ad-ice) !important; }
[class*="text-green-"], [class*="text-emerald-"], [class*="text-lime-"], [class*="text-teal-"] { color: var(--ad-steel) !important; }
html.dark [class*="text-green-"], html.dark [class*="text-emerald-"], html.dark [class*="text-lime-"] { color: var(--ad-ice) !important; }
[class*="border-green-"], [class*="border-emerald-"] { border-color: var(--ad-steel) !important; }
html.dark [class*="border-green-"] { border-color: var(--ad-line-strong) !important; }
[class*="from-green-"], [class*="to-green-"] { --tw-gradient-from: var(--ad-steel) !important; --tw-gradient-to: var(--ad-steel) !important; }

/* Amarelo, âmbar e laranja claros: neutros */
[class*="bg-yellow-50"]:not([style*="background"]),
[class*="bg-yellow-100"]:not([style*="background"]),
[class*="bg-yellow-200"]:not([style*="background"]),
[class*="bg-amber-50"]:not([style*="background"]),
[class*="bg-amber-100"]:not([style*="background"]),
[class*="bg-orange-50"]:not([style*="background"]),
[class*="bg-orange-100"]:not([style*="background"]) {
    background-color: #eef1f6 !important; color: var(--ad-steel) !important;
}
html.dark [class*="bg-yellow-900"]:not([style*="background"]),
html.dark [class*="bg-amber-900"]:not([style*="background"]),
html.dark [class*="bg-orange-900"]:not([style*="background"]) { background-color: var(--ad-card) !important; color: var(--ad-ice) !important; }
[class*="text-yellow-"], [class*="text-amber-"], [class*="text-orange-"] { color: var(--ad-steel) !important; }
html.dark [class*="text-yellow-"], html.dark [class*="text-amber-"], html.dark [class*="text-orange-"] { color: var(--ad-ice) !important; }

/* Avatar do perfil (era rosa): aço da marca */
.bg-pink-400:not([style*="background"]),
[class*="bg-pink-"]:not([style*="background"]) { background-color: var(--ad-steel) !important; color: #fff !important; }

/* Atrasado / parado: único lugar com o vermelho de alerta da marca, sobre fundo neutro */
.icon-rotten, [class*="text-rose-"], [class*="text-red-6"] { color: var(--ad-red) !important; }
[class*="bg-red-100"]:not([style*="background"]),
[class*="bg-rose-100"]:not([style*="background"]),
[class*="bg-red-50"]:not([style*="background"]),
[class*="bg-rose-50"]:not([style*="background"]) { background-color: #fbe4e9 !important; color: #b3112f !important; }
html.dark [class*="bg-red-900"]:not([style*="background"]),
html.dark [class*="bg-rose-900"]:not([style*="background"]) { background-color: #2a1520 !important; color: #ff8fa3 !important; }

/* Etiquetas antigas em verde (cor gravada no banco): viram azul-aço, sem mexer no que o usuário escolheu nas demais cores */
[style*="rgb(220, 252, 231)"], [style*="rgb(236, 252, 203)"], [style*="rgb(187, 247, 208)"], [style*="#DCFCE7"], [style*="#ECFCCB"] {
    background-color: #d6dde8 !important; color: #32425e !important;
}
html.dark [style*="rgb(220, 252, 231)"], html.dark [style*="rgb(236, 252, 203)"], html.dark [style*="#DCFCE7"], html.dark [style*="#ECFCCB"] {
    background-color: var(--ad-card) !important; color: var(--ad-ice) !important;
}

/* Avatares de iniciais (amarelo, laranja, rosa etc.): aço da marca */
[class*="bg-yellow-4"]:not([style*="background"]), [class*="bg-yellow-3"]:not([style*="background"]), [class*="bg-amber-4"]:not([style*="background"]), [class*="bg-orange-4"]:not([style*="background"]), [class*="bg-lime-4"]:not([style*="background"]) { background-color: var(--ad-slate) !important; color: #fff !important; }

/* ---- Acabamento (30/09): textos em verde/amarelo/laranja, calendário e gráfico do início ---- */
[class*="text-green-"], [class*="text-emerald-"], [class*="text-teal-"], [class*="dark:!text-green-"] { color: var(--ad-cta) !important; }
html.dark [class*="text-green-"], html.dark [class*="text-emerald-"], html.dark [class*="text-teal-"], html.dark [class*="dark:!text-green-"] { color: #7aa2ff !important; }
[class*="text-yellow-"], [class*="text-amber-"], [class*="text-orange-"] { color: var(--ad-steel) !important; }
html.dark [class*="text-yellow-"], html.dark [class*="text-amber-"], html.dark [class*="text-orange-"] { color: var(--ad-ice) !important; }
[class*="border-green-"], [class*="border-emerald-"], [class*="border-yellow-"], [class*="border-orange-"] { border-color: var(--ad-line) !important; }
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange,
.flatpickr-day.selected.inRange, .flatpickr-day.selected:hover, .flatpickr-day.selected:focus { background: var(--ad-cta) !important; border-color: var(--ad-cta) !important; color: #fff !important; }
.flatpickr-day.today { border-color: var(--ad-cta) !important; }

/* ---------- Tela de entrada (login) ---------- */
.ad-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; position: relative;
  background: linear-gradient(160deg, #0d1322 0%, #182033 62%, #1f2a41 100%); }
html:not(.dark) .ad-login { background: linear-gradient(160deg, #e9edf4 0%, #f4f6fa 55%, #ffffff 100%); }
.ad-login-box { width: 100%; max-width: 420px; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.ad-login-head { background: #0d1322; padding: 26px 32px; display: flex; justify-content: center; border-bottom: 3px solid #1e5efa; }
.ad-login .ad-logo { height: 54px; width: auto; max-width: 100%; }
.ad-login-body { padding: 30px 32px 32px; }
.ad-login-card { width: 100%; padding: 0; background: #1f2a41; border: 1px solid #34415e; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
html:not(.dark) .ad-login-card { background: #ffffff; border-color: #d6dde8; box-shadow: 0 16px 40px rgba(13,19,34,.10); }
.ad-login-title { margin: 0; font-size: 26px; font-weight: 700; color: #fff; }
html:not(.dark) .ad-login-title { color: #0d1322; }
.ad-login-sub { margin: 4px 0 22px; font-size: 14px; color: #758099; }
.ad-login label { color: #d6dde8 !important; font-weight: 600; font-size: 14px; }
html:not(.dark) .ad-login label { color: #32425e !important; }
.ad-login input[type=email], .ad-login input[type=password], .ad-login input[type=text] {
  width: 100%; height: 46px; padding: 0 14px; background: #182033 !important; color: #eef1f6 !important; border: 1px solid #43526f !important; border-radius: 0 !important; font-size: 15px; box-shadow: none !important; }
html:not(.dark) .ad-login input[type=email], html:not(.dark) .ad-login input[type=password], html:not(.dark) .ad-login input[type=text] {
  background: #ffffff !important; color: #0d1322 !important; border-color: #b8c2d4 !important; }
.ad-login input:focus { outline: none; border-color: #1e5efa !important; box-shadow: 0 0 0 2px rgba(30,94,250,.35) !important; }
.ad-login input::placeholder { color: #758099 !important; }
.ad-login input:-webkit-autofill, .ad-login input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #182033 inset !important; -webkit-text-fill-color: #eef1f6 !important; caret-color: #eef1f6; }
html:not(.dark) .ad-login input:-webkit-autofill, html:not(.dark) .ad-login input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important; -webkit-text-fill-color: #0d1322 !important; caret-color: #0d1322; }
.ad-login [class*=icon-eye] { color: #758099; }
.ad-login-btn { width: 100%; height: 48px; margin-top: 8px; background: #1e5efa; color: #fff; border: 0; border-radius: 0; font-size: 16px; font-weight: 700; cursor: pointer; }
.ad-login-btn:hover { background: #1a52d6; }
.ad-login-link { display: block; margin-top: 16px; text-align: center; font-size: 14px; font-weight: 600; color: #7aa2ff; }
html:not(.dark) .ad-login-link { color: #1e5efa; }
.ad-login-foot { margin: 0; font-size: 12px; color: #758099; }
.ad-login-toggle { position: absolute; top: 18px; right: 20px; width: 40px; height: 40px; background: transparent; border: 1px solid #43526f; color: #d6dde8; font-size: 20px; cursor: pointer; border-radius: 0; }
html:not(.dark) .ad-login-toggle { color: #32425e; border-color: #b8c2d4; }
.ad-login-toggle .ad-sun { display: none; }
html:not(.dark) .ad-login-toggle .ad-sun { display: inline; }
html:not(.dark) .ad-login-toggle .ad-moon { display: none; }
.ad-login .text-red-600, .ad-login [class*=text-red] { color: #f21b3f !important; font-size: 13px; }
.ad-hidden { display: none; }
.ad-login input.ad-code { text-align: center; font-size: 28px; letter-spacing: .5em; height: 58px; padding-left: .5em; }
.ad-login input.ad-code-sm { font-size: 20px; letter-spacing: .3em; height: 50px; text-transform: uppercase; }
.ad-login-help { margin: 6px 0 14px; font-size: 13px; color: #758099; }
.ad-login-note { margin-top: 22px; padding: 12px 14px; font-size: 13px; color: #aeb8cc; background: #182033; border-left: 4px solid #1e5efa; }
html:not(.dark) .ad-login-note { color: #32425e; background: #eef3ff; }
.ad-login-error { margin: 0 0 14px; padding: 10px 14px; font-size: 14px; color: #fff; background: #f21b3f; }
.ad-linkbtn { width: 100%; background: transparent; border: 0; cursor: pointer; }
.ad-login form label { display: block; margin: 0 0 6px; }

/* Logotipo por tema: positiva no claro, sólida no escuro (componente brand-logo) */
.ad-t-dark { display: none; }
html.dark .ad-t-light { display: none; }
html.dark .ad-t-dark { display: inline; }

/* Celular e tablet: listas em cartão não estouram a largura (caixa de entrada etc.) */
@media (max-width: 1023px) {
  .table-responsive .grid { grid-template-columns: minmax(0, 1fr); }
  .table-responsive .grid span, .table-responsive .grid p, .table-responsive .grid div { overflow-wrap: anywhere; min-width: 0; }
}

/* Celular: grades de formulário e de cartões (estilo em linha) viram uma coluna, para a página não passar da largura da tela */
@media (max-width: 640px) {
  [style*="repeat(12"], [style*="auto-fit"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="repeat(12"] > * { grid-column: 1 / -1 !important; }
  [style*="grid-template-columns"] label, [style*="grid-template-columns"] input, [style*="grid-template-columns"] select, [style*="grid-template-columns"] textarea { max-width: 100%; min-width: 0; }
}
