/* HerbaSinn - Patch visual completo | 2026-06-29 */
:root {
    --herba-green-primary: #6FC22E;
    --herba-green-secondary: #7CC242;
    --herba-green-dark: #3F7A45;
    --herba-green-deep: #326F3C;
    --herba-gray-bg: #F3F4F1;
    --herba-gray-surface: #FFFFFF;
    --herba-gray-soft: #E3E3E3;
    --herba-gray-border: #CFCFCF;
    --herba-gray-text: #575757;
    --herba-charcoal: #454545;
    --herba-white: #FFFFFF;

    --sinn-black: #454545;
    --sinn-navy: #3F7A45;
    --sinn-blue: #6FC22E;
    --sinn-gold: #7CC242;
    --sinn-light: #F3F4F1;
}

html, body {
    font-family: Roboto, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    color: var(--herba-gray-text);
}

body.sinn-app-body,
body.sinn-login-body {
    background: var(--herba-gray-bg) !important;
}

/* base surfaces */
.fit-page-shell,
.sinn-page-header-inner,
.sinn-page-header-content,
main,
.sinn-login-screen,
.sinn-login-panel,
.fit-card,
.fit-glass,
.sinn-panel,
.sinn-profile-card,
.fit-table-wrap,
.sinn-card,
.sinn-list-card,
.sinn-summary-card {
    color: var(--herba-gray-text) !important;
}

.fit-card,
.fit-glass,
.sinn-panel,
.sinn-profile-card,
.fit-table-wrap,
.sinn-table-card,
.sinn-form-card,
.sinn-dashboard-card,
.sinn-login-panel {
    background: var(--herba-gray-surface) !important;
    border: 1px solid var(--herba-gray-border) !important;
    box-shadow: 0 10px 24px rgba(63, 122, 69, 0.08) !important;
}

/* branding */
.fit-sidebar-brand-shell {
    border-color: rgba(111, 194, 46, 0.22) !important;
    background: transparent !important;
}

.fit-sidebar-brand {
    background: var(--herba-white) !important;
    border: 1px solid rgba(111, 194, 46, 0.28) !important;
    box-shadow: 0 14px 32px rgba(63, 122, 69, 0.14) !important;
    padding: .9rem 1.1rem !important;
}

.fit-sidebar-brand-logo {
    width: clamp(8rem, 86%, 13rem) !important;
    filter: none !important;
}

.sinn-page-transition-logo {
    width: min(260px, 60vw) !important;
    filter: none !important;
}

/* sidebar */
.sinn-sidebar-panel,
.sinn-mobile-topbar {
    background: var(--herba-green-dark) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.sinn-sidebar-user-card > div,
.sinn-sidebar-user-card .rounded-2xl {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(255,255,255,0.15) !important;
}

.sinn-sidebar-user-card .text-\[\#E8EEF9\],
.sinn-sidebar-user-card .text-\[\#E8EEF9\]\/60,
.sinn-sidebar-user-card .text-\[\#D4AF37\],
.sinn-sidebar-user-card .text-xs,
.sinn-sidebar-user-card .text-sm {
    color: #fff !important;
}

.sinn-sidebar-user-card .bg-\[\#D4AF37\],
aside .rounded-lg.bg-\[\#D4AF37\],
aside .rounded-lg.bg-\[\#D4AF37\].text-\[\#07070B\] {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.15) !important;
}

.sinn-sidebar-user-card .bg-\[\#D4AF37\]\/10,
.sinn-sidebar-user-card .ring-\[\#D4AF37\]\/20,
aside .bg-\[\#D4AF37\]\/10,
aside .ring-\[\#D4AF37\]\/20 {
    background: rgba(111, 194, 46, 0.18) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}

.sinn-sidebar-user-card .bg-\[\#1B3A6B\]\/60,
aside .bg-\[\#1B3A6B\]\/60 {
    background: rgba(255,255,255,0.14) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.14) !important;
}

.fit-sidebar-link {
    color: rgba(255,255,255,.88) !important;
    border-radius: 16px !important;
}

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

.fit-sidebar-link-active {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(0,0,0,.16) !important;
}

.fit-sidebar-icon,
.fit-sidebar-link .fit-sidebar-icon {
    background: rgba(255,255,255,0.14) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #fff !important;
}

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

/* headers */
header[class*="border-b"],
header.relative.z-30 {
    background: rgba(255,255,255,0.92) !important;
    border-color: var(--herba-gray-border) !important;
}

.sinn-mobile-topbar .sinn-mobile-logo,
.sinn-mobile-topbar a,
.sinn-mobile-topbar button {
    color: #fff !important;
}

.sinn-mobile-topbar button {
    border-color: rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.12) !important;
}

/* buttons */
.fit-btn-primary,
button.fit-btn-primary,
a.fit-btn-primary,
[class*="bg-emerald-700"],
[class*="bg-[#1B3A6B]"] {
    background: var(--herba-green-primary) !important;
    border-color: var(--herba-green-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.fit-btn-primary:hover,
button.fit-btn-primary:hover,
a.fit-btn-primary:hover,
[class*="hover:bg-emerald-800"]:hover,
.hover\:bg-\[\#1B3A6B\]:hover {
    background: var(--herba-green-dark) !important;
    border-color: var(--herba-green-dark) !important;
    color: #fff !important;
}

.fit-btn-secondary,
button.fit-btn-secondary,
a.fit-btn-secondary,
.bg-\[\#D4AF37\],
.hover\:bg-\[\#D4AF37\]:hover,
.text-\[\#D4AF37\] {
    background: var(--herba-green-secondary) !important;
    border-color: var(--herba-green-secondary) !important;
    color: #fff !important;
}

.fit-btn-secondary:hover,
button.fit-btn-secondary:hover,
a.fit-btn-secondary:hover {
    background: var(--herba-green-dark) !important;
    border-color: var(--herba-green-dark) !important;
}

.fit-btn-soft,
a.fit-btn-soft,
button.fit-btn-soft,
.bg-emerald-50,
.bg-emerald-100,
.bg-slate-50,
.bg-slate-100 {
    background: rgba(111, 194, 46, 0.10) !important;
    border-color: rgba(111, 194, 46, 0.22) !important;
    color: var(--herba-green-dark) !important;
    box-shadow: none !important;
}

.fit-btn-soft:hover,
a.fit-btn-soft:hover,
button.fit-btn-soft:hover {
    background: rgba(111, 194, 46, 0.18) !important;
    color: var(--herba-green-dark) !important;
}

/* forms */
.fit-form-label,
.sinn-label,
label,
.fit-section-title,
.sinn-section-title,
.sinn-form-title,
h1,h2,h3,h4,h5 {
    color: var(--herba-charcoal) !important;
}

input,
select,
textarea,
.fit-form-input,
.fit-soft-input,
.sinn-input,
.sinn-select,
.sinn-textarea,
[x-data] input,
[x-data] select,
[x-data] textarea {
    background: #fff !important;
    border: 1px solid var(--herba-gray-border) !important;
    color: var(--herba-gray-text) !important;
    border-radius: 14px !important;
    min-height: 44px;
    box-shadow: none !important;
}

input::placeholder,
textarea::placeholder,
select::placeholder {
    color: #8D8D8D !important;
}

input:focus,
select:focus,
textarea:focus,
.fit-form-input:focus,
.fit-soft-input:focus,
.sinn-input:focus {
    border-color: var(--herba-green-primary) !important;
    box-shadow: 0 0 0 4px rgba(111, 194, 46, 0.16) !important;
    outline: none !important;
}

.flatpickr-calendar,
.flatpickr-alt-input {
    border-color: var(--herba-gray-border) !important;
}

/* tables, filters and badges */
.fit-table thead,
.sinn-table thead,
.bg-\[\#E8EEF9\],
.bg-slate-200 {
    background: #F7F8F5 !important;
    color: var(--herba-charcoal) !important;
}

.fit-table td,
.fit-table th,
.sinn-badge,
.sinn-filter-chip,
.sinn-period-chip,
.crm-top-tabs a,
.text-emerald-700,
.text-emerald-800,
.text-lime-600,
.text-lime-700,
.text-teal-600,
.text-teal-700,
.text-\[\#1B3A6B\] {
    color: var(--herba-green-dark) !important;
}

.sinn-badge,
.sinn-filter-chip,
.sinn-period-chip,
.crm-top-tabs a {
    border-color: rgba(111, 194, 46, 0.22) !important;
    background: #fff !important;
}

.sinn-filter-chip-active,
.crm-top-tabs a.bg-\[\#1B3A6B\],
.crm-top-tabs a[class*="bg-[#1B3A6B]"] {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
    border-color: var(--herba-green-primary) !important;
    box-shadow: none !important;
}

.fit-badge-success {
    background: rgba(111, 194, 46, 0.12) !important;
    color: var(--herba-green-dark) !important;
    border-color: rgba(111, 194, 46, 0.18) !important;
}

.fit-badge-warning {
    background: rgba(124, 194, 66, 0.14) !important;
    color: var(--herba-green-dark) !important;
    border-color: rgba(124, 194, 66, 0.18) !important;
}

.fit-badge-danger {
    background: rgba(239, 68, 68, 0.10) !important;
    color: #C0392B !important;
    border-color: rgba(239, 68, 68, 0.16) !important;
}

/* toasts and alerts */
.fit-toast,
.fit-alert,
[class*="alert"],
[class*="toast"] {
    border-radius: 18px !important;
}

.fit-toast-success,
.fit-alert-success {
    background: #F6FCF2 !important;
    color: var(--herba-green-dark) !important;
    border-color: rgba(111, 194, 46, 0.20) !important;
}

.fit-toast-danger,
.fit-alert-danger {
    background: #FFF5F5 !important;
    color: #C0392B !important;
    border-color: rgba(239, 68, 68, 0.18) !important;
}

/* login */
.sinn-login-grid-canvas,
.sinn-login-grid-shade,
.sinn-login-motion-lines {
    display: none !important;
}

.sinn-login-screen {
    background: var(--herba-gray-bg) !important;
}

.sinn-login-logo-card {
    background: var(--herba-white) !important;
    border: 1px solid rgba(111, 194, 46, 0.22) !important;
    box-shadow: 0 16px 34px rgba(63, 122, 69, 0.14) !important;
}

.sinn-login-kicker {
    color: var(--herba-green-dark) !important;
}

.sinn-login-subtitle {
    color: var(--herba-gray-text) !important;
}

/* loaders and transition */
.sinn-page-transition,
.fit-global-loader {
    background: rgba(243, 244, 241, 0.92) !important;
    backdrop-filter: blur(6px);
}

.sinn-page-transition-card,
.fit-loader-container {
    background: #fff !important;
    border: 1px solid rgba(111, 194, 46, 0.20) !important;
    box-shadow: 0 18px 42px rgba(63, 122, 69, 0.14) !important;
    border-radius: 28px !important;
    animation: none !important;
}

.fit-global-loader .fit-loader-text,
.fit-loader-text,
.fit-loader-text-f,
.fit-loader-text-i,
.fit-loader-text-t,
.fit-loader-text-j,
.fit-loader-text-dot {
    color: var(--herba-green-dark) !important;
}

/* force generic blue/yellow legacy leftovers into identity */
.text-blue-500,.text-blue-600,.text-blue-700,
.text-indigo-500,.text-indigo-600,.text-indigo-700,
.text-cyan-500,.text-cyan-600,.text-cyan-700,
.text-yellow-500,.text-yellow-600,.text-yellow-700,
.text-amber-500,.text-amber-600,.text-amber-700 {
    color: var(--herba-green-dark) !important;
}

.bg-blue-500,.bg-blue-600,.bg-blue-700,
.bg-indigo-500,.bg-indigo-600,.bg-indigo-700,
.bg-cyan-500,.bg-cyan-600,.bg-cyan-700,
.bg-yellow-500,.bg-yellow-600,.bg-yellow-700,
.bg-amber-500,.bg-amber-600,.bg-amber-700 {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
}

.border-blue-500,.border-blue-600,.border-blue-700,
.border-indigo-500,.border-indigo-600,.border-indigo-700,
.border-yellow-500,.border-yellow-600,.border-yellow-700,
.border-amber-500,.border-amber-600,.border-amber-700 {
    border-color: rgba(111, 194, 46, 0.25) !important;
}

/* helpers */
.herba-production-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.herba-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .35rem .75rem;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: rgba(111, 194, 46, .10);
    color: var(--herba-green-dark);
    border: 1px solid rgba(111, 194, 46, .18);
}

.herba-recipe-card {
    border-radius: 1.25rem;
    border: 1px solid var(--herba-gray-border);
    background: #fff;
    padding: 1rem;
    box-shadow: 0 10px 22px rgba(63, 122, 69, .08);
}

/* === HerbaSinn visual patch v2 | login com folhas e vento === */
:root {
    --herba-green-primary: #6FC22E;
    --herba-green-secondary: #7CC242;
    --herba-green-dark: #3F7A45;
    --herba-green-deep: #2F683A;
    --herba-gray-bg: #F3F4F1;
    --herba-gray-surface: #FFFFFF;
    --herba-gray-soft: #E3E3E3;
    --herba-gray-border: #CFCFCF;
    --herba-gray-text: #575757;
    --herba-charcoal: #454545;
    --herba-white: #FFFFFF;
}

body.sinn-app-body,
body.sinn-login-body {
    background: linear-gradient(180deg, #f7f8f5 0%, #eef4e7 100%) !important;
    color: var(--herba-gray-text) !important;
}

/* superfícies e tipografia */
body.sinn-app-body .text-slate-900,
body.sinn-login-body .text-slate-900,
body.sinn-app-body .text-gray-600,
body.sinn-login-body .text-gray-600,
body.sinn-app-body .text-gray-700,
body.sinn-login-body .text-gray-700 {
    color: var(--herba-gray-text) !important;
}

.fit-card,
.fit-glass,
.sinn-panel,
.sinn-profile-card,
.fit-table-wrap,
.sinn-table-card,
.sinn-form-card,
.sinn-dashboard-card,
.sinn-login-panel,
.modal-panel,
[x-data] .rounded-2xl.bg-white,
[x-data] .rounded-3xl.bg-white {
    background: #fff !important;
    border: 1px solid var(--herba-gray-border) !important;
    box-shadow: 0 14px 34px rgba(63, 122, 69, 0.08) !important;
}

/* sidebar, topbar e header */
.sinn-sidebar-panel,
.sinn-mobile-topbar {
    background: var(--herba-green-dark) !important;
    border-color: rgba(255,255,255,0.12) !important;
}

.sinn-sidebar-panel .fit-btn-secondary,
.sinn-sidebar-panel .fit-btn-soft {
    min-height: 42px;
}

.sinn-sidebar-collapse-toggle {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.16) !important;
}

header[class*="border-b"],
header.relative.z-30 {
    background: rgba(255,255,255,0.96) !important;
    border-color: rgba(63,122,69,.12) !important;
}

.sinn-page-header-content h1,
.sinn-page-header-content h2,
.sinn-page-header-content p,
.sinn-page-header-content .text-slate-500,
.sinn-page-header-content .text-slate-600 {
    color: var(--herba-charcoal) !important;
}

/* botões sólidos */
button,
a,
input,
select,
textarea {
    transition: .18s ease !important;
}

.fit-btn-primary,
button.fit-btn-primary,
a.fit-btn-primary,
button[type="submit"].bg-emerald-700,
a.bg-emerald-700 {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
    border: 1px solid var(--herba-green-primary) !important;
    border-radius: 14px !important;
}

.fit-btn-primary:hover,
button.fit-btn-primary:hover,
a.fit-btn-primary:hover,
button[type="submit"].bg-emerald-700:hover,
a.bg-emerald-700:hover {
    background: var(--herba-green-dark) !important;
    border-color: var(--herba-green-dark) !important;
}

.fit-btn-secondary,
button.fit-btn-secondary,
a.fit-btn-secondary {
    background: rgba(111,194,46,.12) !important;
    color: var(--herba-green-dark) !important;
    border: 1px solid rgba(111,194,46,.22) !important;
    border-radius: 14px !important;
}

.fit-btn-secondary:hover,
button.fit-btn-secondary:hover,
a.fit-btn-secondary:hover {
    background: rgba(111,194,46,.18) !important;
    color: var(--herba-green-dark) !important;
    border-color: rgba(111,194,46,.28) !important;
}

.fit-btn-soft,
button.fit-btn-soft,
a.fit-btn-soft {
    background: #fff !important;
    color: var(--herba-green-dark) !important;
    border: 1px solid var(--herba-gray-border) !important;
    border-radius: 14px !important;
}

.fit-btn-soft:hover,
button.fit-btn-soft:hover,
a.fit-btn-soft:hover {
    background: #f9fcf6 !important;
    border-color: rgba(111,194,46,.28) !important;
}

/* inputs e formulários */
input,
select,
textarea,
.fit-form-input,
.fit-soft-input,
.sinn-input,
.sinn-select,
.sinn-textarea,
input[type="email"],
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"] {
    background: #fff !important;
    color: var(--herba-charcoal) !important;
    border: 1px solid var(--herba-gray-border) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

input:hover,
select:hover,
textarea:hover {
    border-color: rgba(111,194,46,.26) !important;
}

input:focus,
select:focus,
textarea:focus,
.fit-form-input:focus,
.fit-soft-input:focus,
.sinn-input:focus,
.sinn-select:focus,
.sinn-textarea:focus {
    border-color: var(--herba-green-primary) !important;
    box-shadow: 0 0 0 4px rgba(111,194,46,.15) !important;
    outline: none !important;
}

label,
.fit-form-label,
.sinn-label,
.block.text-sm.font-medium,
.text-sm.font-medium {
    color: var(--herba-charcoal) !important;
}

/* links e ícones */
a.text-emerald-700,
a.text-emerald-800,
.text-blue-600,
.text-blue-700,
.text-yellow-600,
.text-yellow-700,
.text-amber-600,
.text-amber-700 {
    color: var(--herba-green-dark) !important;
}

/* tabelas e chips */
.fit-table thead,
.sinn-table thead,
.crm-top-tabs,
.sinn-period-chip,
.sinn-filter-chip {
    background: #f7f8f5 !important;
}

.crm-top-tabs a,
.sinn-period-chip,
.sinn-filter-chip {
    color: var(--herba-green-dark) !important;
    border-color: rgba(111,194,46,.20) !important;
}

.crm-top-tabs a[class*="bg-"],
.sinn-filter-chip-active,
.sinn-period-chip-active {
    background: var(--herba-green-primary) !important;
    color: #fff !important;
    border-color: var(--herba-green-primary) !important;
}

/* loading / transição */
.sinn-page-transition,
.fit-global-loader {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(243,244,241,.82) !important;
    backdrop-filter: blur(8px) !important;
}

.sinn-page-transition-card {
    display: grid !important;
    place-items: center !important;
    width: min(20rem, 78vw) !important;
    min-height: 12rem !important;
    background: #fff !important;
    border: 1px solid rgba(111,194,46,.22) !important;
    border-radius: 2rem !important;
    box-shadow: 0 20px 48px rgba(63, 122, 69, 0.14) !important;
}

.sinn-page-transition-card::after {
    content: 'Carregando...';
    display: block;
    margin-top: .85rem;
    color: var(--herba-green-dark);
    font-size: .94rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.sinn-page-transition-logo {
    width: min(240px, 70vw) !important;
    max-height: 92px !important;
    object-fit: contain !important;
}

.fit-loader-container {
    width: min(20rem, 82vw) !important;
    height: auto !important;
    padding: 1.75rem 1.25rem !important;
    display: grid !important;
    place-items: center !important;
}

.fit-loader-text,
.fit-loader-text-f,
.fit-loader-text-i,
.fit-loader-text-t,
.fit-loader-text-j,
.fit-loader-text-dot {
    position: static !important;
    font-size: clamp(2.4rem, 7vw, 4.2rem) !important;
    line-height: 1 !important;
    color: var(--herba-green-dark) !important;
    animation: none !important;
}

/* login: folhas e vento */
.herba-login-screen {
    position: relative;
    overflow: hidden;
}

.herba-login-decor {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.herba-login-decor::before,
.herba-login-decor::after {
    content: '';
    position: absolute;
    border-radius: 999px;
    filter: blur(1px);
}

.herba-login-decor::before {
    width: 28rem;
    height: 28rem;
    right: -8rem;
    top: -6rem;
    background: radial-gradient(circle, rgba(111,194,46,.18) 0%, rgba(111,194,46,0) 68%);
}

.herba-login-decor::after {
    width: 24rem;
    height: 24rem;
    left: -8rem;
    bottom: -7rem;
    background: radial-gradient(circle, rgba(124,194,66,.15) 0%, rgba(124,194,66,0) 70%);
}

.herba-login-brand,
.herba-login-panel {
    position: relative;
    z-index: 1;
}

.herba-login-logo-card {
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(111,194,46,.22) !important;
    box-shadow: 0 18px 42px rgba(63,122,69,.12) !important;
}

.herba-login-title {
    max-width: 42rem;
    color: var(--herba-charcoal);
    font-size: clamp(1.55rem, 2vw, 2.25rem);
    font-weight: 900;
    line-height: 1.1;
}

.herba-login-subtitle {
    color: var(--herba-gray-text) !important;
    line-height: 1.6;
}

.herba-login-panel {
    background: rgba(255,255,255,.94) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(111,194,46,.20) !important;
    box-shadow: 0 18px 48px rgba(63,122,69,.12) !important;
}

.herba-login-panel form {
    position: relative;
    z-index: 1;
}

.herba-leaf,
.herba-wind,
.herba-bubble {
    position: absolute;
    display: block;
    opacity: .9;
}

.herba-leaf {
    width: 46px;
    height: 68px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 96'%3E%3Cpath fill='%233F7A45' d='M57.3 6.8c-18.9 6.3-34.6 18.2-43.4 35.6C5.8 58.3 5.7 76.1 7.5 89.4c13.3 1.3 31.1-.1 46-8.4C69.6 72.1 81.6 56.4 88 37.5 74.4 26 68.8 15.1 57.3 6.8Z' transform='translate(-16 0)'/%3E%3Cpath fill='none' stroke='%23FFFFFF' stroke-opacity='.8' stroke-width='3' d='M17 80c14-17 23-39 28-65M17 80c11-7 20-12 32-15' stroke-linecap='round'/%3E%3C/svg%3E");
    filter: drop-shadow(0 8px 16px rgba(63,122,69,.14));
}

.herba-leaf-1 { left: -6%; bottom: 9%; animation: herbaLeafBlow 18s 1s linear infinite; }
.herba-leaf-2 { left: -10%; bottom: 24%; width: 38px; height: 56px; opacity: .65; animation: herbaLeafBlow 14s linear infinite; }
.herba-leaf-3 { left: -8%; bottom: 4%; width: 62px; height: 92px; opacity: .45; animation: herbaLeafBlow 22s 4s linear infinite; }
.herba-leaf-4 { right: -8%; top: 20%; width: 54px; height: 80px; opacity: .25; transform: scaleX(-1); animation: herbaLeafDrift 19s 2s linear infinite; }
.herba-leaf-5 { right: -10%; top: 45%; width: 36px; height: 54px; opacity: .20; transform: scaleX(-1); animation: herbaLeafDrift 15s linear infinite; }

.herba-wind {
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(111,194,46,0), rgba(111,194,46,.22), rgba(111,194,46,0));
    filter: blur(.2px);
}

.herba-wind-1 { left: -20%; top: 26%; width: 32%; animation: herbaWind 8s linear infinite; }
.herba-wind-2 { left: -18%; top: 49%; width: 38%; animation: herbaWind 11s 2s linear infinite; }
.herba-wind-3 { left: -12%; top: 72%; width: 28%; animation: herbaWind 9s 1.2s linear infinite; }

.herba-bubble {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(111,194,46,.12);
    box-shadow: 0 0 0 10px rgba(111,194,46,.04);
}

.herba-bubble-1 { right: 18%; bottom: 24%; animation: herbaBubble 8s ease-in-out infinite; }
.herba-bubble-2 { left: 14%; top: 18%; width: 14px; height: 14px; animation: herbaBubble 10s 1s ease-in-out infinite; }

@keyframes herbaLeafBlow {
    0% { transform: translate(0,0) rotate(0deg); }
    25% { transform: translate(22vw,-5vh) rotate(145deg); }
    65% { transform: translate(62vw,-10vh) rotate(520deg); }
    100% { transform: translate(108vw,-18vh) rotate(880deg); }
}

@keyframes herbaLeafDrift {
    0% { transform: translate(0,0) scaleX(-1) rotate(0deg); }
    50% { transform: translate(-40vw,14vh) scaleX(-1) rotate(-320deg); }
    100% { transform: translate(-92vw,28vh) scaleX(-1) rotate(-670deg); }
}

@keyframes herbaWind {
    0% { transform: translateX(0) translateY(0); opacity: 0; }
    15% { opacity: .95; }
    50% { transform: translateX(62vw) translateY(-4px); opacity: .65; }
    100% { transform: translateX(120vw) translateY(-10px); opacity: 0; }
}

@keyframes herbaBubble {
    0%,100% { transform: translateY(0) scale(1); opacity: .4; }
    50% { transform: translateY(-14px) scale(1.12); opacity: .8; }
}

@media (max-width: 768px) {
    .herba-login-title {
        font-size: 1.5rem;
    }

    .herba-login-panel {
        padding: 1.35rem !important;
    }

    .herba-leaf-3,
    .herba-leaf-4,
    .herba-leaf-5,
    .herba-wind-3,
    .herba-bubble-2 {
        display: none;
    }
}


/* === HerbaSinn hotfix fonte Manrope + loading somente na entrada | 2026-06-29e === */
html,
body,
button,
input,
select,
textarea,
optgroup,
option,
label,
table,
.modal-panel,
.fit-card,
.fit-glass,
.sinn-panel,
.sinn-login-panel {
    font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-optical-sizing: auto;
}

body.sinn-app-body,
body.sinn-login-body {
    font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Loading só na entrada: estado base oculto, JS exibe por ~200ms após carregar */
#sinn-page-transition.sinn-page-transition {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 140ms ease, visibility 140ms ease !important;
}

#sinn-page-transition.sinn-page-transition.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#sinn-page-transition.sinn-page-transition.is-fading {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

#sinn-page-transition .sinn-page-transition-card {
    transform: scale(1) !important;
    opacity: 1 !important;
    animation: none !important;
}

#sinn-page-transition.is-fading .sinn-page-transition-card {
    transform: scale(.985) !important;
    opacity: .92 !important;
}


/* === HerbaSinn hotfix loading sem flicker | 2026-06-29f === */
/* O loading agora nasce visível no HTML e apenas some; não é mais exibido depois do conteúdo. */
#sinn-page-transition.sinn-page-transition.herba-entry-loader {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#sinn-page-transition.sinn-page-transition:not(.is-visible) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

#sinn-page-transition.sinn-page-transition.is-visible:not(.is-fading) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#sinn-page-transition.sinn-page-transition.is-fading {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* === HerbaSinn CRM canais, temperatura e etiquetas | 2026-06-29g === */
.herba-crm-chip {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    border-radius: 999px;
    padding: .22rem .55rem;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .015em;
    border: 1px solid rgba(111, 194, 46, .20);
    background: #fff;
    color: var(--herba-green-dark, #3F7A45);
}

.herba-crm-chip svg,
.herba-crm-chip i {
    width: .72rem;
    height: .72rem;
}

.herba-crm-chip-channel {
    background: rgba(111, 194, 46, .10);
    border-color: rgba(111, 194, 46, .22);
    color: var(--herba-green-dark, #3F7A45);
}

.herba-crm-chip-tag {
    background: #F7F8F5;
    border-color: rgba(87, 87, 87, .12);
    color: #575757;
}

.herba-temp-cold {
    background: rgba(87, 87, 87, .08);
    border-color: rgba(87, 87, 87, .14);
    color: #575757;
}

.herba-temp-warm {
    background: rgba(124, 194, 66, .14);
    border-color: rgba(124, 194, 66, .22);
    color: #3F7A45;
}

.herba-temp-hot {
    background: rgba(111, 194, 46, .20);
    border-color: rgba(111, 194, 46, .32);
    color: #2F683A;
}

.herba-temp-vip {
    background: #3F7A45;
    border-color: #3F7A45;
    color: #fff;
}

.sinn-crm-mini-card .herba-crm-chip {
    max-width: 100%;
}

/* === HerbaSinn Caixa Diário | 2026-06-29 === */
.herba-caixa-card {
    border: 1px solid rgba(111, 194, 46, .18);
    border-radius: 1.35rem;
    background: #fff;
    padding: 1.15rem;
    box-shadow: 0 14px 30px rgba(63, 122, 69, .08);
}

.herba-caixa-card span {
    display: block;
    color: #6b7280;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.herba-caixa-card strong {
    display: block;
    margin-top: .35rem;
    color: var(--herba-charcoal, #454545);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    font-weight: 900;
    line-height: 1.1;
}

.herba-caixa-card small {
    display: block;
    margin-top: .35rem;
    color: #6b7280;
    font-size: .78rem;
    font-weight: 700;
}

.herba-caixa-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(207, 207, 207, .72);
    border-radius: 1rem;
    background: #fff;
    padding: .9rem 1rem;
}

.herba-caixa-row span {
    color: #6b7280;
    font-size: .86rem;
    font-weight: 800;
}

.herba-caixa-row strong {
    color: var(--herba-charcoal, #454545);
    font-weight: 900;
    white-space: nowrap;
}

.herba-caixa-row.is-main {
    border-color: rgba(111, 194, 46, .28);
    background: rgba(111, 194, 46, .08);
}

.herba-caixa-row.is-main strong {
    color: var(--herba-green-dark, #3F7A45);
}

/* === HerbaSinn CRM Follow-up Operacional | 2026-06-29 === */
.herba-followup-grid {
    align-items: stretch;
}

.herba-followup-panel {
    border-color: rgba(111, 194, 46, .22) !important;
}

.herba-followup-stat {
    display: flex;
    min-height: 112px;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 22px;
    border: 1px solid rgba(207, 207, 207, .78);
    background: #fff;
    padding: 1rem;
    color: var(--herba-charcoal);
    box-shadow: 0 10px 22px rgba(63, 122, 69, .07);
}

.herba-followup-stat:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 194, 46, .34);
    box-shadow: 0 16px 32px rgba(63, 122, 69, .11);
}

.herba-followup-stat span {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
}

.herba-followup-stat strong {
    display: block;
    margin-top: .75rem;
    color: var(--herba-charcoal);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1;
}

.herba-followup-stat small {
    display: block;
    margin-top: .25rem;
    color: var(--herba-gray-text);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.herba-followup-danger span { background: #D64545; }
.herba-followup-today span { background: var(--herba-green-primary); }
.herba-followup-muted span { background: #777; }
.herba-followup-ok span { background: var(--herba-green-dark); }

.herba-followup-row {
    display: flex;
    align-items: center;
    gap: .85rem;
    border-radius: 18px;
    border: 1px solid rgba(207, 207, 207, .78);
    background: #fff;
    padding: .85rem;
    color: var(--herba-charcoal);
}

.herba-followup-row:hover {
    transform: translateX(2px);
    border-color: rgba(111, 194, 46, .30);
    background: #FBFDF8;
}

.herba-followup-row-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
}

.herba-followup-row strong {
    display: block;
    color: var(--herba-charcoal);
    font-size: .9rem;
    font-weight: 900;
}

.herba-followup-row small {
    display: block;
    margin-top: .15rem;
    color: var(--herba-gray-text);
    font-size: .75rem;
    font-weight: 700;
}

.herba-followup-row-danger .herba-followup-row-icon { background: #D64545; }
.herba-followup-row-today .herba-followup-row-icon { background: var(--herba-green-primary); }
.herba-followup-row-ok .herba-followup-row-icon { background: var(--herba-green-dark); }

.herba-next-contact-box {
    border-color: rgba(111, 194, 46, .22) !important;
    background: rgba(111, 194, 46, .07) !important;
}
