/* HerbaSinn System V5 - 2026-07-09
   Padronização global UI/UX: Roboto, botões compactos, inputs, cards, tabelas, login e CRM.
   Foco visual apenas. Não altera rotas, controllers, regras ou integrações. */

:root{
  --herba-green:#58b91f;
  --herba-green-600:#3f9f28;
  --herba-green-700:#2f7d32;
  --herba-green-800:#24672a;
  --herba-mint:#f4fbef;
  --herba-mint-2:#eef8e7;
  --herba-gold:#d9b64a;
  --herba-gold-soft:#fff7dc;
  --herba-ink:#0f2417;
  --herba-title:#132033;
  --herba-text:#37443c;
  --herba-muted:#68766d;
  --herba-line:#d7e8cf;
  --herba-line-strong:#b8dca8;
  --herba-danger:#dc4848;
  --herba-radius-sm:10px;
  --herba-radius:14px;
  --herba-radius-lg:20px;
  --herba-shadow-card:0 14px 36px rgba(33,80,38,.08);
  --herba-shadow-soft:0 8px 20px rgba(33,80,38,.07);
  --herba-focus:0 0 0 3px rgba(88,185,31,.18);
}

html,
body,
button,
input,
select,
textarea,
a,
table{
  font-family:"Roboto", Arial, Helvetica, sans-serif!important;
}

body.sinn-app-body,
body.sinn-login-body{
  background:#f6faf2!important;
  color:var(--herba-text)!important;
  font-size:14px!important;
  letter-spacing:-.01em;
}

/* Base de conteúdo mais limpa */
.sinn-main-content{
  background:
    radial-gradient(circle at top left, rgba(88,185,31,.075), transparent 320px),
    linear-gradient(180deg, #fbfdf8 0%, #f4f9ee 100%)!important;
}

.sinn-page-header-inner{
  padding-top:22px!important;
  padding-bottom:22px!important;
  gap:18px!important;
}

.sinn-page-header-content p[class*="tracking"],
.fit-section-kicker,
.sinn-kicker,
.text-\[\#1B3A6B\]{
  color:var(--herba-green-700)!important;
  letter-spacing:.28em!important;
}

.sinn-page-header-content h1,
.sinn-page-header-content h2,
.fit-page-title,
main h1,
main h2{
  color:#102033!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

.sinn-page-header-content h1,
.sinn-page-header-content h2{
  font-size:clamp(24px, 2vw, 31px)!important;
  margin-top:6px!important;
}

.sinn-page-header-content p:not([class*="tracking"]){
  color:#44524a!important;
  line-height:1.45!important;
}

/* Sidebar: deixa a identidade consistente, sem azul/âmbar solto */
.sinn-sidebar-panel{
  background:linear-gradient(180deg, #2d7435 0%, #245f2d 100%)!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:16px 0 42px rgba(28,80,33,.20)!important;
}

.fit-sidebar-brand-shell,
.sinn-sidebar-footer{
  border-color:rgba(255,255,255,.14)!important;
}

.sinn-sidebar-user-card > div,
.sinn-sidebar-user-card .rounded-2xl{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}

.fit-sidebar-link{
  min-height:44px!important;
  border-radius:14px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:13px!important;
  font-weight:800!important;
}

.fit-sidebar-link:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}

.fit-sidebar-link-active{
  background:var(--herba-green)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(72,167,29,.26)!important;
}

.fit-sidebar-icon{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

.fit-sidebar-link-active .fit-sidebar-icon{
  background:rgba(255,255,255,.23)!important;
  color:#fff!important;
}

/* Cards e painéis - padrão premium, claro e compacto */
.fit-card,
.sinn-panel,
.fit-glass,
.sinn-form-card,
.sinn-main-content main section[class*="bg-white"],
.sinn-main-content main div[class*="bg-white"][class*="border"],
.sinn-main-content .rounded-3xl[class*="border"],
.sinn-main-content .rounded-2xl[class*="border"]{
  background:rgba(255,255,255,.93)!important;
  border-color:var(--herba-line)!important;
  box-shadow:var(--herba-shadow-card)!important;
}

.fit-card,
.sinn-panel,
.fit-glass{
  border-radius:22px!important;
}

.sinn-main-content main .p-6{ padding:22px!important; }
.sinn-main-content main .p-5{ padding:18px!important; }
.sinn-main-content main .p-4{ padding:16px!important; }
.sinn-main-content main .py-8{ padding-top:28px!important; padding-bottom:28px!important; }
.sinn-main-content main .gap-6{ gap:20px!important; }
.sinn-main-content main .gap-4{ gap:16px!important; }

/* Tipografia dos blocos */
.sinn-main-content main .text-3xl{ font-size:26px!important; }
.sinn-main-content main .text-2xl{ font-size:22px!important; }
.sinn-main-content main .text-xl{ font-size:18px!important; }
.sinn-main-content main .text-lg{ font-size:16px!important; }
.sinn-main-content main .text-sm{ font-size:13px!important; }
.sinn-main-content main .text-xs{ font-size:11px!important; }

.sinn-main-content main .tracking-\[0\.32em\],
.sinn-main-content main .tracking-\[0\.28em\],
.sinn-main-content main .tracking-\[0\.25em\],
.sinn-main-content main .tracking-\[0\.24em\],
.sinn-main-content main .tracking-\[0\.18em\],
.sinn-main-content main .tracking-\[0\.16em\]{
  letter-spacing:.22em!important;
}

/* Botões do sistema - compactos e com cara de botão */
.fit-btn-primary,
.sinn-main-content main button[type="submit"]:not(.sinn-bell-button),
.sinn-main-content main button[type="button"]:not(.sinn-bell-button):not(.sinn-sidebar-collapse-toggle):not([aria-label*="menu"]),
.sinn-main-content main a.fit-btn-primary,
.sinn-main-content main a[class*="bg-blue"],
.sinn-main-content main button[class*="bg-blue"],
.sinn-main-content main a[class*="bg-sky"],
.sinn-main-content main button[class*="bg-sky"],
.sinn-main-content main a[class*="bg-indigo"],
.sinn-main-content main button[class*="bg-indigo"]{
  min-height:38px!important;
  height:auto!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:12px!important;
  border:1px solid var(--herba-green)!important;
  background:var(--herba-green)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  box-shadow:0 10px 20px rgba(88,185,31,.20)!important;
  text-decoration:none!important;
}

.fit-btn-primary:hover,
.sinn-main-content main button[type="submit"]:not(.sinn-bell-button):hover,
.sinn-main-content main button[type="button"]:not(.sinn-bell-button):not(.sinn-sidebar-collapse-toggle):not([aria-label*="menu"]):hover,
.sinn-main-content main a[class*="bg-blue"]:hover,
.sinn-main-content main button[class*="bg-blue"]:hover{
  background:var(--herba-green-700)!important;
  border-color:var(--herba-green-700)!important;
  color:#fff!important;
  transform:translateY(-1px);
}

.fit-btn-secondary,
.fit-btn-soft,
.sinn-main-content main a.fit-btn-secondary,
.sinn-main-content main a.fit-btn-soft,
.sinn-main-content main a[class*="bg-white"][class*="border"],
.sinn-main-content main button[class*="bg-white"][class*="border"],
.sinn-main-content main a[class*="bg-emerald-50"],
.sinn-main-content main button[class*="bg-emerald-50"],
.sinn-main-content main a[class*="bg-amber-50"],
.sinn-main-content main button[class*="bg-amber-50"]{
  min-height:36px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border-radius:12px!important;
  border:1px solid var(--herba-line-strong)!important;
  background:#fff!important;
  color:var(--herba-green-800)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
  box-shadow:0 8px 18px rgba(36,103,42,.07)!important;
  text-decoration:none!important;
}

.fit-btn-secondary:hover,
.fit-btn-soft:hover,
.sinn-main-content main a[class*="bg-white"][class*="border"]:hover,
.sinn-main-content main button[class*="bg-white"][class*="border"]:hover{
  background:var(--herba-mint)!important;
  border-color:var(--herba-green)!important;
  color:var(--herba-green-800)!important;
}

/* Mantém ações perigosas em vermelho, porém compactas */
.sinn-main-content main .bg-red-600,
.sinn-main-content main .bg-red-700,
.sinn-main-content main button[class*="bg-red"],
.sinn-main-content main a[class*="bg-red"]{
  background:var(--herba-danger)!important;
  border-color:var(--herba-danger)!important;
  color:#fff!important;
}

/* Ícones dentro dos botões */
.sinn-main-content main button .fa-solid,
.sinn-main-content main a .fa-solid,
.sinn-main-content main button svg,
.sinn-main-content main a svg{
  flex:0 0 auto!important;
}

/* Formulários e filtros */
.fit-form-label,
.sinn-label,
label{
  color:#38523f!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.fit-form-input,
.fit-soft-input,
.sinn-input,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea{
  min-height:38px!important;
  border:1px solid #cfdfc8!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1f2d24!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset!important;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease!important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select{
  height:38px!important;
  padding:0 13px!important;
}

textarea{
  min-height:92px!important;
  padding:11px 13px!important;
}

.fit-form-input:focus,
.fit-soft-input:focus,
.sinn-input:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
select:focus,
textarea:focus{
  border-color:var(--herba-green)!important;
  box-shadow:var(--herba-focus)!important;
  outline:none!important;
}

input::placeholder,
textarea::placeholder{
  color:#8b9a91!important;
  font-weight:600!important;
}

input[type="checkbox"],
input[type="radio"]{
  border-color:#b8dca8!important;
  color:var(--herba-green-700)!important;
  box-shadow:none!important;
}

/* Filtros comuns: reduz tamanho exagerado */
.sinn-crm-filter-shell,
.sinn-main-content main form[class*="filter"],
.sinn-main-content main .fit-glass{
  border-color:var(--herba-line)!important;
}

.sinn-crm-filter-grid,
.crm-filter-form,
form.sinn-form-grid{
  gap:10px!important;
}

.crm-filter-control,
.sinn-crm-filter-grid .fit-soft-input,
.sinn-crm-filter-grid select,
.sinn-crm-filter-grid input{
  height:38px!important;
  min-height:38px!important;
  max-width:100%!important;
}

.crm-filter-actions,
.crm-filter-actions-v2{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}

.crm-filter-actions > *,
.crm-filter-actions-v2 > *{
  width:auto!important;
  min-width:auto!important;
}

.crm-filter-quick a,
.crm-filter-quick button{
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:10px!important;
  font-size:11px!important;
}

/* Abas/tabs globais e CRM */
.crm-main-tabs,
.crm-top-tabs,
.sinn-page-header-content .crm-main-tabs,
.sinn-page-header-content .crm-top-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}

.crm-main-tabs a.crm-tab-link,
.crm-top-tabs a.crm-tab-link,
.sinn-page-header-content a.crm-tab-link{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  height:38px!important;
  min-width:126px!important;
  padding:0 14px!important;
  border:1px solid var(--herba-line-strong)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--herba-green-800)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(36,103,42,.07)!important;
}

.crm-main-tabs a.crm-tab-link .crm-tab-label,
.crm-top-tabs a.crm-tab-link .crm-tab-label{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  opacity:1!important;
  visibility:visible!important;
  color:currentColor!important;
  font:inherit!important;
}

.crm-main-tabs a.crm-tab-link.is-active,
.crm-top-tabs a.crm-tab-link.is-active{
  background:var(--herba-green)!important;
  border-color:var(--herba-green)!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(88,185,31,.22)!important;
}

/* Follow-up CRM: horizontal e organizado */
.sinn-crm-page .herba-followup-grid{
  grid-template-columns:1fr!important;
  gap:16px!important;
}

.sinn-crm-page .herba-followup-panel{
  padding:18px!important;
}

.sinn-crm-page .herba-followup-stat{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:1px!important;
  min-height:72px!important;
  padding:13px 15px!important;
  border-radius:16px!important;
  border:1px solid var(--herba-line)!important;
  background:#fff!important;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(31,70,38,.06)!important;
}

.sinn-crm-page .herba-followup-stat > span{
  grid-row:1 / span 2!important;
  width:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  color:#fff!important;
}

.sinn-crm-page .herba-followup-stat strong{
  font-size:21px!important;
  line-height:1!important;
  color:#2d3330!important;
}

.sinn-crm-page .herba-followup-stat small{
  font-size:11px!important;
  line-height:1!important;
  color:#49554e!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

.sinn-crm-page .herba-followup-danger > span{ background:#e34e4e!important; }
.sinn-crm-page .herba-followup-today > span{ background:var(--herba-green)!important; }
.sinn-crm-page .herba-followup-muted > span{ background:#777!important; }
.sinn-crm-page .herba-followup-ok > span{ background:var(--herba-green-700)!important; }

/* Tabelas */
.sinn-table,
table{
  border-collapse:separate!important;
  border-spacing:0!important;
}

.sinn-main-content table thead th,
.sinn-table thead th,
.sinn-sales-th{
  background:#f0f6ea!important;
  color:#36523d!important;
  border-bottom:1px solid var(--herba-line)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.13em!important;
  padding:12px 14px!important;
}

.sinn-main-content table tbody td,
.sinn-table tbody td,
.sinn-sales-td{
  color:#344039!important;
  border-bottom:1px solid #edf3e8!important;
  font-size:13px!important;
  padding:12px 14px!important;
  vertical-align:middle!important;
}

.sinn-main-content table tbody tr:hover td{
  background:#fbfef8!important;
}

/* Badges/pílulas */
.herba-pill,
.sinn-main-content main span[class*="rounded-full"],
.sinn-main-content main span[class*="rounded-lg"][class*="text-xs"]{
  min-height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}

.sinn-main-content main [class*="bg-blue"],
.sinn-main-content main [class*="text-blue"],
.sinn-main-content main [class*="border-blue"],
.sinn-main-content main [class*="bg-indigo"],
.sinn-main-content main [class*="text-indigo"],
.sinn-main-content main [class*="border-indigo"],
.sinn-main-content main [class*="bg-sky"],
.sinn-main-content main [class*="text-sky"],
.sinn-main-content main [class*="border-sky"]{
  border-color:var(--herba-line-strong)!important;
}

.sinn-main-content main .text-blue-600,
.sinn-main-content main .text-blue-700,
.sinn-main-content main .text-sky-600,
.sinn-main-content main .text-indigo-600{
  color:var(--herba-green-700)!important;
}

/* Loading */
.sinn-page-transition,
.herba-entry-loader{
  background:rgba(246,250,242,.90)!important;
  backdrop-filter:blur(10px)!important;
}

.sinn-page-transition-card{
  background:#fff!important;
  border:1px solid var(--herba-line)!important;
  box-shadow:0 24px 60px rgba(34,92,39,.16)!important;
}

.sinn-page-transition-card::after{
  border-color:var(--herba-green)!important;
  border-top-color:transparent!important;
}

/* Login */
.sinn-login-body{
  background:
    radial-gradient(circle at 18% 15%, rgba(88,185,31,.18), transparent 290px),
    radial-gradient(circle at 82% 8%, rgba(217,182,74,.14), transparent 250px),
    linear-gradient(180deg, #fbfef8 0%, #eff8e7 100%)!important;
}

.herba-login-panel,
.sinn-login-panel{
  background:rgba(255,255,255,.92)!important;
  border:1px solid var(--herba-line)!important;
  box-shadow:0 24px 60px rgba(34,92,39,.14)!important;
}

.herba-login-title{
  color:#102033!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}

.herba-login-subtitle{
  color:#46564c!important;
}

.sinn-login-body button[type="submit"],
.sinn-login-body .bg-emerald-700{
  min-height:40px!important;
  padding:0 17px!important;
  border-radius:12px!important;
  background:var(--herba-green)!important;
  border-color:var(--herba-green)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:-.01em!important;
}

.sinn-login-body input:not([type="checkbox"]):not([type="radio"]){
  height:40px!important;
}

/* Responsivo */
@media (max-width: 1024px){
  .sinn-page-header-inner{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  .crm-main-tabs,
  .crm-top-tabs{
    justify-content:flex-start!important;
  }

  .crm-main-tabs a.crm-tab-link,
  .crm-top-tabs a.crm-tab-link{
    min-width:auto!important;
    flex:1 1 130px!important;
  }
}

@media (max-width: 768px){
  body.sinn-app-body{ font-size:13px!important; }

  .sinn-main-content main .fit-page-shell,
  .fit-page-shell{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .sinn-page-header-content h1,
  .sinn-page-header-content h2{
    font-size:24px!important;
  }

  .sinn-main-content main .p-6,
  .sinn-main-content main .p-5,
  .sinn-main-content main .p-4{
    padding:14px!important;
  }

  .sinn-main-content main .grid{
    gap:12px!important;
  }

  .sinn-main-content main button[type="submit"],
  .sinn-main-content main button[type="button"],
  .sinn-main-content main a.fit-btn-primary,
  .sinn-main-content main a.fit-btn-secondary,
  .sinn-main-content main a.fit-btn-soft{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }

  .sinn-crm-page .herba-followup-stat{
    min-height:66px!important;
    padding:11px 12px!important;
  }

  .sinn-crm-page .herba-followup-stat > span{
    width:34px!important;
    height:34px!important;
  }
}

@media (max-width: 560px){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  .fit-form-input,
  .fit-soft-input,
  .sinn-input{
    height:38px!important;
    min-height:38px!important;
  }

  .crm-filter-actions,
  .crm-filter-actions-v2,
  .crm-filter-quick{
    width:100%!important;
  }

  .crm-filter-actions > *,
  .crm-filter-actions-v2 > *{
    flex:1 1 calc(50% - 8px)!important;
  }

  .crm-main-tabs a.crm-tab-link,
  .crm-top-tabs a.crm-tab-link{
    flex:1 1 100%!important;
  }
}
