/* ── Nata do Campo — Theme System ────────────────────────────────────────── */
@font-face{font-family:'Caros';src:url('../assets/nata-do-campo/fonts/caros-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Caros';src:url('../assets/nata-do-campo/fonts/caros-medium.otf') format('opentype');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Caros';src:url('../assets/nata-do-campo/fonts/caros-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Caros';src:url('../assets/nata-do-campo/fonts/caros-extrabold.otf') format('opentype');font-weight:800 900;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}

:root {
  --bg:      #f5f7fa;
  --card:    #ffffff;
  --card2:   #f8fbfe;
  --border:  #e5eaf0;
  --text:    #2e3440;
  --muted:   #5b6470;
  --blue:    #177bc1;
  --green:   #177bc1;
  --yellow:  #d8a21b;
  --orange:  #c96f2d;
  --red:     #d94d3f;
  --purple:  #7f6bb2;
  --silver:  #e5eaf0;
  --radius:  10px;
  --sidebar: 240px;
  --sidebar-collapsed: 76px;
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Caros',system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6;min-height:100vh}

/* ── Layout ──────────────────────────────────────────────────────────────────*/
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow-y:auto;overflow-x:hidden;box-shadow:12px 0 32px rgba(13,92,153,.08);transition:width .28s ease,box-shadow .28s ease}
.sidebar::before{content:"";position:absolute;inset:0 0 auto;height:170px;background:linear-gradient(180deg,rgba(23,123,193,.08),transparent 68%);pointer-events:none;animation:sidebarGlow 12s ease-in-out infinite alternate}
.sidebar::after{content:"";position:absolute;inset:-80px -90px;background:
  radial-gradient(95px 36px at 18px 120px,rgba(23,123,193,.08) 0%,rgba(23,123,193,.05) 38%,transparent 72%),
  radial-gradient(120px 44px at 96px 176px,rgba(77,163,221,.10) 0%,rgba(77,163,221,.06) 42%,transparent 74%),
  radial-gradient(110px 40px at 36px 234px,rgba(229,234,240,.18) 0%,rgba(229,234,240,.10) 36%,transparent 72%);
  background-size:170px 230px;
  opacity:.55;
  filter:blur(1px);
  pointer-events:none;
  animation:sidebarWaveFlow 26s linear infinite}
.main-content{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .28s ease}
.page-body{padding:0;flex:1}

/* ── Sidebar ─────────────────────────────────────────────────────────────────*/
.sidebar-brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 14px 14px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);transition:padding .28s ease}
.sidebar-brand-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0}
.sidebar-brand-logo{width:166px;max-width:100%;height:auto;display:block;object-fit:contain;transition:width .28s ease,opacity .2s ease,transform .28s ease}
.sidebar-brand-mark{display:none;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}
.sidebar-brand span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;transition:opacity .18s ease,transform .28s ease}
.sidebar-toggle{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.sidebar-toggle:hover{background:rgba(23,123,193,.08);border-color:rgba(23,123,193,.28);color:var(--blue);transform:translateY(-1px)}
.sidebar-brand i{color:var(--green);font-size:18px}
.sidebar-nav{position:relative;list-style:none;padding:14px 10px;margin:0;flex:1}
.sidebar-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:12px 12px 6px;opacity:.62;white-space:nowrap;transition:opacity .18s ease,transform .28s ease}
.sidebar-item{position:relative;margin-bottom:4px;list-style:none}
.sidebar-item::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:999px;background:var(--blue);opacity:0;transform:scaleY(.4);transition:opacity .18s ease,transform .22s ease}
.sidebar-item.active::before{opacity:1;transform:scaleY(1)}
.sidebar-link{position:relative;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.sidebar-link::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}
.sidebar-link:hover{background:rgba(23,123,193,.08);color:var(--text);transform:translateX(4px)}
.sidebar-link:hover::after{transform:translateX(120%)}
.sidebar-link:hover i{color:var(--blue);transform:scale(1.08)}
.sidebar-item.active .sidebar-link{background:linear-gradient(90deg,rgba(23,123,193,.14),rgba(77,163,221,.10));color:var(--text);box-shadow:inset 0 0 0 1px rgba(23,123,193,.18),0 10px 22px rgba(13,92,153,.07)}
.sidebar-item.active .sidebar-link i{color:var(--blue)}
.sidebar-link i{font-size:15px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;transition:color .18s ease,transform .18s ease,background .18s ease}
.sidebar-admin-block{padding:0 10px 8px}
.sidebar-divider{height:1px;background:var(--border);margin:0 0 8px}
.sidebar-admin-link{color:var(--muted)}
.sidebar-footer{padding:12px 10px;border-top:1px solid var(--border)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:4px;color:var(--text);font-size:12px;border-radius:9px;background:rgba(23,123,193,.04);transition:background .18s ease}
.sidebar-user:hover{background:rgba(23,123,193,.08)}
.sidebar-logout{color:var(--muted)!important}
.sidebar-logout:hover{color:var(--red)!important;background:rgba(239,68,68,.1)!important}

.sidebar-brand,
.sidebar-nav,
.sidebar-admin-block,
.sidebar-footer{position:relative;z-index:1}

@keyframes sidebarGlow{
  0%{opacity:.55;transform:translate3d(-8px,-8px,0) scale(.98)}
  100%{opacity:1;transform:translate3d(12px,8px,0) scale(1.08)}
}

@keyframes sidebarWaveFlow{
  0%{background-position:0 0,40px -18px,-28px 18px;transform:translate3d(0,0,0)}
  100%{background-position:0 230px,40px 212px,-28px 248px;transform:translate3d(0,0,0)}
}

@media (prefers-reduced-motion: reduce){
  .sidebar::before,
  .sidebar::after{animation:none}
}

[data-sidebar="collapsed"]{--sidebar:var(--sidebar-collapsed)}
[data-sidebar="collapsed"] .sidebar{box-shadow:10px 0 26px rgba(0,0,0,.18)}
[data-sidebar="collapsed"] .sidebar-brand{align-items:center;padding:10px;min-height:58px}
[data-sidebar="collapsed"] .sidebar-brand-top{justify-content:center}
[data-sidebar="collapsed"] .sidebar-brand-logo{display:none}
[data-sidebar="collapsed"] .sidebar-brand-mark{display:none}
[data-sidebar="collapsed"] .sidebar-brand span,
[data-sidebar="collapsed"] .sidebar-section-label,
[data-sidebar="collapsed"] .sidebar-user div{opacity:0;transform:translateX(-8px);pointer-events:none}
[data-sidebar="collapsed"] .sidebar-toggle{position:static;width:38px;height:38px;background:#fff}
[data-sidebar="collapsed"] .sidebar-nav{padding-left:9px;padding-right:9px}
[data-sidebar="collapsed"] .sidebar-link{width:48px;height:44px;padding:0;justify-content:center;gap:0;font-size:0}
[data-sidebar="collapsed"] .sidebar-link:hover{transform:translateX(0) scale(1.04)}
[data-sidebar="collapsed"] .sidebar-link i{width:24px;height:24px;font-size:16px}
[data-sidebar="collapsed"] .sidebar-admin-block{padding-left:9px;padding-right:9px}
[data-sidebar="collapsed"] .sidebar-footer{padding-left:9px;padding-right:9px}
[data-sidebar="collapsed"] .sidebar-user{display:none}

/* ── Topbar ──────────────────────────────────────────────────────────────────*/
.topbar{padding:10px 28px;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:0;z-index:90}

/* ── Page header (churn style) ───────────────────────────────────────────────*/
.page-header{background:linear-gradient(135deg,#ffffff 0%,#f5f7fa 58%,#eef7fd 100%);border-bottom:1px solid var(--border);padding:28px 28px 22px}
.page-heading{font-family:'Caros',system-ui,sans-serif;font-size:26px;font-weight:700;letter-spacing:0;margin-bottom:4px}
.page-heading span{color:var(--blue)}
.page-subhead{font-size:14px;color:var(--muted);margin-bottom:12px}
.page-badges{display:flex;gap:8px;flex-wrap:wrap}

/* Churn-style badges */
.bdg{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid}
.bdg-blue  {background:rgba(63,107,131,.18);color:#b6d2df;border-color:rgba(63,107,131,.36)}
.bdg-green {background:rgba(20,148,71,.18);color:#9de6b9;border-color:rgba(20,148,71,.36)}
.bdg-red   {background:rgba(217,77,63,.15);color:#f2aaa2;border-color:rgba(217,77,63,.3)}
.bdg-yellow{background:rgba(234,179,8,.15);color:#fde047;border-color:rgba(234,179,8,.3)}
.bdg-muted {background:rgba(148,163,184,.1);color:var(--muted);border-color:rgba(148,163,184,.2)}
.bdg-orange{background:rgba(249,115,22,.15);color:#fdba74;border-color:rgba(249,115,22,.3)}

/* ── Section ─────────────────────────────────────────────────────────────────*/
.page-section{padding:24px 28px 0}
.page-section:last-child{padding-bottom:28px}
.section-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.section-title::before{content:"";display:inline-block;width:3px;height:16px;background:var(--blue);border-radius:2px;flex-shrink:0}

/* ── Cards grid ──────────────────────────────────────────────────────────────*/
.cards5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1200px){.cards5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.cards5,.cards4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards5,.cards4,.cards3{grid-template-columns:1fr}}

/* Churn-style card */
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;border-top:3px solid;transition:transform .15s,box-shadow .15s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,92,153,.10)}
.stat-card.c-blue  {border-top-color:var(--blue)}
.stat-card.c-green {border-top-color:var(--green)}
.stat-card.c-red   {border-top-color:var(--red)}
.stat-card.c-yellow{border-top-color:var(--yellow)}
.stat-card.c-orange{border-top-color:var(--orange)}
.stat-card.c-purple{border-top-color:var(--purple)}
.stat-card.c-muted {border-top-color:var(--muted)}
.stat-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.stat-value{font-size:28px;font-weight:700;line-height:1.1;margin-bottom:2px;color:var(--text)}
.stat-sub{font-size:12px;color:var(--muted)}
.stat-divider{height:1px;background:var(--border);margin:10px 0}
.stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
.stat-row-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.stat-row-val{font-size:12px;font-weight:600;color:var(--text)}

/* ── Filter bar ──────────────────────────────────────────────────────────────*/
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;padding:16px 20px;background:var(--card2);border-radius:var(--radius);border:1px solid var(--border)}
.fg{display:flex;flex-direction:column;gap:5px}
.flabel{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.7px}

.filters select,
.filters input[type=text]{
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--text);
  font-family:inherit;
  font-size:13px;
  font-weight:500;
  padding:8px 34px 8px 12px;
  border-radius:7px;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  height:36px;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
}
.filters input[type=text]{padding:8px 12px;background-image:none}
.filters select:focus,.filters input[type=text]:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(20,148,71,.14)}
.filters select{min-width:140px;cursor:pointer}
.filters select option{background:var(--card)}
.filters input[type=text]{min-width:170px}
.btn-reset{padding:0 14px;height:36px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:7px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;align-self:flex-end}
.btn-reset:hover{background:rgba(239,68,68,.2)}

/* Count */
.cnt{font-size:12px;color:var(--muted);margin-bottom:10px}
.cnt span{color:var(--text);font-weight:600}

/* ── Bootstrap card overrides ────────────────────────────────────────────────*/
.card{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text)}
.card-header{background:var(--card2)!important;border-bottom:1px solid var(--border)!important;color:var(--text);padding:12px 16px}
.card-body{color:var(--text)}

/* ── Tables ──────────────────────────────────────────────────────────────────*/
.tbl-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}
.tbl-wrap table{margin-bottom:0;width:100%;border-collapse:collapse}

.table{color:var(--text)!important;--bs-table-bg:transparent;--bs-table-hover-bg:rgba(20,148,71,.06)}
.table thead th,.table-dark-green,.table-light{background:var(--card2)!important;color:var(--muted)!important;border-color:var(--border)!important}
.table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)!important;padding:10px 14px;border-bottom:1px solid var(--border)!important;white-space:nowrap;position:sticky;top:0;background:var(--card2)!important}

/* CONTRASTE: células com cor explícita */
.table td{padding:10px 14px;border-top:1px solid rgba(51,65,85,.5)!important;vertical-align:middle;color:var(--text)!important}
.table-hover tbody tr:hover td{background:rgba(20,148,71,.06)!important;color:var(--text)!important}
.table-danger-soft td{background:rgba(239,68,68,.05)!important}
.table-warning-soft td{background:rgba(234,179,8,.05)!important}
.table tr:nth-child(even) td{background:rgba(255,255,255,.018)}

/* ── Badges ──────────────────────────────────────────────────────────────────*/
.badge{font-size:11px;font-weight:600;letter-spacing:.3px;border-radius:999px;padding:3px 9px}
.score-badge{font-size:13px!important;font-weight:700!important;min-width:46px;text-align:center}

.bg-success {background:rgba(20,148,71,.18)!important;color:#9de6b9!important;border:1px solid rgba(20,148,71,.34)!important}
.bg-primary {background:rgba(63,107,131,.18)!important;color:#b6d2df!important;border:1px solid rgba(63,107,131,.34)!important}
.bg-danger  {background:rgba(239,68,68,.18)!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.3)!important}
.bg-warning {background:rgba(234,179,8,.18)!important;color:#fde047!important;border:1px solid rgba(234,179,8,.3)!important}
.bg-secondary{background:rgba(148,163,184,.12)!important;color:#cbd5e1!important;border:1px solid rgba(148,163,184,.2)!important}
.bg-info    {background:rgba(168,85,247,.18)!important;color:#d8b4fe!important;border:1px solid rgba(168,85,247,.3)!important}
.bg-orange  {background:rgba(249,115,22,.18)!important;color:#fdba74!important;border:1px solid rgba(249,115,22,.3)!important}
.bg-light   {background:rgba(148,163,184,.1)!important;color:#cbd5e1!important;border:1px solid var(--border)!important}
.bg-green   {background:rgba(20,148,71,.18)!important;color:#9de6b9!important;border:1px solid rgba(20,148,71,.34)!important}
.bg-blue    {background:rgba(63,107,131,.18)!important;color:#b6d2df!important;border:1px solid rgba(63,107,131,.34)!important}
.bg-success-subtle{background:rgba(20,148,71,.1)!important}
.bg-primary-subtle{background:rgba(63,107,131,.1)!important}

.text-success{color:#9de6b9!important}
.text-primary{color:#b6d2df!important}
.text-danger {color:#fca5a5!important}
.text-warning{color:#fde047!important}
.text-muted  {color:var(--muted)!important}
.text-dark   {color:var(--text)!important}
.text-green  {color:var(--green)!important}
.border-success{border-color:rgba(20,148,71,.42)!important}
.border-primary{border-color:rgba(63,107,131,.42)!important}
.border-4{border-width:3px!important}
.bg-green-soft {background:rgba(20,148,71,.15)}
.bg-blue-soft  {background:rgba(63,107,131,.15)}
.bg-red-soft   {background:rgba(239,68,68,.15)}
.bg-yellow-soft{background:rgba(234,179,8,.15)}

/* ── Misc Bootstrap ──────────────────────────────────────────────────────────*/
.alert{border-radius:8px;font-size:13px}
.breadcrumb-item{color:var(--muted);font-size:13px}
.breadcrumb-item.active{color:var(--text)}
.breadcrumb-item a{color:var(--blue);text-decoration:none}
.breadcrumb-item+.breadcrumb-item::before{color:var(--border)}
.list-group-item{background:transparent!important;border-color:var(--border)!important;color:var(--text)!important}
.form-select,.form-control{background:var(--bg)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:6px;font-size:13px}
.form-select:focus,.form-control:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(20,148,71,.15)!important}
.form-select option{background:var(--card)}
.btn-outline-secondary{color:var(--muted)!important;border-color:var(--border)!important}
.btn-outline-secondary:hover{background:var(--border)!important;color:var(--text)!important;border-color:var(--border)!important}
.btn-outline-secondary:disabled{opacity:.3}
.btn-outline-green{color:var(--green)!important;border-color:rgba(20,148,71,.42)!important;font-size:12px;padding:4px 10px}
.btn-outline-green:hover{background:rgba(20,148,71,.12)!important;color:var(--green)!important}
.btn-xs{padding:3px 8px;font-size:12px;border-radius:5px}
.progress{background:var(--border);border-radius:4px}
.bg-green-bar{background:var(--green)!important}
hr{border-color:var(--border);opacity:1}

/* ── KPI mini cards (dashboard sidebar) ──────────────────────────────────────*/
.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:transform .15s,box-shadow .15s}
.kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.kpi-card.border-danger{border-left:3px solid var(--red)!important}
.kpi-card.border-warning{border-left:3px solid var(--yellow)!important}
.kpi-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:18px}
.kpi-value{font-size:26px;font-weight:700;line-height:1.1;margin-bottom:2px}
.kpi-label{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}

/* ── Week nav ────────────────────────────────────────────────────────────────*/
.week-nav{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;flex-wrap:wrap}
.week-nav-title{font-size:16px;font-weight:700;text-align:center}
.week-nav-sub{font-size:12px;color:var(--muted);text-align:center}

/* ── Client header ───────────────────────────────────────────────────────────*/
.client-header{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px;border-left:3px solid var(--blue)!important}
.client-name{font-size:20px;font-weight:700;margin-bottom:4px}
.client-meta{font-size:13px;color:var(--muted);margin-bottom:10px}
.client-meta span{margin-right:14px}
.score-display{text-align:right}
.score-number{font-size:36px;font-weight:800;line-height:1}
.score-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}

/* ── Recommendation list ─────────────────────────────────────────────────────*/
.rec-list{list-style:none;padding:0;margin:0}
.rec-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px;line-height:1.5}
.rec-list li:last-child{border-bottom:none}
.rec-list li i{flex-shrink:0;margin-top:2px}

/* ── Seasonal grid ───────────────────────────────────────────────────────────*/
.saz-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.saz-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.saz-val{font-size:13px;font-weight:600;color:var(--text)}
.saz-val.green{color:var(--green)!important}
.saz-val.yellow{color:var(--yellow)!important}
.saz-val.muted{color:var(--muted)!important}

/* ── Legend ──────────────────────────────────────────────────────────────────*/
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}

/* ── Scrollbar ───────────────────────────────────────────────────────────────*/
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#475569}

/* ── Responsive ──────────────────────────────────────────────────────────────*/
@media(max-width:768px){
  :root{--sidebar:0px}
  .sidebar{display:none}
  .main-content{margin-left:0}
  .page-body,.page-section,.page-header{padding-left:16px;padding-right:16px}
}

/* ── Light Theme ─────────────────────────────────────────────────────────────*/
[data-theme="light"]{
  --bg:     #f3f6f2;
  --card:   #ffffff;
  --card2:  #f7faf6;
  --border: #d9e3dd;
  --text:   #263230;
  --muted:  #61716b;
  --blue:   #3f6b83;
  --green:  #149447;
  --yellow: #a87912;
  --orange: #aa5c24;
  --red:    #c13f34;
  --purple: #6d5d91;
}

/* Page header gradient */
[data-theme="light"] .page-header{
  background:linear-gradient(135deg,#ecf5ee 0%,#f7faf6 58%,#eef4f5 100%);
}

[data-theme="light"] .sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8f5 100%);
  border-right-color:#d9e3dd;
  box-shadow:12px 0 32px rgba(38,50,48,.08);
}
[data-theme="light"] .sidebar::before{
  background:radial-gradient(circle at 18% 0%,rgba(20,148,71,.08),transparent 58%);
}
[data-theme="light"] .sidebar::after{
  background:
    radial-gradient(95px 36px at 18px 120px,rgba(20,148,71,.10) 0%,rgba(20,148,71,.06) 38%,transparent 72%),
    radial-gradient(120px 44px at 96px 176px,rgba(63,107,131,.09) 0%,rgba(63,107,131,.05) 42%,transparent 74%),
    radial-gradient(110px 40px at 36px 234px,rgba(207,213,210,.12) 0%,rgba(207,213,210,.07) 36%,transparent 72%);
  background-size:170px 230px;
  opacity:.48;
}
[data-theme="light"] .sidebar-brand,
[data-theme="light"] .sidebar-footer{
  border-color:#d9e3dd;
}
[data-theme="light"] .sidebar-brand span,
[data-theme="light"] .sidebar-section-label,
[data-theme="light"] .sidebar-link,
[data-theme="light"] .sidebar-admin-link,
[data-theme="light"] .sidebar-logout{
  color:#61716b!important;
}
[data-theme="light"] .sidebar-link:hover{
  background:rgba(20,148,71,.09);
  color:#263230!important;
}
[data-theme="light"] .sidebar-link:hover i{
  color:#149447;
}
[data-theme="light"] .sidebar-item.active .sidebar-link{
  background:linear-gradient(90deg,rgba(20,148,71,.14),rgba(63,107,131,.08));
  color:#263230!important;
  box-shadow:inset 0 0 0 1px rgba(20,148,71,.18),0 10px 22px rgba(38,50,48,.07);
}
[data-theme="light"] .sidebar-item.active .sidebar-link i{
  color:#149447;
}
[data-theme="light"] .sidebar-toggle{
  background:#ffffff;
  border-color:#d9e3dd;
  color:#61716b;
  box-shadow:0 6px 18px rgba(38,50,48,.08);
}
[data-theme="light"] .sidebar-toggle:hover{
  background:rgba(20,148,71,.1);
  border-color:rgba(20,148,71,.28);
  color:#149447;
}
[data-theme="light"] .sidebar-divider{
  background:#d9e3dd;
}
[data-theme="light"] .sidebar-user{
  background:rgba(20,148,71,.045);
  color:#263230;
}
[data-theme="light"] .sidebar-user:hover{
  background:rgba(20,148,71,.08);
}
[data-theme="light"] .sidebar-logout:hover{
  color:var(--red)!important;
  background:rgba(193,63,52,.08)!important;
}
/* Hover shadows mais suaves */
[data-theme="light"] .stat-card:hover,
[data-theme="light"] .kpi-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.10)}

/* Select options */
[data-theme="light"] .filters select option,
[data-theme="light"] .form-select option{background:#ffffff;color:#0f172a}

/* Dropdown arrow claro */
[data-theme="light"] .filters select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2364748b'/%3E%3C/svg%3E");
}

/* Tabelas */
[data-theme="light"] .table tr:nth-child(even) td{background:rgba(0,0,0,.02)}
[data-theme="light"] .table-hover tbody tr:hover td{background:rgba(20,148,71,.045)!important}
[data-theme="light"] .table-danger-soft td{background:rgba(220,38,38,.04)!important}
[data-theme="light"] .table-warning-soft td{background:rgba(180,83,9,.04)!important}

/* Badges */
[data-theme="light"] .bg-success {background:rgba(20,148,71,.12)!important;color:#0f7437!important;border-color:rgba(20,148,71,.3)!important}
[data-theme="light"] .bg-primary {background:rgba(63,107,131,.12)!important;color:#2f566d!important;border-color:rgba(63,107,131,.3)!important}
[data-theme="light"] .bg-danger  {background:rgba(220,38,38,.12)!important;color:#b91c1c!important;border-color:rgba(220,38,38,.3)!important}
[data-theme="light"] .bg-warning {background:rgba(180,83,9,.12)!important;color:#92400e!important;border-color:rgba(180,83,9,.3)!important}
[data-theme="light"] .bg-secondary{background:rgba(100,116,139,.12)!important;color:#475569!important;border-color:rgba(100,116,139,.25)!important}
[data-theme="light"] .bg-info    {background:rgba(124,58,237,.12)!important;color:#6d28d9!important;border-color:rgba(124,58,237,.3)!important}
[data-theme="light"] .bg-orange  {background:rgba(194,65,12,.12)!important;color:#9a3412!important;border-color:rgba(194,65,12,.3)!important}
[data-theme="light"] .bg-green   {background:rgba(20,148,71,.12)!important;color:#0f7437!important;border-color:rgba(20,148,71,.3)!important}
[data-theme="light"] .bg-blue    {background:rgba(63,107,131,.12)!important;color:#2f566d!important;border-color:rgba(63,107,131,.3)!important}

/* Bdg pills */
[data-theme="light"] .bdg-blue  {background:rgba(63,107,131,.1);color:#2f566d;border-color:rgba(63,107,131,.25)}
[data-theme="light"] .bdg-green {background:rgba(20,148,71,.1);color:#0f7437;border-color:rgba(20,148,71,.25)}
[data-theme="light"] .bdg-red   {background:rgba(220,38,38,.1);color:#b91c1c;border-color:rgba(220,38,38,.25)}
[data-theme="light"] .bdg-yellow{background:rgba(180,83,9,.1);color:#92400e;border-color:rgba(180,83,9,.25)}
[data-theme="light"] .bdg-muted {background:rgba(100,116,139,.08);color:#475569;border-color:rgba(100,116,139,.2)}
[data-theme="light"] .bdg-orange{background:rgba(194,65,12,.1);color:#9a3412;border-color:rgba(194,65,12,.25)}

/* Texto helpers */
[data-theme="light"] .text-success{color:#0f7437!important}
[data-theme="light"] .text-primary {color:#2f566d!important}
[data-theme="light"] .text-danger  {color:#b91c1c!important}
[data-theme="light"] .text-warning {color:#92400e!important}
[data-theme="light"] .text-muted   {color:#64748b!important}
[data-theme="light"] .text-dark    {color:#0f172a!important}
[data-theme="light"] .text-green   {color:#149447!important}

/* Scrollbar */
[data-theme="light"] ::-webkit-scrollbar-track{background:#f1f5f9}
[data-theme="light"] ::-webkit-scrollbar-thumb{background:#cbd5e1}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* Sidebar logout hover */
[data-theme="light"] .sidebar-logout:hover{color:var(--red)!important;background:rgba(220,38,38,.08)!important}

/* btn-reset */
[data-theme="light"] .btn-reset{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.25);color:#b91c1c}
[data-theme="light"] .btn-reset:hover{background:rgba(220,38,38,.15)}

/* btn-outline-secondary */
[data-theme="light"] .btn-outline-secondary{color:#64748b!important;border-color:#e2e8f0!important}
[data-theme="light"] .btn-outline-secondary:hover{background:#f1f5f9!important;color:#0f172a!important}

/* Hardcoded dark surfaces used by older templates */
[data-theme="light"] .kanban-card,
[data-theme="light"] [style*="background:#0f172a"],
[data-theme="light"] [style*="background: #0f172a"],
[data-theme="light"] [style*="background:#1e293b"],
[data-theme="light"] [style*="background: #1e293b"]{
  background:#ffffff!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
[data-theme="light"] [style*="border:1px solid #334155"],
[data-theme="light"] [style*="border: 1px solid #334155"]{
  border-color:var(--border)!important;
}
[data-theme="light"] .kanban-card:hover{
  box-shadow:0 8px 18px rgba(38,50,48,.08)!important;
}
[data-theme="light"] .busca-item:hover{
  background:rgba(20,148,71,.06)!important;
}
[data-theme="light"] .btn-close-white{
  filter:none!important;
}

/* FullCalendar light */
[data-theme="light"]{
  --fc-border-color:#e2e8f0;
  --fc-button-bg-color:#ffffff;
  --fc-button-border-color:#e2e8f0;
  --fc-button-text-color:#0f172a;
  --fc-button-hover-bg-color:#f1f5f9;
  --fc-button-hover-border-color:#cbd5e1;
  --fc-button-active-bg-color:#149447;
  --fc-button-active-border-color:#149447;
  --fc-today-bg-color:rgba(20,148,71,.06);
  --fc-page-bg-color:#ffffff;
  --fc-neutral-bg-color:#f8fafc;
  --fc-list-event-hover-bg-color:#f1f5f9;
}
[data-theme="light"] .fc{color:#0f172a}
[data-theme="light"] .fc-toolbar-title{color:#0f172a!important}
[data-theme="light"] .fc-col-header-cell{background:#f8fafc!important;color:#64748b!important}
[data-theme="light"] .fc-col-header-cell a{color:#64748b!important}
[data-theme="light"] .fc-daygrid-day-number{color:#64748b}
[data-theme="light"] .fc-day-today .fc-daygrid-day-number{color:#149447!important}
[data-theme="light"] .fc-list-day-cushion{background:#f8fafc!important}
[data-theme="light"] .fc-list-day-text,[data-theme="light"] .fc-list-day-side-text{color:#64748b!important}
[data-theme="light"] .fc-list-event-title a{color:#0f172a!important}
[data-theme="light"] .fc-scrollgrid{border-color:#e2e8f0!important}

/* ── Tags de recomendação (usadas em agenda.html e clientes.html) ────────────*/
.rec-tag{font-size:12px;padding:4px 12px;border-radius:20px;display:inline-flex;align-items:center}
.rec-tag-hot  {background:rgba(239,68,68,.15);  color:#fca5a5;border:1px solid rgba(239,68,68,.3)}
.rec-tag-warm {background:rgba(234,179,8,.12);  color:#fde047;border:1px solid rgba(234,179,8,.3)}
.rec-tag-info {background:rgba(63,107,131,.12); color:#b6d2df;border:1px solid rgba(63,107,131,.3)}
.rec-tag-ok   {background:rgba(20,148,71,.10);  color:#9de6b9;border:1px solid rgba(20,148,71,.25)}

[data-theme="light"] .rec-tag-hot  {background:rgba(220,38,38,.1);  color:#b91c1c;border-color:rgba(220,38,38,.3)}
[data-theme="light"] .rec-tag-warm {background:rgba(180,83,9,.1);   color:#92400e;border-color:rgba(180,83,9,.3)}
[data-theme="light"] .rec-tag-info {background:rgba(63,107,131,.1);  color:#2f566d;border-color:rgba(63,107,131,.3)}
[data-theme="light"] .rec-tag-ok   {background:rgba(20,148,71,.1);  color:#0f7437;border-color:rgba(20,148,71,.3)}

/* ── Hint de recomendação inline (clientes.html) ─────────────────────────────*/
.rec-hint-hot  {color:#fca5a5}
.rec-hint-warm {color:#fde047}
.rec-hint-muted{color:var(--muted)}

[data-theme="light"] .rec-hint-hot  {color:#b91c1c}
[data-theme="light"] .rec-hint-warm {color:#92400e}

/* ── Banner de status da agenda ───────────────────────────────────────────────*/
.agenda-banner-section{padding-top:12px}
.agenda-banner{padding:8px 14px;border-radius:6px;font-size:12px;display:inline-flex;align-items:center;gap:8px}
.agenda-banner-ok  {background:rgba(20,148,71,.10);border:1px solid rgba(20,148,71,.3);  color:#9de6b9}
.agenda-banner-warn{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35); color:#fca5a5}
.agenda-banner-none{background:rgba(234,179,8,.10);border:1px solid rgba(234,179,8,.3);  color:#fde047}

[data-theme="light"] .agenda-banner-ok  {background:rgba(20,148,71,.1); border-color:rgba(20,148,71,.3);  color:#0f7437}
[data-theme="light"] .agenda-banner-warn{background:rgba(220,38,38,.1); border-color:rgba(220,38,38,.35); color:#b91c1c}
[data-theme="light"] .agenda-banner-none{background:rgba(180,83,9,.1);  border-color:rgba(180,83,9,.3);   color:#92400e}

/* ── Variação YoY (badges verde/vermelho nos KPIs) ───────────────────────────*/
.var-up  {font-size:12px;color:#9de6b9;font-weight:700}
.var-down{font-size:12px;color:#fca5a5;font-weight:700}
.var-sub {font-size:11px;color:var(--muted)}

[data-theme="light"] .var-up  {color:#0f7437}
[data-theme="light"] .var-down{color:#b91c1c}

/* Tema claro: transição suave */
body,
.sidebar,.topbar,.page-header,.stat-card,.kpi-card,.card,
.tbl-wrap,.filters,.week-nav,.client-header{
  transition:background-color .2s ease, border-color .2s ease, color .15s ease;
}

/* Nata do Campo brand overrides */
[data-theme="light"]{
  --bg:#f5f7fa;
  --card:#ffffff;
  --card2:#f8fbfe;
  --border:#e5eaf0;
  --text:#2e3440;
  --muted:#5b6470;
  --blue:#177bc1;
  --green:#177bc1;
  --yellow:#b98212;
  --orange:#bd6528;
  --red:#c94438;
  --purple:#7367a8;
}

[data-theme="dark"]{
  --bg:#0f2536;
  --card:#17354c;
  --card2:#112b40;
  --border:#29516c;
  --text:#f4f8fb;
  --muted:#b4c5d3;
  --blue:#4da3dd;
  --green:#4da3dd;
  --yellow:#f2c94c;
  --orange:#f59e5b;
  --red:#f27468;
  --purple:#b6a4ef;
}

body{font-family:'Caros',system-ui,-apple-system,sans-serif}
.page-heading,
.client-name,
.week-nav-title,
.stat-value,
.kpi-value{font-family:'Caros',system-ui,sans-serif;letter-spacing:0}

[data-theme="light"] .page-header,
.page-header{
  background:linear-gradient(135deg,#ffffff 0%,#f5f7fa 58%,#eef7fd 100%);
}
[data-theme="dark"] .page-header{
  background:linear-gradient(135deg,#0f2536 0%,#17354c 58%,#0d5c99 130%);
}

[data-theme="light"] .sidebar,
.sidebar{
  background:linear-gradient(180deg,#ffffff 0%,#f4f9fd 100%);
  border-right-color:var(--border);
  box-shadow:12px 0 32px rgba(13,92,153,.08);
}
[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,#12334c 0%,#0f2536 100%);
  border-right-color:rgba(229,234,240,.12);
  box-shadow:14px 0 34px rgba(0,0,0,.22);
}
[data-theme="light"] .sidebar::before,
.sidebar::before{background:linear-gradient(180deg,rgba(23,123,193,.08),transparent 68%)}
[data-theme="dark"] .sidebar::before{background:linear-gradient(180deg,rgba(77,163,221,.14),transparent 68%)}
[data-theme="light"] .sidebar::after,
.sidebar::after{
  background:
    radial-gradient(95px 36px at 18px 120px,rgba(23,123,193,.08) 0%,rgba(23,123,193,.05) 38%,transparent 72%),
    radial-gradient(120px 44px at 96px 176px,rgba(77,163,221,.10) 0%,rgba(77,163,221,.06) 42%,transparent 74%),
    radial-gradient(110px 40px at 36px 234px,rgba(229,234,240,.18) 0%,rgba(229,234,240,.10) 36%,transparent 72%);
}
[data-theme="dark"] .sidebar::after{
  background:
    radial-gradient(95px 36px at 18px 120px,rgba(77,163,221,.12) 0%,rgba(77,163,221,.08) 38%,transparent 72%),
    radial-gradient(120px 44px at 96px 176px,rgba(23,123,193,.14) 0%,rgba(23,123,193,.08) 42%,transparent 74%),
    radial-gradient(110px 40px at 36px 234px,rgba(255,255,255,.08) 0%,rgba(255,255,255,.04) 36%,transparent 72%);
}

[data-theme="light"] .sidebar-brand,
[data-theme="light"] .sidebar-footer,
.sidebar-brand,
.sidebar-footer{border-color:var(--border)}
[data-theme="dark"] .sidebar-brand,
[data-theme="dark"] .sidebar-footer{border-color:rgba(229,234,240,.12)}

[data-theme="light"] .sidebar-brand span,
[data-theme="light"] .sidebar-section-label,
[data-theme="light"] .sidebar-link,
[data-theme="light"] .sidebar-admin-link,
[data-theme="light"] .sidebar-logout,
.sidebar-brand span,
.sidebar-section-label,
.sidebar-link,
.sidebar-admin-link,
.sidebar-logout{color:var(--muted)!important}

[data-theme="light"] .sidebar-link:hover,
.sidebar-link:hover{
  background:rgba(23,123,193,.08);
  color:var(--text)!important;
}
[data-theme="dark"] .sidebar-link:hover{background:rgba(77,163,221,.12)}
[data-theme="light"] .sidebar-link:hover i,
.sidebar-link:hover i{color:var(--blue)}

[data-theme="light"] .sidebar-item.active .sidebar-link,
.sidebar-item.active .sidebar-link{
  background:linear-gradient(90deg,rgba(23,123,193,.14),rgba(77,163,221,.10));
  color:var(--text)!important;
  box-shadow:inset 0 0 0 1px rgba(23,123,193,.18),0 10px 22px rgba(13,92,153,.07);
}
[data-theme="dark"] .sidebar-item.active .sidebar-link{
  background:linear-gradient(90deg,rgba(77,163,221,.18),rgba(23,123,193,.14));
  box-shadow:inset 0 0 0 1px rgba(77,163,221,.20),0 10px 24px rgba(0,0,0,.16);
}
[data-theme="light"] .sidebar-item.active .sidebar-link i,
.sidebar-item.active .sidebar-link i{color:var(--blue)}
[data-theme="light"] .sidebar-toggle,
.sidebar-toggle{
  background:#fff;
  border-color:var(--border);
  color:var(--muted);
  box-shadow:0 6px 18px rgba(13,92,153,.08);
}
[data-theme="dark"] .sidebar-toggle{
  background:rgba(255,255,255,.06);
  border-color:rgba(229,234,240,.16);
  color:var(--muted);
  box-shadow:none;
}
[data-theme="light"] .sidebar-toggle:hover,
.sidebar-toggle:hover{
  background:rgba(23,123,193,.08);
  border-color:rgba(23,123,193,.28);
  color:var(--blue);
}
[data-theme="light"] .sidebar-user,
.sidebar-user{
  background:rgba(23,123,193,.04);
  color:var(--text);
}
[data-theme="light"] .sidebar-user:hover,
.sidebar-user:hover{background:rgba(23,123,193,.08)}
[data-sidebar="collapsed"] .sidebar-brand-mark{
  display:block;
  width:42px;
  height:42px;
}

.filters select:focus,
.filters input[type=text]:focus,
.form-select:focus,
.form-control:focus{
  border-color:var(--blue)!important;
  box-shadow:0 0 0 3px rgba(23,123,193,.14)!important;
}
.table{--bs-table-hover-bg:rgba(23,123,193,.045)}
.table-hover tbody tr:hover td{background:rgba(23,123,193,.045)!important}
.btn-outline-green{color:var(--blue)!important;border-color:rgba(23,123,193,.42)!important}
.btn-outline-green:hover{background:rgba(23,123,193,.10)!important;color:var(--blue)!important}
.bg-green-bar{background:var(--blue)!important}
.bg-primary,
.bg-blue{background:rgba(23,123,193,.12)!important;color:var(--blue)!important;border-color:rgba(23,123,193,.30)!important}
[data-theme="dark"] .bg-primary,
[data-theme="dark"] .bg-blue{background:rgba(77,163,221,.18)!important;color:#cceaff!important;border-color:rgba(77,163,221,.32)!important}
.bg-primary-subtle,
.bg-blue-soft{background:rgba(23,123,193,.10)!important}
.text-primary,
.text-green{color:var(--blue)!important}
.border-primary,
.border-success{border-color:rgba(23,123,193,.42)!important}

[data-theme="light"] .fc{
  --fc-button-active-bg-color:#177bc1;
  --fc-button-active-border-color:#177bc1;
  --fc-today-bg-color:rgba(23,123,193,.06);
}
[data-theme="light"] .fc-day-today .fc-daygrid-day-number{color:#177bc1!important}

/* Sidebar brand states */
.sidebar{
  overflow:hidden!important;
}
.sidebar-brand{
  flex:0 0 auto;
  overflow:visible;
  min-height:104px;
}
.sidebar-brand-top{
  position:relative;
  overflow:visible;
  min-height:42px;
  padding-right:44px;
  transition:min-height .28s ease,gap .28s ease,padding .28s ease;
}
.sidebar-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
.sidebar-brand-logo{
  display:block!important;
  width:150px;
  max-width:100%;
  flex:0 1 auto;
  opacity:1;
  transform:scale(1) translateX(0);
  transform-origin:left center;
  visibility:visible;
  transition:opacity .2s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s;
}
.sidebar-brand-top .sidebar-toggle{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
}
.sidebar-brand-mark{
  display:block!important;
  opacity:0;
  transform:scale(.74);
  transform-origin:center;
  visibility:hidden;
  transition:opacity .2s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .2s;
}
[data-sidebar="expanded"] .sidebar-brand-logo{display:block!important}
[data-sidebar="expanded"] .sidebar-brand-mark{
  opacity:0;
  transform:scale(.74);
  visibility:hidden;
}

[data-sidebar="collapsed"] .sidebar-brand{
  align-items:center;
  padding:12px 8px 14px;
  min-height:116px;
}
[data-sidebar="collapsed"] .sidebar-brand-top{
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  min-height:92px;
  padding-right:0;
}
[data-sidebar="collapsed"] .sidebar-brand-logo{
  display:block!important;
  opacity:0;
  transform:scale(.48) translateX(-18px);
  visibility:hidden;
  transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .16s;
}
[data-sidebar="collapsed"] .sidebar-brand-mark{
  display:block!important;
  width:46px;
  height:46px;
  padding:5px;
  border-radius:10px;
  object-fit:contain;
  background:#ffffff;
  border:1px solid rgba(23,123,193,.18);
  box-shadow:0 10px 22px rgba(13,92,153,.12);
  filter:none;
  opacity:1;
  transform:scale(1);
  visibility:visible;
  transition:opacity .2s ease .08s,transform .3s cubic-bezier(.2,.8,.2,1) .04s,visibility 0s linear 0s;
}
[data-theme="dark"][data-sidebar="collapsed"] .sidebar-brand-mark{
  background:rgba(255,255,255,.08);
  border-color:rgba(77,163,221,.28);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
[data-sidebar="collapsed"] .sidebar-toggle{
  position:static;
  transform:none;
  width:36px;
  height:36px;
  border-radius:9px;
}

@media (prefers-reduced-motion: reduce){
  .sidebar-brand-top,
  .sidebar-brand-logo,
  .sidebar-brand-mark{
    transition:none!important;
  }
}

/* Sidebar collapse animation */
.sidebar{
  transition:width .34s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease!important;
}
.main-content{
  transition:margin-left .34s cubic-bezier(.2,.8,.2,1)!important;
}
.sidebar-brand,
.sidebar-nav,
.sidebar-footer,
.sidebar-admin-block{
  transition:padding .34s cubic-bezier(.2,.8,.2,1),border-color .2s ease;
}
.sidebar-link{
  transition:
    width .34s cubic-bezier(.2,.8,.2,1),
    height .34s cubic-bezier(.2,.8,.2,1),
    padding .34s cubic-bezier(.2,.8,.2,1),
    gap .28s ease,
    font-size .22s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}
.sidebar-link i{
  transition:
    width .34s cubic-bezier(.2,.8,.2,1),
    height .34s cubic-bezier(.2,.8,.2,1),
    font-size .24s ease,
    color .18s ease,
    transform .18s ease,
    background .18s ease;
}
[data-sidebar="collapsed"] .sidebar-link{
  overflow:hidden;
  text-indent:0;
}

@media (prefers-reduced-motion: reduce){
  .sidebar,
  .main-content,
  .sidebar-brand,
  .sidebar-nav,
  .sidebar-footer,
  .sidebar-admin-block,
  .sidebar-link,
  .sidebar-link i{
    transition:none!important;
  }
}

/* Responsive shell */
.topbar-left{
  display:flex;
  align-items:center;
  min-width:0;
  gap:10px;
}
.mobile-menu-toggle{
  display:none;
  width:38px;
  height:38px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--card);
  color:var(--blue);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
  box-shadow:0 8px 18px rgba(13,92,153,.08);
}
.mobile-menu-toggle i{font-size:20px}
.sidebar-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:95;
  border:0;
  background:rgba(15,37,54,.42);
  backdrop-filter:blur(2px);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

@media(max-width:768px){
  :root{--sidebar:0px}
  body{min-width:320px}
  .mobile-menu-toggle{display:inline-flex}
  .topbar{
    padding:8px 12px;
    gap:10px;
  }
  .topbar-left > div{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar .text-muted.small{
    display:none;
  }
  .main-content{
    margin-left:0!important;
    width:100%;
  }
  .page-header{
    padding:22px 16px 18px;
  }
  .page-heading{
    font-size:22px;
    line-height:1.2;
  }
  .page-subhead{
    font-size:13px;
  }
  .page-section{
    padding:18px 16px 0;
  }
  .page-section:last-child{
    padding-bottom:20px;
  }
  .filters{
    display:grid;
    grid-template-columns:1fr;
    padding:14px;
  }
  .filters select,
  .filters input[type=text],
  .filters .fg,
  .fg,
  .btn-reset{
    width:100%;
    min-width:0;
  }
  .tbl-wrap{
    border-radius:8px;
    margin-left:-2px;
    margin-right:-2px;
  }
  .table th,
  .table td{
    padding:9px 10px;
  }
  .week-nav{
    gap:10px;
    padding:12px;
  }
  .client-header{
    padding:16px;
  }
  .score-display{
    text-align:left;
    margin-top:12px;
  }

  .sidebar{
    display:flex!important;
    width:min(284px,86vw)!important;
    transform:translateX(-104%);
    z-index:100;
    box-shadow:18px 0 42px rgba(13,92,153,.18);
    transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease!important;
  }
  .sidebar-brand{
    min-height:104px;
  }
  .sidebar-brand-logo{
    width:152px;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
  }
  .sidebar-brand-mark{
    display:none!important;
  }
  .sidebar-toggle{
    display:none!important;
  }
  .sidebar-nav{
    padding:10px;
  }
  .sidebar-link{
    width:100%!important;
    height:auto!important;
    padding:11px 12px!important;
    justify-content:flex-start!important;
    gap:11px!important;
    font-size:13px!important;
  }
  .sidebar-link i{
    width:22px!important;
    height:22px!important;
    font-size:15px!important;
  }
  .sidebar-section-label,
  .sidebar-user div,
  .sidebar-brand span{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .sidebar-backdrop{
    display:block;
  }
  [data-mobile-sidebar="open"] .sidebar{
    transform:translateX(0);
  }
  [data-mobile-sidebar="open"] .sidebar-backdrop{
    opacity:1;
    pointer-events:auto;
  }
}

@media(max-width:520px){
  .cards5,.cards4,.cards3{
    gap:10px;
  }
  .stat-card,
  .kpi-card{
    padding:15px;
  }
  .stat-value,
  .kpi-value{
    font-size:24px;
  }
  .page-badges{
    gap:6px;
  }
  .bdg{
    font-size:11px;
    padding:3px 9px;
  }
}

/* ════════════════════════════════════════════════════════════════════════
   CRM Nata do Campo — integração
   Classes usadas pelos templates deste projeto que não existem no agro.css.
   Mantêm a linguagem visual clara do tema (paleta --blue/--muted/--border…).
   ════════════════════════════════════════════════════════════════════════ */

/* Área de conteúdo das telas (padding padrão) */
.content{padding:24px 28px;flex:1}

/* Botão fantasma */
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}
.btn-ghost:hover{background:rgba(23,123,193,.08);border-color:rgba(23,123,193,.28);color:var(--blue)}
.btn-ghost:focus{box-shadow:0 0 0 .2rem rgba(23,123,193,.18)}
.btn-ghost.disabled,.btn-ghost:disabled{opacity:.5;pointer-events:none}

/* Flash / mensagens */
.flash{padding:11px 15px;border-radius:9px;margin-bottom:12px;font-size:13px;font-weight:500;border:1px solid}
.flash-success{background:rgba(20,148,71,.10);color:#15803d;border-color:rgba(20,148,71,.30)}
.flash-danger {background:rgba(217,77,63,.10);color:#b91c1c;border-color:rgba(217,77,63,.30)}
.flash-warning{background:rgba(216,162,27,.12);color:#a16207;border-color:rgba(216,162,27,.32)}
.flash-info   {background:rgba(23,123,193,.10);color:#1565a3;border-color:rgba(23,123,193,.30)}

/* Estado vazio */
.empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:13px}

/* Login (página própria, sem sidebar) */
.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(circle at 18% 12%, rgba(23,123,193,.12), transparent 42%),
    radial-gradient(circle at 85% 85%, rgba(20,148,71,.10), transparent 45%),
    linear-gradient(135deg,#eef4fb 0%,#f4f9f4 100%)}
.login-card{width:min(415px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;
  padding:42px 38px 30px;box-shadow:0 24px 60px rgba(13,92,153,.15),0 2px 6px rgba(13,92,153,.06)}
.login-brand{text-align:center;margin-bottom:30px}
.login-logo{width:200px;max-width:82%;height:auto;display:block;margin:0 auto 12px}
.login-brand .sub{font-size:11px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted)}
.login-card .form-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.login-card .form-control{border-radius:11px;border-color:var(--border);background:#f7fafd;padding:12px 14px}
.login-card .form-control:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(23,123,193,.14)}
.btn-login{background:linear-gradient(90deg,#177bc1 0%,#1f9bd6 100%);border:0;color:#fff;font-weight:700;font-size:15px;
  border-radius:11px;padding:12px;box-shadow:0 10px 22px rgba(23,123,193,.30);transition:filter .15s,transform .1s}
.btn-login:hover{filter:brightness(1.06);color:#fff}
.btn-login:active{transform:translateY(1px)}
.login-hint{text-align:center;margin-top:18px;font-size:12px;color:var(--muted);opacity:.85}
.login-foot{margin-top:18px;font-size:12px;color:var(--muted);opacity:.7}

/* ── Kanban (board) ──────────────────────────────────────────────────────── */
.kanban-board{display:flex;gap:14px;overflow-x:auto;padding:4px 0 10px;align-items:flex-start}
.kanban-col{flex:0 0 272px;min-width:272px;background:var(--card2);border:1px solid var(--border);border-radius:var(--radius)}
.kanban-col-head{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border)}
.kanban-col-head .count{margin-left:auto;background:var(--card);border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:700;border-radius:999px;padding:1px 9px;line-height:1.6}
.kanban-list{padding:10px;min-height:90px;display:flex;flex-direction:column;gap:8px}
.kanban-card{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:10px 12px;box-shadow:0 1px 2px rgba(13,92,153,.04);cursor:grab;transition:box-shadow .15s,transform .15s}
.kanban-card:hover{box-shadow:0 8px 18px rgba(13,92,153,.10);transform:translateY(-1px)}
.kanban-card .nome{font-size:13px;font-weight:600}
.kanban-card .meta{font-size:11px;color:var(--muted);margin-top:4px}
.sortable-ghost{opacity:.45}

/* ── Dashboard KPIs ──────────────────────────────────────────────────────── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;border-top:3px solid var(--blue);transition:transform .15s,box-shadow .15s}
.kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,92,153,.10)}
.kpi .label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.kpi .value{font-size:28px;font-weight:700;line-height:1.1;color:var(--text)}
.kpi .value.sm{font-size:22px}

/* ── Timeline (ficha do cliente) ─────────────────────────────────────────── */
.timeline{list-style:none;position:relative;padding-left:28px;margin:0}
.timeline::before{content:"";position:absolute;left:9px;top:4px;bottom:4px;width:2px;background:var(--border)}
.timeline > li{position:relative;display:flex;gap:10px;margin-bottom:16px}
.timeline > li:last-child{margin-bottom:0}
.tl-icon{position:absolute;left:-28px;top:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;border:2px solid var(--card);box-shadow:0 0 0 1px var(--border)}
