:root{
  --navy:#0b1b34;
  --navy-deep:#07172d;
  --navy-soft:#102746;
  --blue:#1f63e9;
  --blue2:#3b82f6;
  --teal:#31d1ca;
  --bg:#f5f7fb;
  --card:#fff;
  --text:#18243b;
  --muted:#6f7b91;
  --line:#e6eaf1;
  --green:#19a66a;
  --orange:#ed8b2c;
  --red:#dc4c64;
  --purple:#7357d9;
  --r:14px;
  --shadow:0 8px 28px rgba(19,38,74,.06);
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sidebar-width:292px;
  --sidebar-collapsed:82px;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px}
button,input,select,textarea{font:inherit}
button{font-family:inherit}
.app-shell{min-height:100vh}

/* ==========================================================
   SIDEBAR OFICIAL — PADRÃO APROVADO
   Uma única implementação. Não adicionar regras paralelas.
   ========================================================== */
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar-width);
  height:100vh;
  z-index:30;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  color:#d8e2f1;
  background:
    radial-gradient(circle at 20% 0%,rgba(28,107,165,.14),transparent 28%),
    linear-gradient(180deg,#081a33 0%,#08182f 58%,#07162b 100%);
  border-right:1px solid rgba(132,160,195,.12);
  box-shadow:10px 0 32px rgba(7,20,39,.08);
  transition:width .22s ease;
}

.sidebar-header{
  height:110px;
  flex:0 0 110px;
  padding:0 20px 0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(137,164,199,.13);
  position:relative;
}

.brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;text-decoration:none}
.brand-mark{
  width:38px;height:38px;min-width:38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:linear-gradient(135deg,#2e7cf2 0%,#20c6bd 100%);
  color:#fff;font-size:21px;font-weight:800;
  box-shadow:0 8px 24px rgba(31,145,230,.22);
}
.brand-name{font-size:20px;font-weight:650;letter-spacing:-.025em;white-space:nowrap;color:#fff}
.brand-name b{color:var(--teal);font-weight:750}

.sidebar-collapse{
  appearance:none;
  -webkit-appearance:none;
  width:38px;height:38px;min-width:38px;
  padding:0;margin:0;border-radius:50%;
  border:1px solid rgba(141,168,203,.17);
  background:rgba(255,255,255,.055);
  color:#d9e5f3;
  display:grid;place-items:center;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.sidebar-collapse:hover{background:rgba(255,255,255,.10);border-color:rgba(49,209,202,.34);color:var(--teal)}
.sidebar-collapse:focus-visible{outline:2px solid rgba(49,209,202,.68);outline-offset:2px}
.sidebar-collapse svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}

.sidebar-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:18px 14px 20px;
  scrollbar-width:thin;
  scrollbar-color:rgba(132,158,190,.42) transparent;
  overscroll-behavior:contain;
}
.sidebar-nav::-webkit-scrollbar{width:7px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent;margin:8px 0}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(132,158,190,.30);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.sidebar-nav:hover::-webkit-scrollbar-thumb{background:rgba(132,158,190,.46);background-clip:padding-box}
.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(49,209,202,.60);background-clip:padding-box}

.sidebar svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.nav-link{
  min-height:48px;
  margin:3px 0;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:13px;
  border-radius:10px;
  position:relative;
  color:#c7d3e2;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  line-height:1.25;
  background:transparent;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.nav-link:hover{background:rgba(66,103,151,.16);color:#f7fbff}
.nav-link.active{
  color:#fff;
  background:linear-gradient(90deg,rgba(37,76,125,.72),rgba(30,62,104,.68));
  box-shadow:inset 0 0 0 1px rgba(112,151,197,.08);
}
.nav-link.active::before{
  content:"";
  position:absolute;left:0;top:8px;bottom:8px;width:3px;
  border-radius:0 4px 4px 0;
  background:var(--teal);
  box-shadow:0 0 12px rgba(49,209,202,.34);
}
.nav-icon,.nav-group-icon{
  width:22px;height:22px;min-width:22px;
  display:grid;place-items:center;
  color:#9fb1c8;
  flex:0 0 22px;
}
.nav-icon svg,.nav-group-icon svg{width:21px;height:21px}
.nav-link:hover .nav-icon{color:#dce9f6}
.nav-link.active .nav-icon{color:var(--teal)}
.nav-text{min-width:0;white-space:normal}

.nav-dashboard{min-height:52px;margin-bottom:12px;color:#d5e1ee}
.nav-dashboard.active{background:linear-gradient(90deg,rgba(18,116,143,.42),rgba(17,95,125,.35));color:var(--teal)}
.nav-dashboard.active .nav-icon{color:var(--teal)}

.nav-group{
  margin:0;
  padding:8px 0;
  border-top:1px solid rgba(124,151,186,.13);
}
.nav-dashboard + .nav-group{border-top:0}

.nav-group-toggle{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:48px;
  margin:0;
  padding:0 14px;
  border:0;
  border-radius:10px;
  outline:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:transparent;
  color:#f3f7fb;
  cursor:pointer;
  text-align:left;
  font-size:14px;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
  transition:background .16s ease,color .16s ease;
}
.nav-group-toggle:hover{background:rgba(255,255,255,.04)}
.nav-group-toggle:focus-visible{outline:2px solid rgba(49,209,202,.55);outline-offset:-2px}
.nav-group-main{display:flex;align-items:center;gap:13px;min-width:0}
.nav-group-title{font-size:14px;font-weight:700;color:#f3f7fb;white-space:nowrap}
.nav-group-icon{color:#a9bad0}
.nav-group.current>.nav-group-toggle .nav-group-icon{color:#d6e4f2}
.nav-chevron{width:20px;height:20px;min-width:20px;display:grid;place-items:center;color:#b6c5d7;transition:transform .2s ease,color .2s ease}
.nav-chevron svg{width:18px;height:18px}
.nav-group.open>.nav-group-toggle .nav-chevron{transform:rotate(180deg);color:#dbe7f4}

.nav-submenu{
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding:0 0 0 10px;
  pointer-events:none;
  transition:max-height .24s ease,opacity .18s ease,padding .18s ease;
}
.nav-group.open>.nav-submenu{
  max-height:380px;
  opacity:1;
  padding-top:4px;
  padding-bottom:4px;
  pointer-events:auto;
}
.nav-submenu .nav-link{padding-left:17px}

.sidebar-user{
  min-height:84px;
  flex:0 0 auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:11px;
  border-top:1px solid rgba(137,164,199,.16);
  background:rgba(3,14,28,.12);
}
.sidebar .avatar{
  width:42px;height:42px;min-width:42px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#246cf3;color:#fff;font-size:15px;font-weight:700;
  box-shadow:0 8px 20px rgba(36,108,243,.22);
}
.sidebar-user-info{flex:1;min-width:0}
.sidebar-user-info strong,.sidebar-user-info small{display:block}
.sidebar-user-info strong{font-size:13px;color:#f6f9fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-user-info small{font-size:11px;color:#86a1c1;margin-top:3px}
.sidebar-user form{margin:0}
.sidebar-logout{
  appearance:none;-webkit-appearance:none;
  width:34px;height:34px;padding:0;margin:0;border:0;border-radius:9px;
  background:transparent;color:#92abc7;
  display:grid;place-items:center;cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.sidebar-logout:hover{background:rgba(255,255,255,.06);color:var(--teal)}
.sidebar-logout svg{width:18px;height:18px}

/* Estado compacto: acionado SOMENTE por classe, nunca por media query. */
body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed)}
body.sidebar-collapsed .main{margin-left:var(--sidebar-collapsed)}
body.sidebar-collapsed .sidebar-header{padding:0 12px;justify-content:center}
body.sidebar-collapsed .brand{justify-content:center}
body.sidebar-collapsed .brand-name,
body.sidebar-collapsed .nav-text,
body.sidebar-collapsed .nav-group-title,
body.sidebar-collapsed .nav-chevron,
body.sidebar-collapsed .sidebar-user-info,
body.sidebar-collapsed .sidebar-logout{display:none}
body.sidebar-collapsed .sidebar-nav{padding-left:12px;padding-right:12px}
body.sidebar-collapsed .nav-link,
body.sidebar-collapsed .nav-group-toggle{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .nav-group-main{justify-content:center}
body.sidebar-collapsed .nav-submenu{display:none}
body.sidebar-collapsed .sidebar-user{justify-content:center;padding-left:10px;padding-right:10px}
body.sidebar-collapsed .sidebar-collapse{
  position:absolute;
  right:7px;
  bottom:7px;
  width:26px;height:26px;min-width:26px;
  border-radius:8px;
  background:rgba(255,255,255,.055);
}
body.sidebar-collapsed .sidebar-collapse svg{width:15px;height:15px;transform:rotate(180deg)}
body.sidebar-collapsed .nav-link[title],
body.sidebar-collapsed .nav-group-toggle[title]{position:relative}

/* ==========================================================
   CONTEÚDO / COMPONENTES GERAIS
   ========================================================== */
.main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left .22s ease}
.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}
.topbar h1{font-size:21px;margin:0 0 4px}.topbar p,.toolbar p,.card-head p{margin:0;color:var(--muted);font-size:12px}.top-actions{display:flex;gap:9px;align-items:center}.content{padding:28px 32px}.support-bar{background:#fff3d6;border-bottom:1px solid #f1d58d;padding:8px 32px;display:flex;justify-content:center;gap:15px;align-items:center;font-size:12px}.support-bar form{margin:0}.support-bar button{border:0;background:none;color:#9b6200;text-decoration:underline;cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;border-radius:9px;padding:9px 14px;font-weight:650;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(31,99,233,.18)}.btn.ghost{background:#fff}.btn.small{padding:6px 9px;font-size:12px}.btn.full{width:100%}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#53627a;cursor:pointer}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.kpi,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.kpi{padding:18px 20px}.kpi span,.kpi small{display:block;color:var(--muted)}.kpi strong{display:block;font-size:24px;margin:8px 0 4px}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.card{padding:20px}.card.accent{background:linear-gradient(135deg,#1f63e9,#0f4fc1);color:#fff}.card.accent p{color:#dbe7ff}.card h2,.card h3{margin:0 0 5px}.card h3{font-size:14px}.card>strong{font-size:27px}.card p{color:var(--muted);line-height:1.5}.card a{color:var(--blue);text-decoration:none}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.radar-item,.activity{display:flex;align-items:center;gap:12px;padding:12px 2px;border-top:1px solid var(--line)}.radar-item:first-child,.activity:first-of-type{border-top:0}.radar-item div,.activity div{flex:1}.radar-item small,.activity small{display:block;color:var(--muted);margin-top:3px}.rank{width:29px;height:29px;border-radius:9px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-weight:800}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef2f7;color:#5d6a80;font-size:11px;text-transform:capitalize}.badge.quente,.badge.ativa,.badge.ativo,.badge.alta{background:#e7f8ef;color:#118655}.badge.morno,.badge.media{background:#fff3dc;color:#a76314}.badge.frio,.badge.bloqueada,.badge.baixa{background:#feecef;color:#b53d52}.badge.purple{background:#f0ebff;color:#6745c5}.dot{width:8px;height:8px;border-radius:50%;background:#9ba7b9}.dot.alta{background:var(--red)}.dot.media{background:var(--orange)}.dot.baixa{background:var(--green)}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.toolbar h2{margin:0 0 4px;font-size:17px}.filters{display:flex;gap:9px}.filters input{min-width:270px}.table-card{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:12px}th{background:#fafbfc;color:#69758a;font-size:10px;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:#fbfcff}.actions{display:flex;gap:6px}.actions form{margin:0}.empty{text-align:center;color:var(--muted);padding:28px}
.form-card{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}input,select,textarea{width:100%;border:1px solid #dce2eb;background:#fff;border-radius:9px;padding:10px 11px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#6b9af3;box-shadow:0 0 0 3px rgba(31,99,233,.08)}label.check{flex-direction:row;align-items:center}label.check input{width:auto}.alert{padding:11px 14px;border-radius:9px;margin-bottom:14px}.alert.success{background:#eaf8f0;color:#187347}.alert.danger{background:#fdecee;color:#a33d4c}
.auth-page{min-height:100vh;background:radial-gradient(circle at 20% 20%,#19365d,#0b1830 50%,#081326);display:grid;place-items:center}.auth-card{width:min(410px,92vw);background:#fff;border-radius:18px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.auth-brand{padding:0 0 22px;color:var(--text)}.auth-brand span:last-child{color:var(--text)}.auth-brand b{color:#18a999}.auth-card h1{margin:0 0 5px}.auth-card>p{margin:0 0 22px;color:var(--muted)}.form-stack{display:grid;gap:14px}

.kanban{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:14px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#c4cfdd transparent}.kanban::-webkit-scrollbar,.table-card::-webkit-scrollbar{height:8px}.kanban::-webkit-scrollbar-track,.table-card::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}.kanban::-webkit-scrollbar-thumb,.table-card::-webkit-scrollbar-thumb{background:#bdc9d8;border-radius:999px}.kanban::-webkit-scrollbar-thumb:hover,.table-card::-webkit-scrollbar-thumb:hover{background:#95a8bf}.kanban-col{background:#eef2f7;border-radius:12px;padding:11px;min-height:460px}.kanban-col h3{font-size:12px;margin:2px 4px 10px;color:#5f6d82}.deal{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:9px;box-shadow:0 3px 10px rgba(21,41,76,.04)}.deal strong{display:block;font-size:13px}.deal small{display:block;color:var(--muted);margin:5px 0}.deal-meta{display:flex;justify-content:space-between;gap:7px;font-size:11px}.deal-age{color:#a66516}

@media(max-width:1050px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .grid-2,.grid-3{grid-template-columns:1fr}
}

@media(max-width:700px){
  .topbar{padding:0 18px}.topbar p,.top-actions .icon-btn{display:none}.content{padding:18px}.kpi-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.filters{flex-wrap:wrap}.filters input{min-width:0}.table-card{overflow:auto}.topbar h1{font-size:17px}
}
